Fonction WdfDpcCancel (wdfdpc.h)
[S’applique uniquement à KMDF]
La méthode WdfDpcCancel tente d’annuler l’exécution de la fonction de rappel EvtDpcFunc planifiée d’un objet DPC.
Syntaxe
BOOLEAN WdfDpcCancel(
[in] WDFDPC Dpc,
[in] BOOLEAN Wait
);
Paramètres
[in] Dpc
Handle d’un objet DPC framework.
[in] Wait
Valeur booléenne qui, si TRUE, indique que la méthode WdfDpcCancel ne retournera pas tant que la fonction de rappel EvtDpcFunc de l’objet DPC n’est pas annulée ou s’exécute. Si la valeur est FALSE, la méthode WdfDpcCancel retourne immédiatement.
Valeur retournée
WdfDpcCancel retourne TRUE si la fonction de rappel EvtDpcFunc de l’objet DPC spécifié se trouvait dans la file d’attente DPC du système. La méthode retourne FALSE si la fonction de rappel n’était pas dans la file d’attente DPC, soit parce que la fonction de rappel était en cours d’exécution, soit parce qu’elle s’était terminée.
Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.
Remarques
Si la fonction de rappel EvtDpcFunc de l’objet DPC spécifié se trouve dans la file d’attente DPC du système, elle est supprimée de la file d’attente. Si la fonction EvtDpcFunc n’est pas dans la file d’attente, elle est en cours d’exécution ou a terminé son exécution.
Si le paramètre Wait a la valeur TRUE, WdfDpcCancel doit être appelé à IRQL = PASSIVE_LEVEL. Si le paramètre Wait a la valeur FALSE, WdfDpcCancel peut être appelé au niveau de n’importe quel IRQL.
Exemples
L’exemple de code suivant annule l’exécution de la fonction de rappel associée à l’objet DPC créé par l’exemple de code de la rubrique WdfDpcCreate .
WdfDpcCancel(
PDevExt->CompleteWriteDpc,
TRUE
);
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
En-tête | wdfdpc.h (inclure Wdf.h) |
Bibliothèque | Wdf01000.sys (consultez Gestion de version de la bibliothèque d’infrastructure.) |
IRQL | Consultez la section Notes. |
Règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |