Edit

Share via


Device and Driver Installation Reference

Overview of the Device and Driver Installation Reference technology.

To develop Device and Driver Installation Reference, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
CM_NOTIFY_ACTION

This enumeration identifies Plug and Play device event types.
DEV_OBJECT_TYPE

Specifies the type of a DEV_OBJECT.
DEV_QUERY_FLAGS

Specifies flags that alter device query behavior.
DEV_QUERY_RESULT_ACTION

Specifies the type of action associated with a DEV_QUERY_RESULT_ACTION_DATA structure.
DEV_QUERY_STATE

Specifies the state of the query associated with a DEV_QUERY_RESULT_ACTION_DATA structure.
DEVPROP_OPERATOR

Specifies the operations that can be used for a DEVPROP_FILTER_EXPRESSION.
PNP_VETO_TYPE

If the PnP manager rejects a request to perform an operation, the PNP_VETO_TYPE enumeration is used to identify the reason for the rejection.

Functions

 
CM_Add_Empty_Log_Conf

The CM_Add_Empty_Log_Conf function creates an empty logical configuration, for a specified configuration type and a specified device instance, on the local machine.
CM_Add_Empty_Log_Conf_Ex

The CM_Add_Empty_Log_Conf_Ex function creates an empty logical configuration, for a specified configuration type and a specified device instance, on either the local or a remote machine.
CM_Add_ID_ExA

The CM_Add_ID_Ex function appends a device ID (if not already present) to a device instance's hardware ID list or compatible ID list, on either the local or a remote machine. (ANSI)
CM_Add_ID_ExW

The CM_Add_ID_Ex function appends a device ID (if not already present) to a device instance's hardware ID list or compatible ID list, on either the local or a remote machine. (Unicode)
CM_Add_IDA

The CM_Add_ID function appends a specified device ID (if not already present) to a device instance's hardware ID list or compatible ID list.
CM_Add_IDW

The CM_Add_ID function appends a specified device ID (if not already present) to a device instance's�hardware ID list or compatible ID list.
CM_Add_Range

CM_Add_Res_Des

The CM_Add_Res_Des function adds a resource descriptor to a logical configuration.
CM_Add_Res_Des_Ex

The CM_Add_Res_Des_Ex function adds a resource descriptor to a logical configuration. The logical configuration can be on either the local or a remote machine.
CM_Connect_MachineA

The CM_Connect_Machine function creates a connection to a remote machine. (ANSI)
CM_Connect_MachineW

The CM_Connect_Machine function creates a connection to a remote machine. (Unicode)
CM_Create_DevNode_ExA

CM_Create_DevNode_ExW

CM_Create_DevNodeA

CM_Create_DevNodeW

CM_Create_Range_List

CM_Delete_Class_Key

The CM_Delete_Class_Key function removes the specified installed device class from the system.
CM_Delete_Class_Key_Ex

CM_Delete_Device_Interface_Key_ExA

The CM_Delete_Device_Interface_Key_ExA function deletes the registry subkey that is used by applications and drivers to store interface-specific information.
CM_Delete_Device_Interface_Key_ExW

The CM_Delete_Device_Interface_Key_ExW function deletes the registry subkey that is used by applications and drivers to store interface-specific information.
CM_Delete_Device_Interface_KeyA

The CM_Delete_Device_Interface_Key function deletes the registry subkey that is used by applications and drivers to store interface-specific information. (ANSI)
CM_Delete_Device_Interface_KeyW

The CM_Delete_Device_Interface_Key function deletes the registry subkey that is used by applications and drivers to store interface-specific information. (Unicode)
CM_Delete_DevNode_Key

The CM_Delete_DevNode_Key function deletes the specified user-accessible registry keys that are associated with a device.
CM_Delete_DevNode_Key_Ex

CM_Delete_Range

CM_Detect_Resource_Conflict

CM_Detect_Resource_Conflict_Ex

CM_Disable_DevNode

The CM_Disable_DevNode function disables a device.
CM_Disable_DevNode_Ex

CM_Disconnect_Machine

The CM_Disconnect_Machine function removes a connection to a remote machine.
CM_Dup_Range_List

CM_Enable_DevNode

The CM_Enable_DevNode function enables a device.
CM_Enable_DevNode_Ex

CM_Enumerate_Classes

The CM_Enumerate_Classes function, when called repeatedly, enumerates the local machine's installed device classes by supplying each class's GUID.
CM_Enumerate_Classes_Ex

The CM_Enumerate_Classes_Ex function, when called repeatedly, enumerates a local or a remote machine's installed device classes, by supplying each class's GUID.
CM_Enumerate_Enumerators_ExA

The CM_Enumerate_Enumerators_Ex function enumerates a local or a remote machine's device enumerators, by supplying each enumerator's name. (ANSI)
CM_Enumerate_Enumerators_ExW

The CM_Enumerate_Enumerators_Ex function enumerates a local or a remote machine's device enumerators, by supplying each enumerator's name. (Unicode)
CM_Enumerate_EnumeratorsA

The CM_Enumerate_Enumerators function enumerates the local machine's device enumerators by supplying each enumerator's name. (ANSI)
CM_Enumerate_EnumeratorsW

The CM_Enumerate_Enumerators function enumerates the local machine's device enumerators by supplying each enumerator's name. (Unicode)
CM_Find_Range

CM_First_Range

CM_Free_Log_Conf

The CM_Free_Log_Conf function removes a logical configuration and all associated resource descriptors from the local machine.
CM_Free_Log_Conf_Ex

The CM_Free_Log_Conf_Ex function removes a logical configuration and all associated resource descriptors from either a local or a remote machine.
CM_Free_Log_Conf_Handle

The CM_Free_Log_Conf_Handle function invalidates a logical configuration handle and frees its associated memory allocation.
CM_Free_Range_List

CM_Free_Res_Des

The CM_Free_Res_Des function removes a resource descriptor from a logical configuration on the local machine.
CM_Free_Res_Des_Ex

The CM_Free_Res_Des_Ex function removes a resource descriptor from a logical configuration on either a local or a remote machine.
CM_Free_Res_Des_Handle

The CM_Free_Res_Des_Handle function invalidates a resource description handle and frees its associated memory allocation.
CM_Free_Resource_Conflict_Handle

The CM_Free_Resource_Conflict_Handle function invalidates a handle to a resource conflict list, and frees the handle's associated memory allocation.
CM_Get_Child

The CM_Get_Child function is used to retrieve a device instance handle to the first child node of a specified device node (devnode) in the local machine's device tree.
CM_Get_Child_Ex

The CM_Get_Child_Ex function is used to retrieve a device instance handle to the first child node of a specified device node (devnode) in a local or a remote machine's device tree.
CM_Get_Class_Key_Name_ExA

CM_Get_Class_Key_Name_ExW

CM_Get_Class_Key_NameA

CM_Get_Class_Key_NameW

CM_Get_Class_Name_ExA

CM_Get_Class_Name_ExW

CM_Get_Class_NameA

CM_Get_Class_NameW

CM_Get_Class_Property_ExW

The CM_Get_Class_Property_ExW function retrieves a device property that is set for a device interface class or device setup class.
CM_Get_Class_Property_Keys

The CM_Get_Class_Property_Keys function retrieves an array of the device property keys that represent the device properties that are set for a device interface class or device setup class.
CM_Get_Class_Property_Keys_Ex

The CM_Get_Class_Property_Keys_Ex function retrieves an array of the device property keys that represent the device properties that are set for a device interface class or device setup class.
CM_Get_Class_PropertyW

The CM_Get_Class_Property function retrieves a device property that is set for a device interface class or device setup class.
CM_Get_Class_Registry_PropertyA

The CM_Get_Class_Registry_Property function retrieves a device setup class property. (ANSI)
CM_Get_Class_Registry_PropertyW

The CM_Get_Class_Registry_Property function retrieves a device setup class property. (Unicode)
CM_Get_Depth

The CM_Get_Depth function is used to obtain the depth of a specified device node (devnode) within the local machine's device tree.
CM_Get_Depth_Ex

The CM_Get_Depth_Ex function is used to obtain the depth of a specified device node (devnode) within a local or a remote machine's device tree.
CM_Get_Device_ID_ExA

The CM_Get_Device_ID_Ex function retrieves the device instance ID for a specified device instance on a local or a remote machine. (ANSI)
CM_Get_Device_ID_ExW

The CM_Get_Device_ID_Ex function retrieves the device instance ID for a specified device instance on a local or a remote machine. (Unicode)
CM_Get_Device_ID_List_ExA

The CM_Get_Device_ID_List_Ex function retrieves a list of device instance IDs for the device instances on a local or a remote machine. (ANSI)
CM_Get_Device_ID_List_ExW

The CM_Get_Device_ID_List_Ex function retrieves a list of device instance IDs for the device instances on a local or a remote machine. (Unicode)
CM_Get_Device_ID_List_Size_ExA

The CM_Get_Device_ID_List_Size_Ex function retrieves the buffer size required to hold a list of device instance IDs for a local or a remote machine's device instances. (ANSI)
CM_Get_Device_ID_List_Size_ExW

The CM_Get_Device_ID_List_Size_Ex function retrieves the buffer size required to hold a list of device instance IDs for a local or a remote machine's device instances. (Unicode)
CM_Get_Device_ID_List_SizeA

The CM_Get_Device_ID_List_Size function retrieves the buffer size required to hold a list of device instance IDs for the local machine's device instances. (ANSI)
CM_Get_Device_ID_List_SizeW

The CM_Get_Device_ID_List_Size function retrieves the buffer size required to hold a list of device instance IDs for the local machine's device instances. (Unicode)
CM_Get_Device_ID_ListA

The CM_Get_Device_ID_List function retrieves a list of device instance IDs for the local computer's device instances. (ANSI)
CM_Get_Device_ID_ListW

The CM_Get_Device_ID_List function retrieves a list of device instance IDs for the local computer's device instances. (Unicode)
CM_Get_Device_ID_Size

The CM_Get_Device_ID_Size function retrieves the buffer size required to hold a device instance ID for a device instance on the local machine.
CM_Get_Device_ID_Size_Ex

The CM_Get_Device_ID_Size_Ex function retrieves the buffer size required to hold a device instance ID for a device instance on a local or a remote machine.
CM_Get_Device_IDA

The CM_Get_Device_ID function retrieves the device instance ID for a specified device instance on the local machine. (ANSI)
CM_Get_Device_IDW

The CM_Get_Device_ID function retrieves the device instance ID for a specified device instance on the local machine. (Unicode)
CM_Get_Device_Interface_Alias_ExA

CM_Get_Device_Interface_Alias_ExW

CM_Get_Device_Interface_AliasA

The CM_Get_Device_Interface_Alias function returns the alias of the specified device interface instance, if the alias exists. (ANSI)
CM_Get_Device_Interface_AliasW

The CM_Get_Device_Interface_Alias function returns the alias of the specified device interface instance, if the alias exists. (Unicode)
CM_Get_Device_Interface_List_ExA

CM_Get_Device_Interface_List_ExW

CM_Get_Device_Interface_List_Size_ExA

CM_Get_Device_Interface_List_Size_ExW

CM_Get_Device_Interface_List_SizeA

The CM_Get_Device_Interface_List_Size function retrieves the buffer size that must be passed to the CM_Get_Device_Interface_List function. (ANSI)
CM_Get_Device_Interface_List_SizeW

The CM_Get_Device_Interface_List_Size function retrieves the buffer size that must be passed to the CM_Get_Device_Interface_List function. (Unicode)
CM_Get_Device_Interface_ListA

The CM_Get_Device_Interface_List function retrieves a list of device interface instances that belong to a specified device interface class. (ANSI)
CM_Get_Device_Interface_ListW

The CM_Get_Device_Interface_List function retrieves a list of device interface instances that belong to a specified device interface class. (Unicode)
CM_Get_Device_Interface_Property_ExW

The CM_Get_Device_Interface_Property_ExW function retrieves a device property that is set for a device interface.
CM_Get_Device_Interface_Property_Keys_ExW

The CM_Get_Device_Interface_Property_Keys_ExW function retrieves an array of device property keys that represent the device properties that are set for a device interface.
CM_Get_Device_Interface_Property_KeysW

The CM_Get_Device_Interface_Property_Keys function retrieves an array of device property keys that represent the device properties that are set for a device interface.
CM_Get_Device_Interface_PropertyW

The CM_Get_Device_Interface_Property function retrieves a device property that is set for a device interface.
CM_Get_DevNode_Custom_Property_ExA

CM_Get_DevNode_Custom_Property_ExW

CM_Get_DevNode_Custom_PropertyA

CM_Get_DevNode_Custom_PropertyW

CM_Get_DevNode_Property_ExW

The CM_Get_DevNode_Property_ExW function retrieves a device instance property.
CM_Get_DevNode_Property_Keys

The CM_Get_DevNode_Property_Keys function retrieves an array of the device property keys that represent the device properties that are set for a device instance.
CM_Get_DevNode_Property_Keys_Ex

The CM_Get_DevNode_Property_Keys_Ex function retrieves an array of the device property keys that represent the device properties that are set for a device instance.
CM_Get_DevNode_PropertyW

The CM_Get_DevNode_Property function retrieves a device instance property.
CM_Get_DevNode_Registry_Property_ExA

CM_Get_DevNode_Registry_Property_ExW

CM_Get_DevNode_Registry_PropertyA

The CM_Get_DevNode_Registry_Property function retrieves a specified device property from the registry. (ANSI)
CM_Get_DevNode_Registry_PropertyW

The CM_Get_DevNode_Registry_Property function retrieves a specified device property from the registry. (Unicode)
CM_Get_DevNode_Status

The CM_Get_DevNode_Status function obtains the status of a device instance from its device node (devnode) in the local machine's device tree.
CM_Get_DevNode_Status_Ex

The CM_Get_DevNode_Status_Ex function obtains the status of a device instance from its device node (devnode) on a local or a remote machine's device tree.
CM_Get_First_Log_Conf

The CM_Get_First_Log_Conf function obtains the first logical configuration, of a specified configuration type, associated with a specified device instance on the local machine.
CM_Get_First_Log_Conf_Ex

The CM_Get_First_Log_Conf_Ex function obtains the first logical configuration associated with a specified device instance on a local or a remote machine.
CM_Get_Global_State

CM_Get_Global_State_Ex

CM_Get_Hardware_Profile_Info_ExA

CM_Get_Hardware_Profile_Info_ExW

CM_Get_Hardware_Profile_InfoA

CM_Get_Hardware_Profile_InfoW

CM_Get_HW_Prof_Flags_ExA

The CM_Get_HW_Prof_Flags_Ex function retrieves the hardware profile-specific configuration flags for a device instance on a remote machine or a local machine. (ANSI)
CM_Get_HW_Prof_Flags_ExW

The CM_Get_HW_Prof_Flags_Ex function retrieves the hardware profile-specific configuration flags for a device instance on a remote machine or a local machine. (Unicode)
CM_Get_HW_Prof_FlagsA

The CM_Get_HW_Prof_Flags function retrieves the hardware profile-specific configuration flags for a device instance on a local machine. (ANSI)
CM_Get_HW_Prof_FlagsW

The CM_Get_HW_Prof_Flags function retrieves the hardware profile-specific configuration flags for a device instance on a local machine. (Unicode)
CM_Get_Log_Conf_Priority

The CM_Get_Log_Conf_Priority function obtains the configuration priority of a specified logical configuration on the local machine.
CM_Get_Log_Conf_Priority_Ex

The CM_Get_Log_Conf_Priority_Ex function obtains the configuration priority of a specified logical configuration on a local or a remote machine.
CM_Get_Next_Log_Conf

The CM_Get_Next_Log_Conf function obtains the next logical configuration associated with a specific device instance on the local machine.
CM_Get_Next_Log_Conf_Ex

The CM_Get_Next_Log_Conf_Ex function obtains the next logical configuration associated with a specific device instance on a local or a remote machine.
CM_Get_Next_Res_Des

The CM_Get_Next_Res_Des function obtains a handle to the next resource descriptor, of a specified resource type, for a logical configuration on the local machine.
CM_Get_Next_Res_Des_Ex

The CM_Get_Next_Res_Des_Ex function obtains a handle to the next resource descriptor, of a specified resource type, for a logical configuration on a local or a remote machine.
CM_Get_Parent

The CM_Get_Parent function obtains a device instance handle to the parent node of a specified device node (devnode) in the local machine's device tree.
CM_Get_Parent_Ex

