NdisClIncomingCallComplete 函式 (ndis.h)
NdisClIncomingCallComplete 會傳回用戶端接受或拒絕提供的傳入呼叫,而用戶端的 ProtocolClIncomingCall 函式先前傳回NDIS_STATUS_PENDING。
語法
void NdisClIncomingCallComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE NdisVcHandle,
[in] PCO_CALL_PARAMETERS CallParameters
);
參數
[in] Status
如果用戶端接受提供的呼叫,則會設定為 NDIS_STATUS_SUCCESS。 否則,此參數可以設定為任何 NDIS_STATUS_XXX ,但 NDIS_STATUS_PENDING 表示拒絕呼叫的客戶端判斷原因。
[in] NdisVcHandle
指定呼叫管理員所建立之 VC 的句柄,以代表連入呼叫。 用戶端從其每個 VC 狀態取得此句柄,而 ProtocolVcContext 所指定的狀態會當做輸入參數傳遞給它的 ProtocolClIncomingCall 函式。
[in] CallParameters
型別CO_CALL_PARAMETERS結構的指標,指定傳入呼叫的呼叫參數。
傳回值
無
備註
如果用戶端的 ProtocolClIncomingCall 函式針對特定 SAP 上提供的呼叫傳回NDIS_STATUS_PENDING,先前由用戶端向 NdisClRegisterSap 註冊,則客戶端後續必須呼叫 NdisClIncomingCallComplete ,以指出它是否接受或拒絕提供的呼叫。
在呼叫 NdisClIncomingCallComplete 之前,這類用戶端可以藉由呼叫 NdisClModifyCallQoS 一或多次與呼叫管理員交涉,直到這兩個驅動程式在連入通話可接受的服務品質上達成合約,或客戶端判斷它應該拒絕提供的呼叫,因為其嘗試修改 QoS 達到某些客戶端決定的限制,而不會產生合約。
如果客戶端已變更傳入其 ProtocolClIncomingCall 函式的呼叫參數,則必須在將這些變更傳遞至 NdisClIncomingCallComplete 時,使用 CALL_PARAMETERS_CHANGED 設定CO_CALL_PARAMETERS結構中的 Flags 成員。 根據呼叫管理員是否接受或拒絕客戶端對呼叫參數的建議變更,NDIS 接著會呼叫用戶端的 ProtocolClCallConnected 函式 或其 ProtocolClIncomingCloseCall 函式分別為 。
呼叫 NdisClIncomingCallComplete 會導致 NDIS 呼叫 CM 的 ProtocolCmIncomingCallComplete 函式 。 NDIS 會將 NdisClIncomingCallComplete 的用戶端提供參數當作輸入參數傳遞至 ProtocolCmIncomingCallComplete。
如果用戶端將 Status 設定為NDIS_STATUS_SUCCESS以外的項目來拒絕提供的呼叫,客戶端必須在呼叫 NdisClIncomingCallComplete 時立即考慮 CallParameters 指標無效。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | (支援 NDIS 6.0 和 NDIS 5.1 驅動程式,請參閱 Windows Vista 中的 NdisClIncomingCallComplete (NDIS 5.1) ) 。 (支援 NDIS 5.1 驅動程式,請參閱 Windows XP 中的 NdisClIncomingCallComplete (NDIS 5.1) ) 。 |
目標平台 | 桌面 |
標頭 | ndis.h (包含 Ndis.h) |
程式庫 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | Irql_Protocol_Driver_Function () |