Stati coda di I/O

Il framework definisce gli stati seguenti per le code di I/O:

Inattivo
La coda di I/O non contiene richieste di I/O e il driver non elabora le richieste ricevute dalla coda di I/O.

Pronto
La coda di I/O può ricevere richieste di I/O dal framework e può recapitare richieste di I/O al driver.

Fermato
La coda di I/O può ricevere richieste di I/O dal framework, ma non può recapitare richieste di I/O al driver e il driver non elabora le richieste ricevute dalla coda di I/O.

Drenato
La coda di I/O è vuota, non può ricevere nuove richieste di I/O dal framework e tutte le richieste di I/O presenti nella coda di I/O sono state recapitate al driver.

Eliminati
La coda di I/O è vuota, non può ricevere nuove richieste di I/O dal framework e tutte le richieste di I/O presenti nella coda di I/O sono state annullate.

Il framework può impostare una nuova coda di I/O sullo stato pronto dopo che il driver chiama WdfIoQueueCreate. Tuttavia, le code di I/O gestite dall'alimentazione entrano nello stato pronto solo se il dispositivo è nello stato funzionante (D0).

Il driver può modificare lo stato di una coda di I/O in base a:

Per ottenere lo stato corrente di una coda di I/O, il driver può chiamare WdfIoQueueGetState.