將合作物件新增至多點通話
用戶端要求使用 NdisClAddParty將合作物件新增至多點呼叫。 用戶端只能將合作物件新增至現有的多點呼叫,也就是用戶端將 ProtocolPartyCoNtext 提供給 NdisClMakeCall 的呼叫 (請參閱 呼叫) 。
下圖顯示呼叫管理員的用戶端,要求將合作物件新增至多點通話。
下圖顯示要求將合作物件新增至多點呼叫之 MCM 驅動程式的用戶端。
在呼叫 NdisClAddParty之前,用戶端必須配置並初始化其內容區域,才能新增合作物件。 用戶端通常會在呼叫NdisClAddParty時,將這類內容區域的指標當作ProtocolPartyCoNtext和該內容區域內變數的指標傳遞為NdisPartyHandle參數。
除了 NdisVcHandle 和 ProtocolPartyCoNtext之外,用戶端還會將呼叫參數 (緩衝 CO_CALL_PARAMETERS 結構) 傳遞至 NdisClAddParty。 基礎網路媒體會決定用戶端是否可以在多點 VC 上指定每一方流量參數。
對 NdisClAddParty的呼叫會導致 NDIS 將此要求轉送至呼叫管理員或 MCM 驅動程式的ProtocolCmAddParty函式,用戶端會與其共用指定的NdisVcHandle 。 NDIS 會將下列專案傳遞至 ProtocolCmAddParty:
CallMgrVcCoNtext,指出呼叫的 VC。
CO_CALL_PARAMETERS 結構的指標,其中包含用戶端傳遞至 NdisClAddParty的呼叫參數。
識別要新增之合作物件的 NdisPartyHandle 。
ProtocolCmAddParty 會配置並初始化要新增至呼叫之合作物件所需的任何動態資源。 從 ProtocolCmAddParty,呼叫管理員或 MCM 驅動程式會視需要與網路控制裝置或其他媒體特定代理程式通訊,以將指定的合作物件新增至多點通話。
如果用戶端傳入的呼叫參數不符合針對多點 VC 建立的參數,則呼叫管理員或 MCM 驅動程式可以,例如:
如果基礎網路媒體在多點 VM 上支援此功能,請設定每一方流量參數。
將用戶端提供的流量參數重設為原本為 VC 建立的流量參數。
變更 VC 的呼叫參數,以及目前在其上連線的每個合作物件。
無法讓用戶端嘗試新增合作物件。
ProtocolCmAddParty 可以在 MCM 驅動程式的情況下,使用 NdisCmAddPartyComplete以非同步方式完成,或是在呼叫管理員或 NdisMCmAddPartyComplete的情況下完成。 無論呼叫管理員或 MCM 驅動程式是否以同步或非同步方式完成作業,都會將緩衝呼叫參數傳遞至 NDIS。
呼叫 Ndis (M) CmAddPartyComplete 會導致 NDIS呼叫用戶端的ProtocolClAddPartyComplete函式。 如果用戶端要求新增合作物件成功,而且訊號通訊協定允許呼叫管理員或 MCM 驅動程式修改呼叫參數, ProtocolClAddPartyComplete 應該在緩衝處理CO_CALL_PARAMETERS結構中測試CALL_PARAMETERS_CHANGED旗標,以判斷是否已修改呼叫參數。 訊號通訊協定會判斷用戶端在找到無法接受CO_CALL_PARAMETERS修改時可以執行的動作。 通常,用戶端在此案例中呼叫 NdisClDropParty (請參閱 從多點通話) 卸載合作物件 。