LIBRARY CFGMGR32

EXPORTS

; hw tree traveral routines
   CM_Locate_DevNodeA = setupapi.CM_Locate_DevNodeA
   CM_Locate_DevNodeW = setupapi.CM_Locate_DevNodeW
   CM_Locate_DevNode_ExA = setupapi.CM_Locate_DevNode_ExA
   CM_Locate_DevNode_ExW = setupapi.CM_Locate_DevNode_ExW
   CM_Get_Child = setupapi.CM_Get_Child
   CM_Get_Child_Ex = setupapi.CM_Get_Child_Ex
   CM_Get_Sibling = setupapi.CM_Get_Sibling
   CM_Get_Sibling_Ex = setupapi.CM_Get_Sibling_Ex
   CM_Get_Parent = setupapi.CM_Get_Parent
   CM_Get_Parent_Ex = setupapi.CM_Get_Parent_Ex
   CM_Get_Device_IDA = setupapi.CM_Get_Device_IDA
   CM_Get_Device_IDW = setupapi.CM_Get_Device_IDW
   CM_Get_Device_ID_ExA = setupapi.CM_Get_Device_ID_ExA
   CM_Get_Device_ID_ExW = setupapi.CM_Get_Device_ID_ExW
   CM_Get_Device_ID_Size = setupapi.CM_Get_Device_ID_Size
   CM_Get_Device_ID_Size_Ex = setupapi.CM_Get_Device_ID_Size_Ex
   CM_Enumerate_EnumeratorsA = setupapi.CM_Enumerate_EnumeratorsA
   CM_Enumerate_EnumeratorsW = setupapi.CM_Enumerate_EnumeratorsW
   CM_Enumerate_Enumerators_ExA = setupapi.CM_Enumerate_Enumerators_ExA
   CM_Enumerate_Enumerators_ExW = setupapi.CM_Enumerate_Enumerators_ExW
   CM_Get_Device_ID_ListA = setupapi.CM_Get_Device_ID_ListA
   CM_Get_Device_ID_ListW = setupapi.CM_Get_Device_ID_ListW
   CM_Get_Device_ID_List_ExA = setupapi.CM_Get_Device_ID_List_ExA
   CM_Get_Device_ID_List_ExW = setupapi.CM_Get_Device_ID_List_ExW
   CM_Get_Device_ID_List_SizeA = setupapi.CM_Get_Device_ID_List_SizeA
   CM_Get_Device_ID_List_SizeW = setupapi.CM_Get_Device_ID_List_SizeW
   CM_Get_Device_ID_List_Size_ExA = setupapi.CM_Get_Device_ID_List_Size_ExA
   CM_Get_Device_ID_List_Size_ExW = setupapi.CM_Get_Device_ID_List_Size_ExW
   CM_Get_Depth = setupapi.CM_Get_Depth
   CM_Get_Depth_Ex = setupapi.CM_Get_Depth_Ex

