Поделиться через


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

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

Синтаксис

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

Параметры

[in] NdisVcHandle

Задает дескриптор, определяющий VC.

[in] CallParameters

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

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

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

Замечания

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

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

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

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

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

  • Вызовите NdisMCmDeactivateVc после сбоя запроса клиента на изменение качества обслуживания или других параметров вызова для VC до такого состояния, что драйвер мини-порта не может продолжать передавать данные в 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 (include Ndis.h)
библиотеки Ndis.lib
IRQL <= DISPATCH_LEVEL
правил соответствия DDI Irql_MCM_Function(ndis)

См. также

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQoS

NdisCmActivateVc

NdisMCmCreateVc

NdisMCmDeactivateVc

NdisMCmDispatchIncomingCall

ProtocolCoCreateVc