| Предыдущий | Следующий |
| 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 не следует считать эквивалентным: сравнивайте точное условие, указанное здесь, и первую различающуюся операцию.
Технические ссылки
- Microsoft: generic COM error codes
- Microsoft: HRESULT values
- Microsoft: component categories
- Microsoft: ICatRegister
- Microsoft: ICatInformation::EnumCategories
Нужно найти другой код? Найти другой код состояния или ошибки.