Condividi tramite


PROTOCOL_CL_INCOMING_CALL funzione di callback (ndis.h)

La funzione ProtocolClIncomingCall viene usata dai client orientati alla connessione che accettano chiamate in ingresso. Tali client devono avere funzioni ProtocolClIncomingCall . In caso contrario, la funzione ProtocolClIncomingCall registrata di un driver di protocollo di questo tipo può semplicemente restituire NDIS_STATUS_NOT_SUPPORTED.

Nota È necessario dichiarare la funzione usando il tipo di PROTOCOL_CL_INCOMING_CALL . Per altre informazioni, vedere la sezione Esempi seguente.
 

Sintassi

PROTOCOL_CL_INCOMING_CALL ProtocolClIncomingCall;

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

Parametri

[in] ProtocolSapContext

Specifica l'handle fornito originariamente dal client al momento della registrazione di SAP, che il gestore chiamate corrisponde all'offerta di chiamata in ingresso.

[in] ProtocolVcContext

Specifica l'handle per l'area di contesto per VC del client, restituita in precedenza a NDIS dalla relativa funzione ProtocolCoCreateVc .

[in, out] CallParameters

Puntatore a un buffer, formattato come struttura CO_CALL_PARAMETERS , che contiene i parametri di chiamata per questa chiamata offerta.

Valore restituito

ProtocolClIncomingCall può restituire uno dei codici di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Il client ha accettato l'offerta di chiamata in arrivo.
NDIS_STATUS_PENDING
Il client gestisce questa richiesta in modo asincrono e chiamerà Funzione NdisClIncomingCallComplete al termine dell'operazione di chiusura.
NDIS_STATUS_XXX
Il client ha rifiutato l'offerta di chiamata in arrivo per un motivo determinato dal driver.

Commenti

Una chiamata a ProtocolClIncomingCall indica che il gestore chiamate ha ricevuto una richiesta in rete da un peer di segnalazione per stabilire una connessione con questo client. In altri termini, la richiesta di configurazione di tale connessione è stata indirizzata a un sap registrato in precedenza con il gestore chiamate da questo client.

A seconda del protocollo di segnalazione supportato dal gestore chiamate, ProtocolClIncomingCall può modificare i parametri del traffico come parte del processo di negoziazione dell'accettazione di un'offerta di chiamata in ingresso e/o, se il gestore chiamate supporta QoS, la qualità della specifica del servizio in CallParameters . Il client deve copiare le informazioni necessarie successivamente da questa struttura memorizzata nel buffer se accetta la chiamata offerta.

Supponendo che il gestore chiamate trovi le modifiche del client, se presenti, accettabili, NDIS chiama la funzione ProtocolClIncomingCallConnected del client quando diventa possibile che i trasferimenti si verifichino nel vc attivo che rappresenta la connessione al client nel nodo remoto che ha originariamente avviato l'offerta di chiamata. Se il client restituisce parametri di chiamata modificati inaccettabili, il gestore chiamate può rimuovere il vc creato per questa offerta, causando così chiamate al client ProtocolClIncomingCloseCall e quindi le funzioni ProtocolCoDeleteVc .

Esempi

Per definire una funzione ProtocolClIncomingCall , è innanzitutto necessario fornire una dichiarazione di funzione che identifica il tipo di funzione che si sta definendo. Windows fornisce un set di tipi di funzione per i driver. La dichiarazione di una funzione con i tipi di funzione consente di eseguire l'analisi del codice per i driver, l'SDV ( Static Driver Verifier ) e altri strumenti di verifica rilevano gli errori ed è un requisito per la scrittura dei driver per il sistema operativo Windows.

Ad esempio, per definire una funzione ProtocolClIncomingCall denominata "MyClIncomingCall", usare il tipo PROTOCOL_CL_INCOMING_CALL come illustrato nell'esempio di codice seguente:

PROTOCOL_CL_INCOMING_CALL MyClIncomingCall;

Implementare quindi la funzione come segue:

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

Il tipo di funzione PROTOCOL_CL_INCOMING_CALL è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori quando si eseguono gli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations assicura che vengano utilizzate le annotazioni applicate al tipo di funzione PROTOCOL_CL_INCOMING_CALL nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo di funzione per i driver NDIS.

Per informazioni sulle Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere ProtocolClIncomingCall (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere ProtocolClIncomingCall (NDIS 5.1)) in Windows XP.
Piattaforma di destinazione Windows
Intestazione ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

CO_CALL_PARAMETERS

NdisClIncomingCallComplete

NdisClRegisterSap

NdisCmDispatchIncomingCall

NdisMCmDispatchIncomingCall

ProtocolClCallConnected

ProtocolClIncomingCloseCall

ProtocolCoCreateVc

ProtocolCoDeleteVc