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) |