次の方法で共有


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

必要条件

**ヘッダー:**atlmem.h

参照

参照

CWin32Heap クラス

HeapCreate

その他の技術情報

CWin32Heap のメンバー