214 Глава 9

с gmemMoveable.

gmem Lower

Этот флаг игнорируется.

gmem Moveable

Опреде.1яет перемещаемый блок.

gmemNoCompact

Этот блок не выгружается и не участвует в реструктуризации памяти

выполняемой функцией GlobalCompact.

gmem NoDiscard

Определяет невыгружаемый блок.

gmem Notify

Требует оповещения программы при выгрузке блока на диск.

gmem Share

Определяет блок, который будет использоваться несколькими про —

граммами.

gmem Zerolnit

Этот блок при распределении в памяти заполняется нулями.

gPTR

Комбинация флагов gmeniFixed и gmemZeroInit


Функция GlobalAllocPtr . Заголовок:

Function GlobalAllocPtr(Flags: Word; Bytes: Longint): Pointer;

Резервирует блок памяти и возвращает указатель на него. Эквивалент вызовов GlobalAlloc и ClobalLock.

функция GlobalCompact. Заголовок:

Function GlobalCompact(MinFree: Longint): Longint;

Реструктурирует память так, чтобы обеспечить не менее MinFree байт свободного непрерывного пространства (если это возможно), и возвращает наибольшее непрерывное пространство в байтах. Если MinFree=0, функция не выгружает блоки на диск и возвращает размер непрерывной области, которая получится в результате выгрузки. Во всех случаях функция вначале перемещает блоки с флагом gmem_Moveable. Если после этого нет MinFreeoO байт непрерывного пространства, она выгружает блоки с флагом gmem_Discardable.

Функция Global Pis card. Заголовок:

Function Global-Discard (Mem: THandle) : THandle;

Выгружает на диск блок памяти, связанный с дескриптором Мет, и возвращает дескриптор блока, если операция прошла успешно, или NIL, если закончилась неудачей.

Функция GlobalDosAlloc. Заголовок:

Function GlobalDosAlloc(Size: Longint): Longint;

Распределяет память размером Size байт в первом мегабайте памяти. Возвращаемое значение содержит сегмент в старшем слове и селектор в младшем. Программа может использовать сегмент для доступа к памяти в реальном режиме и селектор — в защищенном. Если расширитель ДОС не может выделить память, функция возвращает 0.

Функция GlobalDosFree . Заголовок:

Function GlobalDosFree(Selector: Word): Word;