Макрос NdisMCmDispatchIncomingCloseCall (ndis.h)
NdisMCmDispatchIncomingCloseCall сообщает клиенту об удалении активного или предлагаемого вызова, как правило, из-за того, что драйвер MCM получил запрос из сети на закрытие подключения.
Синтаксис
void NdisMCmDispatchIncomingCloseCall(
_S_,
_H_,
_B_,
_Z_
);
Параметры
_S_
Задает определяемую вызывающим элементом NDIS_STATUS_XXX, указывающую причину запроса на отключение. Во время обычных сетевых операций драйвер MCM передает NDIS_STATUS_SUCCESS, чтобы указать, что он получил запрос, инициированный удаленной стороной, на закрытие активного вызова.
_H_
Указывает дескриптор для VC отключаемого вызова. Этот дескриптор был предоставлен NDIS при первоначальном создании VC, будь то драйвер MCM с NdisMCmCreateVc или в качестве входного параметра для функции ProtocolCoCreateVc .
_B_
Указатель на выделенный вызывающим абонентом резидентный буфер, содержащий дополнительные данные об отключении, относящиеся к определенному протоколу, если таковые есть. В зависимости от базового носителя этот указатель может иметь значение NULL.
_Z_
Указывает размер буфера в байтах, если буфер имеет значение NULL.
Возвращаемое значение
None
Remarks
В ходе обычных сетевых операций драйвер MCM вызывает NdisMCmDispatchIncomingCloseCall с параметром CloseStatus , равным NDIS_STATUS_SUCCESS так как соответствующий клиент на удаленном узле вызвал NdisClCloseCall.
Однако драйвер MCM также может вызывать NdisMCmDispatchIncomingCloseCall , если происходит одно из следующих действий:
- Драйвер MCM уведомил клиента о входящем предложении вызова. Когда у водителя мини-порта Функция ProtocolCmIncomingCallComplete вызывается с принятием клиентом, она проверяет параметры входного вызова, измененные этим клиентом. ProtocolCmIncomingCallComplete определяет, что клиент предлагает неподдерживаемые параметры вызова для соединения, поэтому вызывает NdisMCmDispatchIncomingCloseCall.
- Аномальные сетевые условия заставляют драйвер MCM удалять активные вызовы. Например, если драйвер MCM получает уведомление о том, что какая-либо связь между этим клиентом и удаленной стороной подключения выходит из строя, драйвер мини-порта вызовет NdisCmDispatchIncomingCloseCall , чтобы предотвратить клиент от попытки (или ожидания) дальнейшей передачи данных в таком нарушенном подключении.
Вызов NdisMCmDispatchIncomingCloseCall вызывает NDIS для вызова клиента Функция ProtocolClIncomingCloseCall .
NdisMCmDispatchIncomingCall могут вызывать только драйверы мини-портов, ориентированные на подключение, которые обеспечивают поддержку управления звонками. Автономные диспетчеры вызовов, которые регистрируют себя в NDIS в качестве драйверов протокола, вызывают вместо этого NdisCmDispatchIncomingCloseCall .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisMCmDispatchIncomingCloseCall (NDIS 5.1)) в Windows XP. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ndis.h (включая Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | Irql_MCM_Function(ndis) |