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