NB_WListen (0x11)
Команда работает в паре с предыдущей командой и предназначена для организации канала с вызываемой стороны.
В поле CallName блока NCB необходимо указать имя, с которым устанавливается канал. Если в первый байт имени записать символ "*", канал будет установлен с любой вызывающей станцией.
Программа может выдать несколько команд NB_Listen для создания одно-
временно нескольких каналов.
В случае успешного завершения команда запишет в поле LocalSessionNumber номер созданного канала.
При создании канала необходимо указать время тайм-аута для операций приема и передачи данных через канал. Сама команда NB_WListen не использует тайм-аут. Программа, выдавшая эту команду, будет находиться в состоянии ожидания до тех пор, пока какая-либо станция не пожелает создать с ней канал. Для исключения состояния "зависания" программы лучше использовать вариант NB_Listen этой команды (без ожидания).
Поля NCB на входе | Содержимое |
Cmd | 0x11 |
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 | Сбой сетевого адаптера или другого сетевого аппаратного обеспечения |
Содержимое поля FinalCCode на выходе |
Значение |
0x00 | Нет ошибок |
0x03 | Неправильный код команды |
0x09 | Нет доступных ресурсов |
0x0B | Команда отменена |
0x11 | Переполнилась таблица каналов |
0x15 | Неправильное имя |
0x17 | Указанное имя было удалено |
0x18 | Ненормальное закрытие канала |
0x19 | Конфликт имен (внутренняя ошибка NETBIOS) |
0x21 | Интерфейс занят |
0x22 | Выдано слишком много команд |
0x23 | Неправильное значение в поле номера адаптера AdapterNumber |
0x40 - 0x4F | Необычное состояние сети (Unusual network condition) |
0x50 - 0xFE | Сбой сетевого адаптера или другого сетевого аппаратного обеспечения |