Функция WdfFdoInitAllocAndQueryPropertyEx (wdffdo.h)

[Применимо к KMDF и UMDF]

Метод WdfFdoInitAllocAndQueryPropertyEx выделяет буфер и извлекает указанное свойство устройства.

Синтаксис

NTSTATUS WdfFdoInitAllocAndQueryPropertyEx(
  [in]           PWDFDEVICE_INIT           DeviceInit,
  [in]           PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
  [in]           POOL_TYPE                 PoolType,
  [in, optional] PWDF_OBJECT_ATTRIBUTES    PropertyMemoryAttributes,
  [out]          WDFMEMORY                 *PropertyMemory,
  [out]          PDEVPROPTYPE              Type
);

Параметры

[in] DeviceInit

Указатель на структуру WDFDEVICE_INIT , полученную драйвером из функции обратного вызова EvtDriverDeviceAdd .

[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.

Возвращаемое значение

Если операция выполнена успешно, WdfFdoInitAllocAndQueryPropertyEx возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:

Код возврата Описание
STATUS_INVALID_PARAMETER
Указанное значение DeviceProperty недопустимо.
 

Метод может возвращать другие значения NTSTATUS.

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Комментарии

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

Драйвер может вызывать WdfFdoInitAllocAndQueryPropertyEx только перед вызовом WdfDeviceCreate. Дополнительные сведения о вызове WdfDeviceCreate см. в разделе Создание объекта устройства платформы.

После вызова WdfDeviceCreate драйвер может получить сведения о свойстве устройства, вызвав WdfDeviceAllocAndQueryPropertyEx.

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

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1.13
Минимальная версия UMDF 2,0
Верхняя часть wdffdo.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

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

WdfFdoInitAllocAndQueryProperty