| Предыдущий | Следующий |
| ERROR_ORPHAN_NAME_EXHAUSTED | ERROR_CANNOT_GRANT_REQUESTED_OPLOCK |
ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE
Oplock теперь принадлежит другому дескриптору
Этот статус завершения означает, что oplock, ранее связанный с отслеживаемым дескриптором, перенесён на другой дескриптор. Windows документирует его как расширенные сведения завершения запроса oplock. Исходный дескриптор больше нельзя считать авторитетным каналом получения или подтверждения последующих изменений состояния блокировки.
Приложения, координирующие атомарное открытие с oplock, дублирование или внутреннюю замену дескрипторов, должны обновить сведения о владельце при появлении этого состояния. Сохранение старого дескриптора в диспетчере кэша может привести к пропуску уведомлений о разрыве или недопустимым подтверждениям. Сопоставьте завершение с созданием нового дескриптора, сохраните идентичность защищаемого файла и убедитесь, что очистка закрывает фактический дескриптор-владелец, а не только устаревший.
Что проверить
- Обновите дескриптор, сохранённый в объекте состояния oplock.
- Сопоставьте переход с событиями создания или замены дескриптора.
- Отправляйте последующие подтверждения только через новый дескриптор-владелец.
Ссылки
- Microsoft: операции с оппортунистическими блокировками
- Microsoft: типы oplock и обработка разрыва
- Microsoft: FSCTL_REQUEST_OPLOCK
Нужно найти другой код? Найти другой код состояния или ошибки.