Шаг 120 - HeapCreate и HeapDestroy

Эти две функции позволяют создавать и разрушать частную кучу. Смотрим функцию создания кучи.

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;
}

Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 30.06.2001