共用方式為


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

請參閱

其他資源

HeapCreate