Функция 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см. в создании объекта устройства Framework.
После вызова WdfDeviceCreateдрайвер может получить сведения о свойстве устройства, вызвав WdfDeviceAllocAndQueryPropertyEx.
Сведения о связанных методах см. в доступ к модели свойств единого устройства.
Требования
Требование | Ценность |
---|---|
целевая платформа | универсальный |
минимальная версия KMDF | 1.13 |
минимальная версия UMDF | 2.0 |
Заголовок | wdffdo.h (include Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |