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

NB_WReceiveDatagram (0x21)


Команда предназначена для приема датаграмм, переданных командой NB_SendDatagram. Она не может принимать датаграммы, переданные в "широковещательном" режиме командой NB_SendBroadcastDatagram. Однако эта команда может принимать датаграммы, посланные на групповое имя.

Если перед вызовом команды в поле NetworkNameNumber блока NCB записать значение 0xFF, команда сможет принимать датаграммы от любой станции для любого имени.

Если длина принятой датаграммы превышает значение, указанное в поле Size, принятый блок данных будет обрезан.



Поля NCB на входе Содержимое
Cmd 0x21
NetworkNameNumber Номер, присвоенный при добавлении имени или 0xFF
Buffer Адрес буфера, содержащего передаваемые данные
Size Размер буфера
PostRoutine Дальний указатель на POST-программу или нулевое значение, если POST-программа не используется
AdapterNumber Номер адаптера; 0 - первый адаптер, 1 - второй

Поля NCB на выходе Содержимое
CallName Имя станции, от которой получена датаграмма
Size Размер принятого блока данных
CCode Промежуточный код завершения команды
FinalCCode Окончательный код завершения команды

Содержимое поля CCode

на выходе

Значение
0x00 Нет ошибок
0x03 Неправильный код команды
0x21 Интерфейс занят
0x22 Выдано слишком много команд
0x23 Неправильное значение в поле номера адаптера AdapterNumber
0x40 - 0x4F Необычное состояние сети (Unusual network condition)
0x50 - 0xFE Сбой сетевого адаптера или другого сетевого аппаратного обеспечения

Содержимое поля

FinalCCode на выходе

Значение
0x00 Нет ошибок
0x01 Неправильная длина буфера
0x03 Неправильный код команды
0x06 Размер буфера слишком мал для того, чтобы разместить в нем принятые данные
0x0B Команда отменена
0x13 Неправильный номер имени
0x17 Имя удалено
0x19 Конфликт имен (внутренняя ошибка NETBIOS)
0x21 Интерфейс занят
0x22 Выдано слишком много команд
0x23 Неправильное значение в поле номера адаптера AdapterNumber
0x40 - 0x4F Необычное состояние сети (Unusual network condition)
0x50 - 0xFE Сбой сетевого адаптера или другого сетевого аппаратного обеспечения



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