Главная
Решение задач.
Справочные данные.
Формулы.
Программирование.
Как в Windows?
Разное.
Утилиты Windows.
Несправности принтеров.
BIOS по алфавиту.
Тесты.
Карта сайта.
|
Работа с памятью на winAPI в delphi.
Выделяет неинициализированную память для ResInfo.
function AllocResource(Instance, ResInfo: THandle; Size: Longint): THandle;
Параметры:
Instance: Модуль экземляра, исполнимый файл которого содержит ресурс.
ResInfo: Нужный ресурс.
Size: Размер в байтах, выделяемый для ресурса; игнорируется, если нуль.
Возвращаемое значение: Выделенный глобальный блок памяти.
Выделяет память для структуры данных, содержащей позиции нескольких окон.
function BeginDeferWindowPos(NumWindows: Integer): THandle;
Параметры:
NumWindows: Исходное число окон, информация о позиции которых запоминается.
Возвращаемое значение:
Идентификатор структуры с позицией окна.
Создает карту бит памяти, зависящую от устройства.
function CreateBitmap(Width, Height: Integer; Planes, BitCount: Byte; Bits: Pointer): HBitmap;
Параметры:
Width: Ширина карты бит (в элементах изображения).
Height: Высота карты бит (в элементах изображения).
Planes: Число цветовых плоскостей в карте бит.
BitCount: Число бит цвета на элемент отображения дисплея.
Bits: Массив коротких целых, содержащий начальные значения карты бит. В случае значения nil новая карта бит остается неинициализированной.
Возвращаемое значение: В случае успешного завершения - идентификатор карты бит; 0 - в противном случае.
Создает контекст устройства памяти, которое совместимо с DC.
function CreateCompatibleDC(DC: HDC): HDC;
Параметры:
DC: Контекст устройства; если 0, то создается контекст устройства памяти.
Возвращаемое значение: В случае успешного завершения - контекст устройства памяти; 0 - в противном случае.
Удаляет Handle из памяти и освобождает связанные с ним ресурсы системы.
function DeleteObject(Handle: THandle): Bool;
Параметры:
Handle: Описатель логического пера, кисти, шрифта, карты бит, области или палитры.
Возвращаемое значение: Не нуль в случае удаления; 0 - если Handle является неверным описателем или выбранным в данный момент в контекст устройства.
Находит ресурс в файле ресурсов.
function FindResource(Instance: THandle; Name, ResType: PChar): THandle;
Параметры:
Instance: Экземпляр модуля, исполнимый файл которого содержит ресурс.
Name: Имя ресурса либо строка, заканчивающаяся пустым символом, или целочисленный идентификатор.
ResType: Одна из следующих констант, указывающая тип ресурса: rt_Accelerator, rt_Bitmap, rt_Cursot, rt_Dialog, rt_FONT, rt_FONTDir, rt_Icon, rt_Menu, rt_RCData, rt_String, строка, заканчивающаяся пустым символом, или целочисленный идентификатор.
Возвращаемое значение: Идентификатор ресурса; 0 - если ресурс не найден.
Делает недействительным LibModule и освобождает связанную с ним память, если модуль больше не адресуется.
function FreeLibrary(LibModule: THandle);
Параметры:
LibModule: Загруженный библиотечный модуль.
Делает недействительным Module и освобождает связанную с ним память, если модуль больше не адресуется.
function FreeModule(Module: THandle): Bool;
Параметры:
Module: Идентификатор загруженного модуля.
Возвращаемое значение: Не используется.
Уничтожает Icon и освобождает связанную с ним память.
function DestroyIcon(Icon: HIcon): Bool;
Параметры:
Icon: Идентификатор пиктограммы.
Возвращаемое значение: В случае успешного завершения - не нуль; 0 - в противном случае.
Делает недействительным ResData и освобождает связанную с ним память, если ресурс больше не адресуется.
function FreeResource(ResData: THandle): Bool;
Параметры:
ResData: Идентификатор ресурса данных.
Возвращаемое значение: Нуль в случае успешного завершения; не нуль - в противном случае.
Считывает количество свободной памяти в глобальной куче.
function GetFreeSpace(Flag: Word): Longint;
Параметры:
Flag: Константа gmem_NotBanked для поиска ниже линии раздела или нуль - для поиска выше; для систем без памяти EMS игнорируется.
Возвращаемое значение: Доступная память (в байтах).
Получает блок глобальной памяти, содержащий метафайл в виде совокупности бит. Используется для определения размера и сохранения как метафайла.
function GetMETAFileBits(MF: THandle): THandle;
Параметры:
MF: Идентификатор метафайла в памяти; после вызова становится неверным.
Возвращаемое значение: В случае успешного завершения - блок глобальной памяти; 0 - в противном случае.
Максимизирует вероятность того, что объект глобальной памяти будет уничтожен при его перемещении в самую старую использованную последней позицию паямти.
function GlobalLRUOldest(Mem: THandle): THandle;
Параметры:
Mem: Идентификатор объекта глобальной памяти.
Возвращаемое значение: 0 - в случае неверного Mem.
Выделяет из глобальной кучи память по крайней мере запрошенного размера.
function GlobalAlloc(Flags: Word; Bytes: Longint): THandle;
Параметры:
Flags: Маска флагов. Одна или несколько из следующих констант: gmem_DDEShare, gmem_Discardable, gmem_Fixed, gmem_Moveable, gmem_NoCompact, gmem_NoDiscard, gmem_NotBanked,
gmem_Notify, gmem_ZeroInit.
Возвращаемое значение: Идентификатор выделенного блока глобальной памяти; 0 - если ошибка.
Сжимает глобальную память и, если необъодимо, удаляет уничтожаемые сегменты для создания, если возможно, блока размера MinFree.
function GlobalCompact(MinFree: Longint): Longint;
Параметры:
MinFree: Нужное число свободных байт или нуль, чтобы возвращался наибольший свободный сегмент, если все уничтожаемые сегменты удалены.
Возвращаемое значение: Размер наибольшего свободного блока.
Ограничивает число килобайт расширенной памяти, которое Windows назначает прикладной задаче при работе в конфигурации с расширенной памятью.
function LimitEmsPages(KBytes: Longint);
Параметры:
KByte: Число килобайт.
Распределяет память и загружает ресурс.
function LoadResource(Instance, ResInfo: THandle): THandle;
Параметры:
Instance: Экземпляр модуля, исполнимый файл которого содержит ресурс.
ResInfo: Идентификатор ресурса, возвращаемый FindResource.
Возвращаемое значение: В случае успешного завершения - идентификатор ресурса; 0 - в противном случае.
Выделяет из локальной кучи память под блок локальной памяти. Фактический размер может быть больше, чем указанный.
function LocalAlloc(Flags, Bytes: Word): THandle;
Параметры:
Flags: Одна или несколько из следующих констант: lmem_Discardable, lmem_Fixed, lmem_Modify, lmem_Moveable, lmem_NoCompact, lmem_NoDiscard и lmem_ZeroInit.
Bytes: Размер выделяемого блока в байтах.
Возвращаемое значение: Идентификатор выделенного блока локальной памяти; 0 - если ошибка.
Фиксирует блок глобальной памяти в памяти и увеличивает его счетчик захватов на 1.
function GlobalFix(Mem: THandle);
Параметры:
Mem: Идентификатор блока глобальной памяти.
Освобождает разблокированный блок глобальной памяти и делает недействительным его описатель.
function GlobalFree(Mem: THandle): THandle;
Параметры:
Mem: Идентификатор блока глобальной памяти.
Возвращаемое значение: В случае успешного завершения - нуль; если нет, то Mem.
Увеличивает счетчик ссылок блока глобальной памяти и возвращает указатель на него.
function GlobalLock(Mem: THandle): Pointer;
Параметры:
Mem: Идентификатор блока глобальной памяти.
Возвращаемое значение:
В случае успешного завершения - адрес блока памяти, nil - в противном случае.
Вызывает NotifyProc, передавая ее описатель уничтожаемого блока глобальной памяти. Если NotifyProc возвращает не нуль, то блок уничтожен.
function GlobalNotify(NotifyProc: TFarProc);
Параметры:
NotifyProc: Адрес экземпляра процедуры уведомления обратного вызова.
Увеличивает счетчик захвата страниц блока памяти. Операции захвата могут быть вложенными.
function GlobalPageLock(Selector: THandle): Word;
Параметры:
Selector: Селектор памяти.
Возвращаемое значение: В случае успешного завершения - увеличенный счетчик захвата страниц; 0 - в противном случае.
Уменьшает счетчик захвата страниц блока памяти. Если счетчик достигает нуля, то страница может быть перемещена или подкачена на диск.
function GlobalPageUnlock(Selector: THandle): Word;
Параметры:
Selector: Селектор памяти.
Возвращаемое значение: В случае успешного завершения - уменьшенный счетчик захвата страниц; 0 - в противном случае.
Переопределяет размер блока глобальной памяти до размера Byte.
function GlobalReAlloc(Mem: THandle; Bytes: Longint; Flags: Word): THandle;
Параметры:
Mem: Идентификатор блока глобальной памяти.
Byte: Размер Mem в байтах.
Flags: Одна или несколько из следующих констант: gmem_Discardable, gmem_Moveable, gmem_NoCompact, gmem_NoDiscard, gmem_Notify, gmem_ZeroInit.
Возвращаемое значение: Идентификатор переопределенного блока глобальной памяти; 0 - если ошибка.
Считывает текущий размер блока глобальной памяти.
function GlobalSize(Mem: THandle): Longint;
Параметры:
Mem: Идентификатор блока глобальной памяти.
Возвращаемое значение:
Фактический размер (в байтах); 0 - если Mem неверный или уничтожен.
Разблокирует блок глобальной памяти, блокированный с помощью GlobalFix. Если счетчик захватов блока достигает нуля, то блок может быть перемещен или уничтожен.
function GlobalUnfix(Mem: THandle): Bool;
Параметры:
Mem: Идентификатор блока глобальной памяти.
Возвращаемое значение:
Нуль, если счетчик захватов блока уменьшился до нуля; не нуль, если нет.
Разблокирует блок глобальной памяти, блокированный с помощью GlobalLock. Если счетчик захватов блока достигает нуля, то блок может быть перемещен или уничтожен.
function GlobalUnlock(Mem: THandle): Bool;
Параметры:
Mem: Идентификатор блока глобальной памяти.
Возвращаемое значение: Нуль, если счетчик захватов блока уменьшился до нуля; не нуль, если нет.
Разблокирует сегмент памяти, блокированный с помощью GlobalWire.
function GlobalUnWire(Mem: THandle): Bool;
Параметры:
Mem: Идентификатор сегмента.
Возвращаемое значение:
Не нуль, если сегмент разблокирован; нуль, если нет.
Перемещает сегмент, который должен быть захвачен на продолжительный период, в младшие адреса памяти и блокирует его.
function GlobalUnWire(Mem: THandle): PChar;
Параметры:
Mem: Идентификатор сегмента.
Возвращаемое значение:
В случае успешного завершения - новое положение сегмента; nil - в противном случае.
Генерирует свободный блок размером не менее MinFree. Если нужно, функция будет перемещать и/или уничтожать разблокированные блоки.
function LocalCompact(MinFree: Word): Word;
Параметры:
MinFree: Нужное число свободных байт или нуль, чтобы возвращался наибольший непрерывный блок.
Возвращаемое значение: Размер наибольшего блока в байтах.
Считывает информацию о блоке памяти Mem.
function LocalFlags(Mem: THandle): Word;
Параметры:
Mem: Идентификатор блока локальной памяти.
Возвращаемое значение: lmem_Discardable или lmem_Discarded в старшем байте и счетчик захватов в младшем байте.
Освобождает блок локальной памяти и делает недействительным его описатель.
function LocalFree(Mem: THandle): THandle;
Параметры:
Mem: Идентификатор блока локальной памяти.
Возвращаемое значение: В случае успешного завершения - нуль; если нет, то Mem.
Инициализирует локальную кучу и вызывает LocalLock для захвата сегмента.
function LocalInit(Segment, Start, End: Word): Bool;
Параметры:
Segment: Адрес сегмента локальной кучи.
Start: Адрес смещения для начала локальной кучи.
End: Адрес смещения для конца локальной кучи.
Возвращаемое значение: Не нуль, если инициализирована, 0 - если нет.
Блокирует Mem и увеличивает его счетчик захватов. Блок не может быть перемещен или уничтожен.
function LocalLock(Mem: THandle): Pointer;
Параметры:
Mem: Идентификатор блока локальной памяти.
Возвращаемое значение: В случае успешного завершения - указатель на блок, nil - в противном случае.
Изменяет размер и атрибуты, указанные параметром Flags, блока локальной памяти.
function LocalReAlloc(Mem: THandle; Bytes, Flags: Word): THandle;
Параметры:
Mem: Идентификатор блока локальной памяти.
Bytes: Новый размер блока Mem в байтах.
Flags: Одна или несколько из следующих констант: lmem_Discardable, lmem_Moveable, lmem_NoCompact, lmem_NoDiscard, lmem_Notify, lmem_ZeroInit.
Возвращаемое значение: В случае успешного завершения - идентификатор блока локальной памяти; 0 - если ошибка.
Считывает текущий размер блока локальной памяти.
function LocalSize(Mem: THandle): Longint;
Параметры:
Mem: Идентификатор блока локальной памяти.
Возвращаемое значение: Фактический размер (в байтах); 0 - если Mem неверный или уничтожен.
Уменьшает локальную кучу до указанного размера, который не может быть меньше минимального размера, указанного в файле определения модуля прикладной задачи.
function LocalShrink(Seg: THandle, Size: Word): Word;
Параметры:
Seg: Сегмент, содержащий локальную кучу или нуль для текущего сегмента данных.
Size: Нужный размер в байтах.
Возвращаемое значение: Размер после уменьшения.
Разблокирует блок локальной памяти, уменьшая его счетчик захватов.
function LocalUnlock(Mem: THandle): Bool;
Параметры:
Mem: Идентификатор блока локальной памяти.
Возвращаемое значение: Нуль, если счетчик захватов блока уменьшился до нуля (что делает возможным перемещение или уничтожение блока); не нуль, если нет.
Блокирует текущий перемещаемый сегмент данных в памяти.
function LockData(Dummy: Integer): THandle;
Параметры:
Dummy: Не используется. Установлен в 0.
Возвращаемое значение: Идентификатор для блокированного сегмента; 0 - в случае неудачи.
Увеличивает объем памяти, до половины оставшегося после загрузки Windows места, доступной для сегментов кодов прикладной задачи.
function SetSwapAreaSize(Size: Word): Longint;
Параметры:
Size: Число 16-байтовых параграфов.
Возвращаемое значение: Фактическое число полученных параграфов и максимальный доступный размер в младшем и старшем слове, соответственно.
Проверяет на достоверность содержимого все сегменты свободной памяти. Эта функция работает только в отладочной версии Windows.
function ValidateFreeSpaces: Pointer;
Возвращаемое значение: Не используется.
Считывает информацию о Mem
function GlobalFlags(Mem: THandle): Word;
Параметры:
Mem: Идентификатор блока глобальной памяти.
Возвращаемое значение:
gmem_DDEShare, gmem_Discardable, gmem_Discarded или gmem_NotBanked в старшем байте и счетчик захватов в младшем байте.
Блокирует сегмент (исключая неуничтожаемые сегменты защищенного режим) и увеличивает его счетчик ссылок.
function LockSegment(Segment: Word): THandle;
Параметры:
Segment: Адрес сегмента или -1 для текущего сегмента.
Возвращаемое значение: Указатель на сегмент; nil, если ошибка или сегмент уничтожен.
Заполняет область памяти нулями.
function ZeroMemory(Destination:Pointer, Length: DWORD);
Параметры:
Destination: Указатель на начальный адрес области памяти.
Length: Размер области памяти.
К оглавлению
|
|
|