Поделиться через


Функция 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 представляет корневое перечисленное устройство. Для других устройств драйвер шины сообщает аппаратные и совместимые идентификаторы при перечислении дочернего устройства после получения IRP_MN_QUERY_ID.

Следующие значения зарезервированы для использования операционной системой и не могут использоваться в параметре 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

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty