Condividi tramite


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.

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

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

Vedi anche

NdisClDeregisterSap

NdisClRegisterSap

NdisCmDeregisterSapComplete

NdisFreeMemory

NdisFreeToNPagedLookasideList

NdisMCmDeregisterSapComplete

ProtocolCmDeregisterSap