Функция SetupDiGetDeviceInterfacePropertyKeys (setupapi.h)
Функция SetupDiGetDeviceInterfacePropertyKeys извлекает массив ключей свойств устройства, представляющих свойства устройства, заданные для интерфейса устройства.
Синтаксис
WINSETUPAPI BOOL SetupDiGetDeviceInterfacePropertyKeys(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[out, optional] DEVPROPKEY *PropertyKeyArray,
[in] DWORD PropertyKeyCount,
[out, optional] PDWORD RequiredPropertyKeyCount,
[in] DWORD Flags
);
Параметры
[in] DeviceInfoSet
Дескриптор набора сведений об устройстве. Этот набор сведений об устройстве содержит интерфейс устройства, для которого требуется получить массив ключей свойств устройства, представляющих свойства устройства, заданные для интерфейса устройства.
[in] DeviceInterfaceData
Указатель на структуру SP_DEVICE_INTERFACE_DATA , представляющую интерфейс устройства, для которого требуется получить запрошенный массив ключей свойств устройства.
[out, optional] PropertyKeyArray
Указатель на буфер, который получает массив значений типа DEVPROPKEY, где каждое значение является ключом свойства устройства для свойства устройства, заданного для интерфейса устройства. Указатель является необязательным и может иметь значение NULL. Дополнительные сведения см. в разделе Примечания далее в этом разделе.
[in] PropertyKeyCount
Размер буфера PropertyKeyArray в элементах типа DEVPROPKEY. Если свойство PropertyKeyArray имеет значение NULL, свойство PropertyKeyCount должно быть равно нулю.
[out, optional] RequiredPropertyKeyCount
Указатель на переменную типа DWORD, которая получает количество запрошенных ключей свойств устройства. Указатель является необязательным и может иметь значение NULL.
[in] Flags
Для этого параметра необходимо задать нулевое значение.
Возвращаемое значение
Функция возвращает ЗНАЧЕНИЕ TRUE , если оно выполнено успешно. В противном случае возвращается значение FALSE, и зарегистрированную ошибку можно получить, вызвав Метод GetLastError.
В следующей таблице приведены некоторые из наиболее распространенных кодов ошибок, которые эта функция может записывать в журнал.
Код возврата | Описание |
---|---|
|
Значение Flags не равно нулю. |
|
Недопустимый набор сведений об устройстве, указанный в DevInfoSet . |
|
Недопустимое значение внутренних данных. |
|
Недействительный параметр. Один из возможных вариантов заключается в том, что интерфейс устройства, указанный в DevInterfaceData , недопустим. |
|
Недопустимый буфер пользователя. Один из возможных вариантов заключается в том, что PropertyKeyArray имеет значение NULL, а PropertKeyCount не равно нулю. . |
|
Интерфейс устройства, указанный в DeviceInterfaceData , не существует. |
|
Буфер PropertyKeyArray недостаточно велик для хранения всех запрошенных ключей свойств. |
|
Недостаточно системной памяти для завершения операции. |
Комментарии
SetupDiGetDeviceInterfacePropertyKeys является частью унифицированной модели свойств устройства.
Если буфер PropertyKeyArray недостаточно велик для хранения всех запрошенных ключей свойств, SetupDiGetDeviceInterfacePropertyKeys не извлекает ключи свойств и возвращает ERROR_INSUFFICIENT_BUFFER. Если вызывающий объект предоставил указатель RequiredPropertyKeyCount , setupDiGetDeviceInterfacePropertyKeys устанавливает для параметра *RequiredPropertyKeyCount необходимый размер буфера PropertyKeyArray в типизированных значениях DEVPROPKEY.
Чтобы получить свойство интерфейса устройства, вызовите метод SetupDiGetDeviceInterfaceProperty, а чтобы задать свойство интерфейса устройства, вызовите метод SetupDiSetDeviceInterfaceProperty.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях Windows. |
Целевая платформа | DesktopДля универсального, вызовите CM_Get_Device_Interface_Property_Keys |
Верхняя часть | setupapi.h (включая Setupapi.h) |
Библиотека | Setupapi.lib |
DLL | Setupapi.dll |