Site icon EfmSoft

Что означает код NTSTATUS 0xC0000101 (STATUS_DIRECTORY_NOT_EMPTY)?

 
Предыдущий Следующий
STATUS_VARIABLE_NOT_FOUND STATUS_FILE_CORRUPT_ERROR

STATUS_DIRECTORY_NOT_EMPTY

STATUS_DIRECTORY_NOT_EMPTY возвращается, когда операция удаления направлена на каталог, в котором ещё есть записи. Удаление каталога отличается от рекурсивного удаления дерева: перед окончательным удалением каталог должен быть пуст.

Что требуется для «пустого» каталога

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

Надёжная стратегия очистки

При пользовательской очистке отличайте реальное наличие содержимого от проблемы доступа или совместного использования. Для непустого каталога требуется иное исправление, чем для каталога, заблокированного разрешениями или несовместимым открытым дескриптором.

См. Создание и удаление каталогов и RemoveDirectory.


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

Exit mobile version