31.3.8 Testing the Driver Diagnostics Protocols

The DrvDiag UEFI Shell command provides the ability to test all the services of the two Driver Diagnostics Protocols that may be produced by a UEFI driver. This command is able to show the devices that are being managed by UEFI drivers that support the Driver Diagnostics Protocols. The Devices and Drivers commands show the drivers that support the Driver Diagnostics Protocols and the devices that those drivers are managing or have produced. Once a device has been chosen, the DrvDiag command can be used to invoke the RunDiagnostics() service of the Driver Diagnostics Protocols. The code below shows the following examples of the DrvDiag command:

  • Example 1: Displays all the devices that are being managed by UEFI drivers that support the Driver Diagnostics Protocols.

    fs0:> DrvDiag

  • Example 2: Invokes the RunDiagnostics() service of the Driver Diagnostics Protocols in standard mode for the driver on handle 15 and the device on handle 19.

    fs0:> DrvDiag -s 15 19

  • Example 3: Invokes the RunDiagnostics() service of the Driver Diagnostics Protocols in manufacturing mode for the driver on handle 15 and the device on handle 19.

    fs0:> DrvDiag -m 15 19