| Предыдущий | Следующий |
| WCM_E_MANIFESTCOMPILATIONFAILED | WCM_E_MIXTYPEASSERTION |
WCM_E_CYCLICREFERENCE
Практический смысл
WCM_E_CYCLICREFERENCE (0X80220023) относится к Windows Configuration Management. Это failure HRESULT. Исходный признак результата зафиксирован в документации как исходное описание результата WCM_E_CYCLICREFERENCE
.
Не начинайте с переустановки компонента: сначала сохраните первый HRESULT, object generation и параметры конкретной операции, на которой возникло состояние. Для этой страницы ключевая граница формулируется так: исходное описание результата WCM_E_CYCLICREFERENCE
Специфичные признаки исходного описания
Retry only after changing the reference graph. Evaluation order cannot make a true cycle safe.
WCM_E_CYCLICREFERENCE is the failure HRESULT 0x80220023 (signed decimal -2145255389 , unsigned decimal 2149711907 ). Its severity bit is 1 , facility is 34 ( FACILITY_STATE_MANAGEMENT ), and the facility-specific code field is 0x0023 .
AllStat records the Windows SDK description as “Cyclic reference detected.”
The metadata reference graph contains a cycle. The operation reached resolution of expressions, substitutions, settings dependencies, or metadata references during compilation/validation. The first branch to test is whether expression A references B while B references A; keep that separate from the possibility that substitutions expand recursively.
At this boundary, capture the reference chain reported near the failure, then correlate it with all definitions and source files participating in the cycle. Assign ownership only after checking merge/include order.
expression A references B while B references A
Что сохранить до исправления
- namespace, configuration unit и полный logical path без секретных values
- manifest/schema version, datatype, restriction и operation type
- processor/handler identity и точную assertion или validation boundary
- user/store context, transaction state и первый HRESULT от WCM API
Как локализовать границу
Проверяйте schema/manifest contract, namespace/path и конкретное правило validation, а не весь configuration store целиком. Сначала воспроизведите минимальный сценарий без параллельного изменения конфигурации; затем сравните сохранённые параметры с условием из исходного описания. Если состояние исчезает после re-enumeration или пересоздания объекта, отдельно проверьте lifetime/generation race.
Исправление и повторная проверка
Сравните trace до и после изменения: исправленным считается тот случай, где исчезает подтверждённая причина и сохраняется корректное последующее состояние.
Дополнительные признаки конкретного сценария
a type or metadata include graph returns to an already active node
avoid fixing only the final edge without checking indirect references
break the cycle by introducing a concrete base value or one-way dependency
Технические ссылки
- Microsoft: SMI error and success constants.
- Microsoft: Settings Management Infrastructure API.
- Microsoft: SMI interfaces.
- Microsoft: ISettingsContext::Deserialize.
- Microsoft: ISettingsResult::GetLine.
Нужно найти другой код? Найти другой код состояния или ошибки.