The Driver Diagnostics Protocol and the Driver Diagnostics 2 Protocol are very similar. The only difference lies in the type of language code used to specify the language for diagnostic result messages. The Driver Diagnostic Protocol uses ISO 639-2 language codes (i.e.
fra). The Driver Diagnostics 2 Protocol uses RFC 4646 language codes (i.e.
fr). For diagnostics provided to platforms conforming to the EFI 1.10_Specification, use the Driver Diagnostics Protocol. For diagnostics provided to platforms conforming to the UEFI 2.0 Specification or above, use the Driver Diagnostics 2 Protocol. Since the only difference is the language code for the diagnostic message results, UEFI Drivers required to provide diagnostics typically produce both protocols so the two implementations can share the same diagnostic algorithms and diagnostic result messages.