Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо только к UMDF]
Метод WdfDeviceQueryInterfaceProperty получает указанное свойство интерфейса устройства.
Синтаксис
NTSTATUS WdfDeviceQueryInterfaceProperty(
[in] WDFDEVICE Device,
[in] PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
[in] ULONG BufferLength,
[out] PVOID PropertyBuffer,
[out] PULONG ResultLength,
[out] PDEVPROPTYPE Type
);
Параметры
[in] Device
Дескриптор объекта устройства платформы.
[in] PropertyData
Указатель на структуру WDF_DEVICE_INTERFACE_PROPERTY_DATA, которая определяет свойство интерфейса устройства для извлечения.
[in] BufferLength
Размер буфера в байтах, на который указывает PropertyBuffer.
[out] PropertyBuffer
Указатель на выделенный вызывающим буфером, который получает запрошенное свойство интерфейса устройства. Указатель может иметь значение NULL, если параметр BufferLength равен нулю.
[out] ResultLength
Указанное вызывающее расположение, содержащее размер в байтах сведений, которые WdfDeviceQueryInterfaceProperty, хранящиеся в PropertyBuffer. Если возвращаемое значение функции STATUS_BUFFER_TOO_SMALL, это расположение получает требуемый размер буфера.
[out] Type
Указатель на -typed переменной DEVPROPTYPE, которая определяет тип данных свойств, на которые WdfDeviceQueryInterfaceProperty, хранящейся в буфере, на который PropertyBuffer указывает.
Возвращаемое значение
Если метод WdfDeviceQueryInterfaceProperty не встречает ошибок, возвращается STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:
Возвращаемый код | Описание |
---|---|
|
Входной буфер слишком мал, чтобы получить информацию. |
|
Указанное значение параметра недопустимо. |
Метод может возвращать другие значения NTSTATUS.
Замечания
Перед получением данных свойств устройства драйверы обычно вызывают метод WdfDeviceQueryInterfaceProperty только для получения требуемого размера буфера. Для некоторых свойств размер данных может измениться между возвратом требуемого размера и при вызове драйвера WdfDeviceQueryInterfaceProperty. Таким образом, драйверы должны вызывать WdfDeviceQueryInterfaceProperty внутри цикла, выполняющегося до тех пор, пока состояние возврата не STATUS_BUFFER_TOO_SMALL.
Рекомендуется использовать WdfDeviceQueryInterfaceProperty только в том случае, если необходимый размер буфера известен и не изменялся, так как в этом случае драйвер должен вызывать WdfDeviceQueryInterfaceProperty только один раз. Если требуемый размер буфера неизвестен или изменяется, драйвер должен вызвать WdfDeviceAllocAndQueryInterfaceProperty.
Сведения о связанных методах см. в доступ к модели свойств единого устройства.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8.1 |
целевая платформа | Всеобщий |
минимальная версия UMDF | 2.0 |
заголовка | wdfdevice.h (include Wdf.h) |
библиотеки | WUDFx02000.lib |
DLL | WUDFx02000.dll |
IRQL | PASSIVE_LEVEL |
См. также
WDF_DEVICE_INTERFACE_PROPERTY_DATA
WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT