Динамическое распределение памяти в MS Windows. Габрельян Б.В. - 16 стр.

UptoLike

Составители: 

Функция GetProcessHeap возвращает дескриптор стандартной кучи процесса. Этот
дескриптор может использоваться, затем, при вызовах функций HeapAlloc,
HeapReAlloc, HeapFree, и HeapSize.
HANDLE GetProcessHeap(VOID)
Возвращаемые значения:
В случае успеха возвращает дескриптор стандартной кучи процесса, иначе NULL.
Замечание:
Полученный дескриптор нельзя использовать при вызове HeapDestroy.
GetProcessHeaps
Функция GetProcessHeaps возвращает дескрипторы всех доступных процессу куч.
DWORD GetProcessHeaps(
DWORD NumberOfHeaps, // максимальное число дескрипторов в буфере
PHANDLE ProcessHeaps // указатель на буфер с полученными дескрипторами
);
Параметры:
NumberOfHeaps - максимальное количество дескрипторов куч, которое может быть
сохранено в буфере, адресуемом параметром ProcessHeaps.
ProcessHeaps - указатель на буфер для дескрипторов куч.
Возвращаемые значения:
Возвращаемое значение -
число доступных процессу куч. Если это значение
меньше или равно значению параметра NumberOfHeaps, оно совпадает с числом
дескрипторов, помещенных в буфер, адресуемый ProcessHeaps. Если возвращаемое
значение больше NumberOfHeaps, т.е. размер буфера недостаточен для хранения
всех дескрипторов, то ни один дескриптор не сохраняется в буфере. В случае
ошибки возвращается 0, т.к
. любой процесс имеет как минимум одну, стандартную
кучу.
Замечание:
Не поддерживается в Win9x.
13. HeapCreate
Функция HeapCreate резервирут диапазон адресов в виртуальном адресном
пространстве процесса и распределяет (захватывает) блок указанного начального
размера.
HANDLE HeapCreate(
DWORD flOptions, // флаги распределения
DWORD dwInitialSize, // начальный размер блока
DWORD dwMaximumSize // максимальный размер кучи
);
Параметры:
flOptions - возможные атрибуты новой кучи:
Флаг Значение
HEAP_GENERATE_EXCEPTIONS
При возникновении ошибки, например, нехватке
памяти, будет генерироваться исключение. Без
этого флага функция, в случае ошибки,
Функция GetProcessHeap возвращает дескриптор стандартной кучи процесса. Этот
дескриптор может использоваться, затем, при вызовах функций HeapAlloc,
HeapReAlloc, HeapFree, и HeapSize.
HANDLE GetProcessHeap(VOID)

Возвращаемые значения:
В случае успеха возвращает дескриптор стандартной кучи процесса, иначе NULL.
Замечание:
Полученный дескриптор нельзя использовать при вызове HeapDestroy.

GetProcessHeaps
Функция GetProcessHeaps возвращает дескрипторы всех доступных процессу куч.
DWORD GetProcessHeaps(
 DWORD NumberOfHeaps, // максимальное число дескрипторов в буфере
 PHANDLE ProcessHeaps // указатель на буфер с полученными дескрипторами
);
Параметры:
NumberOfHeaps - максимальное количество дескрипторов куч, которое может быть
сохранено в буфере, адресуемом параметром ProcessHeaps.
ProcessHeaps - указатель на буфер для дескрипторов куч.
Возвращаемые значения:
Возвращаемое значение - число доступных процессу куч. Если это значение
меньше или равно значению параметра NumberOfHeaps, оно совпадает с числом
дескрипторов, помещенных в буфер, адресуемый ProcessHeaps. Если возвращаемое
значение больше NumberOfHeaps, т.е. размер буфера недостаточен для хранения
всех дескрипторов, то ни один дескриптор не сохраняется в буфере. В случае
ошибки возвращается 0, т.к. любой процесс имеет как минимум одну, стандартную
кучу.
Замечание:
Не поддерживается в Win9x.

13. HeapCreate
Функция HeapCreate резервирут диапазон адресов в виртуальном адресном
пространстве процесса и распределяет (захватывает) блок указанного начального
размера.
HANDLE HeapCreate(
  DWORD flOptions, // флаги распределения
  DWORD dwInitialSize, // начальный размер блока
  DWORD dwMaximumSize // максимальный размер кучи
);
Параметры:
flOptions - возможные атрибуты новой кучи:
                Флаг                                 Значение
                                   При возникновении ошибки, например, нехватке
HEAP_GENERATE_EXCEPTIONS памяти, будет генерироваться исключение. Без
                                   этого флага функция, в случае ошибки,