CoTaskMemAlloc 函数 (combaseapi.h)

与 IMalloc::Alloc 相同的方式分配任务内存块。

语法

LPVOID CoTaskMemAlloc(
  [in] SIZE_T cb
);

参数

[in] cb

要分配的内存块的大小(以字节为单位)。

返回值

如果该函数成功,则返回分配的内存块。 否则,它将返回 NULL

注解

CoTaskMemAlloc 使用默认分配器以 与 IMalloc::Alloc 相同的方式分配内存块。 在调用 CoTaskMemAlloc 之前,无需调用 CoGetMalloc 函数。

返回的内存块的初始内容未定义 - 无法保证该块已初始化。 由于对齐和维护信息所需的空间,分配的块可能大于 cb 字节。

如果 cb0,CoTaskMemAlloc 将分配一个零长度项,并返回指向该项的有效指针。 如果可用内存不足, CoTaskMemAlloc 将返回 NULL。 应用程序应始终检查此函数的返回值,即使在请求少量内存时也是如此,因为不能保证会分配内存。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 combaseapi.h (包括 Objbase.h)
Library Ole32.lib
DLL Ole32.dll

另请参阅

CoTaskMemFree

CoTaskMemRealloc

IMalloc::Alloc