Site icon EfmSoft

Что означает код NTSTATUS 0xC0000035 (STATUS_OBJECT_NAME_COLLISION)?

 
Предыдущий Следующий
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 отдельно проверьте ожидание типа объекта: существующий файл и существующий каталог с тем же именем могут требовать разной обработки.

Технические ссылки


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

Exit mobile version