Локальные сети персональных компьютеров Использование протоколов IPX, SPX, NETBIOS

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 Сбой сетевого адаптера или другого сетевого аппаратного обеспечения



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