The !drvobj extension displays detailed information about a DRIVER_OBJECT.
!drvobj DriverObject [Flags]
Specifies the driver object. This can be the hexadecimal address of the DRIVER_OBJECT structure or the name of the driver.
Can be any combination of the following bits. (The default is 0x01.)
Bit 0 (0x1)
Causes the display to include device objects owned by the driver.
Bit 1 (0x2)
Causes the display to include entry points for the driver's dispatch routines.
Bit 2 (0x4)
Lists with detailed information the device objects owned by the driver (requires bit 0 (0x1)).
Windows XP and later
See Plug and Play Debugging for examples and applications of this extension command. For information about driver objects, see the Windows Driver Kit (WDK) documentation and Microsoft Windows Internals by Mark Russinovich and David Solomon.
If DriverObject specifies the name of the device but supplies no prefix, the prefix "\Driver\" is assumed. Note that this command will check to see if DriverObject is a valid address or device name before using the expression evaluator.
If DriverObject is an address, it must be the address of the DRIVER_OBJECT structure. This can be obtained by examining the arguments passed to the driver's DriverEntry routine.
This extension command will display a list of all device objects created by a specified driver. It will also display all fast I/O routines registered with this driver object.
The following is an example for the Symbios Logic 810 SCSI miniport driver:
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
You can also use !devobj 809d50d0 to get information about the device object.