Функция NdisMCoActivateVcComplete (ndis.h)
NdisMCoActivateVcComplete уведомляет NDIS и диспетчер вызовов, что драйвер минипорта завершил обработку запроса активации-VC, инициированного CM, для которого драйвер минипорта ранее вернул NDIS_STATUS_PENDING.
Синтаксис
void NdisMCoActivateVcComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE NdisVcHandle,
[in] PCO_CALL_PARAMETERS CallParameters
);
Параметры
[in] Status
Указывает окончательное состояние операции активации-VC, которая может быть NDIS_STATUS_SUCCESS или любой NDIS_STATUS_ XXX, кроме NDIS_STATUS_PENDING.
[in] NdisVcHandle
Задает дескриптор, определяющий VC. Вызывающий объект получил этот дескриптор из состояния VC, указанного MiniportVcContext передан в качестве входного параметра в его функция MiniportCoActivateVc.
[in] CallParameters
Указатель на структуру типа CO_CALL_PARAMETERS, предоставленной диспетчером вызовов, указав параметры вызова и носителя для активации VC.
Возвращаемое значение
Никакой
Замечания
Драйвер минипорта, ориентированный на подключение, должен вызывать NdisMCoActivateVcComplete, если его функция miniportCoActivateVc ранее возвращалась NDIS_STATUS_PENDING в ответ на запрос на активацию или повторное активацию VC, определяемого указанным NdisVcHandle. Диспетчер вызовов, инициирующий активацию VC с вызовом NdisCmActivateVc, не может уведомлять NDIS или его клиента о том, можно ли передавать данные в VC с помощью предоставленных параметров вызова, пока драйвер минипорта не вызывает NdisMCoActivateVcComplete.
Если драйвер минипорта обнаруживает недопустимые параметры вызова CM, активация VC завершается ошибкой при вызове NdisMCoActivateVcComplete. Сбой начальной активации VC может привести к тому, что протокол, создавший VC, разорвать его. Если минипорт-драйвер завершает запрос на повторное активацию установленного VC с новыми параметрами вызова, он должен восстановить исходные параметры вызова, установленные для этого VC. В зависимости от характера сетевого носителя минипорт-драйвер может изменить параметры мультимедиа, если флаги округления и/или округления задаются перед вызовом NdisMCoActivateVcComplete.
Вызов NdisMCoActivateVcComplete приводит к вызову NDIS функция ProtocolCmActivateVcComplete диспетчера вызовов, которая первоначально запрашивала активацию VC.