PROTOCOL_CL_CLOSE_CALL_COMPLETE funzione di callback (ndis.h)
La funzione ProtocolClCloseCallComplete viene usata dai client NDIS orientati alla connessione. Tutti i client NDIS orientati alla connessione devono avere funzioni ProtocolClCloseCallComplete per completare le operazioni asincrone avviate con
Sintassi
PROTOCOL_CL_CLOSE_CALL_COMPLETE ProtocolClCloseCallComplete;
void ProtocolClCloseCallComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE ProtocolVcContext,
[in, optional] NDIS_HANDLE ProtocolPartyContext
)
{...}
Parametri
[in] Status
Specifica lo stato finale della richiesta del client per chiudere questa chiamata, che può essere uno dei seguenti:
NDIS_STATUS_SUCCESS
Il gestore chiamate ha chiuso correttamente la chiamata esistente nel vc specificato e disattivata il VC.
NDIS_STATUS_XXX
Il gestore chiamate non ha superato la richiesta di chiudere la chiamata per un motivo determinato da CM e NDIS ha propagato lo stato restituito dalla funzione ProtocolCmCloseCall al client.
[in] ProtocolVcContext
Specifica l'handle nell'area di contesto per VC del client Questo è l'handle passato originariamente a NDIS con NdisCoCreateVc o restituito a NDIS dalla relativa funzione ProtocolCoCreateVc .
[in, optional] ProtocolPartyContext
Specifica l'handle per l'area di contesto per parti del client per l'ultima parte rimanente nel vc creato dal client che rappresenta una connessione a più punti. In caso contrario, questo parametro è NULL.
Valore restituito
nessuno
Osservazioni
Se il vc specificato è stato creato dal client e stato è NDIS_STATUS_SUCCESS, il client può ora eseguire una delle operazioni seguenti:
- Rimuovere il vc con NdisCoDeleteVc e prepararsi per riutilizzare le aree di contesto allocate.
- Reinizializzare l'area di contesto per VC e riutilizzarne il vc per creare un'altra connessione con NdisClMakeCall.
Esempi
Per definire una funzione ProtocolClCloseCallComplete , è prima necessario specificare 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 usando i tipi di funzione consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.Ad esempio, per definire una funzione ProtocolClCloseCallComplete denominata "MyClCloseCallComplete ", usare il tipo PROTOCOL_CL_CLOSE_CALL_COMPLETE come illustrato nell'esempio di codice seguente:
PROTOCOL_CL_CLOSE_CALL_COMPLETE MyClCloseCallComplete;
Implementare quindi la funzione come indicato di seguito:
_Use_decl_annotations_
VOID
MyClCloseCallComplete(
NDIS_STATUS Status,
NDIS_HANDLE ProtocolVcContext,
NDIS_HANDLE ProtocolPartyContext
)
{...}
Il tipo di funzione PROTOCOL_CL_CLOSE_CALL_COMPLETE è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori durante l'esecuzione degli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations garantisce che vengano usate le annotazioni applicate al tipo di funzione PROTOCOL_CL_CLOSE_CALL_COMPLETE nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver NDIS.
Per informazioni su 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 ProtocolClCloseCallComplete (NDIS 5.1) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere ProtocolClCloseCallComplete (NDIS 5.1) in Windows XP. |
Piattaforma di destinazione | Windows |
Intestazione | ndis.h (includere Ndis.h) |
IRQL | <= DISPATCH_LEVEL |