Поделиться через


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