---
name: "MAPIAllocateMore"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/MAPIAllocateMore"
---

# MAPIAllocateMore(3w)

## NAME

**MAPIAllocateMore** (MAPI32.14)

## SYNOPSIS

SCODE MAPIAllocateMore\
  (\
   ULONG   *cbSize*,\
   LPVOID  *lpOrig*,\
   LPVOID\* *lppBuffer*\
  )

## DESCRIPTION

MAPIAllocateMore@12 (**MAPI32**.**15**).

Allocate a block of memory linked to a previous allocation.

## PARAMS

*cbSize* **\[In\]**  Size of the block to allocate in bytes.

*lpOrig* **\[In\]**  Initial allocation to link to, from **[MAPIAllocateBuffer(3w)](/MAPIAllocateBuffer/3w.md)**.

*lppBuffer* **\[Out\]**  Destination for pointer to allocated memory.

## RETURNS

**Success:** **S\_OK**. \**lppBuffer* is filled with a pointer to a memory block of length *cbSize* bytes.

**Failure:** **MAPI\_E\_INVALID\_PARAMETER**, if *lpOrig* or *lppBuffer* is invalid. **MAPI\_E\_NOT\_ENOUGH\_MEMORY**, if memory allocation fails.

## NOTES

Memory allocated with this function and stored in \**lppBuffer* is freed when *lpOrig* is passed to **[MAPIFreeBuffer(3w)](/MAPIFreeBuffer/3w.md)**. It should not be freed independently.

## IMPLEMENTATION

Declared in **"util.h"**.

Implemented in **"dlls/mapi32/util.c"**.

Debug channel **"mapi"**.
