Функция WdfDeviceAllocAndQueryPropertyEx (wdfdevice.h)
[Относится к KMDF и UMDF]
Метод WdfDeviceAllocAndQueryPropertyEx выделяет буфер и извлекает указанное свойство устройства.
Синтаксис
NTSTATUS WdfDeviceAllocAndQueryPropertyEx(
[in] WDFDEVICE Device,
[in] PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
[in] POOL_TYPE PoolType,
[in, optional] PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes,
[out] WDFMEMORY *PropertyMemory,
[out] PDEVPROPTYPE Type
);
Параметры
[in] Device
Дескриптор объекта устройства платформы.
[in] DeviceProperty
Указатель на структуру WDF_DEVICE_PROPERTY_DATA , определяющую извлекаемое свойство устройства.
[in] PoolType
Перечислитель POOL_TYPE типа, указывающий тип выделяемой памяти.
[in, optional] PropertyMemoryAttributes
Указатель на структуру WDF_OBJECT_ATTRIBUTES , выделенную вызывающим объектом, которая описывает атрибуты объекта памяти, который будет выделять функция. Этот параметр является необязательным и может быть WDF_NO_OBJECT_ATTRIBUTES.
[out] PropertyMemory
Указатель на расположение типа WDFMEMORY, которое получает дескриптор объекта памяти платформы.
[out] Type
Указатель на переменную DEVPROPTYPE . Если метод выполнен успешно, при возврате этот параметр содержит значение типа свойства данных свойства, хранящихся в PropertyMemory.
Возвращаемое значение
Если операция выполнена успешно, WdfDeviceAllocAndQueryPropertyEx возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:
Код возврата | Описание |
---|---|
|
Указанное значение DeviceProperty недопустимо. |
Метод может возвращать другие значения NTSTATUS.
Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Комментарии
WdfDeviceAllocAndQueryPropertyEx можно использовать для получения любого свойства, доступного через единую модель свойств, в то время как метод WdfDeviceAllocAndQueryProperty позволяет запрашивать только подмножество унифицированной модели свойств.
Метод WdfDeviceAllocAndQueryPropertyEx определяет объем памяти, необходимый для хранения запрошенного свойства интерфейса устройства. Он выделяет достаточно памяти для хранения данных и возвращает дескриптор в объект памяти платформы, описывающий выделенную память. Чтобы получить доступ к данным, драйвер может вызвать WdfMemoryGetBuffer.
Сведения о связанных методах см. в статье Доступ к модели свойств единого устройства.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1.13 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | APC_LEVEL |