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

指定使用 NdisCoCreateVc 创建的标识 VC 的句柄,该句柄在调用管理器处理定向到此已注册 SAP 的传入呼叫产品/服务时

[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

要求

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