PROTOCOL_CL_DEREGISTER_SAP_COMPLETE funzione di callback (ndis.h)
La funzione ProtocolClDeregisterSapComplete viene usata dai client NDIS orientati alla connessione. I client NDIS orientati alla connessione che accettano chiamate in ingresso devono avere funzioni ProtocolClDeregisterSapComplete per completare le operazioni asincrone avviate con NdisClDeregisterSap. In caso contrario, tale funzione ProtocolClegisterSapComplete del driver di protocollo può semplicemente restituire il controllo.
Sintassi
PROTOCOL_CL_DEREGISTER_SAP_COMPLETE ProtocolClDeregisterSapComplete;
void ProtocolClDeregisterSapComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE ProtocolSapContext
)
{...}
Parametri
[in] Status
Specifica lo stato finale della richiesta del client per annullare la registrazione del relativo SAP, che può essere uno dei seguenti:
NDIS_STATUS_SUCCESS
Sap è stata chiusa. NdisSapHandle che rappresentava il client registrato in precedenza sap, che il client archiviato nell'area ProtocolSapContext, non è ora valido.
NDIS_STATUS_FAILURE
NDIS ha contrassegnato lo stato dell'AF come "chiusura", quindi l'istanza di SAP associata rappresentata da NdisSapHandle è già stata rilasciata quando la chiamata del client aSi è verificato NdisClDeregisterSap.
NDIS_STATUS_XXX
Il gestore chiamate ha superato la richiesta di chiudere SAP per un motivo determinato da CM e NDIS ha propagato lo stato restituito dal relativo Funzione ProtocolCmDeregisterSap nel client.
[in] ProtocolSapContext
Specifica l'handle fornito dal client nell'area del contesto PER SAP, originariamente passata a NDIS con NdisClRegisterSap. Dopo che il gestore chiamate ha eseguito correttamente la registrazione di questo SAP, il client può rilasciare l'area di contesto o preparare l'area di contesto per il riutilizzo.
Valore restituito
nessuno
Osservazioni
Una chiamata a ProtocolClDeregisterSapComplete indica che la chiamata precedente del client a NdisClDeregisterSap è stata elaborata dal gestore chiamate.
A meno che il gestore chiamate non sia riuscito a registrare per qualche motivo determinato da CM, il client deve considerare l'errore NdisSapHandle quando viene chiamato ProtocolClegisterSapComplete . Di conseguenza , ProtocolClDeregisterSapComplete può rilasciare l'area di contesto per SAP allocata dal client o prepararla per il riutilizzo in una chiamata successiva a NdisClRegisterSap.
Esempi
Per definire una funzione ProtocolClDeregisterSapComplete , è prima 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 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 ProtocolClDeregisterSapComplete denominata "MyClDeregisterSapComplete ", usare il tipo di PROTOCOL_CL_DEREGISTER_SAP_COMPLETE come illustrato in questo esempio di codice:
PROTOCOL_CL_DEREGISTER_SAP_COMPLETE MyClDeregisterSapComplete;
Implementare quindi la funzione come indicato di seguito:
_Use_decl_annotations_
VOID
MyClDeregisterSapComplete(
NDIS_STATUS Status,
NDIS_HANDLE ProtocolSapContext
)
{...}
Il tipo di funzione PROTOCOL_CL_DEREGISTER_SAP_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_DEREGISTER_SAP_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 ProtocolClDeregisterSapComplete (NDIS 5.1) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere ProtocolClDeregisterSapComplete (NDIS 5.1) in Windows XP. |
Piattaforma di destinazione | Windows |
Intestazione | ndis.h (includere Ndis.h) |
IRQL | <= DISPATCH_LEVEL |