; registry property routines
   CM_Get_DevNode_Registry_PropertyA = setupapi.CM_Get_DevNode_Registry_PropertyA
   CM_Get_DevNode_Registry_PropertyW = setupapi.CM_Get_DevNode_Registry_PropertyW
   CM_Get_DevNode_Registry_Property_ExA = setupapi.CM_Get_DevNode_Registry_Property_ExA
   CM_Get_DevNode_Registry_Property_ExW = setupapi.CM_Get_DevNode_Registry_Property_ExW
   CM_Set_DevNode_Registry_PropertyA = setupapi.CM_Set_DevNode_Registry_PropertyA
   CM_Set_DevNode_Registry_PropertyW = setupapi.CM_Set_DevNode_Registry_PropertyW
   CM_Set_DevNode_Registry_Property_ExA = setupapi.CM_Set_DevNode_Registry_Property_ExA
   CM_Set_DevNode_Registry_Property_ExW = setupapi.CM_Set_DevNode_Registry_Property_ExW
   CM_Get_Class_Registry_PropertyA = setupapi.CM_Get_Class_Registry_PropertyA
   CM_Get_Class_Registry_PropertyW = setupapi.CM_Get_Class_Registry_PropertyW
   CM_Set_Class_Registry_PropertyA = setupapi.CM_Set_Class_Registry_PropertyA
   CM_Set_Class_Registry_PropertyW = setupapi.CM_Set_Class_Registry_PropertyW
   CM_Open_DevNode_Key = setupapi.CM_Open_DevNode_Key
   CM_Open_DevNode_Key_Ex = setupapi.CM_Open_DevNode_Key_Ex
   CM_Delete_DevNode_Key = setupapi.CM_Delete_DevNode_Key
   CM_Delete_DevNode_Key_Ex = setupapi.CM_Delete_DevNode_Key_Ex
   CM_Open_Class_KeyA = setupapi.CM_Open_Class_KeyA
   CM_Open_Class_KeyW = setupapi.CM_Open_Class_KeyW
   CM_Open_Class_Key_ExA = setupapi.CM_Open_Class_Key_ExA
   CM_Open_Class_Key_ExW = setupapi.CM_Open_Class_Key_ExW
   CM_Enumerate_Classes = setupapi.CM_Enumerate_Classes
   CM_Enumerate_Classes_Ex = setupapi.CM_Enumerate_Classes_Ex
   CM_Get_Class_NameA = setupapi.CM_Get_Class_NameA
   CM_Get_Class_NameW = setupapi.CM_Get_Class_NameW
   CM_Get_Class_Name_ExA = setupapi.CM_Get_Class_Name_ExA
   CM_Get_Class_Name_ExW = setupapi.CM_Get_Class_Name_ExW
   CM_Get_Class_Key_NameA = setupapi.CM_Get_Class_Key_NameA
   CM_Get_Class_Key_NameW = setupapi.CM_Get_Class_Key_NameW
   CM_Get_Class_Key_Name_ExA = setupapi.CM_Get_Class_Key_Name_ExA
   CM_Get_Class_Key_Name_ExW = setupapi.CM_Get_Class_Key_Name_ExW
   CM_Delete_Class_Key = setupapi.CM_Delete_Class_Key
   CM_Delete_Class_Key_Ex = setupapi.CM_Delete_Class_Key_Ex
   CM_Get_Device_Interface_ListA = setupapi.CM_Get_Device_Interface_ListA
   CM_Get_Device_Interface_ListW = setupapi.CM_Get_Device_Interface_ListW
   CM_Get_Device_Interface_List_ExA = setupapi.CM_Get_Device_Interface_List_ExA
   CM_Get_Device_Interface_List_ExW = setupapi.CM_Get_Device_Interface_List_ExW
   CM_Get_Device_Interface_List_SizeA = setupapi.CM_Get_Device_Interface_List_SizeA
   CM_Get_Device_Interface_List_SizeW = setupapi.CM_Get_Device_Interface_List_SizeW
   CM_Get_Device_Interface_List_Size_ExA = setupapi.CM_Get_Device_Interface_List_Size_ExA
   CM_Get_Device_Interface_List_Size_ExW = setupapi.CM_Get_Device_Interface_List_Size_ExW
   CM_Register_Device_InterfaceA = setupapi.CM_Register_Device_InterfaceA
   CM_Register_Device_InterfaceW = setupapi.CM_Register_Device_InterfaceW
   CM_Register_Device_Interface_ExA = setupapi.CM_Register_Device_Interface_ExA
   CM_Register_Device_Interface_ExW = setupapi.CM_Register_Device_Interface_ExW
   CM_Unregister_Device_InterfaceA = setupapi.CM_Unregister_Device_InterfaceA
   CM_Unregister_Device_InterfaceW = setupapi.CM_Unregister_Device_InterfaceW
   CM_Unregister_Device_Interface_ExA = setupapi.CM_Unregister_Device_Interface_ExA
   CM_Unregister_Device_Interface_ExW = setupapi.CM_Unregister_Device_Interface_ExW
   CM_Get_Device_Interface_AliasA = setupapi.CM_Get_Device_Interface_AliasA
   CM_Get_Device_Interface_AliasW = setupapi.CM_Get_Device_Interface_AliasW
   CM_Get_Device_Interface_Alias_ExA = setupapi.CM_Get_Device_Interface_Alias_ExA
   CM_Get_Device_Interface_Alias_ExW = setupapi.CM_Get_Device_Interface_Alias_ExW

; routines that operate on devnodes/devinsts
   CM_Add_IDA = setupapi.CM_Add_IDA
   CM_Add_IDW = setupapi.CM_Add_IDW
   CM_Add_ID_ExA = setupapi.CM_Add_ID_ExA
   CM_Add_ID_ExW = setupapi.CM_Add_ID_ExW
   CM_Create_DevNodeA = setupapi.CM_Create_DevNodeA
   CM_Create_DevNodeW = setupapi.CM_Create_DevNodeW
   CM_Create_DevNode_ExA = setupapi.CM_Create_DevNode_ExA
   CM_Create_DevNode_ExW = setupapi.CM_Create_DevNode_ExW
   CM_Disable_DevNode = setupapi.CM_Disable_DevNode
   CM_Disable_DevNode_Ex = setupapi.CM_Disable_DevNode_Ex
   CM_Enable_DevNode = setupapi.CM_Enable_DevNode
   CM_Enable_DevNode_Ex = setupapi.CM_Enable_DevNode_Ex
   CM_Get_DevNode_Status = setupapi.CM_Get_DevNode_Status
   CM_Get_DevNode_Status_Ex = setupapi.CM_Get_DevNode_Status_Ex
   CM_Set_DevNode_Problem = setupapi.CM_Set_DevNode_Problem
   CM_Set_DevNode_Problem_Ex = setupapi.CM_Set_DevNode_Problem_Ex
   CM_Move_DevNode = setupapi.CM_Move_DevNode
   CM_Move_DevNode_Ex = setupapi.CM_Move_DevNode_Ex
   CM_Reenumerate_DevNode = setupapi.CM_Reenumerate_DevNode
   CM_Reenumerate_DevNode_Ex = setupapi.CM_Reenumerate_DevNode_Ex
   CM_Setup_DevNode = setupapi.CM_Setup_DevNode
   CM_Setup_DevNode_Ex = setupapi.CM_Setup_DevNode_Ex
   CM_Remove_SubTree = setupapi.CM_Remove_SubTree
   CM_Remove_SubTree_Ex = setupapi.CM_Remove_SubTree_Ex
   CM_Uninstall_DevNode = setupapi.CM_Uninstall_DevNode
   CM_Uninstall_DevNode_Ex = setupapi.CM_Uninstall_DevNode_Ex
   CM_Query_And_Remove_SubTreeA = setupapi.CM_Query_And_Remove_SubTreeA
   CM_Query_And_Remove_SubTree_ExA = setupapi.CM_Query_And_Remove_SubTree_ExA
   CM_Query_And_Remove_SubTreeW = setupapi.CM_Query_And_Remove_SubTreeW
   CM_Query_And_Remove_SubTree_ExW = setupapi.CM_Query_And_Remove_SubTree_ExW
   CM_Query_Remove_SubTree = setupapi.CM_Query_Remove_SubTree
   CM_Query_Remove_SubTree_Ex = setupapi.CM_Query_Remove_SubTree_Ex
   CM_Register_Device_Driver = setupapi.CM_Register_Device_Driver
   CM_Register_Device_Driver_Ex = setupapi.CM_Register_Device_Driver_Ex


