FSCTL_OPLOCK_BREAK_NOTIFY-Steuerungscode

Der FSCTL_OPLOCK_BREAK_NOTIFY-Steuerungscode ermöglicht es der aufrufenden Anwendung, auf den Abschluss eines Oplock-Umbruchs (Opportunistic Lock) zu warten.

Dieser Vorgang ist nur für eine Oplockunterbrechung nützlich, die bereits initiiert wurde, als das Handle des Aufrufers geöffnet wurde. Das Handle muss mit FILE_COMPLETE_IF_OPLOCKED geöffnet worden sein. Dieser Vorgang ist bedeutungslos, wenn derzeit ein Oplock gehalten wird und die Oplockunterbrechung nicht gestartet wurde.

Um diesen Steuerelementcode zu verarbeiten, ruft ein Minifilter FltOplockFsctrl mit den folgenden Parametern auf. Ein Dateisystem- oder Legacyfiltertreiber ruft FsRtlOplockFsctrl auf.

Weitere Informationen zu opportunistischen Sperren und zum FSCTL_OPLOCK_BREAK_NOTIFY-Steuerelementcode finden Sie in der Microsoft Windows SDK-Dokumentation.

Parameter

  • Oplock: Undurchsichtiger Oplock-Objektzeiger für die Datei.

  • CallbackData: Nur FltOplockFsctrl . Rückrufdatenstruktur (FLT_CALLBACK_DATA) für eine IRP_MJ_FILE_SYSTEM_CONTROL FSCTL-Anforderung. Der FsControlCode-Parameter für den Vorgang muss FSCTL_OPLOCK_BREAK_NOTIFY sein.

  • Irp: Nur FsRtlOplockFsctrl . IRP für eine IRP_MJ_FILE_SYSTEM_CONTROL FSCTL-Anforderung. Der FsControlCode-Parameter für den Vorgang muss FSCTL_OPLOCK_BREAK_NOTIFY sein.

  • OpenCount: Wird bei diesem Vorgang nicht verwendet; auf 0 (null) festgelegt.

Statusblock

FltOplockFsctrl gibt FLT_PREOP_PENDING zurück, wenn der Oplock-Umbruch im Gange ist, und der IRP wird abgeschlossen, wenn der Oplock-Umbruch abgeschlossen ist. (In diesem Fall kann das IRP schließlich mit STATUS_SUCCESS oder STATUS_CANCELLED abgeschlossen werden.) Andernfalls gibt FltOplockFsctrl FLT_PREOP_COMPLETE zurück.

FsRtlOplockFsctrl gibt einen der folgenden NTSTATUS-Werte für diesen Vorgang zurück:

Code Bedeutung
STATUS_SUCCESS Dieser Ziehpunkt hat keinen Oplock gehalten, oder es wird ein Oplock gehalten, und die Oplock-Unterbrechung wurde nicht gestartet.
STATUS_INVALID_OPLOCK_PROTOCOL Der IRP wurde abgebrochen, bevor der FSCTL_OPLOCK_BREAK_NOTIFY Vorgang abgeschlossen wurde.
STATUS_PENDING Die Oplock-Unterbrechung ist im Gange. Die IRP wird abgeschlossen, wenn die Oplockunterbrechung abgeschlossen ist. Das IRP kann schließlich mit STATUS_SUCCESS oder STATUS_CANCELLED abgeschlossen werden. Dies ist ein Erfolgscode.

Anforderungen

Anforderungstyp Anforderung
Header Ntifs.h (schließen Sie Ntifs.h oder Fltkernel.h ein)

Weitere Informationen

FLT_CALLBACK_DATA

FLT_PARAMETERS

FLT_PARAMETERS für IRP_MJ_FILE_SYSTEM_CONTROL

FltOplockFsctrl

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL