CWin32Heap::CWin32Heap
Konstruktor.
CWin32Heap( ) throw( );
CWin32Heap(
HANDLE hHeap
) throw( );
CWin32Heap(
DWORD dwFlags,
size_t nInitialSize,
size_t nMaxSize = 0
);
Parametry
hHeap
Istniejący obiekt sterty.dwFlags
Flagi używane do tworzenia sterty.nInitialSize
Początkowy rozmiar sterty.nMaxSize
Maksymalny rozmiar sterty.
Uwagi
Przed przydzieleniem pamięci należy dostarczyć obiekt CWin32Heap z prawidłowym uchwytem sterty.Najprościej to osiągnąć przy użyciu sterty procesu:
CWin32Heap MyHeap(GetProcessHeap());
Użytkownik może również dostarczyć istniejący uchwyt sterty do konstruktora, w którym to przypadku nowy obiekt nie przejmuje sterty na własność.Oryginalny uchwyt sterty nadal będzie ważny, gdy obiekt CWin32Heap zostanie usunięty.
Istniejącą stertę można również dołączyć do nowego obiektu przy użyciu CWin32Heap::Attach.
Jeśli sterta jest wymagana tam, gdzie wszystkie operacje są wykonywane z jednego wątku, najlepszym sposobem jest utworzenie obiektu w następujący sposób:
CWin32Heap MyHeap(HEAP_NO_SERIALIZE, SomeInitialSize);
Parametr HEAP_NO_SERIALIZE określa, że wzajemne wykluczenie nie będzie używane, gdy funkcje sterty przydzielają i zwalniają pamięć, z adekwatnym wzrostem wydajności.
Domyślne ustawienie trzeciego parametru to 0, dzięki czemu sterta może się rozrastać zgodnie z potrzebami.Zobacz HeapCreate, aby uzyskać objaśnienia na temat rozmiarów pamięci i flag.
Wymagania
Nagłówek: atlmem.h