Функция NdisMCmDeactivateVc (ndis.h)
NdisMCmDeactivateVc уведомляет NDIS о том, что дальнейшие передачи для определенного активного виртуального экземпляра не будут выполняться.
Синтаксис
NDIS_STATUS NdisMCmDeactivateVc(
[in] NDIS_HANDLE NdisVcHandle
);
Параметры
[in] NdisVcHandle
Указывает дескриптор, определяющий VC. Этот дескриптор был предоставлен NDIS драйверу MCM либо при вызове NdisMCmCreateVc для входящего вызова, либо при настройке функции ProtocolCoCreateVc для исходящего вызова, инициированного клиентом.
Возвращаемое значение
NdisMCmDeactivateVc может возвращать одно из следующих элементов:
Код возврата | Описание |
---|---|
|
NDIS помечает VC как неактивный. |
|
VC уже деактивирован, поэтому этот вызов является избыточным. |
Комментарии
Драйвер MCM вызывает NdisMCmDeactivateVc в качестве важного шага при закрытии вызова, обычно после обмена пакетами с сетевыми компонентами, что разрывает соединение.
Успешный вызов NdisMCmDeactivateVc позволяет драйверу MCM отменить текущие параметры вызова для передачи в VC, возможно, повторно инициализировать их до значений по умолчанию, определяемых драйвером miniport. Однако если впоследствии VC повторно активируется для другого вызова, клиент предоставит драйверу мини-порта новые параметры вызова.
NdisVcHandle, переданный в NdisMCmDeactivateVc, остается действительным после завершения деактивации VC. Деактивация любого VC позволяет его создателю повторно инициализировать VC для повторного использования или уничтожить его:
- После деактивации VC и закрытия вызова клиент может повторно использовать VC, который он изначально создал для выполнения другого вызова с помощью NdisClMakeCall, или вызвать NdisCoDeleteVc, тем самым вызывая функцию ProtocolCoDeleteVc драйвера MCM.
- После деактивации VC и закрытия вызова драйвер MCM может повторно использовать VC, который он изначально создал, чтобы указать другой входящий вызов к тому же клиенту с помощью NdisMCmDispatchIncomingCall или может вызывать NdisMCmDeleteVc.
Вызывать 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 (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | Irql_MCM_Function(ndis) |