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


Функция SetupDiGetDeviceRegistryPropertyA (setupapi.h)

Функция SetupDiGetDeviceRegistryProperty извлекает указанное свойство устройства Plug and Play.

Синтаксис

WINSETUPAPI BOOL SetupDiGetDeviceRegistryPropertyA(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA DeviceInfoData,
  [in]            DWORD            Property,
  [out, optional] PDWORD           PropertyRegDataType,
  [out, optional] PBYTE            PropertyBuffer,
  [in]            DWORD            PropertyBufferSize,
  [out, optional] PDWORD           RequiredSize
);

Параметры

[in] DeviceInfoSet

Дескриптор набора сведений об устройстве , содержащего элемент сведений об устройстве, представляющий устройство, для которого требуется получить свойство Plug and Play.

[in] DeviceInfoData

Указатель на структуру SP_DEVINFO_DATA , указывающую элемент сведений об устройстве в DeviceInfoSet.

[in] Property

Одно из следующих значений, указывающее извлекаемое свойство:

SPDRP_ADDRESS

Функция извлекает адрес устройства.

SPDRP_BUSNUMBER

Функция извлекает номер шины устройства.

SPDRP_BUSTYPEGUID

Функция получает GUID для типа шины устройства.

SPDRP_CAPABILITIES

Функция извлекает побитовое значение OR следующих флагов CM_DEVCAP_Xxx в DWORD. Возможности устройства, представленные этими флагами, соответствуют возможностям устройства, представленным членами структуры DEVICE_CAPABILITIES . Константы CM_DEVCAP_Xxx определены в Cfgmgr32.h.

флаг CM_DEVCAP_Xxx Соответствующий элемент структуры DEVICE_CAPABILITIES
CM_DEVCAP_LOCKSUPPORTED LockSupported
CM_DEVCAP_EJECTSUPPORTED EjectSupported
CM_DEVCAP_REMOVABLE Съемный
CM_DEVCAP_DOCKDEVICE DockDevice
CM_DEVCAP_UNIQUEID Uniqueid
CM_DEVCAP_SILENTINSTALL SilentInstall
CM_DEVCAP_RAWDEVICEOK RawDeviceOK
CM_DEVCAP_SURPRISEREMOVALOK SurpriseRemovalOK
CM_DEVCAP_HARDWAREDISABLED HardwareDisabled
CM_DEVCAP_NONDYNAMIC Нединамическая
 

SPDRP_CHARACTERISTICS

Функция извлекает побитовое ЗНАЧЕНИЕ ИЛИ флагов характеристик устройства в DWORD. Описание этих флагов, определенных в Wdm.h и Ntddk.h, см. в параметре DeviceCharacteristics функции IoCreateDevice .

SPDRP_CLASS

Функция извлекает строку REG_SZ, содержащую класс настройки устройства .

SPDRP_CLASSGUID

Функция извлекает строку REG_SZ, содержащую GUID, представляющий класс настройки устройства.

SPDRP_COMPATIBLEIDS

Функция извлекает строку REG_MULTI_SZ, содержащую список совместимых идентификаторов для устройства. Сведения о совместимых идентификаторах см. в разделе Строки идентификации устройств.

SPDRP_CONFIGFLAGS

Функция извлекает побитовое ИЛИ флагов конфигурации устройства в значении DWORD. Флаги конфигурации представлены битами CONFIGFLAG_Xxx, определенными в Regstr.h.

SPDRP_DEVICE_POWER_DATA

(Windows XP и более поздние версии) Функция извлекает структуру CM_POWER_DATA , содержащую сведения об управлении питанием устройства.

SPDRP_DEVICEDESC

Функция извлекает REG_SZ строку, содержащую описание устройства.

SPDRP_DEVTYPE

Функция извлекает значение DWORD, представляющее тип устройства. Дополнительные сведения см. в разделе Указание типов устройств.

SPDRP_DRIVER

Функция извлекает строку, определяющую программный ключ устройства (иногда называемый ключом драйвера). Дополнительные сведения о разделах драйверов см. в разделе Деревья реестра и ключи для устройств и драйверов.

SPDRP_ENUMERATOR_NAME

Функция извлекает REG_SZ строку, содержащую имя перечислителя устройства.

SPDRP_EXCLUSIVE

Функция извлекает значение DWORD, указывающее, может ли пользователь получить монопольное использование устройства. Возвращаемое значение равно 1, если разрешено монопольное использование, или нулевым значением в противном случае. Дополнительные сведения см. в разделе IoCreateDevice.

SPDRP_FRIENDLYNAME

Функция извлекает REG_SZ строку, содержащую понятное имя устройства.

SPDRP_HARDWAREID

