| Предыдущий | Следующий |
| CS_E_NOT_DELETABLE | CS_E_INVALID_VERSION |
CS_E_CLASS_NOTFOUND
Диагностическая граница
Результат CS_E_CLASS_NOTFOUND фиксирует условие: Указанный CLSID не найден в данных установки ПО в Active Directory. Оно сужает расследование до legacy COM Class Store в Active Directory и позволяет проверить одну предпосылку, не меняя остальные части сценария.
Свидетельства для сравнения
- Зафиксируйте CLSID/package criteria, directory object DN, schema/version, DC, network source и policy context; для этого результата эти данные должны относиться к первому неуспешному вызову, а не к cleanup после него.
- Отдельно ищите mapping именно запрошенного CLSID, а не только существование package. Это проверяет условие «Указанный CLSID не найден в данных установки ПО в Active Directory» по фактическим параметрам, а не по имени константы.
- Сохраните технические маркеры
0x80040166,FACILITY_ITF,0x0166,CLSIDи один исправный запуск с теми же входными данными.
Как подтвердить причину
Для контролируемого сравнения нужно разделить directory lookup, package selection, referential integrity и network access одним контролируемым тестом. Окружение, identity объекта и остальные входы оставьте прежними.
Практическое правило здесь — не подменять Class Store ошибку локальной regsvr32-регистрацией без проверки deployment policy; изменение соседней подсистемы не считается подтверждением причины.
Ближайший по прежнему шаблону результат CS_E_NETWORK_ERROR не следует считать эквивалентным: сравнивайте точное условие, указанное здесь, и первую различающуюся операцию.
Технические ссылки
- Microsoft: generic COM error codes
- Microsoft: HRESULT values
- Microsoft: CLSIDFromProgIDEx
- Microsoft: registering COM components
- Регистрация COM-объектов
Нужно найти другой код? Найти другой код состояния или ошибки.