The CM_Get_Parent_Ex function obtains a device instance handle to the parent node of a specified device node (devnode) in a local or a remote machine's device tree.
CM_Get_Res_Des_Data

The CM_Get_Res_Des_Data function retrieves the information stored in a resource descriptor on the local machine.
CM_Get_Res_Des_Data_Ex

The CM_Get_Res_Des_Data_Ex function retrieves the information stored in a resource descriptor on a local or a remote machine.
CM_Get_Res_Des_Data_Size

The CM_Get_Res_Des_Data_Size function obtains the buffer size required to hold the information contained in a specified resource descriptor on the local machine.
CM_Get_Res_Des_Data_Size_Ex

The CM_Get_Res_Des_Data_Size_Ex function obtains the buffer size required to hold the information contained in a specified resource descriptor on a local or a remote machine.
CM_Get_Resource_Conflict_Count

The CM_Get_Resource_Conflict_Count function obtains the number of conflicts contained in a specified resource conflict list.
CM_Get_Resource_Conflict_DetailsA

The CM_Get_Resource_Conflict_Details function obtains the details about one of the resource conflicts in a conflict list. (ANSI)
CM_Get_Resource_Conflict_DetailsW

The CM_Get_Resource_Conflict_Details function obtains the details about one of the resource conflicts in a conflict list. (Unicode)
CM_Get_Sibling

The CM_Get_Sibling function obtains a device instance handle to the next sibling node of a specified device node (devnode) in the local machine's device tree.
CM_Get_Sibling_Ex

The CM_Get_Sibling_Ex function obtains a device instance handle to the next sibling node of a specified device node, in a local or a remote machine's device tree.
CM_Get_Version

The CM_Get_Version function returns version 4.0 of the Plug and Play (PnP) Configuration Manager DLL (Cfgmgr32.dll) for a local machine.
CM_Get_Version_Ex

The CM_Get_Version_Ex function returns version 4.0 of the Plug and Play (PnP) Configuration Manager DLL (Cfgmgr32.dll) for a local or a remote machine.
CM_Intersect_Range_List

CM_Invert_Range_List

CM_Is_Dock_Station_Present

The CM_Is_Dock_Station_Present function identifies whether a docking station is present in a local machine.
CM_Is_Dock_Station_Present_Ex

The CM_Is_Dock_Station_Present_Ex function identifies whether a docking station is present in a local or a remote machine.
CM_Is_Version_Available

The CM_Is_Version_Available function indicates whether a specified version of the Plug and Play (PnP) Configuration Manager DLL (Cfgmgr32.dll) is supported by a local machine.
CM_Is_Version_Available_Ex

The CM_Is_Version_Available_Ex function indicates whether a specified version of the Plug and Play (PNP) Configuration Manager DLL (Cfgmgr32.dll) is supported by a local or a remote machine.
CM_Locate_DevNode_ExA

The CM_Locate_DevNode_Ex function obtains a device instance handle to the device node that is associated with a specified device instance ID, on a local machine or a remote machine. (ANSI)
CM_Locate_DevNode_ExW

The CM_Locate_DevNode_Ex function obtains a device instance handle to the device node that is associated with a specified device instance ID, on a local machine or a remote machine. (Unicode)
CM_Locate_DevNodeA

The CM_Locate_DevNode function obtains a device instance handle to the device node that is associated with a specified device instance ID on the local machine. (ANSI)
CM_Locate_DevNodeW

The CM_Locate_DevNode function obtains a device instance handle to the device node that is associated with a specified device instance ID on the local machine. (Unicode)
CM_MapCrToWin32Err

Converts a specified CONFIGRET code to its equivalent system error code.
CM_Merge_Range_List

CM_Modify_Res_Des

The CM_Modify_Res_Des function modifies a specified resource descriptor on the local machine.
CM_Modify_Res_Des_Ex

The CM_Modify_Res_Des_Ex function modifies a specified resource descriptor on a local or a remote machine.
CM_Move_DevNode

CM_Move_DevNode_Ex

CM_Next_Range

CM_Open_Class_Key_ExA

CM_Open_Class_Key_ExW

CM_Open_Class_KeyA

The CM_Open_Class_Key function opens the device setup class registry key, the device interface class registry key, or a specific subkey of a class. (ANSI)
CM_Open_Class_KeyW

The CM_Open_Class_Key function opens the device setup class registry key, the device interface class registry key, or a specific subkey of a class. (Unicode)
CM_Open_Device_Interface_Key_ExA

The CM_Open_Device_Interface_Key_ExA function opens the registry subkey that is used by applications and drivers to store information that is specific to a device interface.
CM_Open_Device_Interface_Key_ExW

The CM_Open_Device_Interface_Key_ExW function opens the registry subkey that is used by applications and drivers to store information that is specific to a device interface.
CM_Open_Device_Interface_KeyA

The CM_Open_Device_Interface_Key function opens the registry subkey that is used by applications and drivers to store information that is specific to a device interface. (ANSI)
CM_Open_Device_Interface_KeyW

The CM_Open_Device_Interface_Key function opens the registry subkey that is used by applications and drivers to store information that is specific to a device interface. (Unicode)
CM_Open_DevNode_Key

The CM_Open_DevNode_Key function opens a registry key for device-specific configuration information.
CM_Open_DevNode_Key_Ex

CM_Query_And_Remove_SubTree_ExA

The CM_Query_And_Remove_SubTree_Ex function checks whether a device instance and its children can be removed and, if so, it removes them. (ANSI)
CM_Query_And_Remove_SubTree_ExW

The CM_Query_And_Remove_SubTree_Ex function checks whether a device instance and its children can be removed and, if so, it removes them. (Unicode)
CM_Query_And_Remove_SubTreeA

The CM_Query_And_Remove_SubTree function checks whether a device instance and its children can be removed and, if so, it removes them. (ANSI)
CM_Query_And_Remove_SubTreeW

The CM_Query_And_Remove_SubTree function checks whether a device instance and its children can be removed and, if so, it removes them. (Unicode)
CM_Query_Arbitrator_Free_Data

CM_Query_Arbitrator_Free_Data_Ex

CM_Query_Arbitrator_Free_Size

CM_Query_Arbitrator_Free_Size_Ex

CM_Query_Remove_SubTree

CM_Query_Remove_SubTree_Ex

CM_Query_Resource_Conflict_List

The CM_Query_Resource_Conflict_List function identifies device instances having resource requirements that conflict with a specified device instance's resource description.
CM_Reenumerate_DevNode

The CM_Reenumerate_DevNode function enumerates the devices identified by a specified device node and all of its children.
CM_Reenumerate_DevNode_Ex

The CM_Reenumerate_DevNode_Ex function enumerates the devices identified by a specified device node and all of its children.
CM_Register_Device_Driver

CM_Register_Device_Driver_Ex

CM_Register_Device_Interface_ExA

CM_Register_Device_Interface_ExW

CM_Register_Device_InterfaceA

CM_Register_Device_InterfaceW

CM_Register_Notification

The CM_Register_Notification function registers an application callback routine to be called when a PnP event of the specified type occurs.
CM_Remove_SubTree

CM_Remove_SubTree_Ex

CM_Request_Device_Eject_ExA

The CM_Request_Device_Eject_Ex function prepares a local or a remote device instance for safe removal, if the device is removable. If the device can be physically ejected, it will be. (ANSI)
CM_Request_Device_Eject_ExW

The CM_Request_Device_Eject_Ex function prepares a local or a remote device instance for safe removal, if the device is removable. If the device can be physically ejected, it will be. (Unicode)
CM_Request_Device_EjectA

The CM_Request_Device_Eject function prepares a local device instance for safe removal, if the device is removable. If the device can be physically ejected, it will be. (ANSI)
CM_Request_Device_EjectW

The CM_Request_Device_Eject function prepares a local device instance for safe removal, if the device is removable. If the device can be physically ejected, it will be. (Unicode)
CM_Request_Eject_PC

The CM_Request_Eject_PC function requests that a portable PC, which is inserted in a local docking station, be ejected.
CM_Request_Eject_PC_Ex

The CM_Request_Eject_PC_Ex function requests that a portable PC, which is inserted in a local or a remote docking station, be ejected.
CM_Run_Detection

CM_Run_Detection_Ex

CM_Set_Class_Property_ExW

