Méthode IInterruptSync ::RegisterServiceRoutine (portcls.h)
La RegisterServiceRoutine
méthode inscrit une routine de service d’interruption (ISR) qui doit être appelée lorsqu’une interruption se produit.
Syntaxe
NTSTATUS RegisterServiceRoutine(
[in] PINTERRUPTSYNCROUTINE Routine,
[in] PVOID DynamicContext,
[in] BOOLEAN First
);
Paramètres
[in] Routine
Pointeur vers la routine à appeler. Ce paramètre est un pointeur de fonction de type PINTERRUPTSYNCROUTINE (voir IInterruptSync).
[in] DynamicContext
Spécifie une valeur de contexte qui est passée à la routine lorsqu’elle est appelée.
[in] First
Spécifie si la routine est ajoutée à la tête ou à la fin de la liste des ISR. Si la valeur est TRUE, la routine est ajoutée en tête de liste. Si la valeur est FALSE, elle est ajoutée à la fin.
Valeur retournée
RegisterServiceRoutine
retourne STATUS_SUCCESS si l’appel a réussi. Sinon, la méthode retourne un code d’erreur approprié.
Remarques
Cette méthode ajoute la routine spécifiée à la liste des isrs de l’objet de synchronisation. Lorsqu’une interruption se produit, la routine en tête de liste est appelée en premier, et la routine à la fin est appelée en dernier.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |