Функция NdisMCmActivateVc (ndis.h)

NdisMCmActivateVc уведомляет NDIS о том, что драйвер MCM готов к передаче на определенный VC.

Синтаксис

NDIS_STATUS NdisMCmActivateVc(
  [in] NDIS_HANDLE         NdisVcHandle,
  [in] PCO_CALL_PARAMETERS CallParameters
);

Параметры

[in] NdisVcHandle

Указывает дескриптор, идентифицирующие проверяемого удостоверения.

[in] CallParameters

Указатель на буфер, выделенный вызывающим объектом, отформатированный как структура типа CO_CALL_PARAMETERS, содержащая все параметры мультимедиа, используемые драйвером мини-порта для активированного VC.

Возвращаемое значение

Когда NdisMCmActivateVc возвращает что-либо, отличное от NDIS_STATUS_PENDING, драйвер MCM должен выполнить внутренний вызов Функция ProtocolCmActivateVcComplete . В противном случае NDIS вызывает функцию ProtocolCmActivateVcComplete драйвера MCM по завершении этой операции.

Комментарии

NdisMCmActivateVc информирует NDIS о том, что драйвер MCM настроил параметры вызова и мультимедиа во вновь созданном VC или изменил параметры вызова в установленном VC.

Драйвер MCM должен вызывать NdisMCmActivateVc после установки подключения к виртуальной сети, но до отправки или получения данных в этом VC. Этот вызов уведомляет NDIS о том, что драйвер мини-порта сделал сетевой адаптер готовым к передаче на VC.

Для исходящего вызова, инициированного клиентом, драйвер MCM обычно вызывает NdisMCmActivateVc после подтверждения, обозначающего согласованное соглашение с удаленным узлом или успешную настройку вызова на коммутаторе, прежде чем уведомлять NDIS (и клиент) о завершении исходящего вызова с помощью NdisMCmMakeCallComplete. Для входящего вызова драйвер MCM обычно вызывает NdisMCmActivateVc после успешного вызова NdisMCmCreateVc и перед вызовом. NdisMCmDispatchIncomingCall.

Модуль записи драйверов определяет, имеет ли драйвер MCM (внутреннюю) функцию MiniportCoActivateVc , которую драйвер вызывает в контексте настройки подключений для исходящих и входящих вызовов.

В течение всего времени подключения драйвер MCM может изменять параметры вызова при изменении условий в сети и (или) всякий раз, когда клиент вызывает NdisClModifyCallQoS. Драйвер MCM должен обновить состояние, которое он поддерживает о параметрах вызова, до новых значений, если он может продолжать выполнять передачу в VC в соответствии с недавно измененными параметрами вызова. Он должен вызвать NdisMCmActivateVc , чтобы уведомить NDIS о любых изменениях параметров вызова для активного виртуального сервера. В противном случае драйвер MCM может выполнить одно из следующих действий:

  • Вызовите NdisMCmDeactivateVc после сбоя запроса клиента на изменение качества обслуживания или других параметров вызова для VC до такого состояния, что драйвер мини-порта не может продолжать выполнять передачу в VC.
  • Восстановите параметры вызова до ранее принятого состояния, уведомите клиента, запросившего изменение, и оставьте все готовое к продолжению передачи данных в проверяемом сервере. В этом случае клиент может принять восстановленные параметры вызова или отклонить их и инициировать закрытие VC.
Вызывать NdisMCmActivateVc могут только драйверы мини-портов, ориентированные на подключение, которые обеспечивают встроенную поддержку управления вызовами. Вместо этого автономные диспетчеры вызовов, которые регистрируют себя с помощью NDIS в качестве драйверов протокола, вызывают NdisCmActivateVc .

Требования

Требование Значение
Минимальная версия клиента Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisMCmActivateVc (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. NdisMCmActivateVc (NDIS 5.1)) в Windows XP.
Целевая платформа Персональный компьютер
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI Irql_MCM_Function(ndis)

См. также раздел

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQoS

NdisCmActivateVc

NdisMCmCreateVc

NdisMCmDeactivateVc

NdisMCmDispatchIncomingCall

ProtocolCoCreateVc