Запрет и разрешение подключений к серверу
Для того чтобы запретить подключение к файл-серверу новых пользователей программа должна вызывать функцию DisableFileServerLogin(): int DisableFileServerLogin(void);
В случае успешного завершения функция возвращает нулевое значение. Если эта функция вызвана пользователем, не имеющим прав оператора консоли, возвращается код ошибки C6h.
Для того чтобы вновь разрешить пользователям подключаться к файл-серверу, следует вызвать функцию EnableFileServerLogin(): int EnableFileServerLogin(void);
Эту функцию может вызывать только пользователь, имеющий права оператора консоли.
Вместо функции DisableFileServerLogin() можно использовать функцию E3h прерывания INT 21h:
На входе: | AH | = | E3h; |
DS:SI | = | Адрес буфера запроса; | |
ES:DI | = | Адрес буфера ответа. | |
На выходе: | AL | = | Код ошибки или 0, если операция завершилась без ошибок. |
Буфер запроса: struct REQUEST { WORD PacketLength; // размер пакета запроса BYTE Function; // должно быть равно 203 };
Буфер ответа: struct REPLAY { WORD PacketLength; // размер пакета };
Вместо функции EnableFileServerLogin() также можно использовать функцию E3h прерывания INT 21h, подготовив буфер запроса и ответа следующим образом:
Буфер запроса:
struct REQUEST { WORD PacketLength; // размер пакета запроса BYTE Function; // должно быть равно 204 };
Буфер ответа: struct REPLAY { WORD PacketLength; // размер пакета };