ChangeQueueState-Regel (kmdf)

Die ChangeQueueState-Regel gibt an, dass der WDF-Treiber nicht versucht, den Zustand der Warteschlange aus gleichzeitigen Threads zu ändern, oder nicht den Zustand aufruft, der DDIs nacheinander innerhalb desselben Threads ändert. Rückruffunktionen zur Änderung des Warteschlangenzustands sind WdfIoQueueStop, WdfIoQueueStopSynchronously, WdfIoQueuePurge,WdfIoQueuePurgeSynchronously, WdfIoQueueDrain, WdfIoQueueDrainSynchronously, WdfIoQueueStopAndPurge und WdfIoQueueStopAndPurgeSynchronously. Wenn diese DDIs aufgerufen werden, wenn bereits eine Änderung des Warteschlangenstatus ausgeführt wird, führt dies dazu, dass ein Computer abstürzt oder nicht mehr reagiert.

Treibermodell: KMDF

So führen Sie einen Test durch

Beim Kompilieren:

Führen Sie Static Driver Verifier aus , und geben Sie die ChangeQueueState-Regel an.

Gehen Sie folgendermaßen vor, um Ihren Code zu analysieren:
  1. Bereiten Sie den Code vor (verwenden Sie Rollentypdeklarationen).
  2. Führen Sie Static Driver Verifier aus.
  3. Überprüfen und analysieren Sie die Ergebnisse.

Weitere Informationen finden Sie unter Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden.

Gilt für:

WdfDeviceCreateWdfDriverCreateWdfIoQueueCreateWdfIoQueueDrainWdfIoQueueDrainSynchronouslyWdfIoQueuePurgeWdfIoQueuePurgeSynchronlyWdfIoQueueStopWdfIoQueueStopAndPurgeSynchronlyWdfIoQueueStop