Поделиться через


Проверка состояния Oplock операции IRP_MJ_LOCK_CONTROL

Следующие условия прерывания операции блокировки применяются к каждой операции блокировки диапазона байтов в заданном потоке.

Условия для типа запроса уровня 2

  • Всегда прервусь на Нет.

  • Подтверждение не требуется; операция выполняется немедленно.

Условия для типа запроса фильтра

  • Блокировка не нарушена.

  • Подтверждение не требуется, и операция выполняется немедленно.

Условия для типов запросов уровня 1, пакетной обработки, чтения, чтения, чтения и записи и обработки

  • Прервите IRP_MJ_LOCK_CONTROL, когда операция блокировки выполняется на FILE_OBJECT с помощью клавиши oplock, отличной от ключа FILE_OBJECT, которому принадлежит блокировка. Если блокировка не работает, прервите ее на Нет.

  • Требования к подтверждению различаются следующим образом:

    • Запрос на чтение: подтверждение не требуется; операция выполняется немедленно.

    • Read-Handle и запросы read-write-handle. Хотя подтверждение разрыва требуется, операция продолжается немедленно (например, не дожидаясь подтверждения).

    • Уровень 1, пакетные и Read-Write запросы. Подтверждение должно быть получено до продолжения операций.