Использование протоколов IPX, SPX, NETBIOS



         

NB_WSessionStatus (0x34)


Команда возвращает программе состояние канала, имя которого указано в поле OurName блока NCB. В качестве имени можно указать символ "*", в этом случае программа получит информацию о каналах, относящихся ко всем именам станций, имеющихся в локальной таблице имен на вызывающей команду станции.

Информация о состоянии каналов возвращается в буфер, адрес которого программа должна записать в поле Buffer блока NCB. Размер буфера должен быть указан в поле Size блока NCB.

Формат буфера можно описать следующей структурой:

struct _SESSION_STATUS { unsigned char NameNumber; unsigned char SessionCount; unsigned char DatagramsOutstanding; unsigned char ReceiveAnyoutstanding; struct _SESSION { unsigned char LocalSessionNumber; unsigned char State; char LocalName[16]; char RemoteName[16]; unsigned char ReceiveCount; unsigned char SendCount; } Session[40]; };

Приведем список полей буфера:

Название поля Назначение поля
NameNumberНомер имени канала
SessionCountКоличество каналов
DatagramsOutstandingКоличество выданных команд на прием датаграмм
ReceiveAnyoutstandingКоличество выданных команд на прием командой NB_ReceiveAny
SessionМассив структур, описывающих каждый канал в отдельности
LocalSessionNumberНомер канала
StateСостояние канала:

1 - ожидание завершения команды NB_Listen;

2 - ожидание завершения команды NB_Call;

3 - канал установлен;

4 - ожидание завершения команды NB_HangUp;

5 - команда NB_HangUp завершила свое вы- полнение;

6 - канал закрыт с ошибкой.

LocalNameИмя локальной станции
RemoteNameИмя удаленной станции
ReceiveCountКоличество ожидающих завершение команд NB_Receive
SendCountКоличество ожидающих завершения команд NB_Send

Поля NCB на входе

Содержимое
Cmd0x34
BufferДальний адрес буфера для приема информации

о состоянии каналов

SizeРазмер буфера
OurNamesИмя канала, для которого необходимо получить информацию о состоянии. В качестве имени можно указывать "*"
PostRoutineДальний указатель на POST-программу или нулевое значение, если POST-программа не используется
AdapterNumberНомер адаптера; 0 - первый адаптер, 1 - второй
<


Содержание  Назад  Вперед