The CM_Set_Class_Property_ExW function sets a class property for a device setup class or a device interface class.
CM_Set_Class_PropertyW

The CM_Set_Class_Property function sets a class property for a device setup class or a device interface class.
CM_Set_Class_Registry_PropertyA

The CM_Set_Class_Registry_Property function sets or deletes a property of a device setup class. (ANSI)
CM_Set_Class_Registry_PropertyW

The CM_Set_Class_Registry_Property function sets or deletes a property of a device setup class. (Unicode)
CM_Set_Device_Interface_Property_ExW

The CM_Set_Device_Interface_Property_ExW function sets a device property of a device interface.
CM_Set_Device_Interface_PropertyW

The CM_Set_Device_Interface_Property function sets a device property of a device interface.
CM_Set_DevNode_Problem

The CM_Set_DevNode_Problem function sets a problem code for a device that is installed in a local machine.
CM_Set_DevNode_Problem_Ex

The CM_Set_DevNode_Problem_Ex function sets a problem code for a device that is installed in a local or a remote machine.
CM_Set_DevNode_Property_ExW

The CM_Set_DevNode_Property_ExW function sets a device instance property.
CM_Set_DevNode_PropertyW

The CM_Set_DevNode_Property function sets a device instance property.
CM_Set_DevNode_Registry_Property_ExA

CM_Set_DevNode_Registry_Property_ExW

CM_Set_DevNode_Registry_PropertyA

The CM_Set_DevNode_Registry_Property function sets a specified device property in the registry. (ANSI)
CM_Set_DevNode_Registry_PropertyW

The CM_Set_DevNode_Registry_Property function sets a specified device property in the registry. (Unicode)
CM_Set_HW_Prof

CM_Set_HW_Prof_Ex

CM_Set_HW_Prof_Flags_ExA

CM_Set_HW_Prof_Flags_ExW

CM_Set_HW_Prof_FlagsA

CM_Set_HW_Prof_FlagsW

CM_Setup_DevNode

The CM_Setup_DevNode function restarts a device instance that is not running because there is a problem with the device configuration.
CM_Setup_DevNode_Ex

CM_Test_Range_Available

CM_Uninstall_DevNode

The CM_Uninstall_DevNode function removes all persistent state associated with a device instance.
CM_Uninstall_DevNode_Ex

CM_Unregister_Device_Interface_ExA

CM_Unregister_Device_Interface_ExW

CM_Unregister_Device_InterfaceA

CM_Unregister_Device_InterfaceW

CM_Unregister_Notification

Use UnregisterDeviceNotification instead of CM_Unregister_Notification if your code targets Windows 7 or earlier versions of Windows.
CM_WaitNoPendingInstallEvents

The CMP_WaitNoPendingInstallEvents (CM_WaitNoPendingInstallEvents) function waits until there are no pending device installation activities for the PnP manager to perform.
DevCloseObjectQuery

Closes a device query handle.
DevCreateObjectQuery

Creates a device query to retrieve properties based on the specified query parameters.
DevCreateObjectQueryEx

Creates a device query to retrieve properties based on the specified query parameters and extended parameters.
DevCreateObjectQueryFromId

Creates a device query to retrieve properties based on the specified query parameters and object ID.
DevCreateObjectQueryFromIdEx

Creates a device query to retrieve properties based on the specified query parameters, extended parameters, and object ID.
DevCreateObjectQueryFromIds

Creates a device query to retrieve properties based on the specified query parameters and a list of object IDs.
DevCreateObjectQueryFromIdsEx

Creates a device query to retrieve properties based on the specified query parameters, extended parameters, and a list of object IDs.
DevFindProperty

Finds the DEVPROPERTY that corresponds to a particular property within an array of DEVPROPERTY structures.
DevFreeObjectProperties

Frees DEVPROPERTY structures allocated by calls to DevGetObjectProperties or DevGetObjectPropertiesEx.
DevFreeObjects

Frees DEV_OBJECT structures allocated by a call to DevGetObjects or DevGetObjectsEx.
DevGetObjectProperties

Synchronously retrieve a set of properties for a specified object.
DevGetObjectPropertiesEx

Synchronously retrieve a set of properties for a specified object optionally based on the specified extended parameters.
DevGetObjects

Synchronously retrieves a set of DEV_OBJECT structures based on the supplied requested properties and filter criteria.
DevGetObjectsEx

Synchronously retrieves a set of DEV_OBJECT structures based on the supplied requested properties, extended parameters, and filter criteria.
DiInstallDevice

The DiInstallDevice function installs a specified driver that is preinstalled in the driver store on a specified device that is present in the system.
DiInstallDriverA

The DiInstallDriver function preinstalls a driver in the driver store and then installs the driver on devices present in the system that the driver supports. (ANSI)
DiInstallDriverW

The DiInstallDriver function preinstalls a driver in the driver store and then installs the driver on devices present in the system that the driver supports. (Unicode)
DiRollbackDriver

The DiRollbackDriver function rolls back the driver that is installed on a specified device.
DiShowUpdateDevice

The DiShowUpdateDevice function displays the Hardware Update wizard for a specified device.
DiUninstallDevice

The DiUninstallDevice function uninstalls a device and removes its device node (devnode) from the system.
DiUninstallDriverA

The DiUninstallDriver function removes a driver package from any devices it is installed on by installing those devices with another matching driver package, if available, or the null driver if no other matching driver package is available. Then the specified driver package is removed from the driver store. (ANSI)
DiUninstallDriverW

The DiUninstallDriver function removes a driver package from any devices it is installed on by installing those devices with another matching driver package, if available, or the null driver if no other matching driver package is available. Then the specified driver package is removed from the driver store. (Unicode)
PDEV_QUERY_RESULT_CALLBACK

The function prototype required of callback functions that will receive DevQuery query results.
SetupDiAskForOEMDisk

The SetupDiAskForOEMDisk function displays a dialog that asks the user for the path of an OEM installation disk.
SetupDiBuildClassInfoList

The SetupDiBuildClassInfoList function returns a list of setup class GUIDs that identify the classes that are installed on a local computer.
SetupDiBuildClassInfoListExA

The SetupDiBuildClassInfoListEx function returns a list of setup class GUIDs that includes every class installed on the local system or a remote system. (ANSI)
SetupDiBuildClassInfoListExW

The SetupDiBuildClassInfoListEx function returns a list of setup class GUIDs that includes every class installed on the local system or a remote system. (Unicode)
SetupDiBuildDriverInfoList

The SetupDiBuildDriverInfoList function builds a list of drivers that is associated with a specific device or with the global class driver list for a device information set.
SetupDiCallClassInstaller

The SetupDiCallClassInstaller function calls the appropriate class installer, and any registered co-installers, with the specified installation request (DIF code).
SetupDiCancelDriverInfoSearch

The SetupDiCancelDriverInfoSearch function cancels a driver list search that is currently in progress in a different thread.
SetupDiChangeState

The SetupDiChangeState function is the default handler for the DIF_PROPERTYCHANGE installation request.
SetupDiClassGuidsFromNameA

The SetupDiClassGuidsFromName function retrieves the GUID(s) associated with the specified class name. This list is built based on the classes currently installed on the system. (ANSI)
SetupDiClassGuidsFromNameExA

The SetupDiClassGuidsFromNameEx function retrieves the GUIDs associated with the specified class name. This resulting list contains the classes currently installed on a local or remote computer. (ANSI)
SetupDiClassGuidsFromNameExW

The SetupDiClassGuidsFromNameEx function retrieves the GUIDs associated with the specified class name. This resulting list contains the classes currently installed on a local or remote computer. (Unicode)
SetupDiClassGuidsFromNameW

The SetupDiClassGuidsFromName function retrieves the GUID(s) associated with the specified class name. This list is built based on the classes currently installed on the system. (Unicode)
SetupDiClassNameFromGuidA

The SetupDiClassNameFromGuid function retrieves the class name associated with a class GUID. (ANSI)
SetupDiClassNameFromGuidExA

The SetupDiClassNameFromGuidEx function retrieves the class name associated with a class GUID. The class can be installed on a local or remote computer. (ANSI)
SetupDiClassNameFromGuidExW

The SetupDiClassNameFromGuidEx function retrieves the class name associated with a class GUID. The class can be installed on a local or remote computer. (Unicode)
SetupDiClassNameFromGuidW

