NdisCmDispatchIncomingCall 函数 (ndis.h)

NdisCmDispatchIncomingCall 通知客户端该客户端以前注册的 SAP 上的传入呼叫。

语法

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

参数

[in] NdisSapHandle

指定标识 SAP 的句柄。 当客户端最初调用 NdisClRegisterSap 时,NDIS 会设置此句柄,而调用管理器最初获取此句柄作为其输入参数 ProtocolCmRegisterSap 函数。

[in] NdisVcHandle

指定标识 VC 的句柄,当调用管理器处理定向到此已注册 SAP 的传入呼叫套餐时,使用 NdisCoCreateVc 创建。

[in] CallParameters

指向 类型为 CO_CALL_PARAMETERS 结构的指针,该结构指定 VC 的流量和媒体参数。

返回值

NdisCmDispatchIncomingCall 返回除 NDIS_STATUS_PENDING 以外的任何内容时,调用管理器应对其进行内部调用 ProtocolCmIncomingCallComplete 函数。 否则,完成此操作时,NDIS 会调用 CM 的 ProtocolCmIncomingCallComplete 函数。

注解

在调用 NdisCmDispatchIncomingCall 之前,独立的呼叫管理器已执行以下操作:

  • 标识了以前由特定客户端注册的目标 SAP,用于实际调用 (,该请求) 通过网络接收的连接
  • 使用 NdisCoCreateVc 为传入呼叫创建了 VC
  • 可能通过网络协商了可接受的调用参数,或者接受了从远程节点发送的调用参数
  • 使用 NdisCmActivateVc 激活了 VC,使基础微型端口驱动程序根据协商或接受的调用参数为 VC 上的传输做好准备
CM 对 NdisCmDispatchIncomingCall 的调用会导致 NDIS 调用客户端的 ProtocolClIncomingCall 函数,在该函数中,客户端接受或拒绝请求的连接。 在决定是否接受连接后,客户端调用 NdisClIncomingCallComplete,后者又调用 CM 的 ProtocolCmIncomingCallComplete 函数。 如果客户端接受了调用,则 CM 接下来将调用 NdisCmDispatchCallConnected。 否则,它会在通知远程节点提供呼叫被拒绝后,停用 (,并可能删除它创建的 VC) 。

只有向 NDIS 注册为协议驱动程序的独立调用管理器才能调用 NdisCmDispatchIncomingCall。 提供集成呼叫管理支持的面向连接的微型端口驱动程序改为调用 NdisMCmDispatchIncomingCall

要求

要求
最低受支持的客户端 支持 NDIS 6.0 和 NDIS 5.1 驱动程序 (请参阅 Windows Vista 中的 NdisCmDispatchIncomingCall (NDIS 5.1) ) 。 NDIS 5.1 驱动程序支持 (请参阅 Windows XP 中的 NdisCmDispatchIncomingCall (NDIS 5.1) ) 。
目标平台 桌面
标头 ndis.h (包括 Ndis.h)
Library 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