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


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

NdisMCmDeactivateVc уведомляет NDIS о том, что на определенном активном VC передача не будет.

Синтаксис

NDIS_STATUS NdisMCmDeactivateVc(
  [in] NDIS_HANDLE NdisVcHandle
);

Параметры

[in] NdisVcHandle

Задает дескриптор, определяющий VC. Этот дескриптор был предоставлен NDIS драйверу MCM либо при вызове NdisMCmCreateVc для входящего вызова, либо при настройке функции ProtocolCoCreateVc для исходящего вызова, инициированного клиентом.

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

NdisMCmDeactivateVc может вернуть одно из следующих элементов:

Возвращаемый код Описание
NDIS_STATUS_SUCCESS
NDIS помечает VC как неактивный.
NDIS_STATUS_NOT_ACCEPTED
VC уже деактивирован, поэтому этот вызов является избыточным.

Замечания

Драйвер MCM вызывает NdisMCmDeactivateVc в качестве важного шага закрытия вызова, как правило, после обмена пакетами с сетевыми компонентами, которые удаляют подключение.

Успешный вызов NdisMCmDeactivateVc позволяет драйверу MCM отменить текущие параметры вызова для передачи в VC, возможно, повторно инициализации их в значениях по умолчанию, определяемых мини-портом. Однако если VC повторно активируется для другого вызова, клиент будет предоставлять новые параметры вызова мини-драйверу.

NdisVcHandle, переданной NdisMCmDeactivateVc остается действительным после завершения деактивации VC. Деактивация любого VC позволяет создателю повторно инициализировать VC для повторного использования или уничтожить его:

  • После деактивации VC и закрытия вызова клиент может повторно использовать VC, который он изначально создал для выполнения другого вызова с NdisClMakeCall, или он может вызывать NdisCoDeleteVc, тем самым вызывая вызов функции драйвера MCM ProtocolCoDeleteVc.
  • После деактивации VC и закрытия вызова драйвер MCM может повторно использовать VC, который он первоначально создал, чтобы указать другой входящий вызов к тому же клиенту с NdisMCmDispatchIncomingCallили может вызывать NdisMCmDeleteVc.
Модуль записи драйверов определяет, имеет ли драйвер MCM (внутреннюю) функцию MiniportCoDeactivateVc, которую драйвер вызывает в контексте разрыва подключений для исходящих и входящих вызовов.

Только драйверы минипорта, ориентированные на подключение, которые обеспечивают встроенную поддержку управления вызовами, могут вызывать NdisMCmDeactivateVc. Автономные диспетчеры вызовов, которые регистрируют себя в качестве драйверов протоколов NDIS, вызывают NdisCmDeactivateVc.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. NdisMCmDeactivateVc (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. NdisMCmDeactivateVc (NDIS 5.1)) в Windows XP.
целевая платформа Настольный
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL <= DISPATCH_LEVEL
правил соответствия DDI Irql_MCM_Function(ndis)

См. также

MiniportCoDeactivateVc

NdisCloseCall

NdisClMakeCall

NdisCmDeactivateVc

NdisMCmActivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmCloseCall

ProtocolCoDeleteVc