Функция 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 затем вызывает NdisCmDispatchCallConnected. В противном случае он отключает (и, возможно, удаляет) созданный им VC после уведомления удаленного узла о том, что предлагаемый вызов был отклонен.

Вызывать NdisCmDispatchIncomingCall могут только автономные диспетчеры вызовов, которые регистрируют себя в NDIS в качестве драйверов протоколов. Драйверы мини-портов, ориентированные на подключение, которые обеспечивают встроенную поддержку управления звонками, вызывают вместо этого 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