Функция 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.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов 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) |