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

       

NB_WCall (0x10)


Команда устанавливает канал между двумя именами, заданными в блоке NCB. Эти имена могут относиться к программам, работающим на разных станциях или на одной станции. В поле OurName указывается имя станции, которая устанавливает канал, в поле CallName - имя станции, с которой устанавливается канал.

Для успешного создания канала принимающая сторона должна выдать команду NB_Listen, которая будет описана ниже.

Можно установить канал не только с обычным, но и с групповым именем. Для этого придется выдать команду NB_WCall несколько раз, так как за один вызов создается только один канал.

Команда NB_WCall делает несколько попыток создать канал и в случае

неудачи возвращает код ошибки.

При создании канала указывается время тайм-аута для операций приема и передачи данных. Если команды приема или передачи данных через каналы не будут выполнены в течение времени тайм-аута, они (команды) будут прерваны. При этом считается, что канал неработоспособен.

После создания канала поле LocalSessionNumber будет содержать присвоенный номер канала. Сохраните его для использования в процессе приема и передачи данных по каналу.



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

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

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

Содержимое
LocalSessionNumberПрисвоенный номер канала
CCodeПромежуточный код завершения команды
FinalCCodeОкончательный код завершения команды

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

на выходе

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

FinalCCode на выходе

Значение
0x00Нет ошибок
0x03Неправильный код команды
0x05Истекло время ожидания
0x09Нет доступных ресурсов
0x0BКоманда отменена
0x11Переполнилась таблица каналов
0x12Создание канала отвергнуто
0x14Нет ответа от станции с указанным именем или в сети нет такого имени
0x15Неправильное имя
0x18Ненормальное закрытие канала
0x19Конфликт имен (внутренняя ошибка NETBIOS)
0x21Интерфейс занят
0x22Выдано слишком много команд
0x23Неправильное значение в поле номера адаптера AdapterNumber
0x40 - 0x4FНеобычное состояние сети (Unusual network condition)
0x50 - 0xFEСбой сетевого адаптера или другого сетевого аппаратного обеспечения

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