虛擬連線的差異
呼叫管理員會使用 訊號傳送和 接收來自網路實體的訊號訊息,例如交換器。 NDIS 可以看到通話管理員的訊號 VM。 呼叫管理員必須建立、啟用、停用和刪除具有 NDIS 呼叫的所有 VM。 不過,MCM 驅動程式的訊號 VM 對 NDIS 不透明。 MCM 驅動程式不會建立、啟用、停用和刪除具有 NDIS 呼叫的訊號 VM。 相反地,MCM 驅動程式會在內部執行這類作業。 MCM 驅動程式必須呼叫 NDIS,才能對用來傳送或接收用戶端資料的 VM 執行作業。 這是因為 NDIS 必須追蹤用戶端 VM。
因為 MCM 驅動程式同時是呼叫管理員和迷你埠驅動程式,所以某些連接導向的函式是多餘的。 具體而言, MiniportCoCreateVc 和 MiniportCoDeleteVc 是多餘的,因此 MCM 驅動程式不會提供。 VC 作業由下列方式處理:
當用戶端要求建立或刪除 VC 時,MCM 驅動程式的 ProtocolCoCreateVc 和 ProtocolCoDeleteVc 會運作。
當 MCM 驅動程式建立或刪除 VC 時,NdisMCmCreateVc和NdisMCmDeleteVc。
當 MCM 驅動程式啟動或停用 VC 時,NdisMCmActivateVc和NdisCmDeactivateVc。
MCM 驅動程式必須提供 MiniportCoOidRequest 函式,供用戶端用於查詢或設定 miniport 驅動程式資訊,以及 MiniportCoSendNetBufferLists 函式,以處理來自用戶端的傳送作業。