| Предыдущий | Следующий |
| STATUS_OBJECT_NAME_NOT_FOUND | STATUS_PORT_DO_NOT_DISTURB |
STATUS_OBJECT_NAME_COLLISION
Что означает STATUS_OBJECT_NAME_COLLISION
STATUS_OBJECT_NAME_COLLISION — объект с указанным именем уже существует.
Что проверить
Проверьте существующий объект и его параметры до попытки создать или зарегистрировать новый.
- Установите, является ли повторная операция допустимой и идемпотентной по контракту API.
- Если существующий объект отличается от ожидаемого, изменяйте или удаляйте именно его, а не создавайте параллельный дубликат.
Практический смысл и диагностика
- Create-only операция попыталась создать именованный объект, который уже существует в том же namespace.
- Сопоставьте используемый create disposition с документацией конкретного API/SMB create path, чтобы убедиться, что caller действительно требовал create-only semantics.
- Такой collision может быть обычной namespace race либо намеренной проверкой уникальности имени.
- Выберите disposition по бизнес-правилу: create-only, open-existing, create-or-open, replace и overwrite имеют разные semantics и не должны подменяться друг другом после ошибки.
- Для directory/object paths отдельно проверьте ожидание типа объекта: существующий файл и существующий каталог с тем же именем могут требовать разной обработки.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
