Partager via


IoAcquireCancelSpinLock, fonction (wdm.h)

La routine IoAcquireCancelSpinLock synchronise les transitions d’état annulable pour les irPs d’une manière multiprocesseur sécurisée.

Syntaxe

void IoAcquireCancelSpinLock(
  PKIRQL Irql
);

Paramètres

Irql

[out] Pointeur vers une variable dans laquelle enregistrer le runtime d’intégration actuel pour un appel ultérieur à IoReleaseCancelSpinLock. En règle générale, le Irql est enregistré sur la pile en tant que variable locale.

Valeur de retour

Aucun

Remarques

Un pilote qui utilise les files d’attente d’appareils fournies par le gestionnaire d’E/S dans l’objet de l’appareil doit contenir 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 conserver le verrou de rotation d’annulation lors de l’appel IoSetCancelRoutine.

Le titulaire du verrou de rotation d’annulation doit le libérer rapidement en appelant IoReleaseCancelSpinLock.

Une routine d’annulation fournie par le pilote est appelée avec le verrou de rotation d’annulation conservé. Il doit libérer le verrou de rotation d’annulation lorsqu’il a terminé l’IRP à annuler.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000
d’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)

Voir aussi

IoReleaseCancelSpinLock

IoSetCancelRoutine