Поделиться через


Функция CoTaskMemAlloc (combaseapi.h)

Выделяет блок памяти задачи так же, как IMalloc::Alloc .

Синтаксис

LPVOID CoTaskMemAlloc(
  [in] SIZE_T cb
);

Параметры

[in] cb

Размер выделенного блока памяти в байтах.

Возвращаемое значение

Если функция выполняется успешно, она возвращает выделенный блок памяти. В противном случае возвращается значение NULL.

Комментарии

CoTaskMemAlloc использует распределителе по умолчанию для выделения блока памяти так же, как iMalloc::Alloc . Нет необходимости вызывать функцию CoGetMalloc перед вызовом CoTaskMemAlloc.

Начальное содержимое возвращаемого блока памяти не определено. Нет никакой гарантии, что блок был инициализирован. Выделенный блок может быть больше кб байтов из-за пространства, необходимого для выравнивания и для сведений об обслуживании.

Если cb имеет значение 0, CoTaskMemAlloc выделяет элемент нулевой длины и возвращает допустимый указатель на этот элемент. Если доступной памяти недостаточно, Функция CoTaskMemAlloc возвращает значение NULL. Приложения всегда должны проверка возвращаемое значение из этой функции, даже при запросе небольших объемов памяти, так как нет никакой гарантии, что память будет выделена.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header combaseapi.h (включая Objbase.h)
Библиотека Ole32.lib
DLL Ole32.dll

См. также раздел

CoTaskMemFree

CoTaskMemRealloc

IMalloc::Alloc