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

指向驱动程序从其 EvtDriverDeviceAdd 回调函数获取的 WDFDEVICE_INIT 结构的指针。

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

如果驱动程序提供无效的对象句柄,则会发生 bug 检查。

注解

WdfFdoInitAllocAndQueryPropertyEx 方法确定保存请求的设备接口属性所需的内存量。 它分配足够的内存来保存数据,并返回描述已分配内存的框架内存对象的句柄。 若要访问数据,驱动程序可以调用 WdfMemoryGetBuffer

驱动程序只能在调用 WdfDeviceCreate 之前调用 WdfFdoInitAllocAndQueryPropertyEx。 有关调用 WdfDeviceCreate 的详细信息,请参阅 创建框架设备对象

调用 WdfDeviceCreate 后,驱动程序可以通过调用 WdfDeviceAllocAndQueryPropertyEx 获取设备属性信息。

有关相关方法的信息,请参阅 访问统一设备属性模型

要求

要求
目标平台 通用
最低 KMDF 版本 1.13
最低 UMDF 版本 2.0
标头 wdffdo.h (包括 Wdf.h)
Library Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

另请参阅

WdfFdoInitAllocAndQueryProperty