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