Проверка состояния oplock операции IRP_MJ_READ
При чтении потока применяются следующие условия прерывания блокировки. Если средство чтения транзакций TxF выполняет чтение, это проверка не выполняется, так как модуль чтения транзакций исключает модуль записи (т. е. модуль записи с блокировкой не может присутствовать вообще).
Условия для типов запросов уровня 2, фильтров, чтения и Read-Handle
Облокировка не сломалась.
Подтверждение не требуется, и операция выполняется немедленно.
Условия для типов запросов уровня 1, пакетной службы, чтения и записи и обработки
Прерывайте работу IRP_MJ_READ, когда операция чтения выполняется в FILE_OBJECT с клавишей oplock, которая отличается от ключа FILE_OBJECT, которому принадлежит блокировка. Если блокировка не работает:
Уровень 1 и пакетные запросы прерваться до уровня 2.
Read-Write запросы прервались на чтение.
Запросы read-write-handle прерываются в Read-Handle.
Прежде чем операция будет продолжена, необходимо получить подтверждение.