共用方式為


WdfIoTargetAllocAndQueryTargetProperty 函式 (wdfiotarget.h)

[僅適用於 KMDF]

WdfIoTargetAllocAndQueryTargetProperty 方法會配置緩衝區,並擷取指定 I/O 目標的指定裝置屬性。

語法

NTSTATUS WdfIoTargetAllocAndQueryTargetProperty(
  [in]           WDFIOTARGET              IoTarget,
  [in]           DEVICE_REGISTRY_PROPERTY DeviceProperty,
  [in]           POOL_TYPE                PoolType,
  [in, optional] PWDF_OBJECT_ATTRIBUTES   PropertyMemoryAttributes,
  [out]          WDFMEMORY                *PropertyMemory
);

參數

[in] IoTarget

從先前呼叫 WdfDeviceGetIoTarget WdfIoTargetCreate 或從特殊 I/O 目標提供的方法取得的本機或遠端 I/O 目標物件的句柄。

[in] DeviceProperty

識別要擷取之裝置屬性的 DEVICE_REGISTRY_PROPERTY型別值。

[in] PoolType

POOL_TYPE型別值,指定要配置的記憶體類型。

[in, optional] PropertyMemoryAttributes

呼叫端配置的 WDF_OBJECT_ATTRIBUTES 結構的指標,描述函式將配置之內存物件的物件屬性。 這個參數是選擇性的,而且可以WDF_NO_OBJECT_ATTRIBUTES。

[out] PropertyMemory

接收架構記憶體物件句柄之 WDFMEMORY 型別位置的指標。

返回值

如果作業成功,WdfIoTargetAllocAndQueryTargetProperty 會傳回STATUS_SUCCESS。 否則,此方法可能會傳回下列其中一個值:

回傳碼 說明
STATUS_INVALID_PARAMETER 或STATUS_INVALID_PARAMETER_2
指定 DeviceProperty 參數的值無效。
STATUS_INVALID_DEVICE_REQUEST
裝置的驅動程式尚未回報裝置的屬性。
 

此方法也可能 傳回其他NTSTATUS 值。

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

備註

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

如需 WdfIoTargetAllocAndQueryTargetProperty的詳細資訊,請參閱 取得一般 I/O 目標的相關信息

如需 I/O 目標的詳細資訊,請參閱使用 I/O 目標

範例

下列程式代碼範例會呼叫 WdfIoTargetAllocAndQueryTargetProperty,以取得 DevicePropertyFriendlyName 属性。 WdfIoTargetAllocAndQueryTargetProperty 傳回之後,驅動程式可以呼叫 WdfMemoryGetBuffer,以取得包含名稱字串之緩衝區的指標。

WDFMEMORY  targetName;
NTSTATUS  status;

status = WdfIoTargetAllocAndQueryTargetProperty(
                                                Target,
                                                DevicePropertyFriendlyName,
                                                NonPagedPool,
                                                WDF_NO_OBJECT_ATTRIBUTES,
                                                &targetName
                                                );

需求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
標題 wdfiotarget.h (包括 Wdf.h)
程式庫 Wdf01000.sys (請參閱架構連結庫版本控制。)
IRQL PASSIVE_LEVEL
DDI 合規性規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf)

另請參閱

DEVICE_REGISTRY_PROPERTY

POOL_TYPE

WDF_OBJECT_ATTRIBUTES

WdfDeviceAllocAndQueryProperty

WdfDeviceGetIoTarget

WdfIoTargetCreate

WdfIoTargetQueryTargetProperty

WdfMemoryGetBuffer