Règle StartIoCancel (wdm)

La règle StartIoCancel spécifie que le pilote ne doit pas appeler IoSetStartIoAttributes avec le paramètre NonCancelable défini sur FALSE avant d’appeler IoSetCancelRoutine avec une routine Cancel non NULL.

La définition du paramètre NonCancelable sur FALSE avant l’inscription de la routine Cancel peut entraîner une condition de course d’annulation.

Étant donné que la routine Cancel d’un pilote doit inclure un appel à IoReleaseCancelSpinLock (pour libérer le verrou de rotation que le Gestionnaire d’E/S acquiert avant d’appeler la routine Cancel ), envisagez de vérifier votre pilote avec la règle StartIoCancel et la règle CancelSpinLock .

Modèle de pilote : WDM

Comment tester

Au moment de la compilation

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

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 à

IoSetCancelRoutineIoSetStartIoAttributes

Voir aussi

CancelSpinLock