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.

Voir aussi

EXT_DELETE_PARAMETERS

EX_TIMER

ExDeleteTimer