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。
需求
**標頭:**atlmem.h