EXT_DELETE_CALLBACK fonction de rappel (wdm.h)
Une routine de rappel ExTimerDeleteCallback s’exécute lorsque le système d’exploitation supprime un objet de minuteur EX_TIMER .
Syntaxe
EXT_DELETE_CALLBACK ExtDeleteCallback;
void ExtDeleteCallback(
[in, optional] PVOID Context
)
{...}
Paramètres
[in, optional] Context
Valeur de contexte du membre DeleteContext de la structure EXT_DELETE_PARAMETERS que votre pilote a précédemment passée en tant que paramètre d’entrée à la routine ExDeleteTimer .
Valeur de retour
None
Remarques
En option, votre pilote peut fournir un pointeur vers une routine ExTimerDeleteCallback dans le membre DeleteCallback de la structure EXT_DELETE_PARAMETERS que votre pilote transmet en tant que paramètre d’entrée à la routine ExDeleteTimer . La routine ExTimerDeleteCallback peut libérer toute ressource de stockage ou d’autres ressources système que le pilote a peut-être allouées auparavant pour utiliser avec l’objet minuteur en cours de suppression.
Si le pilote fournit une routine ExTimerDeleteCallback et que le paramètre Wait dans l’appel ExDeleteRoutine a la valeur TRUE, la routine ExTimerDeleteCallback s’exécute avant le retour d’ExDeleteTimer. Sinon, la routine ExTimerDeleteCallback peut s’exécuter avant ou après le retour de l’appel ExDeleteTimer . La routine ExTimerDeleteCallback est appelée uniquement une fois que l’objet minuteur a été désactivé pour empêcher d’autres opérations du minuteur et que toute opération du minuteur en attente sur l’objet minuteur est annulée ou terminée. L’objet minuteur (structure EX_TIMER ) que le pilote transmet comme paramètre d’entrée à la routine ExDeleteTimer peut ne plus être valide au moment où la routine ExTimerDeleteCallback s’exécute.
Pour plus d’informations, consultez Routines et EX_TIMER Objects ExXxxTimer.
Exemples
Pour définir une routine de rappel ExTimerDeleteCallback , vous devez d’abord fournir une déclaration de fonction qui identifie le type de routine de rappel que vous définissez. Windows fournit un ensemble de types de fonctions de rappel pour les pilotes. La déclaration d’une fonction à l’aide du type de fonction de rappel aide l’analyse du code pour les pilotes, le vérificateur de pilotes statique (SDV) et d’autres outils de vérification à rechercher les erreurs, et il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.
Par exemple, pour définir une routine de rappel ExTimerDeleteCallback nommée MyExTimerDeleteCallback
, utilisez le type de fonction EXT_DELETE_CALLBACK, comme indiqué dans cet exemple de code :
EXT_DELETE_CALLBACK MyExTimerDeleteCallback;
Ensuite, implémentez votre routine de rappel comme suit :
_Use_decl_annotations_
VOID
MyExTimerDeleteCallback(
PVOID Context
)
{...}
Le type de fonction EXT_DELETE_CALLBACK est défini dans le fichier d’en-tête Wdm.h. Pour identifier plus précisément les erreurs lorsque vous exécutez les outils d’analyse du code, veillez à ajouter l’annotation _Use_decl_annotations_
à votre définition de fonction. L’annotation _Use_decl_annotations_
garantit que les annotations appliquées au type de fonction EXT_DELETE_CALLBACK dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes WDM. Pour plus d’informations sur _Use_decl_annotations_
, consultez Annotating Function Behavior.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8.1. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | Appelé à DISPATCH_LEVEL. |