次の方法で共有


CWin32Heap::CWin32Heap

更新 : 2007 年 11 月

コンストラクタです。

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 の説明を参照してください。

必要条件

ヘッダー : atlmem.h

参照

参照

CWin32Heap クラス

HeapCreate

その他の技術情報

CWin32Heap のメンバ