The SetupDiClassNameFromGuid function retrieves the class name associated with a class GUID. (Unicode)
SetupDiCreateDeviceInfoA

The SetupDiCreateDeviceInfo function creates a new device information element and adds it as a new member to the specified device information set. (ANSI)
SetupDiCreateDeviceInfoList

The SetupDiCreateDeviceInfoList function creates an empty device information set and optionally associates the set with a device setup class and a top-level window.
SetupDiCreateDeviceInfoListExA

The SetupDiCreateDeviceInfoList function creates an empty device information set on a remote or a local computer and optionally associates the set with a device setup class . (ANSI)
SetupDiCreateDeviceInfoListExW

The SetupDiCreateDeviceInfoList function creates an empty device information set on a remote or a local computer and optionally associates the set with a device setup class . (Unicode)
SetupDiCreateDeviceInfoW

The SetupDiCreateDeviceInfo function creates a new device information element and adds it as a new member to the specified device information set. (Unicode)
SetupDiCreateDeviceInterfaceA

The SetupDiCreateDeviceInterface function registers a device interface on a local system or a remote system. (ANSI)
SetupDiCreateDeviceInterfaceRegKeyA

The SetupDiCreateDeviceInterfaceRegKey function creates a registry key for storing information about a device interface and returns a handle to the key. (ANSI)
SetupDiCreateDeviceInterfaceRegKeyW

The SetupDiCreateDeviceInterfaceRegKey function creates a registry key for storing information about a device interface and returns a handle to the key. (Unicode)
SetupDiCreateDeviceInterfaceW

The SetupDiCreateDeviceInterface function registers a device interface on a local system or a remote system. (Unicode)
SetupDiCreateDevRegKeyA

The SetupDiCreateDevRegKey function creates a registry key for device-specific configuration information and returns a handle to the key. (ANSI)
SetupDiCreateDevRegKeyW

The SetupDiCreateDevRegKey function creates a registry key for device-specific configuration information and returns a handle to the key. (Unicode)
SetupDiDeleteDeviceInfo

The SetupDiDeleteDeviceInfo function deletes a device information element from a device information set. This function does not delete the actual device.
SetupDiDeleteDeviceInterfaceData

The SetupDiDeleteDeviceInterfaceData function deletes a device interface from a device information set.
SetupDiDeleteDeviceInterfaceRegKey

The SetupDiDeleteDeviceInterfaceRegKey function deletes the registry subkey that is used by applications and drivers to store interface-specific information.
SetupDiDeleteDevRegKey

The SetupDiDeleteDevRegKey function deletes specified user-accessible registry keys that are associated with a device information element.
SetupDiDestroyClassImageList

The SetupDiDestroyClassImageList function destroys a class image list that was built by a call to SetupDiGetClassImageList or SetupDiGetClassImageListEx.
SetupDiDestroyDeviceInfoList

The SetupDiDestroyDeviceInfoList function deletes a device information set and frees all associated memory.
SetupDiDestroyDriverInfoList

The SetupDiDestroyDriverInfoList function deletes a driver list.
SetupDiDrawMiniIcon

The SetupDiDrawMiniIcon function draws the specified mini-icon at the location requested.
SetupDiEnumDeviceInfo

The SetupDiEnumDeviceInfo function returns a SP_DEVINFO_DATA structure that specifies a device information element in a device information set.
SetupDiEnumDeviceInterfaces

The SetupDiEnumDeviceInterfaces function enumerates the device interfaces that are contained in a device information set.
SetupDiEnumDriverInfoA

The SetupDiEnumDriverInfo function enumerates the members of a driver list. (ANSI)
SetupDiEnumDriverInfoW

The SetupDiEnumDriverInfo function enumerates the members of a driver list. (Unicode)
SetupDiGetActualModelsSectionA

The SetupDiGetActualModelsSection function retrieves the appropriate decorated INF Models section to use when installing a device from a device INF file. (ANSI)
SetupDiGetActualModelsSectionW

The SetupDiGetActualModelsSection function retrieves the appropriate decorated INF Models section to use when installing a device from a device INF file. (Unicode)
SetupDiGetActualSectionToInstallA

The SetupDiGetActualSectionToInstall function retrieves the appropriate INF DDInstall section to use when installing a device from a device INF file on a local computer. (ANSI)
SetupDiGetActualSectionToInstallExA

The SetupDiGetActualSectionToInstallEx function retrieves the name of the INF DDInstall section that installs a device for a specified operating system and processor architecture. (ANSI)
SetupDiGetActualSectionToInstallExW

The SetupDiGetActualSectionToInstallEx function retrieves the name of the INF DDInstall section that installs a device for a specified operating system and processor architecture. (Unicode)
SetupDiGetActualSectionToInstallW

The SetupDiGetActualSectionToInstall function retrieves the appropriate INF DDInstall section to use when installing a device from a device INF file on a local computer. (Unicode)
SetupDiGetClassBitmapIndex

The SetupDiGetClassBitmapIndex function retrieves the index of the mini-icon supplied for the specified class.
SetupDiGetClassDescriptionA

The SetupDiGetClassDescription function retrieves the class description associated with the specified setup class GUID. (ANSI)
SetupDiGetClassDescriptionExA

The SetupDiGetClassDescriptionEx function retrieves the description of a setup class installed on a local or remote computer. (ANSI)
SetupDiGetClassDescriptionExW

The SetupDiGetClassDescriptionEx function retrieves the description of a setup class installed on a local or remote computer. (Unicode)
SetupDiGetClassDescriptionW

The SetupDiGetClassDescription function retrieves the class description associated with the specified setup class GUID. (Unicode)
SetupDiGetClassDevPropertySheetsA

The SetupDiGetClassDevPropertySheets function retrieves handles to the property sheets of a device information element or of the device setup class of a device information set. (ANSI)
SetupDiGetClassDevPropertySheetsW

The SetupDiGetClassDevPropertySheets function retrieves handles to the property sheets of a device information element or of the device setup class of a device information set. (Unicode)
SetupDiGetClassDevsExA

The SetupDiGetClassDevsEx function returns a handle to a device information set that contains requested device information elements for a local or a remote computer. (ANSI)
SetupDiGetClassDevsExW

The SetupDiGetClassDevsEx function returns a handle to a device information set that contains requested device information elements for a local or a remote computer. (Unicode)
SetupDiGetClassDevsW

The SetupDiGetClassDevs function returns a handle to a device information set that contains requested device information elements for a local computer. (Unicode)
SetupDiGetClassImageIndex

The SetupDiGetClassImageIndex function retrieves the index within the class image list of a specified class.
SetupDiGetClassImageList

The SetupDiGetClassImageList function builds an image list that contains bitmaps for every installed class and returns the list in a data structure.
SetupDiGetClassImageListExA

The SetupDiGetClassImageListEx function builds an image list of bitmaps for every class installed on a local or remote system. (ANSI)
SetupDiGetClassImageListExW

The SetupDiGetClassImageListEx function builds an image list of bitmaps for every class installed on a local or remote system. (Unicode)
SetupDiGetClassInstallParamsA

The SetupDiGetClassInstallParams function retrieves class installation parameters for a device information set or a particular device information element. (ANSI)
SetupDiGetClassInstallParamsW

The SetupDiGetClassInstallParams function retrieves class installation parameters for a device information set or a particular device information element. (Unicode)
SetupDiGetClassPropertyExW

The SetupDiGetClassPropertyEx function retrieves a class property for a device setup class or a device interface class on a local or remote computer.
SetupDiGetClassPropertyKeys

The SetupDiGetClassPropertyKeys function retrieves an array of the device property keys that represent the device properties that are set for a device setup class or a device interface class.
SetupDiGetClassPropertyKeysExW

The SetupDiGetClassPropertyKeysEx function retrieves an array of the device property keys that represent the device properties that are set for a device setup class or a device interface class on a local or a remote computer.
SetupDiGetClassPropertyW

The SetupDiGetClassProperty function retrieves a device property that is set for a device setup class or a device interface class.
SetupDiGetClassRegistryPropertyA

The SetupDiGetClassRegistryProperty function retrieves a property for a specified device setup class from the registry. (ANSI)
SetupDiGetClassRegistryPropertyW

The SetupDiGetClassRegistryProperty function retrieves a property for a specified device setup class from the registry. (Unicode)
SetupDiGetCustomDevicePropertyA

