Fonction IoAcquireCancelSpinLock (wdm.h)
La routine IoAcquireCancelSpinLock synchronise les transitions d’état annulable pour les irPs de manière sécurisée pour les multiprocesseurs.
Syntaxe
void IoAcquireCancelSpinLock(
PKIRQL Irql
);
Paramètres
Irql
[out] Pointeur vers une variable dans laquelle enregistrer l’IRQL actuel pour un appel ultérieur à IoReleaseCancelSpinLock. En règle générale, l’Irql est enregistré sur la pile en tant que variable locale.
Valeur de retour
None
Remarques
Un pilote qui utilise les files d’attente d’appareil fournies par le gestionnaire d’E/S dans l’objet d’appareil doit conserver le verrou de rotation d’annulation chaque fois qu’il modifie l’état annulable d’un IRP avec IoSetCancelRoutine.
Un pilote qui gère sa propre file d’attente IRP n’a pas besoin de contenir le verrou d’annulation de rotation lors de l’appel de IoSetCancelRoutine.
Le titulaire du verrou d’annulation de rotation doit le libérer rapidement en appelant IoReleaseCancelSpinLock.
Une routine d’annulation fournie par le pilote est appelée avec le verrou d’annulation de rotation maintenu. Il doit libérer le verrou de rotation d’annulation lorsqu’il a terminé l’IRP pour être annulé.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 |
En-tête | wdm.h |
IRQL | <=DISPATCH_LEVEL |
Règles de conformité DDI | CancelSpinLock(storport),CancelSpinLock(wdm), CancelSpinlockRelease(wdm), HwStorPortProhibitedDDIs(storport),SpinLockSafe(storport), SpinLockSafe(wdm) |