FSCTL_OPLOCK_BREAK_ACKNOWLEDGE 控制代码
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE控制代码会响应 (文件上的) 机会锁定 () OPLOCK 锁定的通知,的机会锁已中断。
客户端应用程序发送此控制代码以指示它确认 oplock 中断,并且,如果 oplock 是已分解为级别2的第1级 oplock,则它需要2级 oplock。
若要处理此控制代码,微筛选器将使用以下参数调用 FltOplockFsctrl 。 文件系统或旧筛选器驱动程序调用 FsRtlOplockFsctrl。
有关机会锁定和有关FSCTL_OPLOCK_BREAK_ACKNOWLEDGE控制代码的详细信息,请参阅 Microsoft Windows SDK 文档。
Parameters
CallbackData
仅FltOplockFsctrl 。 回调数据 (FLT_CALLBACK_DATA IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 请求) 结构。 操作的 FsControlCode 参数必须 FSCTL_OPLOCK_BREAK_ACKNOWLEDGE。
Irp
仅FsRtlOplockFsctrl 。 IRP IRP_MJ_FILE_SYSTEM_CONTROL FSCTL 请求。 操作的 FsControlCode 参数必须 FSCTL_OPLOCK_BREAK_ACKNOWLEDGE。
状态块
如果第1级 oplock 分解为级别2,并且已授予2级 oplock,则FltOplockFsctrl将返回此操作 FLT_PREOP_PENDING。 否则,它将返回 FLT_PREOP_COMPLETE。
对于此操作, FsRtlOplockFsctrl返回以下 NTSTATUS 值之一:
术语 | 说明 |
---|---|
STATUS_SUCCESS |
将确认 oplock 中断。 不保留剩余的 oplock。 |
STATUS_INVALID_OPLOCK_PROTOCOL |
此句柄未持有 oplock,或 oplock 中断当前未进行。 这是一个错误代码。 |
STATUS_PENDING |
将确认 oplock 中断。 返回时, FSCTL_OPLOCK_BREAK_ACKNOWLEDGE 控制代码的发件人包含2级 OPLOCK。 这是一个成功代码。 |
要求
标头 |
Ntifs (包含 Ntifs 或 Fltkernel) |
另请参阅
IRP_MJ_FILE_SYSTEM_CONTROL 的 FLT_PARAMETERS