Что означает код NTSTATUS 0xC0000051 (STATUS_NONEXISTENT_EA_ENTRY)?

 
Предыдущий Следующий
STATUS_EA_TOO_LARGE STATUS_NO_EAS_ON_FILE

STATUS_NONEXISTENT_EA_ENTRY

Селектор расширенного атрибута больше не соответствует записи

API расширенных атрибутов могут выбирать данные по имени, списку EA или индексу перечисления. Этот результат означает, что селектор недопустим для текущего набора EA файла. Устаревший индекс особенно вероятен, если другая операция изменила метаданные между вызовами перечисления.

Обрабатывайте поиск по имени и перечисление по-разному. Отсутствие необязательного имени может быть нормальным, тогда как недопустимая позиция перечисления обычно означает необходимость начать просмотр заново. Не делайте вывод о повреждении файла только по этому статусу.

Что проверить

  • Зафиксируйте, использовала ли операция имя EA, список или индекс.
  • При перечислении сохраняйте значения RestartScan и EaIndex и начинайте заново после параллельных изменений.
  • Нормализуйте точные байты имени EA; имена EA не являются произвольными Unicode-именами файлов.

Ссылки


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