Программирование для защищенного режима 221

помощью обращения к FindResource. Каждый вызов LoadResource наращивает на единицу счетчик ссылок ресурса.

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

Function LoadString(Instance: THandle; ID: Word;

Buffer: PChar; MaxSize: Integer): Integer;

Для экземпляра программы Instance загружает из строкового ресурса в буфер Buffer строку с идентификатором ID. Длина буфера (вместе с терминальным нулем) задается параметром MaxSize. Возвращает длину загруженной строки или 0, если строка не найдена.

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

Function LockResource(Res: THandler): Pointer;

Фиксирует в памяти ресурс, связанный с дескриптором Res, и возвращает указатель на первый байт ресурса. Каждый вызов функции LockResource увеличивает на единицу счетчик ссылок ресурса, каждый вызов UnlockResource уменьшает на единицу этот счетчик. Ресурс становится перемещаемым и может выгружаться, если его счетчик содержит 0.

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

Function SizeOfResource(Instance, Res: THandle): LongInt;

Для экземпляра программы Instance возвращает размер ресурса в байтах, связанного с дескриптором Res.

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

Function UnlockResource(Res: THandle): Boolean;

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

9.2.5. Функции разного назначения

Процедура Dos3Call. Заголовок:

Procedure Dos3Call;

Позволяет программе вызвать прерывание ДОС $21. Доступ к этой процедуре возможен только на ассемблере.

Процедура FatalExit. Заголовок:

Procedure FatalExit(Code: Integer);

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

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