Freigeben über


IoAcquireCancelSpinLock-Funktion (wdm.h)

Die IoAcquireCancelSpinLock Routine synchronisiert abbruchfähige Zustandsübergänge für IRPs auf sichere Weise.

Syntax

void IoAcquireCancelSpinLock(
  PKIRQL Irql
);

Parameter

Irql

[out] Zeiger auf eine Variable, in der die aktuelle IRQL für einen nachfolgenden Aufruf von IoReleaseCancelSpinLockgespeichert werden soll. Normalerweise wird die Irql- im Stapel als lokale Variable gespeichert.

Rückgabewert

Nichts

Bemerkungen

Ein Treiber, der die vom I/O-Manager bereitgestellten Gerätewarteschlangen im Geräteobjekt verwendet, muss die Abbruch-Drehsperre halten, wenn er den abbruchfähigen Zustand eines IRP mit IoSetCancelRoutineändert.

Ein Treiber, der seine eigene IRP-Warteschlange verwaltet, muss beim Aufrufen IoSetCancelRoutinenicht die Drehungssperre für das Abbrechen enthalten.

Der Inhaber der Abbruch-Spin-Sperre sollte es umgehend freigeben, indem IoReleaseCancelSpinLockaufgerufen wird.

Eine vom Treiber bereitgestellte Cancel Routine wird mit der Abbruch-Drehsperre aufgerufen. Sie muss die Abbruchspinsperre freigeben, wenn das IRP abgeschlossen wurde, um abgebrochen zu werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Header- wdm.h
IRQL- <=DISPATCH_LEVEL
DDI-Complianceregeln CancelSpinLock(storport), CancelSpinLock(wdm), CancelSpinlockRelease(wdm), HwStorPortProhibitedDDIs(storport), SpinLockSafe(storport), SpinLockSafe(wdm)

Siehe auch

IoReleaseCancelSpinLock

IoSetCancelRoutine