The SetupDiGetCustomDeviceProperty function retrieves a specified custom device property from the registry. (ANSI)
SetupDiGetCustomDevicePropertyW

The SetupDiGetCustomDeviceProperty function retrieves a specified custom device property from the registry. (Unicode)
SetupDiGetDeviceInfoListClass

The SetupDiGetDeviceInfoListClass function retrieves the GUID for the device setup class associated with a device information set if the set has an associated class.
SetupDiGetDeviceInfoListDetailA

The SetupDiGetDeviceInfoListDetail function retrieves information associated with a device information set including the class GUID, remote computer handle, and remote computer name. (ANSI)
SetupDiGetDeviceInfoListDetailW

The SetupDiGetDeviceInfoListDetail function retrieves information associated with a device information set including the class GUID, remote computer handle, and remote computer name. (Unicode)
SetupDiGetDeviceInstallParamsA

The SetupDiGetDeviceInstallParams function retrieves device installation parameters for a device information set or a particular device information element. (ANSI)
SetupDiGetDeviceInstallParamsW

The SetupDiGetDeviceInstallParams function retrieves device installation parameters for a device information set or a particular device information element. (Unicode)
SetupDiGetDeviceInstanceIdA

The SetupDiGetDeviceInstanceId function retrieves the device instance ID that is associated with a device information element. (ANSI)
SetupDiGetDeviceInstanceIdW

The SetupDiGetDeviceInstanceId function retrieves the device instance ID that is associated with a device information element. (Unicode)
SetupDiGetDeviceInterfaceAlias

The SetupDiGetDeviceInterfaceAlias function returns an alias of a specified device interface.
SetupDiGetDeviceInterfaceDetailA

The SetupDiGetDeviceInterfaceDetail function returns details about a device interface. (ANSI)
SetupDiGetDeviceInterfaceDetailW

The SetupDiGetDeviceInterfaceDetail function returns details about a device interface. (Unicode)
SetupDiGetDeviceInterfacePropertyKeys

The SetupDiGetDeviceInterfacePropertyKeys function retrieves an array of device property keys that represent the device properties that are set for a device interface.
SetupDiGetDeviceInterfacePropertyW

The SetupDiGetDeviceInterfaceProperty function retrieves a device property that is set for a device interface.
SetupDiGetDevicePropertyKeys

The SetupDiGetDevicePropertyKeys function retrieves an array of the device property keys that represent the device properties that are set for a device instance.
SetupDiGetDevicePropertyW

The SetupDiGetDeviceProperty function retrieves a device instance property.
SetupDiGetDeviceRegistryPropertyA

The SetupDiGetDeviceRegistryProperty function retrieves a specified Plug and Play device property. (ANSI)
SetupDiGetDeviceRegistryPropertyW

The SetupDiGetDeviceRegistryProperty function retrieves a specified Plug and Play device property. (Unicode)
SetupDiGetDriverInfoDetailA

The SetupDiGetDriverInfoDetail function retrieves driver information detail for a device information set or a particular device information element in the device information set. (ANSI)
SetupDiGetDriverInfoDetailW

The SetupDiGetDriverInfoDetail function retrieves driver information detail for a device information set or a particular device information element in the device information set. (Unicode)
SetupDiGetDriverInstallParamsA

The SetupDiGetDriverInstallParams function retrieves driver installation parameters for a device information set or a particular device information element. (ANSI)
SetupDiGetDriverInstallParamsW

The SetupDiGetDriverInstallParams function retrieves driver installation parameters for a device information set or a particular device information element. (Unicode)
SetupDiGetHwProfileFriendlyNameA

The SetupDiGetHwProfileFriendlyName function retrieves the friendly name associated with a hardware profile ID. (ANSI)
SetupDiGetHwProfileFriendlyNameExA

The SetupDiGetHwProfileFriendlyNameEx function retrieves the friendly name associated with a hardware profile ID on a local or remote computer. (ANSI)
SetupDiGetHwProfileFriendlyNameExW

The SetupDiGetHwProfileFriendlyNameEx function retrieves the friendly name associated with a hardware profile ID on a local or remote computer. (Unicode)
SetupDiGetHwProfileFriendlyNameW

The SetupDiGetHwProfileFriendlyName function retrieves the friendly name associated with a hardware profile ID. (Unicode)
SetupDiGetHwProfileList

The SetupDiGetHwProfileList function retrieves a list of all currently defined hardware profile IDs.
SetupDiGetHwProfileListExA

The SetupDiGetHwProfileListEx function retrieves a list of all currently defined hardware profile IDs on a local or remote computer. (ANSI)
SetupDiGetHwProfileListExW

The SetupDiGetHwProfileListEx function retrieves a list of all currently defined hardware profile IDs on a local or remote computer. (Unicode)
SetupDiGetINFClassA

The SetupDiGetINFClass function returns the class of a specified device INF file. (ANSI)
SetupDiGetINFClassW

The SetupDiGetINFClass function returns the class of a specified device INF file. (Unicode)
SetupDiGetSelectedDevice

The SetupDiGetSelectedDevice function retrieves the selected device information element in a device information set.
SetupDiGetSelectedDriverA

The SetupDiGetSelectedDriver function retrieves the selected driver for a device information set or a particular device information element. (ANSI)
SetupDiGetSelectedDriverW

The SetupDiGetSelectedDriver function retrieves the selected driver for a device information set or a particular device information element. (Unicode)
SetupDiInstallClassA

The SetupDiInstallClass function installs the ClassInstall32 section of the specified INF file. (ANSI)
SetupDiInstallClassExA

The SetupDiInstallClassEx function installs a class installer or an interface class. (ANSI)
SetupDiInstallClassExW

The SetupDiInstallClassEx function installs a class installer or an interface class. (Unicode)
SetupDiInstallClassW

The SetupDiInstallClass function installs the ClassInstall32 section of the specified INF file. (Unicode)
SetupDiInstallDevice

The SetupDiInstallDevice function is the default handler for the DIF_INSTALLDEVICE installation request.
SetupDiInstallDeviceInterfaces

The SetupDiInstallDeviceInterfaces function is the default handler for the DIF_INSTALLINTERFACES installation request.
SetupDiInstallDriverFiles

The SetupDiInstallDriverFiles function is the default handler for the DIF_INSTALLDEVICEFILES installation request.
SetupDiLoadClassIcon

The SetupDiLoadClassIcon function loads both the large and mini-icon for the specified class.
SetupDiLoadDeviceIcon

The SetupDiLoadDeviceIcon function retrieves an icon for a specified device.
SetupDiOpenClassRegKey

The SetupDiOpenClassRegKey function opens the setup class registry key or a specific class's subkey.
SetupDiOpenClassRegKeyExA

The SetupDiOpenClassRegKeyEx function opens the device setup class registry key, the device interface class registry key, or a specific class's subkey. This function opens the specified key on the local computer or on a remote computer. (ANSI)
SetupDiOpenClassRegKeyExW

The SetupDiOpenClassRegKeyEx function opens the device setup class registry key, the device interface class registry key, or a specific class's subkey. This function opens the specified key on the local computer or on a remote computer. (Unicode)
SetupDiOpenDeviceInfoA

The SetupDiOpenDeviceInfo function adds a device information element for a device instance to a device information set, if one does not already exist in the device information set, and retrieves information that identifies the device information element for the device instance in the device information set. (ANSI)
SetupDiOpenDeviceInfoW

The SetupDiOpenDeviceInfo function adds a device information element for a device instance to a device information set, if one does not already exist in the device information set, and retrieves information that identifies the device information element for the device instance in the device information set. (Unicode)
SetupDiOpenDeviceInterfaceA

The SetupDiOpenDeviceInterface function retrieves information about a device interface and adds the interface to the specified device information set for a local system or a remote system. (ANSI)
SetupDiOpenDeviceInterfaceRegKey

The SetupDiOpenDeviceInterfaceRegKey function opens the registry subkey that is used by applications and drivers to store information that is specific to a device interface.
SetupDiOpenDeviceInterfaceW

The SetupDiOpenDeviceInterface function retrieves information about a device interface and adds the interface to the specified device information set for a local system or a remote system. (Unicode)
SetupDiOpenDevRegKey

The SetupDiOpenDevRegKey function opens a registry key for device-specific configuration information.
SetupDiRegisterCoDeviceInstallers

