从多点呼叫中删除参与方

充当多点调用根的面向连接的客户端最终必须使用 NdisClDropPartyNdisClCloseCall 从该调用中删除每一方。

在以下情况下,客户端从呼叫中删除参与方:

客户端对 NdisClDropParty 的调用会导致 NDIS 调用调用管理器或 MCM 驱动程序的 ProtocolCmDropParty 函数,该调用管理器或 MCM 驱动程序与多点 VC 共享相同的 NdisVcHandle

下图显示了请求从多点调用中删除参与方的调用管理器的客户端。

显示请求从多点调用中删除参与方的呼叫管理器的客户端的关系图。

下图显示了请求从多点调用中删除参与方的 MCM 驱动程序的客户端。

显示请求从多点调用中删除参与方的 MCM 驱动程序的客户端的关系图。

ProtocolCmDropParty 与网络控制设备通信,以从现有多点调用中删除一方。 NDIS 可以向 ProtocolCmDropParty 传递指向缓冲区的指针,该缓冲区包含 (调用 NdisClDropParty) 时提供给客户端的数据。 ProtocolCmDropParty 必须在断开连接之前跨网络发送任何此类数据。

对于调用管理器,ProtocolCmDropParty 可以使用 NdisCmDropPartyComplete 以同步方式完成,或者更可能的是异步完成,如果是 MCM 驱动程序,则 NdisMCmDropPartyComplete

调用 Ndis (M) CmDropPartyComplete 会导致 NDIS 调用客户端的 ProtocolClDropPartyComplete 函数。 如果客户端正在拆除其创建的多点 VC,ProtocolClDropPartyComplete 可以使用任何有效的 NdisPartyHandle 调用 NdisClDropParty,以访问客户端的活动多点 VC 上的一个剩余方。 如果只有一方保留在其多点 VC 上,则客户端应将其 NdisPartyHandle 传递给 NdisClClCloseCall (请参阅 客户端发起的关闭呼叫) 请求,从而 删除该方。