Что означает код HRESULT 0x80040160 (CAT_E_CATIDNOEXIST)?

 
Предыдущий Следующий
REGDB_E_PACKAGEPOLICYVIOLATION CAT_E_NODESCRIPTION

CAT_E_CATIDNOEXIST

Практический смысл результата

CAT_E_CATIDNOEXIST — не общий признак «что-то сломалось», а состояние Указанный CATID не существует. Первичный эксперимент должен воспроизводить именно COM component categories.

Данные первого неуспешного вызова

  • Зафиксируйте CATID, locale, registry view, category description и caller architecture; для этого результата эти данные должны относиться к первому неуспешному вызову, а не к cleanup после него.
  • Отдельно проверьте CATID в правильном registry view и наличие category key до enumeration. Это проверяет условие «Указанный CATID не существует» по фактическим параметрам, а не по имени константы.
  • Сохраните технические маркеры 0x80040160, FACILITY_ITF, 0x0160, CATID и один исправный запуск с теми же входными данными.

Безопасный повтор

Сначала проверить регистрацию CATID и fallback locale отдельно от регистрации CLSID компонентов; затем верните остальные параметры исходного случая. Причина подтверждается, если результат меняется вместе с проверяемой предпосылкой.

Не расширяйте область изменений без необходимости: не создавать новую category запись, пока не подтверждена ошибка lookup. Сначала нужен воспроизводимый контраст между исправным и отказавшим случаем.

Ближайший по прежнему шаблону результат CLIPBRD_E_BAD_DATA не следует считать эквивалентным: сравнивайте точное условие, указанное здесь, и первую различающуюся операцию.

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


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