Использование протоколов IPX, SPX, NETBIOS



         

NB_WListen (0x11)


Команда работает в паре с предыдущей командой и предназначена для организации канала с вызываемой стороны.

В поле CallName блока NCB необходимо указать имя, с которым устанавливается канал. Если в первый байт имени записать символ "*", канал будет установлен с любой вызывающей станцией.

Программа может выдать несколько команд NB_Listen для создания одно-

временно нескольких каналов.

В случае успешного завершения команда запишет в поле LocalSessionNumber номер созданного канала.

При создании канала необходимо указать время тайм-аута для операций приема и передачи данных через канал. Сама команда NB_WListen не использует тайм-аут. Программа, выдавшая эту команду, будет находиться в состоянии ожидания до тех пор, пока какая-либо станция не пожелает создать с ней канал. Для исключения состояния "зависания" программы лучше использовать вариант NB_Listen этой команды (без ожидания).

Поля NCB на входе

Содержимое
Cmd0x11
CallNameИмя, с которым устанавливается канал. Если в первый байт имени записать символ "*", канал будет установлен с любой вызывающей станцией
OurNameИмя станции, создающей канал с принимающей стороны
ReceiveTimeoutВремя ожидания приема, в 1/2 с
SendTimeoutВремя ожидания передачи, в 1/2 с
PostRoutineДальний указатель на POST-программу или нулевое значение, если POST-программа не используется
AdapterNumberНомер адаптера; 0 - первый адаптер, 1 - второй

Поля NCB на выходе

Содержимое
LocalSessionNumberПрисвоенный номер канала
CallNameВ это поле записывается имя вызвавшей станции, если при установлении канала было указано имя "*"
CCodeПромежуточный код завершения команды
FinalCCodeОкончательный код завершения команды

Содержимое поля CCode

на выходе

Значение
0x00Нет ошибок
0x03Неправильный код команды
0x09Нет доступных ресурсов
0x15Неправильное имя
0x21Интерфейс занят
0x22Выдано слишком много команд
0x23Неправильное значение в поле номера адаптера AdapterNumber
0x40 - 0x4FНеобычное состояние сети (Unusual network condition)
0x50 - 0xFEСбой сетевого адаптера или другого сетевого аппаратного обеспечения
<


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