/* This will allocate the return buffer from boot services pool. */
CHAR16* EFIAPI DriverEfiVersionProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
/* This will allocate the return buffer from boot services pool. */
CHAR16* EFIAPI DriverEfiVersionProtocolDumpInformation(IN CONST EFI_HANDLE TheHandle, IN CONST BOOLEAN Verbose)
{
  EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL  *DriverEfiVersion;
  EFI_STATUS                                 Status;
  CHAR16                                     *RetVal;
  Status = gBS->HandleProtocol (
                  TheHandle,
                  &gEfiDriverSupportedEfiVersionProtocolGuid,
                  (VOID **)&DriverEfiVersion
                  );
  ASSERT_EFI_ERROR (Status);
  RetVal = AllocateZeroPool (VersionStringSize);
  if (RetVal != NULL) {
    UnicodeSPrint (RetVal, VersionStringSize, L"0x%08x", DriverEfiVersion->FirmwareVersion);
  }
  return (RetVal);
}