Condividi tramite


MINIPORT_CO_DEACTIVATE_VC funzione di callback (ndis.h)

La funzione MiniportCoDeactivateVc è necessaria per i miniport orientati alla connessione. MiniportCoDeactivateVc viene chiamato da NDIS per indicare che un VC è contrassegnato come inutilizzabile.

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

Sintassi

MINIPORT_CO_DEACTIVATE_VC MiniportCoDeactivateVc;

NDIS_STATUS MiniportCoDeactivateVc(
  [in] NDIS_HANDLE MiniportVcContext
)
{...}

Parametri

[in] MiniportVcContext

Specificato l'handle in un'area di contesto allocata dal driver miniport in cui il driver miniport gestisce le informazioni sullo stato per vc. Il driver miniport ha fornito questo handle a NDIS dalla sua funzione MiniportCoCreateVc .

Valore restituito

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Indica che il driver miniport ha interrotto correttamente qualsiasi comunicazione nel VC e lo ha contrassegnato come inutilizzabile.
NDIS_STATUS_PENDING
Indica che il driver miniport completa la richiesta per arrestare il vc in modo asincrono. Quando il driver miniport ha completato l'arresto del VC, deve quindi chiamare NdisMCoDeactivateVcComplete per segnalare che questa operazione è stata completata.

Commenti

MiniportCoDeactivateVc comunica con la scheda di rete per terminare tutte le comunicazioni in questo VC (in altre parole, la deprogrammazione della ricezione o l'invio di buffer nella scheda). Il driver miniport deve anche contrassegnare il VC, la sua area di contesto, come inattiva per impedire qualsiasi ulteriore comunicazione tra il VC.

Non esiste una relazione uno-a-uno tra chiamate a MiniportCoActivateVc e MiniportCoDeactivateVc. Anche se NDIS può chiamare MiniportCoActivateVc più volte su un singolo VC, viene effettuata una sola chiamata a MiniportCoDeactivateVc per arrestare una connessione virtuale. Ad esempio, un VC può essere riutilizzato per chiamate diverse che causano più chiamate a MiniportCoActivateVc.

Esempi

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

MINIPORT_CO_DEACTIVATE_VC MyCoDeactivateVc;

Implementare quindi la funzione come indicato di seguito:

_Use_decl_annotations_
NDIS_STATUS
 MyCoDeactivateVc(
    NDIS_HANDLE  MiniportVcContext
    )
  {...}

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

Vedi anche

MiniportCoActivateVc

NdisMCoDeactivateVcComplete