Поделиться через


Функция 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 к NdisCmDispatchIncomingC all вызывает NDIS для вызова функции ProtocolClIncomingCall, в которой клиент принимает или отклоняет запрошенные подключения. После принятия решения о том, следует ли принять подключение, клиент вызывает NdisClIncomingCallComplete, что, в свою очередь, вызывает cm's функция ProtocolCmIncomingCallComplete. Если клиент принял вызов, cm next вызывает NdisCmDispatchCallConnected. В противном случае он деактивирует (и, возможно, удаляет) созданную VC, после уведомления удаленного узла о отклонении предлагаемого вызова.

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. NdisCmDispatchIncomingCall (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. NdisCmDispatchIncomingCall (NDIS 5.1)) в Windows XP.
целевая платформа Настольный
заголовка ndis.h (include 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