Функция SetupDiSetDeviceRegistryPropertyA (setupapi.h)
Функция SetupDiSetDeviceRegistryProperty задает свойство устройства Plug and Play для устройства.
Синтаксис
WINSETUPAPI BOOL SetupDiSetDeviceRegistryPropertyA(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD Property,
[in, optional] const BYTE *PropertyBuffer,
[in] DWORD PropertyBufferSize
);
Параметры
[in] DeviceInfoSet
Дескриптор набора сведений об устройстве , который содержит элемент сведений об устройстве, представляющий устройство, для которого необходимо задать свойство устройства Plug and Play.
[in, out] DeviceInfoData
Указатель на структуру SP_DEVINFO_DATA, указывающую элемент сведений об устройстве в DeviceInfoSet. Если задано свойство ClassGuid, DeviceInfoData.ClassGuid устанавливается при возвращении в новый класс для устройства.
[in] Property
Одно из следующих значений, которое определяет свойство, которое необходимо задать. Описание этих значений см. в разделе SetupDiGetDeviceRegistryProperty.
- SPDRP_CONFIGFLAGS
- SPDRP_EXCLUSIVE
- SPDRP_FRIENDLYNAME
- SPDRP_LOCATION_INFORMATION
- SPDRP_LOWERFILTERS
- SPDRP_REMOVAL_POLICY_OVERRIDE
- SPDRP_SECURITY
- SPDRP_SECURITY_SDS
- SPDRP_UI_NUMBER_DESC_FORMAT
- SPDRP_UPPERFILTERS
Заметка
SPDRP_HARDWAREID или SPDRP_COMPATIBLEIDS можно использовать только в том случае, если DeviceInfoData
Следующие значения зарезервированы для использования операционной системой и не могут использоваться в параметре Property:
- SPDRP_ADDRESS
- SPDRP_BUSNUMBER
- SPDRP_BUSTYPEGUID
- SPDRP_CHARACTERISTICS
- SPDRP_CAPABILITIES
- SPDRP_CLASS
- SPDRP_CLASSGUID
- SPDRP_DEVICE_POWER_DATA
- SPDRP_DEVICEDESC
- SPDRP_DEVTYPE
- SPDRP_DRIVER
- SPDRP_ENUMERATOR_NAME
- SPDRP_INSTALL_STATE
- SPDRP_LEGACYBUSTYPE
- SPDRP_LOCATION_PATHS
- SPDRP_MFG
- SPDRP_PHYSICAL_DEVICE_OBJECT_NAME
- SPDRP_REMOVAL_POLICY
- SPDRP_REMOVAL_POLICY_HW_DEFAULT
- SPDRP_SERVICE
- SPDRP_UI_NUMBER
[in, optional] PropertyBuffer
Указатель на буфер, содержащий новые данные для свойства. Если свойство очищается, то этот указатель должен быть NULL и PropertyBufferSize должно быть равно нулю.
[in] PropertyBufferSize
Размер в байтах PropertyBuffer. Если PropertyBuffer имеет значение NULL , то это поле должно быть равно нулю.
Возвращаемое значение
Функция возвращает TRUE, если она выполнена успешно. В противном случае возвращается FALSE, а ошибка журнала может быть получена с помощью вызова GetLastError.
Замечания
Вызывающий объект этой функции должен быть членом группы "Администраторы".
Свойство имени класса нельзя задать, так как оно основано на соответствующем GUID класса и автоматически обновляется при изменении этого свойства. При изменении свойства ClassGUID SetupDiSetDeviceRegistryProper ty автоматически очищает все ключи программного обеспечения, связанные с устройством.
Заметка
Заголовок setupapi.h определяет SetupDiSetDeviceRegistryProperty как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
целевая платформа | Настольный |
заголовка | setupapi.h (include Setupapi.h) |
библиотеки |
Setupapi.lib |
См. также
SetupDiGetClassRegistryProperty