fonction de rappel EXT_DELETE_CALLBACK (wdm.h)
Une routine de rappel ExTimerDeleteCallback s’exécute lorsque le système d’exploitation supprime un objet minuteur EX_TIMER.
EXT_DELETE_CALLBACK ExtDeleteCallback;
void ExtDeleteCallback(
[in, optional] PVOID Context
)
{...}
[in, optional] Context
Valeur de contexte de la DeleteContext membre 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.
Aucun
En guise d’option, votre pilote peut fournir un pointeur vers une routine ExTimerDeleteCallback dans la routine DeleteCallback membre de la structure EXT_DELETE_PARAMETERS que votre pilote passe en tant que paramètre d’entrée à la routine ExDeleteTimer. La routine ExTimerDeleteCallback peut libérer n’importe quel stockage ou d’autres ressources système que le pilote a précédemment allouées à 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 est TRUE, la routine ExTimerDeleteCallback s’exécute avant ExDeleteTimer. Sinon, la routine ExTimerDeleteCallback peut s’exécuter avant ou après l’appel ExDeleteTimer. La routine ExTimerDeleteCallback est appelée uniquement une fois l’objet minuteur désactivé pour empêcher les opérations de minuteur supplémentaires et toute opération de minuteur en attente sur l’objet minuteur est annulée ou terminée. L’objet minuteur (structure EX_TIMER) que le pilote passe en tant que 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 ExXxxTimer et EX_TIMER Objects.
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 permet d'Analyse du code pour les pilotes, static Driver Verificationr (SDV) et d’autres outils de vérification recherchent des erreurs, et il est nécessaire d’écrire des 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 illustré 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 annoter le comportement de la fonction.
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 8.1. |
plateforme cible | Bureau |
d’en-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | Appelé à DISPATCH_LEVEL. |