Règle ReqNotCanceledLocal (kmdf)
La règle ReqNotCanceledLocal spécifie que si une demande marquée comme annulable est effectuée dans une fonction de rappel de file d’attente d’E/S par défaut, la méthode WdfRequestUnmarkCancelable doit être appelée sur la demande d’E/S avant l’achèvement. La demande d’E/S doit être effectuée, sauf si elle est annulée avant d’appeler WdfRequestUnmarkCancelable.
Si une requête marquée comme annulable par WdfRequestMarkCancelable est terminée (en appelant WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestCompleteWithPriorityBoost), la méthode WdfRequestUnmarkCancelable doit être appelée avant la fin de la demande d’E/S. La demande peut être effectuée, sauf si la méthode WdfRequestUnmarkCancelable retourne status qui est égal à STATUS_CANCELLED.
Les fonctions de rappel de file d’attente d’E/S par défaut pour une requête sont EvtIoDefault, EvtIoRead, EvtIoWrite, EvtIoDeviceControl, EvtIoInternalDeviceControl.
Modèle de pilote : KMDF
Comment tester
Au moment de la compilation |
---|
Exécutez Static Driver Verifier et spécifiez la règle ReqNotCanceledLocal . 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 à
WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestUnmarkCancelable