Что означает код NTSTATUS 0xC0000128 (STATUS_FILE_CLOSED)?

 
Предыдущий Следующий
STATUS_MEMBERS_PRIMARY_GROUP STATUS_TOO_MANY_THREADS

STATUS_FILE_CLOSED

Запрос поступил после закрытия объекта файла

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

Решением является синхронизация времени жизни. Повторное открытие файла внутри пути завершения может скрыть ошибку и перенаправить работу к другому объекту или контексту безопасности.

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

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

Ссылки


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