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。 其他傳回值包括:

傳回碼 Description
STATUS_INVALID_PARAMETER
指定的 DeviceProperty 值無效。
 

方法可能會傳回其他 NTSTATUS值

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

備註

您可以使用 WdfDeviceAllocAndQueryPropertyEx 來擷取透過統一屬性模型公開的任何屬性,而 WdfDeviceAllocAndQueryProperty 方法只允許查詢整合屬性模型的子集。

WdfDeviceAllocAndQueryPropertyEx 方法會決定保存要求之裝置介面屬性所需的記憶體數量。 它會配置足夠的記憶體來保存數據,並傳回描述已配置記憶體的架構記憶體物件的句柄。 若要存取數據,您的驅動程式可以呼叫 WdfMemoryGetBuffer

如需相關方法的相關信息,請參閱 存取整合裝置屬性模型

規格需求

需求
目標平台 Universal
最小 KMDF 版本 1.13
最低UMDF版本 2.0
標頭 wdfdevice.h (包含 Wdf.h)
程式庫 Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL APC_LEVEL

另請參閱

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAllocAndQueryProperty