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

       

Прием сообщений


Для приема сообщений предназначена функция GetBroadcastMessage(): int GetBroadcastMessage(char *MessageBuffer);
Параметр определяет адрес буфера, в который будет записано принятое сообщение. Размер буфера должен составлять не менее 56 байт.
Функция возвращает 0 при успешном завершении или код ошибки:
Код ошибкиЗначение
0xFCПереполнение очереди сообщений
0xFEОшибка ввода/вывода или нехватка памяти на сервере

Если в буфере нет сообщений, в первый байт буфера будет записано нулевое значение.
Вместо функции GetBroadcastMessage() можно использовать функцию E1h прерывания INT21h:
На входе:AH= E1h;
DS:SI= Адрес буфера запроса;
ES:DI= Адрес буфера ответа.
На выходе:AL= Код ошибки или 0, если операция завершилась без ошибок.

Буфер запроса: struct REQUEST { WORD PacketLength; // размер пакета запроса BYTE Function; // должно быть равно 1 };
Буфер ответа: struct REPLAY { WORD PacketLength; // размер пакета BYTE MessageLength; // длина сообщения BYTE Message[MessageLength]; // сообщение };

Содержание раздела