| Previous | Next |
| WCM_E_CYCLICREFERENCE | WCM_E_NOTSUPPORTEDFUNCTION |
WCM_E_MIXTYPEASSERTION
WCM_E_MIXTYPEASSERTION is the failure HRESULT 0x80220024 (signed decimal -2145255388, unsigned decimal 2149711908). Its severity bit is 1, facility is 34 (FACILITY_STATE_MANAGEMENT), and the facility-specific code field is 0x0024.
AllStat records the Windows SDK description as “Assertions using shared and per-user settings are not supported”
What the HRESULT establishes
One assertion crosses shared and per-user scope. The operation reached assertion validation where referenced settings belong to different persistence/user scopes. The first branch to test is whether a shared machine setting depends on a user-specific value; keep that separate from the possibility that a per-user assertion references a shared list through generated metadata.
Processing stage
At this boundary, capture scope classification of every referenced setting, then correlate it with assertion source and complete dependency list. Assign ownership only after checking target user context and namespace identity.
Failure patterns to separate
- a shared machine setting depends on a user-specific value
- a per-user assertion references a shared list through generated metadata
- scope annotations changed on one setting without updating assertions
- a reusable assertion was applied to both scope types
Capture these facts first
- scope classification of every referenced setting
- assertion source and complete dependency list
- target user context and namespace identity
- metadata revision where scope changed
- separate evaluation examples for shared and per-user state
A safe investigation order
- split the rule into scope-homogeneous assertions
- move shared prerequisites into deployment logic outside the unsupported assertion
- avoid duplicating user state into shared settings merely to satisfy validation
- update references when changing setting scope
- test metadata with multiple users and the shared store separated
Recovery conditions
Retry requires redesigning the assertion. Selecting another user does not make a mixed-scope assertion supported.
Do not confuse it with adjacent codes
WCM_E_ASSERTIONFAILED means a supported assertion evaluated false. MIXTYPEASSERTION says the assertion model itself uses an unsupported scope combination.
Deployment example
A machine-wide feature flag assertion directly references a current-user preference. SMI refuses to compile/evaluate the cross-scope rule.
Telemetry fields worth retaining
For operational telemetry, retain target user context and namespace identity; also record metadata revision where scope changed. Preserve a redacted summary of separate evaluation examples for shared and per-user state; use a cryptographic hash when that evidence is a file, stream, or generated artifact.
Official Microsoft references.
- Microsoft: SMI error and success constants.
- Microsoft: Settings Management Infrastructure API.
- Microsoft: SMI interfaces.
- Microsoft: ISettingsContext::Deserialize.
- Microsoft: ISettingsResult::GetLine.
Looking for a different code? Search another status or error code.