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