Important:
This is retired content. 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 content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This method allocates a block of memory.

Syntax

void* Alloc(
  ULONG 
cb 
);

Parameters

cb

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

Return Value

If successful, IMalloc::Allocreturns a pointer to the allocated memory block.

If insufficient memory is available, IMalloc::Allocreturns NULL.

Remarks

The IMalloc::Allocmethod allocates a memory block in essentially the same way that the C Library mallocfunction 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 cbbytes because of the space required for alignment and for maintenance information.

If cbis zero, IMalloc::Allocallocates a zero-length item and returns a valid pointer to that item. If there is insufficient memory available, IMalloc::Allocreturns 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.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also