This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Allocates a memory buffer.

Header file:


Implemented by:


Called by:

Client applications and service providers

SCODE MAPIAllocateBuffer(
  ULONG cbSize,
  LPVOID FAR * lppBuffer


  • cbSize
    [in] Size, in bytes, of the buffer to be allocated.

  • lppBuffer
    [out] Pointer to the returned allocated buffer.

Return Value

  • S_OK
    The call succeeded and has returned the requested memory buffer.


During MAPIAllocateBuffer call processing, the calling implementation acquires a block of memory from the operating system. The memory buffer is allocated on an even-numbered byte address. On platforms where long integer access is more efficient, the operating system allocates the buffer on an address whose size in bytes is a multiple of four.

Calling the MAPIFreeBuffer function releases the memory buffer allocated by MAPIAllocateBuffer, by calling the MAPIAllocateMore function and any buffers linked to it, when the memory is no longer needed.