| Предыдущий | Следующий |
| ELNRNG | ENOMSG |
ENOTEMPTY
Что означает ENOTEMPTY в Windows UCRT
ENOTEMPTY означает «Каталог не пуст». Для условия «Каталог не пуст» код ENOTEMPTY нужно связывать с первым возвратившим его вызовом и контекстом: путь, дескриптор, тип объекта, права и состояние файловой системы.
Для условия «Каталог не пуст» сначала установите канал ошибки: UCRT использует errno, Win32 API — GetLastError(), а Winsock — WSAGetLastError(); эти значения не взаимозаменяемы. Для ENOTEMPTY исходная английская страница также выделяет GetLastError и UCRT; эти данные полезно записать вместе с return value, потоком и временем события.
Диагностика
- При ошибке «Каталог не пуст» (Windows UCRT,
ENOTEMPTY) проверьте каждый компонент пути, фактический root/namespace, владельца, mode, ACL и параметры монтирования. - При ошибке «Каталог не пуст» (Windows UCRT,
ENOTEMPTY) установите, относится ли отказ к конечному объекту, родительскому каталогу, дескриптору или промежуточной ссылке. - При ошибке «Каталог не пуст» (Windows UCRT,
ENOTEMPTY) запишите flags и mode исходного вызова: open, create, rename и unlink проверяют разные условия. - При ошибке «Каталог не пуст» (Windows UCRT,
ENOTEMPTY) не выдавайте широкие права до определения конкретной недостающей возможности.
На платформе Windows UCRT исправление ENOTEMPTY считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Каталог не пуст» без утечки ресурсов и потери первичной диагностики.
Ссылки для ENOTEMPTY
Нужно найти другой код? Найти другой код состояния или ошибки.