FSCTL_REQUEST_FILTER_OPLOCK控制代码

FSCTL_REQUEST_FILTER_OPLOCK 代码请求对文件 (操作锁) 筛选机会锁。

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

有关机会锁定以及控制代码FSCTL_REQUEST_FILTER_OPLOCK,请参阅Microsoft Windows SDK文档。

Parameters

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

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

Irp
仅 FsRtlOplockFsctrl 。 FSCTL IRP_MJ_FILE_SYSTEM_CONTROL IRP。 该操作 的 FsControlCode 参数必须FSCTL_REQUEST_FILTER_OPLOCK。

OpenCount
文件的用户句柄数。

状态块

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

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

术语 说明

STATUS_PENDING

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

STATUS_CANCELLED

IRP 已取消,FSCTL_REQUEST_BATCH_OPLOCK操作完成。 这是错误代码。

STATUS_OPLOCK_NOT_GRANTED

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

要求

标头

Ntifs.h (包括 Ntifs.h 或 Fltkernel.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_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL