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