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


Функция 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

Функция извлекает битовую или из следующих флагов 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 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_ bitmasks, которые определены в 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, указывающее, может ли пользователь получить эксклюзивное использование устройства. Возвращаемое значение равно одному, если разрешено эксклюзивное использование или ноль в противном случае. Дополнительные сведения см. в разделе 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.
целевая платформа DesktopFor universal, вызов CM_Get_DevNode_Registry_Property
заголовка setupapi.h (include Setupapi.h)
библиотеки Setupapi.lib

См. также

IoGetDeviceProperty

SetupDiGetClassRegistryProperty

SetupDiSetClassRegistryProperty

SetupDiSetDeviceRegistryProperty