#pragma once #include #include #define EFI_LOADED_IMAGE_PROTOCOL_GUID \ {0x5B1B31A1,0x9562,0x11d2, \ {0x8E,0x3F,0x00,0xA0,0xC9,0x69,0x72,0x3B}} #define EFI_LOADED_IMAGE_PROTOCOL_REVISION 0x1000 typedef struct EFI_LOADED_IMAGE_PROTOCOL EFI_LOADED_IMAGE_PROTOCOL; typedef EFI_STATUS (EFIAPI *EFI_IMAGE_ENTRY_POINT)( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable); struct EFI_LOADED_IMAGE_PROTOCOL { UINT32 Revision; EFI_HANDLE ParentHandle; EFI_SYSTEM_TABLE *SystemTable; EFI_HANDLE DeviceHandle; VOID *FilePath; VOID *Reserved; UINT32 LoadOptionsSize; VOID *LoadOptions; VOID *ImageBase; UINT64 ImageSize; EFI_MEMORY_TYPE ImageCodeType; EFI_MEMORY_TYPE ImageDataType; EFIX_UNUSED_FUNC Unload; };