Функция извлекает строку REG_MULTI_SZ, содержащую список идентификаторов оборудования для устройства. Сведения об идентификаторах оборудования см. в разделе Строки идентификации устройств.

SPDRP_INSTALL_STATE

(Windows XP и более поздние версии) Функция извлекает значение DWORD, указывающее состояние установки устройства. Состояние установки представлено одним из значений CM_INSTALL_STATE_Xxx, определенных в Cfgmgr32.h. Значения CM_INSTALL_STATE_Xxx соответствуют значениям перечисления DEVICE_INSTALL_STATE .

SPDRP_LEGACYBUSTYPE

Функция извлекает устаревший тип шины устройства в виде значения INTERFACE_TYPE (определенного в Wdm.h и Ntddk.h).

SPDRP_LOCATION_INFORMATION

Функция извлекает строку REG_SZ, содержащую расположение оборудования устройства.

SPDRP_LOCATION_PATHS

(Windows Server 2003 и более поздние версии) Функция извлекает строку REG_MULTI_SZ, представляющую расположение устройства в дереве устройств.

SPDRP_LOWERFILTERS

Функция извлекает строку REG_MULTI_SZ, содержащую имена драйверов нижнего фильтра устройства.

SPDRP_MFG

Функция извлекает строку REG_SZ, содержащую имя изготовителя устройства.

SPDRP_PHYSICAL_DEVICE_OBJECT_NAME

Функция извлекает строку REG_SZ, содержащую имя, связанное с PDO устройства. Дополнительные сведения см. в разделе IoCreateDevice.

SPDRP_REMOVAL_POLICY

(Windows XP и более поздние версии) Функция извлекает текущую политику удаления устройства в виде DWORD, содержащего одно из значений CM_REMOVAL_POLICY_Xxx , определенных в Cfgmgr32.h.

SPDRP_REMOVAL_POLICY_HW_DEFAULT

(Windows XP и более поздние версии) Функция извлекает заданную оборудованием политику удаления устройства по умолчанию в виде DWORD, содержащего одно из значений CM_REMOVAL_POLICY_Xxx, определенных в Cfgmgr32.h.

SPDRP_REMOVAL_POLICY_OVERRIDE

(Windows XP и более поздние версии) Функция извлекает политику удаления переопределения устройства (если она существует) из реестра в виде DWORD, содержащего одно из значений CM_REMOVAL_POLICY_Xxx , определенных в Cfgmgr32.h.

SPDRP_SECURITY

Функция извлекает SECURITY_DESCRIPTOR структуру для устройства.

SPDRP_SECURITY_SDS

Функция извлекает строку REG_SZ, содержащую дескриптор безопасности устройства. Сведения о строках дескриптора безопасности см. в разделе Язык определения дескриптора безопасности (Windows). Сведения о формате строк дескриптора безопасности см. в разделе Язык определения дескрипторов безопасности (Windows).

SPDRP_SERVICE

Функция извлекает строку REG_SZ, содержащую имя службы для устройства.

SPDRP_UI_NUMBER

Функция извлекает значение DWORD, равное значению элемента UINumber структуры DEVICE_CAPABILITIES устройства.

SPDRP_UI_NUMBER_DESC_FORMAT

Функция извлекает строку формата (REG_SZ), используемую для отображения значения UINumber .

SPDRP_UPPERFILTERS

Функция извлекает строку REG_MULTI_SZ, содержащую имена драйверов верхнего фильтра устройства.

[out, optional] PropertyRegDataType

Указатель на переменную, получающую тип данных извлекаемого свойства. Это один из стандартных типов данных реестра. Этот параметр является необязательным и может иметь значение NULL.

[out, optional] PropertyBuffer

Указатель на буфер, получающий извлекаемое свойство. Если для этого параметра задано значение NULL, а свойство PropertyBufferSize равно нулю, функция возвращает необходимый размер буфера в requiredSize.

[in] PropertyBufferSize

Размер буфера PropertyBuffer в байтах.

[out, optional] RequiredSize

Указатель на переменную типа DWORD, которая получает требуемый размер буфера PropertyBuffer в байтах, необходимый для хранения данных для запрошенного свойства. Этот параметр является необязательным и может иметь значение NULL.

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

SetupDiGetDeviceRegistryProperty возвращает значение TRUE , если вызов был успешным. В противном случае возвращается значение FALSE , а зарегистрированная ошибка может быть получена путем вызова Метода GetLastError. SetupDiGetDeviceRegistryProperty возвращает код ошибки ERROR_INVALID_DATA, если запрошенное свойство не существует для устройства или если данные свойства недопустимы.

Комментарии

Примечание

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

Требования

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

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

IoGetDeviceProperty

SetupDiGetClassRegistryProperty

SetupDiSetClassRegistryProperty

SetupDiSetDeviceRegistryProperty