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


         

SPXGetConnectionStatus


На входе: BX = 15h.
DX = Номер канала связи.
ES:SI = Указатель на буфер размером 44 байта.
На выходе: AL = Код завершения:

00h - канал активен;

EEh - указанный канал не существует.

С помощью функции SPXGetConnectionStatus программа может проверить состояние канала. Если канал существует, в буфер, адрес которого задан в регистрах ES:SI, записывается информация о состоянии канала.

Приведем формат буфера в виде структуры:

struct CSB { unsigned char ConnectionState; unsigned char ConnectionFlags; unsigned char SrcConnectionID[2]; unsigned char DestConnectionID[2]; unsigned char SeqNumber[2]; unsigned char AckNumber[2]; unsigned char AllocNumber[2]; unsigned char RemoteAckNumber[2]; unsigned char RemoteAllocNumber[2]; unsigned char ConnectionSocket[2]; unsigned char ImmAddress[6]; unsigned char DestNetwork[4]; unsigned char DestNode[6]; unsigned char DestSocket[2]; unsigned char RetransmissionCount[2]; unsigned char EstimatedRoundtripDelay[2]; unsigned char RetransmittedPackets[2]; unsigned char SuppressedPackets[2]; };

Все поля в этой структуре имеют "перевернутый" формат, в котором младшие байты записаны по старшему адресу.

Поле ConnectionState отображает текущее состояние канала:

01h драйвер SPX находится в состоянии ожидания приема пакета, посылаемого функцией SPXEstablishConnection;
02h драйвер SPX пытается создать канал с удаленной рабочей станцией после вызова функции SPXEstablishConnection;
03h канал создан;
04h канал закрыт.

Поле ConnectionFlags содержит флаги, которые используются драйвером SPX для управления каналом. Бит 02h, в частности, управляет использованием системы периодической проверки связи. Если этот бит установлен в единицу, для данного канала выполняется периодическая проверка связи.

Поле SrcConnectionID содержит номер канала, присвоенный локальной станции. Это тот самый номер канала, который надо загружать в регистр DX перед использованием функций SPX.

Поле DestConnectionID содержит номер канала, присвоенный программе, работающей на удаленной станции.



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





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий