Что означает код HRESULT 0x80040166 (CS_E_CLASS_NOTFOUND)?

 
Предыдущий Следующий
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 не следует считать эквивалентным: сравнивайте точное условие, указанное здесь, и первую различающуюся операцию.

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


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