Freigeben über


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

Siehe auch

FsRtlInitializeOplock

ObDeferenceObject-