Partager via


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)

Voir aussi

IoReleaseCancelSpinLock

IoSetCancelRoutine