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