Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die KeInitializeSpinLock Routine initialisiert eine Variable vom Typ KSPIN_LOCK.
Syntax
VOID KeInitializeSpinLock(
[out] PKSPIN_LOCK SpinLock
);
Parameter
[out] SpinLock
Zeigen Sie auf eine Drehsperre, für die der Aufrufer den Speicher bereitstellen muss.
Rückgabewert
Nichts
Bemerkungen
Diese Routine muss vor einem anfänglichen Aufruf von KeAcquireSpinLockaufgerufen werden, um KeAcquireInStackQueuedSpinLock oder einer anderen Supportroutine, die eine Drehsperre als Argument erfordert, zu.
Speicher für ein Spin-Lock-Objekt muss resident sein: in der Geräteerweiterung eines vom Treiber erstellten Geräteobjekts, in der Controllererweiterung eines vom Treiber erstellten Controllerobjekts oder in nicht seitengebundenem Pool, der vom Aufrufer zugewiesen wird.
Diese Funktion ist inlined für x64-Systeme von Windows XP bis Windows 7. Ab Windows 8 wird diese Funktion aus ntoskrnl.libexportiert. Wenn Sie daher windows 10 WDK verwenden, um eine Binärdatei zu erstellen, die unter Windows 7 ausgeführt wird (und sie daher NX-Poolnutzung zum Bestehen von Windows 10 HLK-Tests benötigen), müssen Sie WIN9X_COMPAT_SPINLOCKdefinieren. Andernfalls wird möglicherweise Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)angezeigt.
Weitere Informationen zu Drehsperren finden Sie unter Spin Locks.
Aufrufer dieser Routine können in jedem IRQL ausgeführt werden. Normalerweise wird ein Aufrufer bei IRQL = PASSIVE_LEVEL in einer AddDevice- Routine ausgeführt.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Universal |
| Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL- | NtosKrnl.exe |
| IRQL- | Beliebige Ebene (siehe Abschnitt "Hinweise") |
| DDI-Complianceregeln | HwStorPortProhibitedDIs(storport) |
Siehe auch
KeAcquireInStackQueuedSpinLock
KeAcquireInStackQueuedSpinLockAtDpcLevel
KeReleaseInStackQueuedSpinLock