Summary of Debugger Extensions in Wudfext.dll
Warning
UMDF 2 is the latest version of UMDF and supersedes UMDF 1. All new UMDF drivers should be written using UMDF 2. No new features are being added to UMDF 1 and there is limited support for UMDF 1 on newer versions of Windows 10. Universal Windows drivers must use UMDF 2.
The archived UMDF 1 samples can be found in the Windows 11, version 22H2 - May 2022 Driver Samples Update.
For more info, see Getting Started with UMDF.
The Windows Driver Kit (WDK) includes a debugger extension library, named WudfExt.dll, which is located in the %DDKROOT%\bin subdirectory. This topic describes the debugger extension commands in WudfExt.dll, which you can use to debug User-Mode Driver Framework (UMDF) version 1.x drivers.
To debug UMDF drivers starting in UMDF version 2.0, you must instead use the Wdfkd.dll debugger extension library. For more info, see Windows Driver Framework Extensions (Wdfkd.dll).
For a complete description of each command in WudfExt.dll, see User-Mode Driver Framework Extensions (Wudfext.dll). For more information about all available debugger extension libraries, see the documentation that is supplied with the Windows Debugging package.
To load the WudfExt.dll debugger extension library, enter the following command at the debugger's command prompt:
!load WudfExt.dll
The following table summarizes the extension commands that the WudfExt.dll extension library provides.
Extension | Description |
---|---|
!help |
Shows all debugger extensions that WudfExt.dll supports |
!umdevstacks |
Shows all the device stacks in the host process |
!umdevstack |
Shows information about a device stack in the host process |
!umirps |
Shows the list of pending I/O request packets in the host process |
!umirp |
Shows information about a user-mode I/O request packet |
!wudfdriverinfo |
Shows information about a UMDF driver |
!wudfdevicequeues |
Shows all the I/O queues for a device |
!wudfqueue |
Shows information about an I/O queue |
!wudfrequest |
Shows information about an I/O request |
!wudfobject |
Shows information about a WDF object as well as its parent and child relationships |
!wudfdevice |
Shows Plug and Play (PnP) and power-management state systems for a device |
!wudfdumpobjects |
Shows the list of outstanding WDF objects; used to determine any leaked objects when the driver unloads |
!wudfiotarget |
Shows information about an I/O target, including its state and list of sent requests |
!wudffile |
Shows information about a framework file |
!umfile |
Shows information about a UMDF intra-stack file |
!wudffilehandletarget |
Shows information about a file-handle-based I/O target |
!wudfusbtarget |
Shows information about a USB I/O target |
!wudfusbinterface |
Shows information about a USB interface object |
!wudfusbpipe |
Shows information about a USB pipe object |
!wudfrefhist |
Shows reference count history for a framework object |