Что означает код NTSTATUS 0xC000017C (STATUS_KEY_DELETED)?

 
Предыдущий Следующий
STATUS_INVALID_MEMBER STATUS_NO_LOG_SPACE

STATUS_KEY_DELETED

Дескриптор раздела пережил запись пространства имён

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

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

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

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

Ссылки


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