Функция NdisCmDispatchIncomingCall (ndis.h)

NdisCmDispatchIncomingCall сообщает клиенту о входящем вызове sap, ранее зарегистрированном этим клиентом.

Синтаксис

NDIS_STATUS NdisCmDispatchIncomingCall(
  [in] NDIS_HANDLE         NdisSapHandle,
  [in] NDIS_HANDLE         NdisVcHandle,
  [in] PCO_CALL_PARAMETERS CallParameters
);

Параметры

[in] NdisSapHandle

Указывает дескриптор, определяющий SAP. NDIS настраивает этот дескриптор, когда клиент первоначально назвал NdisClRegisterSap, и диспетчер вызовов первоначально получил этот дескриптор в качестве входного параметра для егоФункция ProtocolCmRegisterSap.

[in] NdisVcHandle

Указывает дескриптор, определяющий VC, созданный с помощью NdisCoCreateVc , когда диспетчер вызовов обрабатывает входящее предложение вызова, направленное на этот зарегистрированный SAP.

[in] CallParameters

Указатель на структуру типа CO_CALL_PARAMETERS , задающую параметры трафика и мультимедиа для VC.

Возвращаемое значение

Когда NdisCmDispatchIncomingCall возвращает что-либо, кроме NDIS_STATUS_PENDING, диспетчер вызовов должен выполнить внутренний вызов к ней.Функция ProtocolCmIncomingCallComplete. В противном случае NDIS вызывает функцию ProtocolCmIncomingCallComplete CM по завершении этой операции.

Комментарии

Перед вызовом NdisCmDispatchIncomingCall автономный диспетчер вызовов уже сделал следующее:

  • Определен целевой SAP, ранее зарегистрированный определенным клиентом, для вызова (фактически запроса на подключение), полученного по сети.
  • Создан VC для входящего вызова с помощью NdisCoCreateVc
  • Возможно, договорились о допустимых параметрах вызова по сети или приняли параметры вызова, отправленные с удаленного узла.
  • Активировал VC с помощью NdisCmActivateVc, что привело к тому, что базовый драйвер минипорта готов к передаче в VC в соответствии с согласованными или принятыми параметрами вызова.
Вызов CM к NdisCmDispatchIncomingCall приводит к вызову NDIS функции ProtocolClIncomingCall клиента, в которой клиент принимает или отклоняет запрошенные подключения. После принятия решения о принятии подключения клиент вызывает NdisClIncomingCallComplete, который, в свою очередь, вызывает cm'sФункция ProtocolCmIncomingCallComplete. Если клиент принял вызов, cm next вызывает NdisCmDispatchCallConnected. В противном случае он деактивирует (и, возможно, удаляет) созданный VC после уведомления удаленного узла о том, что предлагаемый вызов был отклонен.

Только автономные диспетчеры вызовов, которые регистрируются в NDIS в качестве драйверов протокола, могут вызывать NdisCmDispatchIncomingCall. Вместо этого драйверы мини-порта, ориентированные на подключение, которые обеспечивают встроенную поддержку управления вызовами NdisMCmDispatchIncomingCall .

Требования

   
Минимальная версия клиента Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. статью NdisCmDispatchIncomingCall (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisCmDispatchIncomingCall (NDIS 5.1)) в Windows XP.
Целевая платформа Рабочий стол
Заголовок ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI Irql_CallManager_Function(ndis)

См. также раздел

CO_CALL_PARAMETERS

NdisClIncomingCallComplete

NdisClRegisterSap

NdisCmActivateVc

NdisCmDeactivateVc

NdisCmDispatchCallConnected

NdisCoCreateVc

NdisCoDeleteVc

NdisCoSendNetBufferLists

NdisMCmDispatchIncomingCall

ProtocolClIncomingCall

ProtocolCmIncomingCallComplete

ProtocolCmRegisterSap

ProtocolCoReceiveNetBufferLists