Condividi tramite


PROTOCOL_CO_DELETE_VC funzione di callback (ndis.h)

È necessaria la funzione ProtocolCoDeleteVc . Questa funzione rimuove lo stato del client o del gestore chiamate per una connessione virtuale stabilita che viene chiusa dall'autore originale di tale vc.

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

Sintassi

PROTOCOL_CO_DELETE_VC ProtocolCoDeleteVc;

NDIS_STATUS ProtocolCoDeleteVc(
  [in] NDIS_HANDLE ProtocolVcContext
)
{...}

Parametri

[in] ProtocolVcContext

Specifica l'handle per l'area di contesto per vc del client o del gestore chiamate. Il protocollo ha originariamente fornito questo handle dalla relativa funzione ProtocolCoCreateVc .

Valore restituito

ProtocolCoDeleteVc può restituire una delle opzioni seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Il protocollo ha rilasciato o preparato per riutilizzare tutte le risorse originariamente allocate per il vc.
NDIS_STATUS_NOT_ACCEPTED
Il vc è ancora attivo e il protocollo ha operazioni in sospeso in sospeso nel vc, in modo che non possa essere eliminato definitivamente.
NDIS_STATUS_XXX
Il protocollo non ha superato l'eliminazione vc per un motivo determinato dal driver.

Commenti

ProtocolCoDeleteVc è il reciproco della funzione ProtocolCoCreateVc del driver. In generale, rilascia tutte le risorse dinamiche e le strutture allocate in precedenza dal gestore chiamate o dal client per eseguire operazioni sul vc attivo.

Quando ProtocolCoDeleteVc restituisce il controllo con NDIS_STATUS_SUCCESS, NdisVcHandle che la funzione ProtocolCoCreateVc archiviata nell'area in ProtocolVcContext non è valida.

ProtocolCoDeleteVc può restituire qualsiasi NDIS_STATUS_XXX determinato dal driver per non riuscire l'eliminazione del vc, ma non può restituire NDIS_STATUS_PENDING. Le chiamate a ProtocolCoDeleteVc sono intrinsecamente sincrone.

Esempi

Per definire una funzione ProtocolCoDeleteVc , è 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 ProtocolCoDeleteVc denominata "MyCoDeleteVc", usare il tipo PROTOCOL_CO_DELETE_VC come illustrato nell'esempio di codice seguente:

PROTOCOL_CO_DELETE_VC MyCoDeleteVc;

Implementare quindi la funzione come segue:

_Use_decl_annotations_
NDIS_STATUS
 MyCoDeleteVc(
    NDIS_HANDLE  ProtocolVcContext
    )
  {...}

Il tipo di funzione PROTOCOL_CO_DELETE_VC è 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_CO_DELETE_VC 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 ProtocolCoDeleteVc (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere ProtocolCoDeleteVc (NDIS 5.1) in Windows XP.
Piattaforma di destinazione Windows
Intestazione ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

NdisClCloseCall

NdisCmDispatchIncomingCloseCall

NdisCoCreateVc

NdisCoDeleteVc

ProtocolCoCreateVc