次の方法で共有


CoTaskMemAlloc 関数 (combaseapi.h)

IMalloc::Alloc と同じ方法でタスク メモリのブロックを割り当てます。

構文

LPVOID CoTaskMemAlloc(
  [in] SIZE_T cb
);

パラメーター

[in] cb

割り当てるメモリ ブロックのサイズ (バイト単位)。

戻り値

関数が成功すると、割り当てられたメモリ ブロックが返されます。 それ以外の場合は NULL 返します。

注釈

CoTaskMemAlloc では、 IMalloc::Alloc と同じ方法で既定のアロケーターを使用してメモリ ブロックを割り当てます。 CoTaskMemAlloc を呼び出す前に、CoGetMalloc 関数を呼び出す必要はありません。

返されるメモリ ブロックの初期内容は未定義です。ブロックが初期化されている保証はありません。 アラインメントとメンテナンス情報に必要な領域が原因で、割り当てられたブロックが cb バイトを超える場合があります。

cb が 0 の場合、CoTaskMemAlloc は長さ 0 の項目を割り当て、その項目への有効なポインターを返します。 使用可能なメモリが不足している場合、 CoTaskMemAllocNULL を返します。 メモリが割り当てられる保証がないため、少量のメモリを要求する場合でも、アプリケーションは常にこの関数からの戻り値をチェックする必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー combaseapi.h (Objbase.h を含む)
Library Ole32.lib
[DLL] Ole32.dll

こちらもご覧ください

CoTaskMemFree

CoTaskMemRealloc

IMalloc::Alloc