!drvobj

!drvobj 拡張子は、DRIVER_OBJECT に関する詳細情報を表示します。

!drvobj DriverObject [Flags] 

パラメーター

DriverObject
ドライバーオブジェクトを指定します。 これは、DRIVER_OBJECT 構造体の 16 進アドレスまたはドライバーの名前です。

Flags
次のビットを任意に組み合わせて使用できます。 (デフォルトは0x01です。)

ビット0 (0x1)
ドライバーが所有するデバイス オブジェクトを表示に含めます。

ビット 1 (0x2)
ドライバーのディスパッチ ルーチンのエントリ ポイントを表示に含めます。

ビット 2 (0x4)
ドライバーが所有するデバイス オブジェクトの詳細情報を一覧表示します (ビット 0 (0x1) が必要)。

DLL

Kdexts.dll

追加情報

この拡張コマンドの例と応用については、プラグ アンド プレイのデバッグを参照してください。 ドライバー オブジェクトの詳細については、Windows Driver Kit (WDK) のドキュメントと、Mark Russinovich および David Solomon による Microsoft Windows Internals を参照してください。

解説

DriverObject でデバイスの名前を指定してもプレフィックスを指定しない場合は、プレフィックス "\Driver\" が想定されます。 このコマンドは、式エバリュエーターを使用する前に、DriverObject が有効なアドレスまたはデバイス名であるかどうかを確認することに注意してください。

DriverObject がアドレスの場合、それは DRIVER_OBJECT 構造体のアドレスである必要があります。 これは、ドライバーの DriverEntry ルーチンに渡される引数を調べることで取得できます。

この拡張コマンドは、指定されたドライバーによって作成されたすべてのデバイス オブジェクトのリストを表示します。 また、このドライバー オブジェクトに登録されているすべての高速 I/O ルーチンも表示されます。

以下は、Symbios Logic 810 SCSI ミニポート ドライバーの例です。

kd> bp DriverEntry          //  breakpoint at DriverEntry

kd> g
symc810!DriverEntry+0x40:    
80006a20: b07e0050 stl     t2,50(sp)

kd> r a0  //address of DevObj (the first parameter)
a0=809d5550

kd> !drvobj 809d5550   //  display the driver object
Driver object is for:
\Driver\symc810
Device Object list:
809d50d0

!devobj 809d50d0 を使用して、デバイス オブジェクトに関する情報を取得することもできます。