Локальные сети персональных компьютеров. Использование протоколов IPX, SPX, NETBIOS
© Александр Фролов, Григорий Фролов
Том 4, М.: Диалог-МИФИ, 1993, 160 стр.
NB_WCall (0x10) - создать канал с
передающей стороны
Поля NCB на входе |
Содержимое |
Cmd |
0x10 |
CallName |
Имя, с которым устанавливается канал |
OurName |
Имя станции, создающей канал |
ReceiveTimeout |
Время ожидания приема, в 1/2 с |
SendTimeout |
Время ожидания передачи, в 1/2 с |
PostRoutine |
Дальний указатель на POST-программу или
нулевое значение, если POST-программа не
используется |
AdapterNumber |
Номер адаптера; 0 - первый адаптер, 1 -
второй |
Поля NCB на выходе |
Содержимое |
LocalSessionNumber |
Присвоенный номер канала |
CCode |
Промежуточный код завершения команды |
FinalCCode |
Окончательный код завершения команды |
NB_Call (0x90)
Команда аналогична предыдущей, за исключением
того, что она выполняется без ожидания и в поле Cmd
необходимо записать значение 0x90.
NB_WListen (0x11) - создать канал с
принимающей стороны
Поля NCB на входе |
Содержимое |
Cmd |
0x11 |
CallName |
Имя, с которым устанавливается канал.
Если в первый байт имени записать символ "*",
канал будет установлен с любой вызывающей
станцией |
OurName |
Имя станции, создающей канал с
принимающей стороны |
ReceiveTimeout |
Время ожидания приема, в 1/2 с |
SendTimeout |
Время ожидания передачи, в 1/2 с |
PostRoutine |
Дальний указатель на POST-программу или
нулевое значение, если POST-программа не
используется |
AdapterNumber |
Номер адаптера; 0 - первый адаптер, 1 -
второй |
Поля NCB на выходе |
Содержимое |
LocalSessionNumber |
Присвоенный номер канала |
CallName |
В это поле записывается имя вызвавшей
станции, если при установлении канала было
указано имя "*" |
CCode |
Промежуточный код завершения команды |
FinalCCode |
Окончательный код завершения команды |
NB_Listen (0x91)
Команда аналогична предыдущей, за исключением
того, что она выполняется без ожидания и в поле Cmd
необходимо записать значение 0x91.
NB_WHangUp (0x12) - закрыть канал
Поля NCB на входе |
Содержимое |
Cmd |
0x12 |
LocalSessionNumber |
Номер закрываемого канала |
PostRoutine |
Дальний указатель на POST-программу или
нулевое значение, если POST-программа не
используется |
AdapterNumber |
Номер адаптера; 0 - первый адаптер, 1 -
второй |
Поля NCB на выходе |
Содержимое |
CCode |
Промежуточный код завершения команды |
FinalCCode |
Окончательный код завершения команды |
NB_HangUp (0x92)
Команда аналогична предыдущей, за исключением
того, что она выполняется без ожидания и в поле Cmd
необходимо записать значение 0x92.
NB_WSessionStatus (0x34) - получить
состояние канала
Название поля |
Назначение поля |
NameNumber |
Номер имени канала |
SessionCount |
Количество каналов |
DatagramsOutstanding |
Количество выданных команд на прием
датаграмм |
ReceiveAnyoutstanding |
Количество выданных команд на прием
командой NB_ReceiveAny |
Session |
Массив структур, описывающих каждый
канал в отдельности |
LocalSessionNumber |
Номер канала |
State |
Состояние канала:
1 - ожидание завершения команды NB_Listen;
2 - ожидание завершения команды NB_Call;
3 - канал установлен;
4 - ожидание завершения команды NB_HangUp;
5 - команда NB_HangUp завершила свое вы-
полнение;
6 - канал закрыт с ошибкой. |
LocalName |
Имя локальной станции |
RemoteName |
Имя удаленной станции |
ReceiveCount |
Количество ожидающих завершения команд
NB_Receive |
SendCount |
Количество ожидающих завершения команд
NB_Send |
Поля NCB на входе |
Содержимое |
Cmd |
0x34 |
Buffer |
Дальний адрес буфера для приема
информации о состоянии каналов |
Size |
Размер буфера |
OurNames |
Имя канала, для которого необходимо
получить информацию о состоянии. В качестве
имени можно указывать "*" |
PostRoutine |
Дальний указатель на POST-программу или
нулевое значение, если POST-программа не
используется |
AdapterNumber |
Номер адаптера; 0 - первый адаптер, 1 -
второй |
Поля NCB на выходе |
Содержимое |
Size |
Размер заполненной части буфера |
CCode |
Промежуточный код завершения команды |
FinalCCode |
Окончательный код завершения команды |
NB_SessionStatus (0xB4)
Команда аналогична предыдущей, за исключением
того, что она выполняется без ожидания и в поле Cmd
необходимо записать значение 0xB4.
|