# IMalloc::Alloc

Allocates a block of memory.

void * Alloc(

ULONG cb | //Size of the requested memory block in bytes
); |

Parameter

cb
  [in] Size , in bytes, of the memory block to be allocated.

Return Values

If successful, Alloc returns a pointer to the allocated memory block.

NULL
  If insufficient memory is available, Alloc returns NULL.

Remarks

The IMalloc::Alloc method allocates a memory block in essentially the same way that the C Library malloc function does.

The initial contents of the returned memory block are undefined there is no guarantee that the block has been initialized, so you should initialize it in your code. The allocated block may be larger than cb bytes because of the space required for alignment and for maintenance information.

If cb is zero, IMalloc::Alloc allocates a zero-length item and returns a valid pointer to that item. If there is insufficient memory available, IMalloc::Alloc returns NULL.

Note Applications should always check the return value from this method, even when requesting small amounts of memory, because there is no guarantee the memory will be allocated.

See Also

IMalloc::Free, IMalloc::Realloc, CoTaskMemAlloc