Allocates a block of task memory in the same way that IMalloc::Alloc does.
LPVOID CoTaskMemAlloc( __in SIZE_T cb );
The size of the memory block to be allocated, in bytes.
If the function succeeds, it returns the allocated memory block. Otherwise, it returns NULL.
CoTaskMemAlloc uses the default allocator to allocate a memory block in the same way that IMalloc::Alloc does. It is not necessary to call the CoGetMalloc 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 0, CoTaskMemAlloc allocates a zero-length item and returns a valid pointer to that item. If there is insufficient memory available, CoTaskMemAlloc returns NULL. Applications should always check the return value from this function, even when requesting small amounts of memory, because there is no guarantee that the memory will be allocated.
Send comments about this topic to Microsoft
Build date: 10/22/2009
<DllImport("ole32.dll")> Public Shared Function CoTaskMemAlloc(ByVal cb As Integer) As IntPtr End Function
[DllImport("ole32.dll")] internal static extern IntPtr CoTaskMemAlloc(int cb);