共用方式為


PROTOCOL_CL_INCOMING_CALL回呼函式 (ndis.h)

接受連入呼叫的連接導向用戶端會使用 ProtocolClIncomingCall 函式。 這類客戶端必須具有 protocolClIncomingCall 函式。 否則,這類通訊協定驅動程式的已註冊 ProtocolClIncomingCall 函式可以只傳回NDIS_STATUS_NOT_SUPPORTED。

Note 您必須使用 PROTOCOL_CL_INCOMING_CALL 類型來宣告函式。 如需詳細資訊,請參閱下列範例一節。
 

語法

PROTOCOL_CL_INCOMING_CALL ProtocolClIncomingCall;

NDIS_STATUS ProtocolClIncomingCall(
  [in]      NDIS_HANDLE ProtocolSapContext,
  [in]      NDIS_HANDLE ProtocolVcContext,
  [in, out] PCO_CALL_PARAMETERS CallParameters
)
{...}

參數

[in] ProtocolSapContext

指定客戶端在註冊 SAP 時原本提供的句柄,而呼叫管理員與這個來電供應專案相符。

[in] ProtocolVcContext

指定用戶端每個 VC 內容區域的句柄,先前由其 ProtocolCoCreateVc 函式傳回至 NDIS。

[in, out] CallParameters

緩衝區的指標,格式化為 CO_CALL_PARAMETERS 結構,其中包含此提供呼叫的呼叫參數。

傳回值

ProtocolClIncomingCall 可以傳回下列其中一個狀態代碼:

傳回碼 描述
NDIS_STATUS_SUCCESS
用戶端已接受來電供應專案。
NDIS_STATUS_PENDING
用戶端會以異步方式處理此要求,而且會呼叫當關閉作業完成時, NdisClIncomingCallComplete 函式。
NDIS_STATUS_XXX
用戶端因某些驅動程序決定的原因而拒絕來電供應專案。

言論

呼叫 ProtocolClIncomingCall 表示呼叫管理員已透過網路收到來自訊號對等的要求,以建立與這個客戶端的連線。 也就是說,設定這類連線的要求已導向此用戶端先前向呼叫管理員註冊的SAP。

根據呼叫管理員所支援的訊號通訊協定,ProtocolClIncomingCall 可以修改流量參數,作為交涉接受來電供應專案和/或,如果呼叫管理員支援 QoS,CallParameters 的服務質量規格。 如果用戶端接受提供的呼叫,客戶端應該複製後續從這個緩衝結構中所需的任何資訊。

假設呼叫管理員找到用戶端的修改,如果有的話,NDIS 接下來會呼叫用戶端的 ProtocolClIncomingCallConnected 函式,當傳輸可能發生在作用中 VC 上,代表原本起始呼叫供應專案的遠端節點上用戶端的聯機。 如果客戶端傳回無法接受的已修改呼叫參數,呼叫管理員可以卸除針對此供應專案建立的 VC,因而導致對用戶端的呼叫 ProtocolClIncomingCloseCall,然後改為 ProtocolCoDeleteVc 函式。

範例

若要定義 ProtocolClIncomingCall 函式,您必須先提供函式宣告,以識別您要定義的函式類型。 Windows 提供一組驅動程式的函式類型。 使用函式類型宣告函式有助於 驅動程式的程式代碼分析靜態驅動程序驗證器 (SDV)和其他驗證工具尋找錯誤,而且是撰寫 Windows作系統驅動程式的需求。

例如,若要定義名為 「MyClIncomingCall」 的 ProtocolClIncomingCall 函式,請使用 PROTOCOL_CL_INCOMING_CALL 類型,如下列程式代碼範例所示:

PROTOCOL_CL_INCOMING_CALL MyClIncomingCall;

然後,實作您的函式,如下所示:

_Use_decl_annotations_
NDIS_STATUS
 MyClIncomingCall(
    NDIS_HANDLE  ProtocolSapContext,
    NDIS_HANDLE  ProtocolVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

PROTOCOL_CL_INCOMING_CALL 函式類型定義於 Ndis.h 頭檔中。 若要在執行程式代碼分析工具時更準確地識別錯誤,請務必將 Use_decl_annotations 批註新增至函式定義。 Use_decl_annotations 批注可確保會使用套用至頭檔中 PROTOCOL_CL_INCOMING_CALL 函式類型的批注。 如需函式宣告需求的詳細資訊,請參閱 使用 NDIS 驅動程式的函式角色類型來宣告函式

如需 Use_decl_annotations的相關信息,請參閱 批注函式行為

要求

要求 價值
最低支援的用戶端 Windows Vista 中支援 NDIS 6.0 和 NDIS 5.1 驅動程式(請參閱 ProtocolClIncomingCall (NDIS 5.1)。 支援 NDIS 5.1 驅動程式(請參閱 Windows XP 中的 ProtocolClIncomingCall (NDIS 5.1)。
目標平臺 窗戶
標頭 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另請參閱

CO_CALL_PARAMETERS

NdisClIncomingCallComplete

NdisClRegisterSap

NdisCmDispatchIncomingCall

NdisMCmDispatchIncomingCall

ProtocolClCallConnected

ProtocolClIncomingCloseCall

ProtocolCoCreateVc

ProtocolCoDeleteVc