从多点呼叫中删除参与方

作为多点调用根的连接型客户端最终必须使用 NdisClDropPartyNdisClCloseCall 从该调用中删除每个方。

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

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

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

diagram illustrating the client of a call manager requesting to drop a party from a multipoint call.

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

diagram illustrating the client of an mcm driver requesting to drop a party from a multipoint call.

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

对于调用管理器或 NdisMCmDropPartyComplete,ProtocolCmDropPartyPartyComplete 可以在 MCM 驱动程序的情况下以异步方式或更可能地完成

调用 Ndis (M) CmDropPartyComplete 会导致 NDIS 调用客户端的 ProtocolClDropPartyComplete 函数。 如果客户端正在将其创建的多点 VC 拆毁,ProtocolClDropPartyComplete 可将具有任何有效 NdisPartyHandle 的 NdisClDropPartyPartyParty 调用客户端的活动多点 VC 上的一个剩余方。 如果只有一方保留在其多点 VC 上,则客户端应通过将 NdisPartyHandle 传递给 NdisCloseCall (查看 客户端发起的请求以关闭呼叫) 来删除该方。