IoAcquireCancelSpinLock-Funktion (wdm.h)
Die IoAcquireCancelSpinLock-Routine synchronisiert abbrechbare Zustandsübergänge für IRPs auf multiprozessorsichere Weise.
Syntax
void IoAcquireCancelSpinLock(
PKIRQL Irql
);
Parameter
Irql
[out] Zeiger auf eine Variable, in der die aktuelle IRQL für einen nachfolgenden Aufruf von IoReleaseCancelSpinLock gespeichert werden soll. In der Regel wird irql als lokale Variable auf dem Stapel gespeichert.
Rückgabewert
Keine
Bemerkungen
Ein Treiber, der die vom E/A-Manager bereitgestellten Gerätewarteschlangen im Geräteobjekt verwendet, muss die Abbruch-Drehsperre halten, wenn er den abbrechbaren Zustand eines IRP mit IoSetCancelRoutine ändert.
Ein Treiber, der seine eigene IRP-Warteschlange verwaltet, muss beim Aufrufen von IoSetCancelRoutine nicht die Abbruch-Drehsperre enthalten.
Der Besitzer der Abbruch-Spinsperre sollte sie umgehend freigeben, indem er IoReleaseCancelSpinLock aufruft.
Eine vom Treiber bereitgestellte Cancel-Routine wird aufgerufen, wobei die Abbruchdrehsperre gehalten wird. Es muss die Abbruch-Spin-Sperre freigeben, wenn die IRP beendet wurde, um abgebrochen zu werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 |
Kopfzeile | wdm.h |
IRQL | <=DISPATCH_LEVEL |
DDI-Complianceregeln | CancelSpinLock(storport), CancelSpinLock(wdm), CancelSpinlockRelease(wdm), HwStorPortProhibitedDIs(storport), SpinLockSafe(storport), SpinLockSafe(wdm) |