Règle InvalidReqAccess (kmdf)

La règle InvalidReqAccess spécifie que les demandes ne sont pas accessibles une fois qu’elles sont terminées ou annulées. Cette règle peut chevaucher d’autres règles, telles que les règles qui case activée pour la double saisie semi-automatique, ou les règles qui case activée pour les demandes ont été marquées comme annulables deux fois.

Une demande est considérée comme non valide si elle est terminée, marquée comme annulable ou annulée après son envoi. Une fois la demande considérée comme non valide, la demande ne peut pas être transmise aux fonctions WdfRequestXxx , sauf lorsque le pilote appelle WdfRequestUnmarkCancelable si la demande a été précédemment marquée comme annulable.

Cette règle est similaire à la règle InvalidReqAccessLocal ; Toutefois, la règle InvalidReqAccessLocal n’est effectuée que dans les fonctions de rappel de file d’attente d’E/S par défaut.

Modèle de pilote : KMDF

Comment tester

Au moment de la compilation

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

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 à

WdfRequestAllocateTimer
WdfRequestCancelSentRequest
WdfRequestChangeTarget
WdfRequestComplete
WdfRequestCompleteWithInformation
WdfRequestCompleteWithPriorityBoost
WdfRequestFormatRequestUsingCurrentType
WdfRequestForwardToIoQueue
WdfRequestGetCompletionParams
WdfRequestGetFileObject
WdfRequestGetInformation
WdfRequestGetIoQueue
WdfRequestGetParameters
WdfRequestGetRequestorMode
WdfRequestIsFrom32BitProcess
WdfRequestMarkCancelable
WdfRequestMarkCancelableEx
WdfRequestProbeAndLockUserBufferForRead
WdfRequestProbeAndLockUserBufferForWrite
WdfRequestRequeue
WdfRequestRetrieveInputBuffer
WdfRequestRetrieveInputMemory
WdfRequestRetrieveInputWdmMdl
WdfRequestRetrieveOutputBuffer
WdfRequestRetrieveOutputMemory
WdfRequestRetrieveOutputWdmMdl
WdfRequestRetrieveUnsafeUserInputBuffer
WdfRequestRetrieveUnsafeUserOutputBuffer
WdfRequestReuse
WdfRequestSend
WdfRequestSetCompletionRoutine
WdfRequestSetInformation
WdfRequestUnmarkCancelable
WdfRequestWdmFormatUsingStackLocation
WdfRequestWdmGetIrp