Mm.c
#include <Library/ShellLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/HiiLib.h>
#include <Protocol/SimpleFileSystem.h>
#include <Library/BaseLib.h>
#include <Library/UefiLib.h>
#include <Guid/FileInfo.h>
#define MY_DEBUG_ON 1
#define MY_DEBUG if(EFI_ERROR(Status) && MY_DEBUG_ON)\
{\
Print(L"%d_%r\r\n",__LINE__,Status);\
return Status;\
}
typedef VOID (*AccessFileInfo) (EFI_FILE_INFO* FileInfo);
VOID ListFileInfo (EFI_FILE_INFO* FileInfo)
{
Print (L"%s\n", FileInfo->FileName);
Print (L" Size : %d\n FileSize : %d\n Physical Size : %d\n",
FileInfo->Size,
FileInfo->FileSize,
FileInfo->PhysicalSize);
}
EFI_STATUS ListDirectory (EFI_FILE_PROTOCOL* Directory, AccessFileInfo callback)
{
UINTN ReadSize = 0;
EFI_STATUS Status = EFI_SUCCESS;
EFI