11. EFI 메모리 맵 정보 얻기
EFI_BOOT_SERVICES.GetMemoryMap()
Summary:
Returns the current memory map.
Prototype:
typedef
EFI_STATUS
(EFIAPI *EFI_GET_MEMORY_MAP) (
IN OUT UINTN *MemoryMapSize,
IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
OUT UINTN *MapKey,
OUT UINTN *DescriptorSize,
OUT UINT32 *DescriptorVersion
);
Parameters:
MemoryMapSize A pointer to the size, in bytes, of the MemoryMap buffer. On input,
this is the size of the buffer allocated by the caller. On output, it is
the size of the buffer returned by the firmware if the buffer was
large enough, or the size of the buffer needed to contain the map if
the buffer was too small.
MemoryMap A pointer to the buffer in which firmware places the current memory
map. The map is an array of EFI_MEMORY_DESCRIPTORs.
MapKey A pointer to the location in which firmware returns the key for the
current memory map.
DescriptorSize A pointer to the location in which firmware returns the size, in bytes,
of an individual EFI_MEMORY_DESCRIPTOR.
DescriptorVersion A pointer to the location in which firmware returns the version
number associated with the EFI_MEMORY_DESCRIPTOR.
Status Codes Returned:
EFI_SUCCESS The memory map was returned in the MemoryMap buffer.
EFI_BUFFER_TOO_SMALL The MemoryMap buffer was too small. The current buffer size needed to
hold the memory map is returned in MemoryMapSize.
EFI_INVALID_PARAMETER MemoryMapSize is NULL.
EFI_INVALID_PARAMETER The MemoryMap buffer is not too small and MemoryMap is NULL.

Last updated