Функция 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 |
См. также раздел
SetupDiGetClassRegistryProperty