Локальные сети персональных компьютеров. Работа с сервером Novell NetWare


         

Индекс семафора задается параметром функции.


int SignalSemaphore(long SemaphoreHandle);

Индекс семафора задается параметром функции.

Функция возвращает 0 при успешном завершении или код ошибки:



























Код ошибки Значение
0x01 Переполнение семафора, значение семафора стало больше 127
0xFF Неправильное значение индекса семафора


Для работы с семафорами можно использовать функцию C5h прерывания INT21h. В зависимости от содержимого регистра AL эта функция выполняет ту или иную операцию с семафором.

Открытие семафора:































































На входе: AH = C5h;
AL = 00h;
DS:DX = Адрес имени семафора;
CL = Начальное значение семафора.
На выходе: AL = Код ошибки или 0, если операция завершилась без ошибок.


Определение состояния семафора:











































































На входе: AH = C5h;
AL = 01h;
CX,DX = Индекс семафора;
На выходе: AL = Код ошибки или 0, если операция завершилась без ошибок;
CX = Значение семафора;
DL = Счетчик использований семафора.


Уменьшение значения семафора:































































На входе: AH = C5h;
AL = 02h;
CX,DX = Индекс семафора;
BP = Время ожидания.
На выходе: AL = Код ошибки или 0, если операция завершилась без ошибок.


Увеличение значения семафора:



















































На входе: AH = C5h;
AL = 03h;
CX,DX = Индекс семафора.
На выходе: AL = Код ошибки или 0, если операция завершилась без ошибок.


Закрытие семафора:



















































На входе: AH = C5h;
AL = 04h;
CX,DX = Индекс семафора.
На выходе: AL = Код ошибки или 0, если операция завершилась без ошибок.



Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий