Partager via


Règle MdlAfterReqCompletedIoctlA (kmdf)

La règle MdlAfterReqCompletedIoctlA spécifie que dans la fonction de rappel EvtIoDeviceControl , la liste de descripteurs mémoire (MDL) est inaccessible une fois la demande d’E/S terminée.

Dans la fonction de rappel EvtIoDeviceControl du pilote, la mdL récupérée en appelant la méthode WdfRequestRetrieveInputWdmMdl ou WdfRequestRetrieveOutputWdmMdl n’est pas accessible après avoir appelé WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestCompleteWithPriorityBoost sur la demande d’E/S.

Cette règle examine les deux méthodes d’accès MDL suivantes :

WdfRequestRetrieveOutputWdmMdlWdfRequestRetrieveInputWdmMdl

Modèle de pilote : KMDF

Comment tester

Au moment de la compilation

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

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_MDLWdfDmaTransactionInitializeWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlWdfRequestquestRetrieveOutputWdmMdlIoBuildPartialMdlKeFlushIoBuffersMmGetMdlByteCountMmGetMdlByteOffsetMmGetMdlPfnArrayMmGetMdlVirtualAddressMmGetSystemAddressForMdlSafeMmPrepareMdlForReuse