次の方法で共有


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
Header wdfdevice.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)