Partager via


Règle DrvAckIoStop (kmdf)

La règle DrvAckIoStop vérifie que le pilote est conscient des demandes en attente alors que sa file d’attente gérée par l’alimentation est hors tension et que le pilote accuse réception, termine ou annule les demandes en attente en conséquence. Dans le cas de demandes d’E/S autogérées, le pilote doit également gérer correctement ces demandes à partir de sa fonction EvtDeviceSelfManagedIoSuspend . Un pilote qui ne parvient pas à gérer ces requêtes pendant une mise hors tension entraîne la vérification des bogues 0x9F : DRIVER_POWER_STATE_FAILURE.

Dans certains cas, il peut être approprié de supprimer cet avertissement. Si le pilote ne conserve pas les requêtes ou ne les transfère pas à d’autres pilotes, et si le pilote effectue les requêtes directement dans les gestionnaires de la file d’attente, vous pouvez utiliser la fonction __analysis_assume pour supprimer l’avertissement. Pour plus d’informations, consultez Utilisation de la fonction _analysis_assume pour supprimer les faux défauts et Guide pratique pour spécifier des informations de code supplémentaires à l’aide de __analysis_assume.

Modèle de pilote : KMDF

Bogues case activée trouvés avec cette règle : Vérification des bogues 0x9F : DRIVER_POWER_STATE_FAILURE

Comment tester

Au moment de la compilation

Exécutez Static Driver Verifier et spécifiez la règle DrvAckIoStop .

Utilisez les étapes suivantes pour exécuter l’analyse de votre code :
  1. Préparez votre code (utilisez les déclarations de type).
  2. Exécutez le vérificateur de pilote statique.
  3. Affichez et analysez les résultats.

Pour plus d’informations, consultez Utilisation du vérificateur de pilote statique pour rechercher des défauts dans les pilotes.

S’applique à

WdfDeviceInitSetPnpPowerEventCallbacksWdfFdoInitSetFilterWdfIoQueueCreate