The SetupDiRegisterCoDeviceInstallers function is the default handler for DIF_REGISTER_COINSTALLERS.
SetupDiRegisterDeviceInfo

The SetupDiRegisterDeviceInfo function is the default handler for the DIF_REGISTERDEVICE request.
SetupDiRemoveDevice

The SetupDiRemoveDevice function is the default handler for the DIF_REMOVE installation request.
SetupDiRemoveDeviceInterface

The SetupDiRemoveDeviceInterface function removes a registered device interface from the system.
SetupDiRestartDevices

The SetupDiRestartDevices function restarts a specified device or, if necessary, restarts all devices that are operated by the same function and filter drivers that operate the specified device.
SetupDiSelectBestCompatDrv

The SetupDiSelectBestCompatDrv function is the default handler for the DIF_SELECTBESTCOMPATDRV installation request.
SetupDiSelectDevice

The SetupDiSelectDevice function is the default handler for the DIF_SELECTDEVICE request.
SetupDiSelectOEMDrv

The SetupDiSelectOEMDrv function selects a driver for a device information set or a particular device information element that uses an OEM path supplied by the user.
SetupDiSetClassInstallParamsA

The SetupDiSetClassInstallParams function sets or clears class install parameters for a device information set or a particular device information element. (ANSI)
SetupDiSetClassInstallParamsW

The SetupDiSetClassInstallParams function sets or clears class install parameters for a device information set or a particular device information element. (Unicode)
SetupDiSetClassPropertyExW

The SetupDiSetClassPropertyEx function sets a device property for a device setup class or a device interface class on a local or remote computer.
SetupDiSetClassPropertyW

The SetupDiSetClassProperty function sets a class property for a device setup class or a device interface class.
SetupDiSetClassRegistryPropertyA

The SetupDiSetClassRegistryProperty function sets a specified device class property in the registry. (ANSI)
SetupDiSetClassRegistryPropertyW

The SetupDiSetClassRegistryProperty function sets a specified device class property in the registry. (Unicode)
SetupDiSetDeviceInstallParamsA

The SetupDiSetDeviceInstallParams function sets device installation parameters for a device information set or a particular device information element. (ANSI)
SetupDiSetDeviceInstallParamsW

The SetupDiSetDeviceInstallParams function sets device installation parameters for a device information set or a particular device information element. (Unicode)
SetupDiSetDeviceInterfaceDefault

The SetupDiSetDeviceInterfaceDefault function sets a device interface as the default interface for a device interface class.
SetupDiSetDeviceInterfacePropertyW

The SetupDiSetDeviceInterfaceProperty function sets a device property of a device interface.
SetupDiSetDevicePropertyW

The SetupDiSetDeviceProperty function sets a device instance property.
SetupDiSetDeviceRegistryPropertyA

The SetupDiSetDeviceRegistryProperty function sets a Plug and Play device property for a device. (ANSI)
SetupDiSetDeviceRegistryPropertyW

The SetupDiSetDeviceRegistryProperty function sets a Plug and Play device property for a device. (Unicode)
SetupDiSetDriverInstallParamsA

The SetupDiSetDriverInstallParams function sets driver installation parameters for a driver information element. (ANSI)
SetupDiSetDriverInstallParamsW

The SetupDiSetDriverInstallParams function sets driver installation parameters for a driver information element. (Unicode)
SetupDiSetSelectedDevice

The SetupDiSetSelectedDevice function sets a device information element as the selected member of a device information set. This function is typically used by an installation wizard.
SetupDiSetSelectedDriverA

The SetupDiSetSelectedDriver function sets, or resets, the selected driver for a device information element or the selected class driver for a device information set. (ANSI)
SetupDiSetSelectedDriverW

The SetupDiSetSelectedDriver function sets, or resets, the selected driver for a device information element or the selected class driver for a device information set. (Unicode)
SetupDiUnremoveDevice

The SetupDiUnremoveDevice function is the default handler for the DIF_UNREMOVE installation request.
SetupGetInfDriverStoreLocationA

The SetupGetInfDriverStoreLocation function retrieves the fully qualified file name (directory path and file name) of an INF file in the driver store that corresponds to a specified INF file in the system INF file directory or a specified INF file in the driver store. (ANSI)
SetupGetInfDriverStoreLocationW

The SetupGetInfDriverStoreLocation function retrieves the fully qualified file name (directory path and file name) of an INF file in the driver store that corresponds to a specified INF file in the system INF file directory or a specified INF file in the driver store. (Unicode)
SetupGetInfPublishedNameA

The SetupGetInfPublishedName function retrieves the fully qualified file name (directory path and file name) of an INF file in the system INF file directory that corresponds to a specified INF file in the driver store or a specified INF file in the system INF file directory. (ANSI)
SetupGetInfPublishedNameW

The SetupGetInfPublishedName function retrieves the fully qualified file name (directory path and file name) of an INF file in the system INF file directory that corresponds to a specified INF file in the driver store or a specified INF file in the system INF file directory. (Unicode)
SetupGetNonInteractiveMode

The SetupGetNonInteractiveMode function returns the value of a SetupAPI non-interactive flag that indicates whether the caller's process can interact with a user through user interface components, such as dialog boxes.
SetupGetThreadLogToken

The SetupGetThreadLogToken function retrieves the log token for the thread from which this function was called.
SetupSetNonInteractiveMode

The SetupSetNonInteractiveMode function sets a non-interactive SetupAPI flag that determines whether SetupAPI can interact with a user in the caller's context.
SetupSetThreadLogToken

The SetupSetThreadLogToken function sets the log context, as represented by a log token, for the thread from which this function was called.
SetupWriteTextLog

The SetupWriteTextLog function writes a log entry in a SetupAPI text log.
SetupWriteTextLogError

The SetupWriteTextLogError function writes information about a SetupAPI-specific error or a Win32 system error to a SetupAPI text log.
SetupWriteTextLogInfLine

The SetupWriteTextLogInfLine function writes a log entry in a SetupAPI text log that contains the text of a specified INF file line.
UpdateDriverForPlugAndPlayDevicesA

Given an INF file and a hardware ID, the UpdateDriverForPlugAndPlayDevices function installs updated drivers for devices that match the hardware ID. (ANSI)
UpdateDriverForPlugAndPlayDevicesW

Given an INF file and a hardware ID, the UpdateDriverForPlugAndPlayDevices function installs updated drivers for devices that match the hardware ID. (Unicode)

Structures

 
BUSNUMBER_DES

The BUSNUMBER_DES structure is used for specifying either a resource list or a resource requirements list that describes bus number usage for a device instance.
BUSNUMBER_RANGE

The BUSNUMBER_RANGE structure specifies a resource requirements list that describes bus number usage for a device instance. For more information about resource requirements lists, see Hardware Resources.
BUSNUMBER_RESOURCE

The BUSNUMBER_RESOURCE structure specifies either a resource list or a resource requirements list that describes bus number usage for a device instance. For more information about resource lists and resource requirements lists, see Hardware Resources.
CM_NOTIFY_EVENT_DATA

This is a device notification event data structure.
CM_NOTIFY_FILTER

Device notification filter structure.
CONFLICT_DETAILS_A

The CONFLICT_DETAILS structure is used as a parameter to the CM_Get_Resource_Conflict_Details function. (ANSI)
CONFLICT_DETAILS_W

The CONFLICT_DETAILS structure is used as a parameter to the CM_Get_Resource_Conflict_Details function. (Unicode)
CS_DES

The CS_DES structure is used for specifying a resource list that describes device class-specific resource usage for a device instance. For more information about resource lists, see Hardware Resources.
CS_RESOURCE

The CS_RESOURCE structure is used for specifying a resource list that describes device class-specific resource usage for a device instance. For more information about resource lists, see Hardware Resources.
DEV_OBJECT

Contains information that represents a device object.
DEV_QUERY_RESULT_ACTION_DATA

Provides information to the PDEV_QUERY_RESULT_CALLBACK callback function.
DEVPROP_FILTER_EXPRESSION

Describes a filter expression used to query filter results.
DMA_DES

The DMA_DES structure is used for specifying either a resource list or a resource requirements list that describes direct memory access (DMA) channel usage for a device instance.
DMA_RANGE

The DMA_RANGE structure specifies a resource requirements list that describes DMA channel usage for a device instance. For more information about resource requirements lists, see Hardware Resources.
DMA_RESOURCE

