共用方式為


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 指定互斥不會使用,在堆積函式配置和釋放記憶體時,擁有在效能上達到通訊協定的擴充。

第三個參數預設值為 0,允許堆積成長標記為必要欄位。 用以儲存容量和旗標的說明請參閱 HeapCreate

需求

Header: atlmem.h

請參閱

參考

CWin32Heap 類別

HeapCreate