Поделиться через


Функция 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. К дополнительным возвращаемым значениям относятся:

Код возврата Описание
STATUS_INVALID_PARAMETER
Указанное значение 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

См. также раздел

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAllocAndQueryProperty