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


Проверка состояния oplock операции IRP_MJ_WRITE

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

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

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

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

Условия для всех остальных типов запросов:

  • Прерывание IRP_MJ_WRITE при выполнении операции записи в FILE_OBJECT с ключом oplock, отличающимся от ключа FILE_OBJECT, которому принадлежит oplock. Если блокировка не работает, прервите на нет.

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

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

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

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