OLE メモリ アロケーター
COM ライブラリは、スレッド セーフなメモリ アロケーターの実装を提供します。 (つまり、マルチスレッドの状況では問題を引き起こすことはできません)。割り当てられたメモリ チャンクの所有権が COM インターフェイスを介して、またはクライアントと COM ライブラリの間で渡されるたびに、この COM アロケーターを使用してメモリを割り当てる必要があります。 オブジェクトの内部割り当てでは、必要な任意の割り当てスキームを使用できますが、COM メモリ アロケーターは便利で効率的でスレッド セーフなアロケーターです。
API 関数 CoGetMalloc の呼び出しは、 IMalloc インターフェイスの実装である OLE アロケーターへのポインターを提供します。 ただし、ヘルパー関数 CoTaskMemAlloc、 CoTaskMemRealloc、および CoTaskMemFree を呼び出す方が効率的です。 これらは、タスク メモリ アロケータへのポインタの取得、対応する IMalloc メソッドの呼び出し、およびアロケータへのポインタの解放をラップします。
関連トピック