Allocates memory from extended memory above 4 GB.
#include <esm.h> int ESMAlloc ( size64_t size, unsigned long options, addr64_t *esmAddress);
(IN) Specifies, in bytes, the size of the memory block. The size is rounded up to the next multiple of 4 MB (4194304).
(IN) Not currently used.
(OUT) Points to the 64-bit extended address for the allocated memory.
If successful, returns 0. Otherwise, returns a nonzero error code.
For other possible values, see Section 30.3, Return Values for ESM Functions.
Extended server memory is handled in 4 MB blocks for efficiency. Memory allocated with this interface is not virtual memory and will not be swapped to disk storage.
All memory allocated must be returned to the system when your NLM exits or the resources are lost.