Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция 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 |