SetupDiSetDeviceRegistryProperty
BOOLEAN
SetupDiSetDeviceRegistryProperty(
IN HDEVINFO DeviceInfoSet,
IN OUT PSP_DEVINFO_DATA DeviceInfoData,
IN DWORD Property,
IN PBYTE PropertyBuffer,
IN DWORD PropertyBufferSize
);
SetupDiSetDeviceRegistryProperty sets the specified Plug and Play device registry property.
Parameters
DeviceInfoSet
Supplies a handle to the device information set containing information about the device instance whose Plug and Play registry property is to be modified.
DeviceInfoData
Supplies a pointer to an SP_DEVINFO_DATA structure indicating the device instance whose Plug and Play registry property is to be modified. If the ClassGUID property is being set, this structure is updated upon return to reflect the device's new class.
Property
Supplies an ordinal specifying the property to be set. Can be one of the following values:
Code | Property |
SPDRP_DEVICEDESC (0x00) | DeviceDesc |
SPDRP_HARDWAREID (0x01) | HardwareID |
SPDRP_COMPATIBLEIDS (0x02) | CompatibleIDs |
SPDRP_SERVICE (0x04) | Service |
SPDRP_CLASSGUID (0x08) | ClassGUID |
SPDRP_DRIVER (0x09) | Driver |
SPDRP_CONFIGFLAGS (0x0A) | ConfigFlags |
SPDRP_MFG (0x0B) | Mfg |
SPDRP_FRIENDLYNAME (0x0C) | FriendlyName |
PropertyBuffer
Buffer that contains the new data for the property.
PropertyBufferSize
Supplies the size, in bytes, of PropertyBuffer.
Return Value
The function returns TRUE if it is successful. Otherwise it returns FALSE and the logged error can be retrieved with a call to GetLastError.
Comments
The class name property cannot be set because it is based on the corresponding class GUID and is automatically updated when that property is changed. When the ClassGUID property changes, SetupDiSetDeviceRegistryProperty automatically cleans up any software keys associated with the device.
See Also