检查IRP_MJ_LOCK_CONTROL操作的 Oplock 状态

以下 oplock 中断 条件适用于给定流上的每个字节范围锁定操作。

级别 2 请求类型的条件

  • 始终中断为 None。

  • 无需确认;操作会立即继续。

筛选器请求类型的条件

  • oplock 未中断。

  • 无需确认,操作会立即继续。

级别 1、Batch、Read、Read-Handle、Read-Write 和 Read-Write-Handle 请求类型的条件

  • 当锁定操作发生在具有 oplock 键的FILE_OBJECT上时,IRP_MJ_LOCK_CONTROL中断,而 oplock 键不同于拥有 oplock 的FILE_OBJECT的键。 如果 oplock 中断,则中断为 None。

  • 确认要求有所不同,如下所示:

    • 读取请求:无需确认;操作会立即继续。

    • Read-Handle 和读写-处理请求:尽管需要确认中断,但操作会立即继续 (,例如,无需等待确认) 。

    • 级别 1、批处理和 Read-Write 请求:必须先收到确认,然后才能继续操作。