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.
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 |
---|---|
|
Il protocollo ha rilasciato o preparato per riutilizzare tutte le risorse originariamente allocate per il vc. |
|
Il vc è ancora attivo e il protocollo ha operazioni in sospeso in sospeso nel vc, in modo che non possa essere eliminato definitivamente. |
|
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 |