次の方法で共有


WdfDeviceGetIoTarget 関数 (wdfdevice.h)

[KMDF と UMDF に適用]

WdfDeviceGetIoTarget メソッドは、指定されたデバイスの関数またはフィルター ドライバーの ローカル I/O ターゲットへのハンドルを返します。

構文

WDFIOTARGET WdfDeviceGetIoTarget(
  [in] WDFDEVICE Device
);

パラメーター

[in] Device

フレームワーク デバイス オブジェクトへのハンドル。

戻り値

操作が成功すると、WdfDeviceGetIoTarget フレームワーク I/O ターゲット オブジェクトへのハンドルが返されます。 指定したフレームワーク デバイス オブジェクトが PDO を表す場合、メソッドは NULLを返します。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

備考

UMDF ドライバーがドライバーによって作成された要求をローカル I/O ターゲットに送信する場合、要求には関連付けられているファイル オブジェクトがありません。 HIDClass 列挙生 PDO などの一部の低いターゲットでは、ファイル オブジェクトが関連付けられていない要求が失敗します。 この状況では、UMDF ドライバーは WdfIoTargetOpenLocalTargetByFile を指定して、ファイル ハンドルを使用して (ローカル ターゲットと同様に) 下位スタックを表す I/O ターゲットを作成できます。 その結果、この I/O ターゲットに送信されたドライバーによって作成されたすべての要求は、開かれたハンドルに対応するファイル オブジェクトに関連付けられます。

これを行うには、WdfIoTargetOpen 呼び出す前に、WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE 関数を呼び出します。

I/O ターゲットの詳細については、「I/O ターゲットの使用」を参照してください。

次のコード例では、指定したデバイスのローカル I/O ターゲットへのハンドルを取得します。

WDFIOTARGET  ioTargetHandle;

ioTargetHandle = WdfDeviceGetIoTarget(device);

必要条件

要件 価値
ターゲット プラットフォーム 万国
最小 KMDF バージョン 1.0
UMDF の最小バージョン する 2.0
ヘッダー wdfdevice.h (Wdf.h を含む)
ライブラリ Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)