CoTaskMemAlloc  3.USUAO

Allocates a block of task memory in the same way that IMalloc::Alloc1THWWZM does.

LPVOID CoTaskMemAlloc(

    ULONG cb

//Size in bytes of memory block to be allocated

   );

 

 

Parameter

cb

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

 

Return Values

Allocated memory block

Memory block allocated successfully.

NULL

Insufficient memory available.

 

Remarks

The CoTaskMemAlloc function uses the default allocator to allocate a memory block in the same way that IMalloc::Alloc1THWWZM does. It is not necessary to call the CoGetMalloc1012PPO function before calling CoTaskMemAlloc.

The initial contents of the returned memory block are undefined - there is no guarantee that the block has been initialized. The allocated block may be larger than cb bytes because of the space required for alignment and for maintenance information.

If cb is zero, CoTaskMemAlloc allocates a zero-length item and returns a valid pointer to that item. If there is insufficient memory available, CoTaskMemAlloc 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::Alloc, CoGetMalloc, CoTaskMemFree, CoTaskMemRealloc