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