Функция 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 .
Возвращаемое значение
Никакой
Замечания
В ходе обычных сетевых операций автономный вызов CM NdisCmDispatchIncomingCloseC all с CloseStatus NDIS_STATUS_SUCCESS, так как соответствующий клиент на удаленном узле вызвал NdisCloseCall.
Однако диспетчер вызовов также может вызывать NdisCmDispatchIncomingCloseCall, если происходит одно из следующих действий:
- Диспетчер вызовов уведомил клиента о входящего предложения звонка. Когда cm's функция ProtocolCmIncomingCallComplete вызывается с принятием клиентом, он проверяет параметры входного вызова, измененные клиентом. ProtocolCmIncomingCallComplete определяет, что клиент предлагает неподдерживаемые параметры вызова для подключения, поэтому он вызывает NdisCmDispatchIncomingCloseCall.
- Ненормальные сетевые условия вынуждают диспетчер вызовов отключать активные вызовы. Например, если диспетчер вызовов уведомляется, когда любая ссылка на подключение между этим клиентом и удаленной стороной к подключению выходит из строя, CM вызовет NdisCmDispatchIncomingCloseCall, чтобы предотвратить попытку клиента (или ожидать) дальнейшего передачи данных по такому сломающемуся соединению.
Вызов NdisCmDispatchIncomingCloseC all вызывает NDIS для вызова клиента функция ProtocolClIncomingCloseCall.
Только автономные диспетчеры вызовов, которые регистрируют себя в качестве драйверов протокола NDIS, могут вызывать NdisCmDispatchIncomingCloseCall. Драйверы минипорта, ориентированные на подключение, которые предоставляют вызов поддержки управления звонками вместо этого NdisMCmDispatchIncomingCall.