Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La règle MdlAfterReqCompletedIntIoctlA spécifie que dans la fonction de rappel EvtIoInternalDeviceControl , la liste de descripteurs mémoire (MDL) est inaccessible une fois la demande d’E/S terminée.
Dans la fonction de rappel EvtIoInternalDeviceControl du pilote, la mdL récupérée en appelant la méthode WdfRequestRetrieveInputWdmMdl ou WdfRequestRetrieveOutputWdmMdl n’est pas accessible après l’appel de WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestCompleteWithPriorityBoost sur la demande d’E/S.
Cette règle prend en compte les fonctions d’accès MDL suivantes :
WDF_MEMORY_DESCRIPTOR_INIT_MDLMmGetMdlByteCountMmGetSystemAddressForMdlSafeMmGetMdlVirtualAddressIoBuildPartialMdl (premier et deuxième paramètre) KeFlushIoBuffersMmGetMdlPfnArrayMmGetMdlByteOffsetMmPrepareMdlForReuseWdfDmaTransactionInitialize
Modèle de pilote : KMDF
Comment tester
| Au moment de la compilation |
|---|
Exécutez Static Driver Verifier et spécifiez la règle MdlAfterReqCompletedIntIoctlA . 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_MDLWdfDmaTransactionInitializeWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlWdfRequestquestRetrieveOutputWdmMdlIoBuildPartialMdlKeFlushIoBuffersMmGetMdlByteCountMmGetMdlByteOffsetMmGetMdlPfnArrayMmGetMdlVirtualAddressMmGetSystemAddressForMdlSafeMmPrepareMdlForReuse