FSCTL_REQUEST_OPLOCK_LEVEL_2控制代码

FSCTL_REQUEST_OPLOCK_LEVEL_2控制代码 (文件上的 oplock) 请求 2 级机会锁。

为了处理此控制代码,微筛选器使用以下参数调用 FltOplockFsctrl 。 文件系统或旧版筛选器驱动程序调用 FsRtlOplockFsctrl

有关机会锁定和FSCTL_REQUEST_OPLOCK_LEVEL_2控制代码的详细信息,请参阅Microsoft Windows SDK文档。

参数

  • Oplock:文件的不透明不锁定对象指针。

  • CallbackData:仅限 FltOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 请求的回调数据 (FLT_CALLBACK_DATA) 结构。 操作 的 FsControlCode 参数必须FSCTL_REQUEST_OPLOCK_LEVEL_2。

  • Irp:仅限 FsRtlOplockFsctrl 。 IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 请求的 IRP。 操作 的 FsControlCode 参数必须FSCTL_REQUEST_OPLOCK_LEVEL_2。

  • OpenCount:指定文件的锁定状态。 如果文件上存在字节范围锁,请将此参数设置为非零 ULONG 值,否则设置为零。

状态块

如果已授予 oplock,则 FltOplockFsctrl 返回此操作的FLT_PREOP_PENDING。 否则,它将返回FLT_PREOP_COMPLETE。

FsRtlOplockFsctrl 为此操作返回以下 NTSTATUS 值之一:

代码 含义
STATUS_PENDING 已授予 oplock。 这是一个成功代码。
STATUS_CANCELLED 在完成FSCTL_REQUEST_OPLOCK_LEVEL_2操作之前,IRP 已取消。 这是错误代码。
STATUS_OPLOCK_NOT_GRANTED 无法授予 oplock。 这是错误代码。

要求

要求类型 要求
标头 Ntifs.h (包括 Ntifs.hFltkernel.h)

另请参阅

FLT_CALLBACK_DATA

FLT_PARAMETERS

IRP_MJ_FILE_SYSTEM_CONTROL 的 FLT_PARAMETERS

FltOplockFsctrl

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL