Condividi tramite


PROTOCOL_CM_DEREGISTER_SAP funzione di callback (ndis.h)

È necessaria la funzione ProtocolCmDeregisterSap . Questa funzione viene chiamata da NDIS per richiedere che un gestore chiamate deregisteri un SAP per conto di un client orientato alla connessione.

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

Sintassi

PROTOCOL_CM_DEREGISTER_SAP ProtocolCmDeregisterSap;

NDIS_STATUS ProtocolCmDeregisterSap(
  [in] NDIS_HANDLE CallMgrSapContext
)
{...}

Parametri

[in] CallMgrSapContext

Specifica l'handle di un'area di contesto allocata dal gestore chiamate in cui il gestore chiamate gestisce le informazioni sullo stato per SAP. Il gestore chiamate ha fornito questo handle a NDIS dal relativo Funzione ProtocolCmRegisterSap .

Valore restituito

ProtocolCmDeregisterSap restituisce lo stato delle operazioni seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Indica che il gestore chiamate ha rimosso correttamente la registrazione SAP ed ha liberato tutte le risorse allocate per gestire le informazioni per SAP.
NDIS_STATUS_PENDING
Indica che il gestore chiamate completerà la richiesta di annullare la registrazione asincrona di SAP. Il chiamante deve chiamare NdisCmDeregisterSapComplete per segnalare NDIS al termine dell'operazione.

Commenti

ProtocolCmDeregisterSap comunica con i dispositivi di controllo di rete o altri agenti specifici del supporto, se necessario, per annullare la registrazione di SAP in rete. Tali azioni possono includere, ma non sono limitate a:

  • Comunicazione con un hardware switching
  • Comunicazione con una stazione di controllo di rete
  • Comunicazione con altri agenti di rete specifici dei supporti
Se un gestore chiamate è necessario per comunicare con gli agenti di controllo di rete, ad esempio un commutatore di rete, deve usare una connessione virtuale all'agente di controllo di rete stabilito nella relativa funzione ProtocolBindAdapterEx . I gestori chiamate autonomi comunicano tramite il driver miniport sottostante chiamando NdisCoSendNetBufferLists. I driver Miniport che forniscono supporto integrato per la gestione delle chiamate non chiamano mai NdisCoSendNetBufferLists. Invece, trasmettono i dati direttamente attraverso la rete.

Inoltre, ProtocolCmDeregisterSap deve liberare qualsiasi risorsa allocata dinamicamente nella relativa area SAP, fornita in CallMgrSapContext, oltre a liberare l'area di stato stessa prima di restituire il controllo a NDIS.

Esempi

Per definire una funzione ProtocolCmDeregisterSap , è 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 ProtocolCmDeregisterSap denominata "MyCmDeregisterSap", usare il tipo PROTOCOL_CM_DEREGISTER_SAP , come illustrato in questo esempio di codice:

PROTOCOL_CM_DEREGISTER_SAP MyCmDeregisterSap;

Implementare quindi la funzione come segue:

_Use_decl_annotations_
NDIS_STATUS
 MyCmDeregisterSap(
    NDIS_HANDLE  CallMgrSapContext
    )
  {...}

Il tipo di funzione PROTOCOL_CM_DEREGISTER_SAP è 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 garantisce che vengano utilizzate le annotazioni applicate al tipo di funzione PROTOCOL_CM_DEREGISTER_SAP 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 ProtocolCmDeregisterSap (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere ProtocolCmDeregisterSap (NDIS 5.1)) in Windows XP.
Piattaforma di destinazione Windows
Intestazione ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

NdisCmDeregisterSapComplete

NdisCoSendNetBufferLists

ProtocolBindAdapterEx

ProtocolCmRegisterSap