Функция 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, содержащую дескриптор безопасности устройства. Сведения о строках дескриптора безопасности см. в
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 |
См. также
SetupDiGetClassRegistryProperty