Règle MemAfterReqCompletedReadA (kmdf)
La règle MemAfterReqCompletedReadA spécifie que dans la fonction de rappel EvtIoRead , l’objet de mémoire du framework n’est pas accessible une fois la demande d’E/S terminée.
Dans la fonction de rappel EvtIoRead du pilote, l’objet de mémoire du framework qui a été récupéré en appelant la méthode WdfRequestRetrieveOutputMemory n’est pas accessible après avoir appelé WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestCompleteWithPriorityBoost sur la requête d’E/S.
Cette règle prend en compte les méthodes d’accès à la mémoire suivantes :
WdfMemoryGetBufferWDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyToBufferWdfMemoryCopyFromBufferWdfObjectReferenceWdfObjectDereferenceWdfObjectDelete
Modèle de pilote : KMDF
Comment tester
Au moment de la compilation |
---|
Exécutez Static Driver Verifier et spécifiez la règle MemAfterReqCompletedReadA . Utilisez les étapes suivantes pour exécuter l’analyse de votre code :
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_HANDLEWdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryGetBufferWdfObjectDeleteWdfObjectDereferenceWdfRequestCompleteWdfRequestComplete WdfRequestWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestretrieveOutputMemory