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