/* This is an internal worker function to get driver name from Component Name (2) protocol interface. */
EFI_STATUS DriverHealthManagerGetDriverNameWorker(IN EFI_GUID *ProtocolGuid, IN EFI_HANDLE DriverBindingHandle, OUT CHAR16 **DriverName)
/* This is an internal worker function to get driver name from Component Name (2) protocol interface. */
EFI_STATUS DriverHealthManagerGetDriverNameWorker(IN EFI_GUID *ProtocolGuid, IN EFI_HANDLE DriverBindingHandle, OUT CHAR16 **DriverName)
{
  EFI_STATUS                   Status;
  CHAR8                        *BestLanguage;
  EFI_COMPONENT_NAME_PROTOCOL  *ComponentName;
  Status = DriverHealthManagerGetComponentNameWorker (
             ProtocolGuid,
             DriverBindingHandle,
             &ComponentName,
             &BestLanguage
             );
  if (EFI_ERROR (Status)) {
    return Status;
  }
  Status = ComponentName->GetDriverName (
                            ComponentName,
                            BestLanguage,
                            DriverName
                            );
  FreePool (BestLanguage);
  return Status;
}