Команда работает аналогично команде NB_WSend, однако с ее помощью можно передать сразу два блока данных. Данные передаются как один блок. Общий размер передаваемых с помощью этой команды данных может достигать 131070 байт.
Первый буфер задается, как и для команды NB_WSend, через поля Buffer и Size. Размер второго буфера должен быть записан в первые два байта поля CallName блока ECB, а его адрес занимает следующие четыре байта этого поля.
Поля NCB на входе | Содержимое |
Cmd | 0x17 |
LocalSessionNumber | Номер используемого канала |
Buffer | Указатель на первый буфер, содержащий передаваемые данные |
Size | Размер первого буфера |
CallName | Первые два байта содержат размер второго буфера, следующие четыре байта - дальний адрес второго буфера |
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 | Сбой сетевого адаптера или другого сетевого аппаратного обеспечения |