| Предыдущий | Следующий |
| STATUS_PENDING | STATUS_MORE_ENTRIES |
STATUS_REPARSE
Управляющий результат разрешения имени
STATUS_REPARSE не является обычной ошибкой уровня приложения, такой как «файл не найден». Определение NTSTATUS говорит, что Object Manager должен выполнить повторный анализ, поскольку при разрешении текущего имени была достигнута символическая ссылка. Иными словами, поиск встретил границу, после которой текущее имя больше не является окончательным путём объекта.
Полезный вопрос состоит в том, намеревалась ли вызывающая сторона следовать по ссылке. Операция, чувствительная к безопасности, может намеренно запрашивать проверку самого объекта ссылки, тогда как обычное открытие обычно ожидает продолжения разрешения пространства имён до цели. Рассматривая статус как временную ошибку ввода-вывода, легко потерять это различие.
Граница диагностики
- Зафиксируйте исходное внутреннее имя, корневой дескриптор, если он был указан, и компонент пути, на котором изменилось разрешение.
- Определите, должна ли операция открыть сам объект повторного анализа или его цель.
- Сохраните в трассировке тег и целевые данные повторного анализа; тег определяет обработчик и формат данных.
- Не повторяйте открытие вслепую, если вызывающая сторона должна обеспечивать политику границ пути.
Ссылки
- Microsoft: точки повторного анализа файловой системы
- Microsoft: FSCTL_GET_REPARSE_POINT
- Wine: ntstatus.h
Нужно найти другой код? Найти другой код состояния или ошибки.