NB_WSend (0x14)
С помощью этой команды программа может передать блок данных размером от 1 до 65535 байт по созданному ранее каналу. Перед вызовом команды программа должна записать номер канала, по которому будет выполняться передача, в поле LocalSessionNumber блока NCB. Адрес передаваемого блока данных и его длина должны быть записаны в поля Buffer и Size.
Для приема данных, передаваемых командой NB_WSend, необходимо использовать команду NB_WReceive (или NB_Receive).
Механизм передачи данных с использованием каналов гарантирует не только доставку блоков данных, но и правильную последовательность, в которой эти блоки будут приняты.
Если истекло время тайм-аута, заданного при создании канала, команда завершается с ошибкой.
Поля NCB на входе | Содержимое |
Cmd | 0x14 |
LocalSessionNumber | Номер используемого канала |
Buffer | Указатель на буфер, содержащий передаваемые данные |
Size | Размер буфера |
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 | Ненормальное закрытие канала |
0x21 | Интерфейс занят |
0x22 | Выдано слишком много команд |
0x23 | Неправильное значение в поле номера адаптера AdapterNumber |
0x40 - 0x4F | Необычное состояние сети (Unusual network condition) |
0x50 - 0xFE | Сбой сетевого адаптера или другого сетевого аппаратного обеспечения |