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:
Weitere Informationen finden Sie unter Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden. |
Gilt für:
WdfDeviceCreateWdfDriverCreateWdfIoQueueCreateWdfIoQueueDrainWdfIoQueueDrainSynchronouslyWdfIoQueuePurgeWdfIoQueuePurgeSynchronlyWdfIoQueueStopWdfIoQueueStopAndPurgeSynchronlyWdfIoQueueStop