NB_WHangUp (0x12)
Команда предназначена для закрытия канала, номер которого указан в поле LocalSessionNumber блока NCB. Она должна быть выполнена с обеих сторон канала после завершения работы.
Если для закрываемого с помощью этой команды канала на других станциях выдана команда NB_WReceive, она завершается с кодом ощибки 0x0A. Выданная для закрываемого канала команда NB_WSend также завершается с кодом 0x0A, но через 20 секунд, которые отводятся ей для завершения своей работы. Если команда NB_WSend не успела завершить передачу за 20 секунд, команда NB_WHangUp завершается с кодом 0x05.
Аналогично с кодом 0x0A завершает свою работу и команда NB_WReceiveAny, выданная для закрываемого канала.
Другие команды, выданные для закрываемого канала, завершаются с кодом 0x18.
Если программа пытается закрыть канал, который был уже закрыт или не существовал, такая ситуация не считается ошибочной и в поле кода ошибки проставляется нулевое значение.
| Поля NCB на входе | Содержимое |
| Cmd | 0x12 |
| LocalSessionNumber | Номер закрываемого канала |
| PostRoutine | Дальний указатель на POST-программу или нулевое значение, если POST-программа не используется |
| AdapterNumber | Номер адаптера; 0 - первый адаптер, 1 - второй |
| Поля NCB на выходе | Содержимое |
| CCode | Промежуточный код завершения команды |
| FinalCCode | Окончательный код завершения команды |
| Содержимое поля CCode на выходе |
Значение |
| 0x00 | Нет ошибок |
| 0x03 | Неправильный код команды |
| 0x21 | Интерфейс занят |
| 0x22 | Выдано слишком много команд |
| 0x23 | Неправильное значение в поле номера адаптера AdapterNumber |
| 0x40 - 0x4F | Необычное состояние сети (Unusual network condition) |
| 0x50 - 0xFE | Сбой сетевого адаптера или другого сетевого аппаратного обеспечения |
| Содержимое поля FinalCCode на выходе |
Значение |
| 0x00 | Нет ошибок |
| 0x03 | Неправильный код команды |
| 0x05 | Истекло время ожидания |
| 0x08 | Неправильный номер канала |
| 0x0A | Канал уже закрыт |
| 0x0B | Команда отменена |
| 0x18 | Ненормальное закрытие канала |
| 0x19 | Конфликт имен (внутренняя ошибка NETBIOS) |
| 0x21 | Интерфейс занят |
| 0x22 | Выдано слишком много команд |
| 0x23 | Неправильное значение в поле номера адаптера AdapterNumber |
| 0x40 - 0x4F | Необычное состояние сети (Unusual network condition) |
| 0x50 - 0xFE | Сбой сетевого адаптера или другого сетевого аппаратного обеспечения |