共用方式為


啟用 VC

(建立虛擬連線 (VC) 之後,請參閱 建立 VC) ,必須先啟用它,才能傳輸或接收資料。 呼叫管理員會呼叫 NdisCmActivateVc 來起始 VC 的啟用 (請參閱下圖) 。

說明呼叫管理員起始 VC 啟用的圖表。

MCM 驅動程式會呼叫 NdisMCmActivateVc 來起始 VC 的啟用, (請參閱下圖) 。

說明起始 VC 啟用之 MCM 驅動程式的圖表。

如果本機用戶端或遠端合作物件成功交涉該 VC 上的呼叫參數變更,則呼叫管理員或 MCM 驅動程式可以起始作用中 VC 的重新啟用 (請參閱 用戶端起始的要求,以關閉呼叫傳入要求以變更呼叫參數) 。 呼叫管理員或 MCM 驅動程式可以多次呼叫 Ndis (M) CmActivateVc ,讓單一 VC 變更已使用中呼叫的呼叫參數。

針對用戶端起始的撥出電話,呼叫管理員或 MCM 驅動程式通常會在封包交換之後立即呼叫 Ndis (M) CmActivateVc ,確認與呼叫遠端目標交涉的合約,或在交換器上成功呼叫設定。 呼叫管理員或 MCM 驅動程式會 先呼叫 Ndis (M) CmActivateVc ,再通知 NDIS (,) 並使用 Ndis (M) M) CmMakeCallComplete (參閱 撥打電話) 。 對於來電,通話管理員或 MCM 驅動程式通常會在呼叫 NdisCo) (MCm (MCm) CreateVc 成功,並在呼叫 Ndi (s (M) CmDispatchIncomingCall (請參閱 指出 來電) 。

呼叫管理員的 NdisCmActivateVc 呼叫會導致 NDIS 呼叫基礎 迷你埠驅動程式的 MiniportCoActivateVc 函式。 MiniportCoActivateVc 必須驗證此 VC 的呼叫參數,以確認配接器可以支援要求的呼叫。 如果可接受呼叫參數, MiniportCoActivateVc 會視需要與其配接器通訊,以準備介面卡以在虛擬連線 (接收或傳輸資料,例如,程式設計接收緩衝區) 。 如果無法支援要求的呼叫參數,迷你埠驅動程式會失敗要求。

MiniportCoActivateVc 可以同步或非同步完成。 呼叫 NdisMCoActivateVcComplete會導致 NDIS 呼叫呼叫管理員的ProtocolCmActivateVcComplete函式。 ProtocolCmActivateVcComplete 必須檢查 NdisMCoActivateVcComplete 傳回的狀態,以確保虛擬連線已成功啟動。 如果迷你埠驅動程式未成功啟用 VC,呼叫管理員不得嘗試透過 VC 進行通訊。 ProtocolCmActivateVcComplete 也必須完成網路媒體所需的任何處理,以確保虛擬連線已準備好進行資料傳輸,再將控制權傳回 NDIS。

MCM 驅動程式對 NdisMCmActivateVc 的呼叫會通知 NDIS 它已在新建立的 VC 上設定呼叫和媒體參數,或在已建立的 VC 上變更呼叫參數。 此動作會通知 NDIS MCM 驅動程式已準備好在 VC 上進行傳輸。 NDIS 會藉由呼叫 MCM 驅動程式的 ProtocolCmActivateVcComplete 函式來完成啟用順序。

MCM 驅動程式會呼叫 NdisMCmActivateVc ,只啟用用於傳輸和/或接收用戶端資料的 VM,但無法啟用用於交換 MCM 驅動程式與網路元件之間訊號訊息的 VM,例如交換器。 MCM 驅動程式會在內部啟動訊號 VC,而不需要呼叫任何NdisXxx函式。 因此,MCM 驅動程式針對自己的訊號用途所設定的任何 VC 都不透明。