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 |