NdisMCmActivateVc 函式 (ndis.h)
NdisMCmActivateVc 通知 NDIS MCM 驅動程式已準備好在特定 VC 上進行傳輸。
語法
NDIS_STATUS NdisMCmActivateVc(
[in] NDIS_HANDLE NdisVcHandle,
[in] PCO_CALL_PARAMETERS CallParameters
);
參數
[in] NdisVcHandle
指定識別 VC 的句柄。
[in] CallParameters
呼叫端配置的緩衝區指標,格式化為類型 為 CO_CALL_PARAMETERS的結構,其中包含迷你埠驅動程式用於啟動 VC 的所有媒體特定參數。
傳回值
當 NdisMCmActivateVc 傳回NDIS_STATUS_PENDING以外的任何專案時,MCM 驅動程式應該對其進行內部呼叫 ProtocolCmActivateVcComplete 函式 。 否則,當此作業完成時,NDIS 會呼叫 MCM 驅動程式的 ProtocolCmActivateVcComplete 函式。
備註
NdisMCmActivateVc 會通知 NDIS MCM 驅動程式已在新建立的 VC 上設定呼叫和媒體參數,或變更已建立的 VC 上的呼叫參數。
MCM 驅動程式必須在 VC 上建立連線之後呼叫 NdisMCmActivateVc ,但在該 VC 上傳送或接收任何數據之前。 此呼叫會通知 NDIS 迷你埠驅動程式已準備好在 VC 上進行傳輸。
針對用戶端起始的傳出呼叫,MCM 驅動程式通常會在交握之後呼叫 NdisMCmActivateVc ,以表示與遠端節點的交涉合約或在交換器上成功呼叫設定,再向 NDIS (通知 NDIS,並使用 NdisMCmMakeCallComplete 通知 NDIS 和用戶端) 傳出通話完成。 針對連入通話,MCM 驅動程式通常會在呼叫 NdisMCmCreateVc 成功且呼叫之前呼叫 NdisMCmActivateVc 之後呼叫 NdisMCmActivateVc NdisMCmDispatchIncomingCall。
驅動程式寫入器會判斷 MCM 驅動程式是否有 (內部) MiniportCoActivateVc 函式,驅動程式在設定連出和連入呼叫的連線內容中呼叫。
在連線期間,MCM 驅動程式可以在網路變更和/或用戶端呼叫 NdisClModifyCallQoS 時修改呼叫參數。 如果 MCM 驅動程式可以根據新修改的呼叫參數,繼續在 VC 上進行傳輸,則必須更新其維護有關呼叫參數的狀態。 它必須呼叫 NdisMCmActivateVc ,以通知 NDIS 使用中 VC 之呼叫參數中的任何變更。 否則,MCM 驅動程式可以執行下列其中一項:
- 在用戶端要求修改 VC 的 QoS 或其他呼叫參數失敗之後,呼叫 NdisMCmDeactivateVc ,以致迷你埠驅動程式無法繼續在 VC 上進行傳輸。
- 將呼叫參數還原至先前接受的狀態、通知用戶端要求變更,並保持準備好繼續在 VC 上傳輸數據。 在此情況下,用戶端可以選擇接受還原的呼叫參數,或拒絕這些參數,並起始關閉 VC。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 支援 NDIS 6.0 和 NDIS 5.1 驅動程式 (請參閱 Windows Vista 中的 NdisMCmActivateVc (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 NdisMCmActivateVc (NDIS 5.1) ) 。 |
目標平台 | 桌面 |
標頭 | ndis.h (包括 Ndis.h) |
程式庫 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | Irql_MCM_Function (ndis) |