| Предыдущий | Следующий |
| WCM_E_VALIDATIONFAILED | WCM_E_MANIFESTCOMPILATIONFAILED |
WCM_E_RESTRICTIONFAILED
Практический смысл
WCM_E_RESTRICTIONFAILED (0X80220021) относится к Windows Configuration Management. Это failure HRESULT. Исходный признак результата зафиксирован в документации как исходное описание результата WCM_E_RESTRICTIONFAILED
.
Для диагностики важен первый вызов, который вернул код, и его входные параметры. Поздняя wrapper-ошибка может скрыть исходную границу контракта. Для этой страницы ключевая граница формулируется так: исходное описание результата WCM_E_RESTRICTIONFAILED
Специфичные признаки исходного описания
WCM_E_RESTRICTIONFAILED is the failure HRESULT 0x80220021 (signed decimal -2145255391 , unsigned decimal 2149711905 ). Its severity bit is 1 , facility is 34 ( FACILITY_STATE_MANAGEMENT ), and the facility-specific code field is 0x0021 .
AllStat records the Windows SDK description as “Invalid setting value on restriction.”
A value falls outside an SMI restriction. The operation reached validation of a value against facets such as allowed set, range, length, or pattern. The first branch to test is whether the value exceeds min/max bounds; keep that separate from the possibility that string length or pattern constraints fail.
At this boundary, capture item path, declared type, value, and raw representation, then correlate it with restriction facets returned for the item. Assign ownership only after checking target schema version and scope.
target-specific metadata narrows a restriction compared with another image
item path, declared type, value, and raw representation
Что сохранить до исправления
- 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.
Исправление и повторная проверка
Повтор безопасен только после изменения входа, capability, состояния или object generation; простой цикл retry без новой причины не считается исправлением.
Дополнительные признаки конкретного сценария
an enum-like value is not in the allowed set
avoid client-side validation rules copied from another Windows release
whether defaults and existing stored values satisfy the same restriction
Технические ссылки
- Microsoft: SMI error and success constants.
- Microsoft: Settings Management Infrastructure API.
- Microsoft: SMI interfaces.
- Microsoft: WcmDataType.
- Microsoft: ISettingsItem::GetDataType.
Нужно найти другой код? Найти другой код состояния или ошибки.