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