; logical configuration routines
   CM_Add_Empty_Log_Conf = setupapi.CM_Add_Empty_Log_Conf
   CM_Add_Empty_Log_Conf_Ex = setupapi.CM_Add_Empty_Log_Conf_Ex
   CM_Free_Log_Conf = setupapi.CM_Free_Log_Conf
   CM_Free_Log_Conf_Ex = setupapi.CM_Free_Log_Conf_Ex
   CM_Get_First_Log_Conf = setupapi.CM_Get_First_Log_Conf
   CM_Get_First_Log_Conf_Ex = setupapi.CM_Get_First_Log_Conf_Ex
   CM_Get_Next_Log_Conf = setupapi.CM_Get_Next_Log_Conf
   CM_Get_Next_Log_Conf_Ex = setupapi.CM_Get_Next_Log_Conf_Ex
   CM_Free_Log_Conf_Handle = setupapi.CM_Free_Log_Conf_Handle
   CM_Get_Log_Conf_Priority = setupapi.CM_Get_Log_Conf_Priority
   CM_Get_Log_Conf_Priority_Ex = setupapi.CM_Get_Log_Conf_Priority_Ex


; range routines
   CM_Add_Range = setupapi.CM_Add_Range
   CM_Create_Range_List = setupapi.CM_Create_Range_List
   CM_Delete_Range = setupapi.CM_Delete_Range
   CM_Dup_Range_List = setupapi.CM_Dup_Range_List
   CM_Find_Range = setupapi.CM_Find_Range
   CM_First_Range = setupapi.CM_First_Range
   CM_Free_Range_List = setupapi.CM_Free_Range_List
   CM_Intersect_Range_List = setupapi.CM_Intersect_Range_List
   CM_Invert_Range_List = setupapi.CM_Invert_Range_List
   CM_Merge_Range_List = setupapi.CM_Merge_Range_List
   CM_Next_Range = setupapi.CM_Next_Range
   CM_Test_Range_Available = setupapi.CM_Test_Range_Available


; hardware profile routines
   CM_Is_Dock_Station_Present = setupapi.CM_Is_Dock_Station_Present
   CM_Is_Dock_Station_Present_Ex = setupapi.CM_Is_Dock_Station_Present_Ex
   CM_Request_Eject_PC = setupapi.CM_Request_Eject_PC
   CM_Request_Eject_PC_Ex = setupapi.CM_Request_Eject_PC_Ex
   CM_Get_HW_Prof_FlagsA = setupapi.CM_Get_HW_Prof_FlagsA
   CM_Get_HW_Prof_FlagsW = setupapi.CM_Get_HW_Prof_FlagsW
   CM_Get_HW_Prof_Flags_ExA = setupapi.CM_Get_HW_Prof_Flags_ExA
   CM_Get_HW_Prof_Flags_ExW = setupapi.CM_Get_HW_Prof_Flags_ExW
   CM_Set_HW_Prof_FlagsA = setupapi.CM_Set_HW_Prof_FlagsA
   CM_Set_HW_Prof_FlagsW = setupapi.CM_Set_HW_Prof_FlagsW
   CM_Set_HW_Prof_Flags_ExA = setupapi.CM_Set_HW_Prof_Flags_ExA
   CM_Set_HW_Prof_Flags_ExW = setupapi.CM_Set_HW_Prof_Flags_ExW
   CM_Get_Hardware_Profile_InfoA = setupapi.CM_Get_Hardware_Profile_InfoA
   CM_Get_Hardware_Profile_InfoW = setupapi.CM_Get_Hardware_Profile_InfoW
   CM_Get_Hardware_Profile_Info_ExA = setupapi.CM_Get_Hardware_Profile_Info_ExA
   CM_Get_Hardware_Profile_Info_ExW = setupapi.CM_Get_Hardware_Profile_Info_ExW
   CM_Set_HW_Prof = setupapi.CM_Set_HW_Prof                         ; NOT IMPLEMENTED
   CM_Set_HW_Prof_Ex = setupapi.CM_Set_HW_Prof_Ex                   ; NOT IMPLEMENTED
   CM_Is_Dock_Station_Present = setupapi.CM_Is_Dock_Station_Present ; NOT IMPLEMENTED
   CM_Request_Eject_PC = setupapi.CM_Request_Eject_PC               ; NOT IMPLEMENTED


