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


Функция 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 для получения любого свойства, предоставляемого с помощью модели унифицированных свойств, в то время как метод WdfDeviceAllocAndQueryProper ty позволяет запрашивать только подмножество модели унифицированных свойств.

Метод WdfDeviceAllocAndQueryPropertyEx определяет объем памяти, необходимый для хранения запрошенного свойства интерфейса устройства. Он выделяет достаточно памяти для хранения данных и возвращает дескриптор в объект памяти платформы, описывающий выделенную память. Чтобы получить доступ к данным, драйвер может вызвать WdfMemoryGetBuffer.

Сведения о связанных методах см. в доступ к модели свойств единого устройства.

Требования

Требование Ценность
целевая платформа Всеобщий
минимальная версия KMDF 1.13
минимальная версия UMDF 2.0
заголовка wdfdevice.h (include Wdf.h)
библиотеки Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL APC_LEVEL

См. также

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAllocAndQueryProperty