Condividi tramite


Stati del modulo di un driver di filtro

Un driver di filtro NDIS deve supportare gli stati operativi seguenti per ogni modulo di filtro (istanza di un driver di filtro) gestito dal driver:

  • Scollegamento

  • collegamento

  • Paused

  • Riavvio

  • In esecuzione

  • Sospensione

Nella figura seguente vengono illustrate le relazioni tra questi stati.

Diagramma che mostra le relazioni tra operazioni in un driver di filtro NDIS.

Di seguito vengono definiti gli stati del modulo di filtro:

Scollegamento
Lo stato Scollegato è lo stato iniziale di un modulo di filtro. Quando un modulo di filtro si trova in questo stato, NDIS può chiamare la funzione FilterAttach del driver di filtro per collegare il modulo di filtro allo stack di driver. Quando NDIS chiama la funzione FilterAttach di un driver di filtro, il modulo di filtro entra nello stato Di collegamento. Se l'operazione di collegamento non riesce, il modulo di filtro torna allo stato Scollegato. Quando il modulo si trova nello stato Paused e NDIS chiama la funzione FilterDetach , il modulo torna allo stato Detached.

collegamento
Quando un modulo di filtro si trova nello stato Di collegamento , un driver di filtro si prepara per collegare il modulo allo stack di driver. Al termine della preparazione del modulo di filtro, il modulo di filtro entra nello stato Sospeso. Se si verifica un errore, ad esempio perché le risorse necessarie non sono disponibili, il modulo di filtro torna allo stato Scollegato.

Pausa
Quando un modulo di filtro si trova nello stato Sospeso , il modulo di filtro non esegue operazioni di invio o ricezione. Quando un modulo di filtro si trova nello stato Di collegamento e FilterAttach ha esito positivo, il modulo di filtro entra nello stato Sospeso . Quando un modulo di filtro si trova nello stato Sospensione e l'operazione di sospensione viene completata, il modulo di filtro entra nello stato Sospeso . Quando un modulo di filtro si trova nello stato Sospeso e NDIS chiama la funzione FilterRestart del driver di filtro, il modulo di filtro entra nello stato Riavvio . Quando un modulo di filtro si trova nello stato Sospeso e NDIS chiama il gestore FilterDetach del driver, il modulo di filtro entra nello stato Scollegato .

Riavviare
Nello stato Riavvio , un driver di filtro completa tutte le operazioni necessarie per riavviare le operazioni di invio e ricezione per un modulo di filtro. Quando un modulo di filtro si trova nello stato Sospeso e NDIS chiama la funzione FilterRestart del driver, un modulo di filtro entra nello stato Riavvio. Se il riavvio non riesce, il modulo di filtro torna allo stato Sospeso. Se il riavvio ha esito positivo, il modulo di filtro passa allo stato In esecuzione.

Corsa
Nello stato In esecuzione un driver di filtro esegue l'elaborazione normale di invio e ricezione per un modulo di filtro. Quando il modulo di filtro si trova nello stato Riavvio e il driver è pronto per eseguire operazioni di invio e ricezione, il modulo di filtro entra nello stato In esecuzione.

Pausa
Nello stato Sospensione , un driver di filtro completa tutte le operazioni necessarie per arrestare le operazioni di invio e ricezione per un modulo di filtro. Il driver di filtro deve attendere il completamento di tutte le richieste di invio in sospeso e affinché NDIS restituisca tutte le indicazioni di ricezione in sospeso. Quando un modulo di filtro si trova nello stato In esecuzione e NDIS chiama la funzione FilterPause del driver, il modulo di filtro entra nello stato Sospensione. Un driver di filtro non può eseguire un'operazione di sospensione. Al termine dell'operazione di sospensione, il modulo di filtro passa allo stato Sospeso.

Gestione dello stack di driver

Driver di filtro NDIS