Freigeben über


FltAcquirePushLockExclusiveExclusiveEx function (fltkernel.h)

Die FltAcquirePushLockExclusiveExclusiveEx Routine erhält die angegebene Pushsperre für exklusiven Zugriff durch den aufrufenden Thread.

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 FltInitializePushLockinitialisiert worden sein.

Flags

Eine Bitmaske von Flags, die die Attribute der Sperre steuern. Flags kann der folgende Wert sein.

Flagge Bedeutung
FLT_PUSH_LOCK_DISABLE_AUTO_BOOST Deaktivieren Sie die automatische Verstärkung der Pushsperre.
FLT_PUSH_LOCK_ENABLE_AUTO_BOOST Veraltet; hat keine Wirkung. Aktiviert die automatische Verstärkung der Pushsperre.

Rückgabewert

Nichts.

Bemerkungen

FltAcquirePushLockExclusiveEx erhält die angegebene Pushsperre für exklusiven Zugriff durch den aufrufenden Thread.

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

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

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

  • Wenn die Pushsperre derzeit nicht freigegeben ist, wird der exklusive Zugriff sofort auf den aktuellen Thread gewährt.

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

Anforderungen

Anforderung Wert
Header- fltkernel.h
Library FltMgr.lib

Siehe auch

FltInitializePushLock