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

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

方法可能會傳回其他 NTSTATUS值

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

備註

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

驅動程式只能在呼叫 WdfDeviceCreate 之前呼叫 WdfFdoInitAllocAndQueryPropertyEx。 如需呼叫 WdfDeviceCreate 的詳細資訊,請參閱 建立架構裝置物件

呼叫 WdfDeviceCreate 之後,驅動程式可以呼叫 WdfDeviceAllocAndQueryPropertyEx 來取得裝置屬性資訊。

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

規格需求

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

另請參閱

WdfFdoInitAllocAndQueryProperty