Services
Version 1.02 12/12/00 53
3.2.4 AllocatePool()
Summary
Allocates pool memory.
Prototype
EFI_STATUS
AllocatePool (
IN EFI_MEMORY_TYPE PoolType,
IN UINTN Size,
OUT VOID **Buffer
);
Parameters
PoolType The type of pool to allocate. The only supported types are
EfiLoaderData, EfiBootServicesData,
EfiRuntimeServicesData, EfiACPIReclaimMemory, and
EfiACPIMemoryNVS. Type EFI_MEMORY_TYPE is defined in
Section 3.2.1.
Size The number of bytes to allocate from the pool.
Buffer A pointer to a pointer to the allocated buffer if the call succeeds;
undefined otherwise.
Description
The AllocatePool() function allocates a memory region of Size bytes from memory of type
PoolType and returns the address of the allocated memory in the location referenced by Buffer.
This function allocates pages from EfiConventionalMemory as needed to grow the requested
pool type. All allocations are eight-byte aligned.
The allocated pool memory is returned to the available pool with the FreePool() function.
Status Codes Returned
EFI_SUCCESS The requested number of bytes was allocated.
EFI_OUT_OF_RESOURCES The pool requested could not be allocated.
EFI_INVALID_PARAMETER PoolType was invalid.