/* Sets ExtractHandlerGuidTable so it points at a callee allocated array of registered GUIDs. The total number of GUIDs in the array are returned. Since the array of GUIDs is callee allocated and caller must treat this array of GUIDs as read-only data. If ExtractHandlerGuidTable is NULL, then ASSERT(). */
UINTN EFIAPI ExtractGuidedSectionGetGuidList(OUT GUID **ExtractHandlerGuidTable)
/* Sets ExtractHandlerGuidTable so it points at a callee allocated array of registered GUIDs. The total number of GUIDs in the array are returned. Since the array of GUIDs is callee allocated and caller must treat this array of GUIDs as read-only data. If ExtractHandlerGuidTable is NULL, then ASSERT(). */
UINTN EFIAPI ExtractGuidedSectionGetGuidList(OUT GUID **ExtractHandlerGuidTable)
{
  EFI_STATUS                               Status;
  PEI_EXTRACT_GUIDED_SECTION_HANDLER_INFO  *HandlerInfo;
  ASSERT (ExtractHandlerGuidTable != NULL);
  Status = PeiGetExtractGuidedSectionHandlerInfo (&HandlerInfo);
  if (EFI_ERROR (Status)) {
    *ExtractHandlerGuidTable = NULL;
    return 0;
  }
  ASSERT (HandlerInfo != NULL);
  *ExtractHandlerGuidTable = HandlerInfo->ExtractHandlerGuidTable;
  return HandlerInfo->NumberOfExtractHandler;
}