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 值

如果驱动程序提供无效的对象句柄,则进行 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