Partager via


Règle BufAfterReqCompletedReadA (kmdf)

La règle BufAfterReqCompletedReadA spécifie qu’au sein de la fonction de rappel EvtIoRead , la mémoire tampon de requête d’E/S récupérée n’est pas accessible une fois la demande d’E/S terminée. Il existe 14 DDIs qui servent de méthodes d’accès à la mémoire tampon possibles.

Dans la fonction de rappel EvtIoRead du pilote, la mémoire tampon de requête récupérée en appelant WdfRequestRetrieveOutputBuffer ou WdfRequestRetrieveUnsafeUserOutputBuffer n’est pas accessible après avoir appelé WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestCompleteWithPriorityBoost sur la requête d’E/S.

Modèle de pilote : KMDF

Comment tester

Au moment de la compilation

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

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 à

WDF_MEMORY_DESCRIPTOR_INIT_BUFFERWdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryCreatePreallocatedWdfRequestCompleteCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserOutputBufferRtlCompareMemoryRtlMoveMemoryRtlZeroMemoryZwReadFile