FSCTL_REQUEST_OPLOCK_LEVEL_1 控制代码
FSCTL_REQUEST_OPLOCK_LEVEL_1控制代码请求在文件上 (OPLOCK) 的第1级机会锁。
若要处理此控制代码,微筛选器将使用以下参数调用 FltOplockFsctrl 。 文件系统或旧筛选器驱动程序调用 FsRtlOplockFsctrl。
有关机会锁定和有关FSCTL_REQUEST_OPLOCK_LEVEL_1控制代码的详细信息,请参阅 Microsoft Windows SDK 文档。
Parameters
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。
状态块
如果已授予 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) |
另请参阅
IRP_MJ_FILE_SYSTEM_CONTROL 的 FLT_PARAMETERS
FSCTL_OPBATCH_ACK_CLOSE_PENDING