Эти две функции позволяют создавать и разрушать частную кучу. Смотрим функцию создания кучи.
HANDLE HeapCreate ( DWORD flOptions, // атрибуты SIZE_T dwInitialSize, // начальный размер SIZE_T dwMaximumSize // конечный размер );
Атрибутов всего два:
При указании максимального размера можно указать 0 что будет говорить о том что максимальный размер будет ограничен только размером виртуальной памяти.
Результат зависит от флага либо исключение, либо NULL.
А вот функция удаления кучи.
BOOL HeapDestroy ( HANDLE hHeap // указатель на кучу );
Если выполнение удачно, то будет возвращено ненулевое значение. Смотрим пример создания и удаления кучи.
#include "stdafx.h" #include "windows.h" #include "iostream.h" void main() { HANDLE hHeap; // указатель на кучу hHeap=HeapCreate(0,0x01000,0); // создать if (hHeap!=NULL) // если создана удачно { // Разрушить и сообщить в случае ошибки if (HeapDestroy(hHeap)==0) cout << "Error delete Heap" << endl; } else cout << "Error Create Heap" << endl; }