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 ()

另請參閱

CO_CALL_PARAMETERS

NdisClModifyCallQoS

NdisClRegisterSap

NdisCmDispatchIncomingCall

ProtocolClCallConnected

ProtocolClIncomingCall

ProtocolClIncomingCloseCall

ProtocolCmIncomingCallComplete