次の方法で共有


CWin32Heap::CWin32Heap

コンストラクターです。

CWin32Heap( ) throw( ); 
CWin32Heap(
   HANDLE hHeap 
) throw( );
CWin32Heap(
   DWORD dwFlags,
   size_t nInitialSize,
   size_t nMaxSize = 0 
);

パラメーター

  • hHeap
    既存のヒープのオブジェクト。

  • dwFlags
    ヒープの作成に使用するフラグ。

  • nInitialSize
    ヒープの初期サイズ。

  • nMaxSize
    ヒープの最大サイズ。

解説

メモリを割り当てる前に、有効なヒープのハンドルを CWin32Heap のオブジェクトに付ける必要があります。これを実現する最も簡単な方法は、プロセス ヒープを使用することです:

CWin32Heap MyHeap(GetProcessHeap());   

新しいオブジェクトはヒープの所有権を引き継がなければコンストラクターに既存のヒープのハンドルを指定することもできます。元のヒープのハンドルは、CWin32Heap オブジェクトが削除されたときに有効です。

既存のヒープは、CWin32Heap::Attachを使用して新しいオブジェクトにアタッチできます。

操作がすべて単一のスレッドから発生したヒープが必要な場合は、最良の方法は、次のようにオブジェクトを作成することです:

CWin32Heap MyHeap(HEAP_NO_SERIALIZE, SomeInitialSize);   

ヒープ関数がメモリの割り当ておよび解放を行うときに、相互排他がパフォーマンスの向上と使用しないことを HEAP_NO_SERIALIZE パラメーターを指定します。

3 番目のパラメーターは、ヒープを必須にすぎないようにする 0 になります。メモリ サイズ フラグとフラグの詳細については、HeapCreate を参照してください。

必要条件

Header: atlmem.h

参照

関連項目

CWin32Heap クラス

HeapCreate