E/A-Warteschlangenzustände

Das Framework definiert die folgenden Zustände für E/A-Warteschlangen:

Im leerlauf
Die E/A-Warteschlange enthält keine E/A-Anforderungen, und der Treiber verarbeitet keine Anforderungen, die er von der E/A-Warteschlange empfangen hat.

Bereit
Die E/A-Warteschlange kann E/A-Anforderungen vom Framework empfangen und E/A-Anforderungen an den Treiber übermitteln.

Gestoppt
Die E/A-Warteschlange kann E/A-Anforderungen vom Framework empfangen, aber keine E/A-Anforderungen an den Treiber übermitteln, und der Treiber verarbeitet keine Anforderungen, die er von der E/A-Warteschlange erhalten hat.

Entwässert
Die E/A-Warteschlange ist leer, sie kann keine neuen E/A-Anforderungen vom Framework empfangen, und alle E/A-Anforderungen, die sich in der E/A-Warteschlange befanden, wurden an den Treiber übermittelt.

Gelöscht
Die E/A-Warteschlange ist leer, sie kann keine neuen E/A-Anforderungen vom Framework empfangen, und alle E/A-Anforderungen, die sich in der E/A-Warteschlange befanden, wurden abgebrochen.

Das Framework kann eine neue E/A-Warteschlange auf den Status Bereit festlegen, nachdem Ihr Treiber WdfIoQueueCreate aufgerufen hat. Stromverwaltete E/A-Warteschlangen wechseln jedoch nur dann in den Status Bereit, wenn sich das Gerät im Betriebszustand (D0) befindet.

Der Treiber kann den Status einer E/A-Warteschlange wie folgt ändern:

Um den aktuellen Status einer E/A-Warteschlange zu erhalten, kann Ihr Treiber WdfIoQueueGetState aufrufen.