The DMA_RESOURCE structure is used for specifying either a resource list or a resource requirements list that describes DMA channel usage for a device instance.
IO_DES

The IO_DES structure is used for specifying either a resource list or a resource requirements list that describes I/O port usage for a device instance. For more information about resource lists and resource requirements lists, see Hardware Resources.
IO_RANGE

The IO_RANGE structure specifies a resource requirements list that describes I/O port usage for a device instance. For more information about resource requirements lists, see Hardware Resources.
IO_RESOURCE

The IO_RESOURCE structure is used for specifying either a resource list or a resource requirements list that describes I/O port usage for a device instance.
IRQ_DES_32

The IRQ_DES structure is used for specifying either a resource list or a resource requirements list that describes IRQ line usage for a device instance. For more information about resource lists and resource requirements lists, see Hardware Resources. (32 bit)
IRQ_DES_64

The IRQ_DES structure is used for specifying either a resource list or a resource requirements list that describes IRQ line usage for a device instance. For more information about resource lists and resource requirements lists, see Hardware Resources. (64 bit)
IRQ_RANGE

The IRQ_RANGE structure specifies a resource requirements list that describes IRQ line usage for a device instance. For more information about resource requirements lists, see Hardware Resources.
IRQ_RESOURCE_32

The IRQ_RESOURCE structure is used for specifying either a resource list or a resource requirements list that describes IRQ line usage for a device instance. (32 bit)
IRQ_RESOURCE_64

The IRQ_RESOURCE structure is used for specifying either a resource list or a resource requirements list that describes IRQ line usage for a device instance. (64 bit)
MEM_DES

The MEM_DES structure is used for specifying either a resource list or a resource requirements list that describes memory usage for a device instance. For more information about resource lists and resource requirements lists, see Hardware Resources.
MEM_RANGE

The MEM_RANGE structure specifies a resource requirements list that describes memory usage for a device instance. For more information about resource requirements lists, see Hardware Resources.
MEM_RESOURCE

The MEM_RESOURCE structure is used for specifying either a resource list or a resource requirements list that describes memory usage for a device instance. For more information about resource lists and resource requirements lists, see Hardware Resources.
MFCARD_DES

The MFCARD_DES structure is used for specifying either a resource list or a resource requirements list that describes resource usage by one of the hardware functions provided by an instance of a multifunction device.
MFCARD_RESOURCE

The MFCARD_RESOURCE structure is used for specifying either a resource list or a resource requirements list that describes resource usage by one of the hardware functions provided by an instance of a multifunction device.
PCCARD_DES

The PCCARD_DES structure is used for specifying either a resource list or a resource requirements list that describes resource usage by a PC Card instance. For more information about resource lists and resource requirements lists, see Hardware Resources.
PCCARD_RESOURCE

The PCCARD_RESOURCE structure is used for specifying either a resource list or a resource requirements list that describes resource usage by a PC Card instance.
SP_CLASSIMAGELIST_DATA

An SP_CLASSIMAGELIST_DATA structure describes a class image list.
SP_CLASSINSTALL_HEADER

An SP_CLASSINSTALL_HEADER is the first member of any class install parameters structure. It contains the device installation request code that defines the format of the rest of the install parameters structure.
SP_DETECTDEVICE_PARAMS

An SP_DETECTDEVICE_PARAMS structure corresponds to a DIF_DETECT installation request.
SP_DEVICE_INTERFACE_DATA

An SP_DEVICE_INTERFACE_DATA structure defines a device interface in a device information set.
SP_DEVICE_INTERFACE_DETAIL_DATA_A

An SP_DEVICE_INTERFACE_DETAIL_DATA structure contains the path for a device interface. (ANSI)
SP_DEVICE_INTERFACE_DETAIL_DATA_W

An SP_DEVICE_INTERFACE_DETAIL_DATA structure contains the path for a device interface. (Unicode)
SP_DEVINFO_DATA

An SP_DEVINFO_DATA structure defines a device instance that is a member of a device information set.
SP_DEVINFO_LIST_DETAIL_DATA_A

An SP_DEVINFO_LIST_DETAIL_DATA structure contains information about a device information set, such as its associated setup class GUID (if it has an associated setup class). (ANSI)
SP_DEVINFO_LIST_DETAIL_DATA_W

An SP_DEVINFO_LIST_DETAIL_DATA structure contains information about a device information set, such as its associated setup class GUID (if it has an associated setup class). (Unicode)
SP_DEVINSTALL_PARAMS_A

An SP_DEVINSTALL_PARAMS structure contains device installation parameters associated with a particular device information element or associated globally with a device information set. (ANSI)
SP_DEVINSTALL_PARAMS_W

An SP_DEVINSTALL_PARAMS structure contains device installation parameters associated with a particular device information element or associated globally with a device information set. (Unicode)
SP_DRVINFO_DATA_V1_A

An SP_DRVINFO_DATA structure contains information about a driver. This structure is a member of a driver information list that can be associated with a particular device instance or globally with a device information set. (sp_drvinfo_data_v1_a)
SP_DRVINFO_DATA_V1_W

An SP_DRVINFO_DATA structure contains information about a driver. This structure is a member of a driver information list that can be associated with a particular device instance or globally with a device information set. (sp_drvinfo_data_v1_w)
SP_DRVINFO_DATA_V2_A

An SP_DRVINFO_DATA structure contains information about a driver. This structure is a member of a driver information list that can be associated with a particular device instance or globally with a device information set. (sp_drvinfo_data_v2_a)
SP_DRVINFO_DATA_V2_W

An SP_DRVINFO_DATA structure contains information about a driver. This structure is a member of a driver information list that can be associated with a particular device instance or globally with a device information set. (sp_drvinfo_data_v2_w)
SP_DRVINFO_DETAIL_DATA_A

An SP_DRVINFO_DETAIL_DATA structure contains detailed information about a particular driver information structure. (ANSI)
SP_DRVINFO_DETAIL_DATA_W

An SP_DRVINFO_DETAIL_DATA structure contains detailed information about a particular driver information structure. (Unicode)
SP_DRVINSTALL_PARAMS

An SP_DRVINSTALL_PARAMS structure contains driver installation parameters associated with a particular driver information element.
SP_NEWDEVICEWIZARD_DATA

An SP_NEWDEVICEWIZARD_DATA structure is used by installers to extend the operation of the hardware installation wizard by adding custom pages. It is used with DIF_NEWDEVICEWIZARD_XXX installation requests.
SP_POWERMESSAGEWAKE_PARAMS_A

An SP_POWERMESSAGEWAKE_PARAMS structure corresponds to a DIF_POWERMESSAGEWAKE installation request. (ANSI)
SP_POWERMESSAGEWAKE_PARAMS_W

An SP_POWERMESSAGEWAKE_PARAMS structure corresponds to a DIF_POWERMESSAGEWAKE installation request. (Unicode)
SP_PROPCHANGE_PARAMS

An SP_PROPCHANGE_PARAMS structure corresponds to a DIF_PROPERTYCHANGE installation request.
SP_PROPSHEETPAGE_REQUEST

An SP_PROPSHEETPAGE_REQUEST structure can be passed as the first parameter (lpv) to the ExtensionPropSheetPageProc entry point in the SetupAPI DLL.
SP_REMOVEDEVICE_PARAMS

An SP_REMOVEDEVICE_PARAMS structure corresponds to the DIF_REMOVE installation request.
SP_SELECTDEVICE_PARAMS_A

An SP_SELECTDEVICE_PARAMS structure corresponds to a DIF_SELECTDEVICE installation request. (ANSI)
SP_SELECTDEVICE_PARAMS_W

An SP_SELECTDEVICE_PARAMS structure corresponds to a DIF_SELECTDEVICE installation request. (Unicode)
SP_TROUBLESHOOTER_PARAMS_A

An SP_TROUBLESHOOTER_PARAMS structure corresponds to a DIF_TROUBLESHOOTER installation request. (ANSI)
SP_TROUBLESHOOTER_PARAMS_W

An SP_TROUBLESHOOTER_PARAMS structure corresponds to a DIF_TROUBLESHOOTER installation request. (Unicode)
SP_UNREMOVEDEVICE_PARAMS

An SP_UNREMOVEDEVICE_PARAMS structure corresponds to a DIF_UNREMOVE installation request.