/* Entry point of the section extraction code. Initializes an instance of the section extraction interface and installs it on a new handle. */
EFI_STATUS EFIAPI InitializeSectionExtraction(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
/* Entry point of the section extraction code. Initializes an instance of the section extraction interface and installs it on a new handle. */
EFI_STATUS EFIAPI InitializeSectionExtraction(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
{
  EFI_STATUS  Status;
  EFI_GUID    *ExtractHandlerGuidTable;
  UINTN       ExtractHandlerNumber;
  ExtractHandlerNumber = ExtractGuidedSectionGetGuidList (&ExtractHandlerGuidTable);
  Status = EFI_SUCCESS;
  while (ExtractHandlerNumber-- > 0) {
    Status = CoreInstallProtocolInterface (
               &mSectionExtractionHandle,
               &ExtractHandlerGuidTable[ExtractHandlerNumber],
               EFI_NATIVE_INTERFACE,
               &mCustomGuidedSectionExtractionProtocol
               );
    ASSERT_EFI_ERROR (Status);
  }
  return Status;
}