UMDF オブジェクトの表示
UMDF オブジェクトに関する情報を表示するには、次の手順を実行します。
次のいずれかの UMDF デバッガー拡張機能を使用して、ホスト プロセスのデバイス スタックを表示します。
!wudfext.umdevstacks
!wudfext.umdevstack の例を以下に示します。
!wudfext.umdevstack <dev-stack-addr>
この情報には、ドライバー オブジェクトと各ドライバーのデバイス オブジェクトが含まれています。現在、UMDF で 1 つのホスト プロセスに格納できるデバイス スタックは 1 つだけなので、この 2 つの拡張機能の出力に違いはありません。
次の例に示すように、!wudfext.wudfobject UMDF デバッガー拡張機能を使用して、完全なオブジェクト ツリーを表示します。
!wudfext.wudfobject <IWDFDriver*> 1
次の例に示すように、!wudfext.wudfdevice UMDF デバッガー拡張機能を使用して、デバイスのプラグ アンド プレイ (PnP) と電源管理の状態を確認します。
!wudfext.wudfdevice <IWDFDevice*>
次の手順を実行して、デバイスに関連付けられているキューを特定します。
!wudfext.wudfdevicequeues UMDF デバッガー拡張機能を使用して、デバイスに関連付けられているキューを表示します。この拡張機能は、キューのプロパティ、キューの状態、およびドライバーが所有している要求を表示します。
次の例に示すように、!wudfext.wudfqueue UMDF デバッガー拡張機能を使用して、各キューに関する情報を取得します。
!wudfext.wudfqueue <IWDFIoQueue*>
!wudfext.wudfrequest UMDF デバッガー拡張機能を使用して、特定の要求に関する情報を取得します。この情報には、基になるユーザー モード I/O 要求パケット (IRP) が含まれます。ユーザー モード IRP の情報から、要求が現在スタックのどこで処理されているかを特定できます。さらに、!wudfext.umirp UMDF デバッガー拡張機能を使用して、そのユーザー モード IRP の情報を取得することもできます。
次の手順を実行して、すべての I/O ターゲットを特定します。
!wudfext.wudfobject UMDF デバッガー拡張機能を使用して、デバイス オブジェクトの子オブジェクトを表示します。I/O ターゲット オブジェクトは、デバイス オブジェクトの子オブジェクトです。
次の例に示すように、!wudfext.wudfiotarget UMDF デバッガー拡張機能を使用して、各 I/O ターゲット オブジェクトに関する情報を表示します。
!wudfext.wudfiotarget <IWDFTarget*>
この拡張機能は、ターゲットの状態と、送信された要求の一覧を表示します。
すべての I/O ターゲットを表示できる UMDF デバッガー拡張機能は現在ありません。
次の UMDF デバッガー拡張機能を使用して、ファイル オブジェクトに関する情報を表示します。
!wudfext.wudfrequest or !wudfext.umirp
UMDF デバッガー拡張機能の !wudfext.wudfrequest または !wudfext.umirp を使用して、デバイス オブジェクトの子オブジェクトであるファイルを表示します。!wudfext.wudffile
次の例に示すように、!wudfext.wudffile UMDF デバッガー拡張機能を使用して、フレームワーク ファイルに関する情報を表示します。!wudfext.wudffile <IWDFFile*>
!wudfext.umfile
次の例に示すように、!wudfext.umfile UMDF デバッガー拡張機能を使用して、UMDF スタック内ファイル (アプリケーションまたは別のスタック内のドライバーによって作成されたファイル オブジェクトではなく、スタック内のドライバーによって作成されたファイル オブジェクト) に関する情報を表示します。!wudfext.umfile <addr>
場合によっては、対応するフレームワーク ファイルがないために、ユーザー モード IRP の情報に UMDF スタック内ファイルが含まれることがあります。
!wudfext.umfile によって表示される情報には、UMDF スタック内ファイルにキュー登録された IRP が含まれます。それらのファイルにキュー登録されたユーザー モード IRP を追跡するのは、ドライバーによって作成されたファイルだけです。アプリケーションによって作成されたファイルでは、I/O マネージャーがカーネル モード IRP を追跡します。
!wudfext.umdevstacks and !wudfext.umdevstack
UMDF デバッガー拡張機能の !wudfext.umdevstacks および !wudfext.umdevstack の出力を使用して、ドライバーによって作成されたファイルに対応する未処理の UMDF スタック内ファイルを表示します。