FSCTL_REQUEST_OPLOCK_LEVEL_1 控制代码

FSCTL_REQUEST_OPLOCK_LEVEL_1控制代码请求在文件上 (OPLOCK) 的第1级机会锁。

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

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

Parameters

机会
文件的不透明 oplock 对象指针。

CallbackData
FltOplockFsctrl 。 回调数据 (FLT_CALLBACK_DATA IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 请求) 结构。 操作的 FsControlCode 参数必须 FSCTL_REQUEST_OPLOCK_LEVEL_1。

Irp
FsRtlOplockFsctrl 。 IRP IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 请求。 操作的 FsControlCode 参数必须 FSCTL_REQUEST_OPLOCK_LEVEL_1。

OpenCount
文件的用户句柄数。

状态块

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

对于此操作, FsRtlOplockFsctrl返回以下 NTSTATUS 值之一:

术语 说明

STATUS_PENDING

已授予 oplock。 这是一个成功代码。

STATUS_CANCELLED

IRP 在 FSCTL_REQUEST_OPLOCK_LEVEL_1 操作完成前被取消。 这是一个错误代码。

STATUS_OPLOCK_NOT_GRANTED

无法授予 oplock。 这是一个错误代码。

要求

标头

Ntifs (包含 Ntifs 或 Fltkernel)

另请参阅

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_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL