/* This function finds and removes the table specified by the handle. */
EFI_STATUS RemoveTableFromList(IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance, IN EFI_ACPI_TABLE_VERSION Version, IN UINTN Handle)
/* This function finds and removes the table specified by the handle. */
EFI_STATUS RemoveTableFromList(IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance, IN EFI_ACPI_TABLE_VERSION Version, IN UINTN Handle)
{
  EFI_ACPI_TABLE_LIST  *Table;
  EFI_STATUS           Status;
  Table = (EFI_ACPI_TABLE_LIST *)NULL;
  ASSERT (AcpiTableInstance);
  Status = FindTableByHandle (
             Handle,
             &AcpiTableInstance->TableList,
             &Table
             );
  if (EFI_ERROR (Status)) {
    return EFI_NOT_FOUND;
  }
  Status = DeleteTable (AcpiTableInstance, Version, Table);
  if (EFI_ERROR (Status)) {
    return EFI_ABORTED;
  }
  return EFI_SUCCESS;
}