WdfDeviceAllocAndQueryPropertyEx 函数 (wdfdevice.h)

[适用于 KMDF 和 UMDF]

WdfDeviceAllocAndQueryPropertyEx 方法分配缓冲区并检索指定的设备属性。

语法

NTSTATUS WdfDeviceAllocAndQueryPropertyEx(
  [in]           WDFDEVICE                 Device,
  [in]           PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
  [in]           POOL_TYPE                 PoolType,
  [in, optional] PWDF_OBJECT_ATTRIBUTES    PropertyMemoryAttributes,
  [out]          WDFMEMORY                 *PropertyMemory,
  [out]          PDEVPROPTYPE              Type
);

参数

[in] Device

框架设备对象的句柄。

[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 中的属性数据的属性值。

返回值

如果操作成功, WdfDeviceAllocAndQueryPropertyEx 将返回STATUS_SUCCESS。 其他返回值包括:

返回代码 说明
STATUS_INVALID_PARAMETER
指定的 DeviceProperty 值无效。
 

该方法可能会返回其他 NTSTATUS 值

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

注解

可以使用 WdfDeviceAllocAndQueryPropertyEx 检索通过统一属性模型公开的任何属性,而 WdfDeviceAllocAndQueryProperty 方法仅允许查询统一属性模型的子集。

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

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

要求

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

另请参阅

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAllocAndQueryProperty