KeAcquireInterruptSpinLock, fonction (wdm.h)
La routine KeAcquireInterruptSpinLock acquiert le verrou de rotation associé à un objet d’interruption.
Syntaxe
KIRQL KeAcquireInterruptSpinLock(
PKINTERRUPT Interrupt
);
Paramètres
Interrupt
[in, out] Spécifie un pointeur vers un objet d’interruption. Cette valeur doit être fournie par IoConnectInterrupt ou IoConnectInterruptEx.
Valeur de retour
KeAcquireInterruptSpinLock retourne le runtime d’intégration actuel au moment où la routine est appelée. Cette valeur est transmise à KeReleaseInterruptSpinLock lorsque le verrou de rotation est libéré.
Remarques
Les pilotes utilisent le verrou de rotation d’interruption pour synchroniser l’accès à la mémoire partagée avec l’ISR de l’interruption. Le pilote peut libérer le verrou de rotation en appelant KeReleaseInterruptSpinLock.
Tout code qui s’exécute pendant que le verrou de rotation d’interruption est conservé dans IRQL = DIRQL pour le d’interruption spécifié, il doit donc s’exécuter très rapidement. Pour plus d’informations, consultez Utilisation des sections critiques.
La méthode recommandée pour synchroniser une routine de pilote avec un ISR consiste à utiliser la routine KeSynchronizeExecution.
À compter de Windows 8, un pilote peut utiliser IoConnectInterruptEx pour inscrire une routine de service d’interruption qui s’exécute à IRQL = PASSIVE_LEVEL et qui n’utilise pas de verrou de rotation pour la synchronisation des interruptions. Si interruption pointe vers un objet d’interruption qui se connecte à un ISR de niveau passif, KeAcquireInterruptSpinLock provoque une vérification de bogue. Pour plus d’informations, consultez Utilisation des routines de service d’interruption Passive-Level.
Les appelants doivent s’exécuter à l'<IRQL = DIRQL pour d’interruption . (Il s’agit de la valeur que le pilote a passée en tant que paramètre SynchronizeIrql de IoConnectInterrupt lors de la création de d’interruption.)
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP |
d’en-tête | wdm.h |
IRQL | <= DIRQL |
règles de conformité DDI | HwStorPortProhibitedDDIs(storport) |