DriverDiagnostics.c
.RunDiagnostics()
serviceUnload()
function.RunDiagnostics()
and a data field called SupportedLanguages
.EFI_DRIVER_DIAGNOSTICS_PROTOCOL
and EFI_DRIVER_DIAGNOSTICS2_PROTOCOL
are installed onto the driver's image handle. It is possible for a driver to produce more than one instance of the Driver Diagnostics Protocols. All additional instances of the Driver Diagnostics Protocols must be installed onto new handles.InstallMultipleProtocolInterfaces()
. However, the EDK II library UefiLib
provides a number of helper functions to install the Driver Diagnostics Protocols. The helper functions that are covered in more detail in Chapter 7 are:EfiLibInstallAllDriverProtocols()
EfiLibInstallAllDriverProtocols2()
EFI_ABORTED
. If a UEFI Driver implements the Unload()
feature, any Driver Diagnostics Protocol instances installed in the driver entry point must be uninstalled in the Unload()
function.