Функция NdisCmDispatchIncomingCloseCall (ndis.h)
NdisCmDispatchIncomingCloseCall сообщает клиенту об удалении активного или предлагаемого вызова, как правило, из-за того, что диспетчер вызовов получил запрос из сети на закрытие подключения.
Синтаксис
void NdisCmDispatchIncomingCloseCall(
[in] NDIS_STATUS CloseStatus,
[in] NDIS_HANDLE NdisVcHandle,
[in, optional] PVOID Buffer,
[in] UINT Size
);
Параметры
[in] CloseStatus
Указывает определяемую CM NDIS_STATUS_XXX, указывающую причину запроса на отключение. Во время обычных сетевых операций диспетчер вызовов передает NDIS_STATUS_SUCCESS, чтобы указать, что он получил запрос, инициированный удаленной стороной, на закрытие активного вызова.
[in] NdisVcHandle
Указывает дескриптор для VC отключаемого вызова. Этот дескриптор был предоставлен NDIS при первоначальном создании VC, будь то диспетчером вызовов или клиентом, с помощью NdisCoCreateVc.
[in, optional] Buffer
Указатель на выделенный вызывающим абонентом резидентный буфер, содержащий дополнительные данные об отключении, относящиеся к определенному протоколу, если таковые есть. В зависимости от базового носителя этот указатель может иметь значение NULL.
[in] Size
Указывает размер буфера в байтах, если буфер имеет значение NULL.
Возвращаемое значение
None
Remarks
В ходе обычных сетевых операций автономная cm вызывает NdisCmDispatchIncomingCloseCall с параметром CloseStatus , для которого задано значение NDIS_STATUS_SUCCESS, так как соответствующий клиент на удаленном узле вызвал NdisCloseCall.
Однако диспетчер вызовов также может вызывать NdisCmDispatchIncomingCloseCall , если происходит одно из следующих действий:
- Диспетчер звонков уведомил клиента о предложении о входящем вызове. Когда cm's Функция ProtocolCmIncomingCallComplete вызывается с принятием клиентом, она проверяет параметры входного вызова, измененные этим клиентом. ProtocolCmIncomingCallComplete определяет, что клиент предлагает неподдерживаемые параметры вызова для подключения, поэтому вызывает NdisCmDispatchIncomingCloseCall.
- Аномальные сетевые условия заставляют диспетчер звонков удалять активные вызовы. Например, если диспетчер вызовов получает уведомление о выходе из строя какой-либо связи между этим клиентом и удаленной стороной, CM вызовет NdisCmDispatchIncomingCloseCall , чтобы предотвратить попытку (или ожидание) дальнейшей передачи данных в таком нарушенном соединении.
Вызов NdisCmDispatchIncomingCloseCall вызывает NDIS для вызова клиента Функция ProtocolClIncomingCloseCall .
Вызывать NdisCmDispatchIncomingCloseCall могут только автономные диспетчеры вызовов, которые регистрируют себя с помощью NDIS в качестве драйверов протокола. Драйверы мини-портов, ориентированные на подключение, которые обеспечивают вызовы поддержки по управлению вызовами Вместо этого NdisMCmDispatchIncomingCall .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisCmDispatchIncomingCloseCall (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisCmDispatchIncomingCloseCall (NDIS 5.1)) в Windows XP. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | Irql_CallManager_Function(ndis) |