218___________________________________________________Глава 9

Создает новый селектор. Если параметр Selector — правильный селектор, функция создает точную его копию, если параметр равен нулю,— создает новый, неинициализированный селектор.

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

Function FreeSelector(Selector: Word): Word;

Освобождает селектор Selector и делает его непригодным для далб— нейшего использования. Размер связанного с селектором сегмента не должен превышать 64 Кбайт, в противном случае могут быть разрушены селекторы, которые еще нужны программе.

9.2.3. Управление модулями

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

Procedure FreeLibrary(Lib: THandle);

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

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

Function GetModuleHandle(FileName: PChar): THandle;

Создает и возвращает дескриптор файла, содержащего исполняемую программу или библиотеку. FileName — ASCIIZ— строка с именем файла.

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

Function GetModuleFileName(Module: THandle; FileName: PChar;

Size: Integer): Integer;

Возвращает в переменной FileName полное имя файла (с маршрутом поиска), связанного с дескриптором Module. Size — размер переменной FileName. Возвращает мину скопированного в FileName имени, если функция выполнена успешно, или 0, если возникла ошибка.

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

Function GetModuleUsage(Module: THandle): Integer;

Возвращает счетчик ссылок для модуля, связанного с дескриптором Module. Счетчик ссылок увеличивается на единицу при каждом вызове LoadModule и уменьшается на единицу при вызове FreeModule.

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

Function GetModuleAddress(Module: THandle; ProcName: PChar):

TFarProc;

В модуле, связанном с дескриптором Handle, ищет процедуру ProcName и возвращает адрес ее точки входа или NIL, если процедура не найдена. Параметр ProcName может содержать либо ASCIIZ— строку с именем процедуры, либо ее порядковый номер. В последнем случае порядковый