次の方法で共有


WdfIoTargetWdmGetTargetPhysicalDevice 関数 (wdfiotarget.h)

[KMDF にのみ適用]

WdfIoTargetWdmGetTargetPhysicalDevice メソッドは、リモート I/O ターゲットのデバイスを表す Windows ドライバー モデル (WDM) 物理デバイス オブジェクト (PDO) へのポインターを返します。

構文

PDEVICE_OBJECT WdfIoTargetWdmGetTargetPhysicalDevice(
  [in] WDFIOTARGET IoTarget
);

パラメーター

[in] IoTarget

リモート I/O ターゲット オブジェクトへのハンドル。 このハンドルは、 WdfIoTargetCreate の以前の呼び出しから取得されました。

戻り値

I/O ターゲットが PnP デバイスを表す場合、 WdfIoTargetWdmGetTargetPhysicalDevice は、リモート I/O ターゲットの PDO を表す DEVICE_OBJECT 構造体へのポインターを返します。 それ以外の場合、メソッドは NULL を返します。

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

注釈

WdfIoTargetWdmGetTargetPhysicalDevice メソッドが返すポインターは、ドライバーが WdfIoTargetClose または WdfIoTargetCloseForQueryRemove を呼び出すか、リモート I/O ターゲット オブジェクトが削除されるまで有効です。 ドライバーがリモート I/O ターゲット オブジェクトの EvtCleanupCallback 関数を提供し、リモート I/O ターゲットを閉じる前にオブジェクトが削除された場合、 ポインターは EvtCleanupCallback 関数が返されるまで有効です。

ドライバーが削除された後、WDM デバイス オブジェクトにアクセスしようとすると、ドライバーは、システムがクラッシュする可能性があります。 toastmon サンプルでは、ドライバーが EvtIoTargetQueryRemove コールバック関数を提供して、I/O ターゲットが削除された場合に通知されるようにする方法を示します。

WdfIoTargetWdmGetTargetPhysicalDevice の詳細については、「一般的な I/O ターゲットに関する情報の取得」を参照してください。

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

次のコード例では、リモート I/O ターゲットのデバイスの PDO を表すDEVICE_OBJECT構造体へのポインターを取得します。

PDEVICE_OBJECT  pTargetDO;

pTargetDO = WdfIoTargetWdmGetTargetPhysicalDevice(IoTarget);

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
Header wdfiotarget.h (Wdf.h を含む)
Library Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)

こちらもご覧ください

DEVICE_OBJECT

WdfIoTargetCreate