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 |