Freigeben über


DrvAckIoStop-Regel (kmdf)

Die DrvAckIoStop-Regel überprüft, ob der Treiber über ausstehende Anforderungen informiert ist, während seine energieverwaltete Warteschlange heruntergefahren wird und der Treiber die ausstehenden Anforderungen entsprechend bestätigt, abschließt oder abbricht. Bei selbstverwalteten E/A-Anforderungen sollte der Treiber diese Anforderungen auch über seine EvtDeviceSelfManagedIoSuspend-Funktion ordnungsgemäß verarbeiten. Ein Treiber, der diese Anforderungen während eines Herunterfahrens nicht verarbeitet, würde die Fehlerüberprüfung 0x9F: DRIVER_POWER_STATE_FAILURE verursachen.

Unter bestimmten Umständen kann es sinnvoll sein, diese Warnung zu unterdrücken. Wenn der Treiber die Anforderungen nicht hält oder sie nicht an andere Treiber weiterleitet und der Treiber die Anforderungen direkt in den Handlern der Warteschlange ausführt, können Sie die __analysis_assume-Funktion verwenden, um die Warnung zu unterdrücken. Weitere Informationen finden Sie unter Verwenden der _analysis_assume-Funktion zum Unterdrücken falscher Fehler und Vorgehensweise: Angeben zusätzlicher Codeinformationen mithilfe von __analysis_assume.

Treibermodell: KMDF

Fehlerüberprüfung(en) mit dieser Regel gefunden: Fehlerprüfung 0x9F: DRIVER_POWER_STATE_FAILURE

So führen Sie einen Test durch

Beim Kompilieren:

Führen Sie Static Driver Verifier aus, und geben Sie die DrvAckIoStop-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:

WdfDeviceInitSetPnpPowerEventCallbacksWdfFdoInitSetFilterWdfIoQueueCreate