Функция 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 в байтах. Если СвойствоBuffer имеет значение NULL, это поле должно быть равно нулю.

Возвращаемое значение

Функция возвращает ЗНАЧЕНИЕ TRUE , если оно выполнено успешно. В противном случае возвращается значение FALSE , а зарегистрированная ошибка может быть получена с помощью вызова Метода GetLastError.

Комментарии

Вызывающий объект этой функции должен быть членом группы Администраторы.

Невозможно задать свойство имени класса, так как оно основано на соответствующем GUID класса и автоматически обновляется при изменении этого свойства. При изменении свойства ClassGUID SetupDiSetDeviceRegistryProperty автоматически очищает все программные ключи, связанные с устройством.

Примечание

Заголовок setupapi.h определяет SetupDiSetDeviceRegistryProperty в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Доступно в Microsoft Windows 2000 и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть setupapi.h (включая Setupapi.h)
Библиотека Setupapi.lib

См. также раздел

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty