| Предыдущий | Следующий |
| STATUS_OPLOCK_NOT_GRANTED | STATUS_INTERNAL_DB_CORRUPTION |
STATUS_INVALID_OPLOCK_PROTOCOL
Конечный автомат oplock получил недопустимое подтверждение
Разрывы oplock имеют определённый протокол запроса и подтверждения. Клиент должен подтвердить разрыв с состоянием и флагами, возвращёнными файловой системой. Повторное использование старого буфера, двойное подтверждение или ответ с несовместимым запрошенным уровнем нарушают протокол.
Этот статус указывает на обработку конечного автомата, а не на обычную конкуренцию за файл. Сохраните уровни oplock до и после и порядок завершений вокруг разрыва.
Что проверить
- Сопоставляйте каждое уведомление о разрыве ровно с одним ожидающим запросом oplock.
- Записывайте OriginalOplockLevel, NewOplockLevel, Flags и время жизни дескриптора.
- Проверьте гонки между отменой, закрытием дескриптора и асинхронным подтверждением.
Ссылки
- Microsoft: FSCTL_REQUEST_OPLOCK
- Microsoft: типы оппортунистических блокировок
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.