; resource routines
   CM_Add_Res_Des = setupapi.CM_Add_Res_Des
   CM_Add_Res_Des_Ex = setupapi.CM_Add_Res_Des_Ex
   CM_Free_Res_Des = setupapi.CM_Free_Res_Des
   CM_Free_Res_Des_Ex = setupapi.CM_Free_Res_Des_Ex
   CM_Get_Next_Res_Des = setupapi.CM_Get_Next_Res_Des
   CM_Get_Next_Res_Des_Ex = setupapi.CM_Get_Next_Res_Des_Ex
   CM_Get_Res_Des_Data = setupapi.CM_Get_Res_Des_Data
   CM_Get_Res_Des_Data_Ex = setupapi.CM_Get_Res_Des_Data_Ex
   CM_Get_Res_Des_Data_Size = setupapi.CM_Get_Res_Des_Data_Size
   CM_Get_Res_Des_Data_Size_Ex = setupapi.CM_Get_Res_Des_Data_Size_Ex
   CM_Modify_Res_Des = setupapi.CM_Modify_Res_Des
   CM_Modify_Res_Des_Ex = setupapi.CM_Modify_Res_Des_Ex
   CM_Detect_Resource_Conflict = setupapi.CM_Detect_Resource_Conflict       ; Superceded
   CM_Detect_Resource_Conflict_Ex = setupapi.CM_Detect_Resource_Conflict_Ex ; Superceded
   CM_Free_Res_Des_Handle = setupapi.CM_Free_Res_Des_Handle

; resource conflict routines
   CM_Query_Resource_Conflict_List = setupapi.CM_Query_Resource_Conflict_List
   CM_Free_Resource_Conflict_Handle = setupapi.CM_Free_Resource_Conflict_Handle
   CM_Get_Resource_Conflict_Count = setupapi.CM_Get_Resource_Conflict_Count
   CM_Get_Resource_Conflict_DetailsA = setupapi.CM_Get_Resource_Conflict_DetailsA
   CM_Get_Resource_Conflict_DetailsW = setupapi.CM_Get_Resource_Conflict_DetailsW

; miscellaneous routines
   CM_Get_Version = setupapi.CM_Get_Version
   CM_Get_Version_Ex = setupapi.CM_Get_Version_Ex
   CM_Connect_MachineA = setupapi.CM_Connect_MachineA
   CM_Connect_MachineW = setupapi.CM_Connect_MachineW
   CM_Disconnect_Machine = setupapi.CM_Disconnect_Machine
   CM_Get_Global_State = setupapi.CM_Get_Global_State
   CM_Get_Global_State_Ex = setupapi.CM_Get_Global_State_Ex
   CM_Query_Arbitrator_Free_Data = setupapi.CM_Query_Arbitrator_Free_Data
   CM_Query_Arbitrator_Free_Data_Ex = setupapi.CM_Query_Arbitrator_Free_Data_Ex
   CM_Query_Arbitrator_Free_Size = setupapi.CM_Query_Arbitrator_Free_Size
   CM_Query_Arbitrator_Free_Size_Ex = setupapi.CM_Query_Arbitrator_Free_Size_Ex
   CM_Run_Detection = setupapi.CM_Run_Detection         ; NOT IMPLEMENTED
   CM_Run_Detection_Ex = setupapi.CM_Run_Detection_Ex   ; NOT IMPLEMENTED


; private routines
   CMP_Report_LogOn = setupapi.CMP_Report_LogOn
   CMP_Init_Detection = setupapi.CMP_Init_Detection
   CMP_RegisterNotification = setupapi.CMP_RegisterNotification
   CMP_UnregisterNotification = setupapi.CMP_UnregisterNotification
   CMP_WaitServicesAvailable = setupapi.CMP_WaitServicesAvailable
   CMP_WaitNoPendingInstallEvents = setupapi.CMP_WaitNoPendingInstallEvents

