Указание состояния драйвера мини-порта CoNDIS WAN
Драйвер мини-порта CoNDIS WAN вызывает NdisMCoIndicateStatusEx , чтобы указать, что состояние изменяется до привязанных драйверов протокола. Дополнительные сведения об указании состояния драйвера минипорта CoNDIS или MCM см. в разделе Указание состояния драйвера минипорта.
Драйверы привязанного протокола могут игнорировать эти признаки состояния. Однако обработка этих указаний обычно приводит к повышению производительности драйверов протокола и драйвера miniport.
Промежуточный драйвер NDISWAN перенаправит индикаторы состояния в NDIS. NDIS вызывает функции ProtocolCoStatusEx для привязанных драйверов протокола или диспетчера конфигурации. Эти драйверы протоколов или диспетчер конфигурации могут регистрируют эти указания и при необходимости могут предпринять корректирующие действия.
Для драйвера минипорта CoNDIS WAN вызов NdisMCoIndicateStatusEx такой же, как и в любом драйвере минипорта CoNDIS, за исключением того, что драйвер мини-порта CoNDIS WAN указывает конкретное состояние глобальной сети для каждого виртуального подключения (VC) на сетевом адаптере драйвера мини-порта. Драйвер мини-порта вызывает NdisMCoIndicateStatusEx с явным дескриптором VC, чтобы указать эти изменения вплоть до драйвера протокола, который использует этот VC. Если драйвер задает значение NULLNdisVcHandle, состояние относится к общему изменению состояния сетевой карты.
Каждое указание состояния предоставляет два основных элемента информации:
Код состояния, указывающий общее состояние. Существует ограниченное количество определенных общих кодов состояния; этот список подлежит дальнейшему расширению.
Буфер, содержащий сведения о состоянии. Эти сведения о состоянии могут быть специфичными для сетевого адаптера или для драйвера мини-порта CoNDIS WAN, специфичным для виртуальной машины на сетевой адаптере. Например, буфер может содержать новую скорость передачи соединения X.25, которая недавно снизилась в два раз.
Ниже приведены сведения о состоянии coNDIS WAN VC.
NDIS_STATUS_WAN_CO_LINKPARAMS
Драйвер мини-порта CoNDIS WAN вызывает NdisMCoIndicateStatusEx , чтобы указать, что параметры для определенного виртуального сервера, активного на сетевом адаптере, изменились. В этом вызове драйвер мини-порта передает дескриптор в VC в параметре NdisVcHandle , NDIS_STATUS_WAN_CO_LINKPARAMS в параметре GeneralStatus и указатель на структуру WAN_CO_LINKPARAMS в параметре StatusBuffer . WAN_CO_LINKPARAMS описываются новые параметры для VC.
NDIS_STATUS_WAN_CO_FRAGMENT
Драйвер мини-порта CoNDIS WAN вызывает NdisMCoIndicateStatusEx , чтобы указать, что он получил частичный пакет от конечной точки VC. В этом вызове драйвер минипорта передает дескриптор в VC в параметре NdisVcHandle , NDIS_STATUS_WAN_CO_FRAGMENT в параметре GeneralStatus и указатель на структуру NDIS_WAN_CO_FRAGMENT в параметре StatusBuffer . NDIS_WAN_CO_FRAGMENT описывает причину получения частичного пакета.
После этого клиент, ориентированный на подключение, должен отправлять кадры клиенту, ориентированному на подключение, на другом конце VC. Эти кадры будут уведомлять противоположную конечную точку о ситуации с частичным пакетом, поэтому противоположной конечной точке не требуется ждать истечения времени ожидания.
NDISWAN отслеживает отброшенные пакеты, подсчитывая количество указаний фрагментов в каждой виртуальной сети.