FsRtlOplockGetAnyBreakOwnerProcess-Funktion (ntifs.h)
FsRtlOplockGetAnyBreakOwnerProcess gibt einen Besitzer einer angeblich brechend opportunistischen Sperre (Oplock) zurück.
Syntax
PEPROCESS FsRtlOplockGetAnyBreakOwnerProcess(
POPLOCK Oplock
);
Parameter
Oplock
Zeigen Sie auf die undurchsichtige Oplockstruktur für die Datei. Dieser Zeiger muss durch einen vorherigen Aufruf von fsRtlInitializeOplockinitialisiert worden sein.
Rückgabewert
Diese Methode gibt NULL- zurück, wenn kein Besitzer gefunden werden kann; andernfalls wird ein Zeiger auf das Prozessobjekt eines Besitzers (PEPROCESS) zurückgegeben.
Bemerkungen
FsRtlOplockGetAnyBreakOwnerProcess wählt einen Besitzer für das angeblich brechende Oplock wie folgt aus:
Wenn der Oplock über einen exklusiven Besitzer verfügt, gibt FsRtlOplockGetAnyBreakOwnerProcess einen Zeiger auf den EPROCESS des exklusiven Besitzers zurück.
Wenn der Oplock keinen exklusiven Besitzer hat und die Unterbrechungswarteschlange nicht leer ist, gibt FsRtlOplockGetAnyBreakOwnerProcess willkürlich einen Zeiger auf den ersten EPROCESS in der Warteschlange zurück.
Andernfalls gibt FsRtlOplockGetAnyBreakOwnerProcess NULL zurück.
Wenn FsRtlOplockGetAnyBreakOwnerProcess nicht NULL zurückgibt, ist der Aufrufer für den Aufruf ObDeferenceObject verantwortlich, um den in seinem Auftrag erworbenen Verweis freizugeben.
FsRtlOplockGetAnyBreakOwnerProcess versucht nicht zu überprüfen, ob eine Unterbrechung tatsächlich aussteht oder dass der zurückgegebene Prozess tatsächlich der Besitzer ist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10, Version 2004 |
Header- | ntifs.h |