Что означает код NTSTATUS 0x8000002D (STATUS_STOPPED_ON_SYMLINK)?

 
Предыдущий Следующий
STATUS_DLL_MIGHT_BE_INCOMPATIBLE STATUS_CANNOT_GRANT_REQUESTED_OPLOCK

STATUS_STOPPED_ON_SYMLINK

Вызывающий код намеренно или по правилу протокола остановился на границе символьной ссылки

STATUS_STOPPED_ON_SYMLINK означает, что операция открытия или создания дошла до символьной ссылки и остановилась на ней. Это не равнозначно неразрешённой ссылке: важно, что обход не продолжился. Такое поведение может быть ожидаемым для кода, проверяющего границы пути или работающего с самим объектом ссылки.

Удалённые файловые протоколы могут передать эту границу клиенту вместо перехода по промежуточной символьной ссылке на сервере. Поэтому устойчивый клиент должен отличать «сервер остановился на ссылке» от «цель ссылки не существует».

Обработайте границу явно

  • Запишите, являлась ли ссылка промежуточным или последним компонентом пути.
  • Получите и проверьте данные ссылки или точки повторного анализа до построения следующего имени.
  • Перед продолжением примените к цели проверки нахождения в допустимых границах и авторизации.
  • Не превращайте это в автоматический переход, если исходный запрос намеренно запрещал обход ссылок.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.