Règle BufAfterReqCompletedIntIoctl (kmdf)

La règle BufAfterReqCompletedIntIoctl spécifie qu’une fois qu’une demande est terminée, sa mémoire tampon n’est pas accessible (dans la fonction de rappel EvtIoInternalDeviceControl uniquement). La mémoire tampon est récupérée en appelant WdfRequestRetrieveOutputBuffer ou WdfRequestRetrieveUnsafeUserOutputBuffer ou WdfRequestRetrieveInputBuffer ou WdfRequestRetrieveUnsafeUserInputBuffer.

Dans la fonction de rappel d’événement de file d’attente EvtIoInternalDeviceControl , la mémoire tampon de requête récupérée en appelant WdfRequestRetrieveInputBuffer, WdfRequestRetrieveOutputBuffer, WdfRequestRetrieveUnsafeUserInputBuffer ou WdfRequestRetrieveUnsafeUserOutputBuffer n’est pas accessible une fois la demande terminée. La demande est terminée en appelant WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestComplete, WdfRequestCompleteWithPriorityBoost. Les fonctions d’accès à la mémoire tampon possibles suivantes sont prises en compte : WdfRequestRetrieveOutputBuffer, WdfRequestRetrieveUnsafeUserOutputBuffer, WdfRequestRetrieveInputBuffer et WdfRequestRetrieveUnsafeUserInputBuffer.

Modèle de pilote : KMDF

Comment tester

Au moment de la compilation

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

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 à

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputBufferWdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserInputBufferWdfRequestRetrieveUnsafeUserOutputBuffer