/* Create an initial SMBIOS Table from an array of SMBIOS_TEMPLATE_ENTRY entries. SMBIOS_TEMPLATE_ENTRY.NULL indicates the end of the table. */
EFI_STATUS EFIAPI SmbiosLibInitializeFromTemplate(IN SMBIOS_TEMPLATE_ENTRY *Template)
/* Create an initial SMBIOS Table from an array of SMBIOS_TEMPLATE_ENTRY entries. SMBIOS_TEMPLATE_ENTRY.NULL indicates the end of the table. */
EFI_STATUS EFIAPI SmbiosLibInitializeFromTemplate(IN SMBIOS_TEMPLATE_ENTRY *Template)
{
  EFI_STATUS  Status;
  UINTN       Index;
  if (Template == NULL) {
    return EFI_INVALID_PARAMETER;
  }
  Status = EFI_SUCCESS;
  for (Index = 0; Template[Index].Entry != NULL; Index++) {
    Status = SmbiosLibCreateEntry (Template[Index].Entry, Template[Index].StringArray);
  }
  return Status;
}