FSCTL_OPLOCK_BREAK_ACK_NO_2 control code
The FSCTL_OPLOCK_BREAK_ACK_NO_2 control code responds to notification that an exclusive (level 1, batch, or filter) opportunistic lock (oplock) on a file has been broken.
A client application sends this control code to indicate that it acknowledges the oplock break and that, if the oplock is a level 1 oplock that was broken to level 2, it does not want the level 2 oplock.
To process this control code, a minifilter calls FltOplockFsctrl with the following parameters. A file system or legacy filter driver calls FsRtlOplockFsctrl.
For more information about opportunistic locking and about the FSCTL_OPLOCK_BREAK_ACK_NO_2 control code, see the Microsoft Windows SDK documentation.
Parameters
Oplock: Opaque oplock object pointer for the file.
CallbackData: FltOplockFsctrl only. Callback data (FLT_CALLBACK_DATA) structure for an IRP_MJ_FILE_SYSTEM_CONTROL FSCTL request. The FsControlCode parameter for the operation must be FSCTL_OPLOCK_BREAK_ACK_NO_2.
Irp: FsRtlOplockFsctrl only. IRP for an IRP_MJ_FILE_SYSTEM_CONTROL FSCTL request. The FsControlCode parameter for the operation must be FSCTL_OPLOCK_BREAK_ACK_NO_2.
OpenCount: Not used with this operation; set to zero.
Status block
FltOplockFsctrl always returns FLT_PREOP_COMPLETE for this operation.
FsRtlOplockFsctrl returns one of the following NTSTATUS values for this operation:
Code | Meaning |
---|---|
STATUS_SUCCESS | The oplock break is acknowledged. No remaining oplocks are held. |
STATUS_INVALID_OPLOCK_PROTOCOL | No oplock was held by this handle, or the oplock break is not currently in progress. This is an error code. |
Requirements
Requirement type | Requirement |
---|---|
Header | Ntifs.h (include Ntifs.h or Fltkernel.h) |
See also
FLT_PARAMETERS for IRP_MJ_FILE_SYSTEM_CONTROL
FSCTL_OPBATCH_ACK_CLOSE_PENDING