Partager via


Règle MemAfterReqCompletedIntIoctl (kmdf)

La règle MemAfterReqCompletedIntIoctl spécifie que dans la fonction de rappel EvtIoInternalDeviceControl, l’objet mémoire du framework ne peut pas être accédé après que la demande d’E/S soit terminée.

Dans la fonction de rappel EvtIoInternalDeviceControl du pilote, l’objet mémoire du framework qui a été récupéré en appelant les méthodes WdfRequestRetrieveInputMemory ou WdfRequestRetrieveOutputMemory ne peut pas être accédé après avoir appelé WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestCompleteWithPriorityBoost sur la demande d’E/S.

Cette règle considère les deux méthodes d’accès à la mémoire suivantes :

WdfRequestRetrieveInputMemoryWdfRequestRetrieveOutputMemory

Driver model: KMDF

Comment tester

Au moment de la compilation

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

Utilisez la procédure suivante pour exécuter une analyse de votre code :
  1. Préparez votre code (utilisez des déclarations de type de rôle).
  2. Exécutez Static Driver Verifier.
  3. Visualisez et analysez les résultats.

Pour plus d’informations, consultez Utilisation de Static Driver Verifier pour rechercher des défauts dans les pilotes.

S’applique à

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputMemoryWdfRequestRetrieveOutputMemory