Freigeben über


FltAcquirePushLockExclusiveEx(fltkernel.h)

Die FltAcquirePushLockExclusiveEx-Routine ruft die angegebene Pushsperre für den exklusiven Zugriff durch den aufrufenden Thread ab.

Syntax

VOID FLTAPI FltAcquirePushLockExclusiveEx(
  [in, out] PEX_PUSH_LOCK PushLock,
            ULONG         Flags
);

Parameter

[in, out] PushLock

Undurchsichtiger Pushsperrzeiger. Dieser Zeiger muss durch einen vorherigen Aufruf von FltInitializePushLock initialisiert worden sein.

Flags

Eine Bitmaske von Flags, die die Attribute der Sperre steuern. Flags können den folgenden Wert aufweisen.

Flag Bedeutung
FLT_PUSH_LOCK_DISABLE_AUTO_BOOST Deaktivieren Sie die automatische Pushsperre.
FLT_PUSH_LOCK_ENABLE_AUTO_BOOST Veraltet; hat keine Auswirkung. Aktiviert die automatische Pushsperre.

Rückgabewert

Keine.

Hinweise

FltAcquirePushLockExclusiveExclusiveEx ruft die angegebene Pushsperre für den exklusiven Zugriff durch den aufrufenden Thread ab.

Pushsperren ähneln ERESOURCE-Strukturen (auch ressourcen genannt), da sie für freigegebenen oder exklusiven Zugriff abgerufen werden können. Weitere Informationen zu Pushsperren finden Sie im Referenzeintrag für FltInitializePushLock.

Im Gegensatz zu ERESOURCE-Strukturen können Pushsperren nicht rekursiv abgerufen werden. Wenn der Aufrufer die Pushsperre für den exklusiven oder freigegebenen Zugriff bereits erworben hat, bleibt der Thread hängen.

Wann der Aufrufer exklusiven Zugriff auf die angegebene Pushsperre erhält, hängt von folgenden Faktoren ab:

  • Wenn die Pushsperre derzeit nicht vorhanden ist, wird dem aktuellen Thread sofort exklusiver Zugriff gewährt.

  • Wenn die Pushsperre bereits für den exklusiven oder freigegebenen Zugriff von einem anderen Thread abgerufen wurde, wird der aktuelle Thread in einen Wartezustand versetzt, bis die Pushsperre abgerufen werden kann.

Anforderungen

Anforderung Wert
Header fltkernel.h
Bibliothek FltMgr.lib

Weitere Informationen

FltInitializePushLock