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