| Previous | Next |
| WCM_E_KEYNOTCHANGEABLE | WCM_E_SUBSTITUTIONNOTFOUND |
WCM_E_EXPRESSIONNOTFOUND
WCM_E_EXPRESSIONNOTFOUND is the failure HRESULT 0x80220010 (signed decimal -2145255408, unsigned decimal 2149711888). Its severity bit is 1, facility is 34 (FACILITY_STATE_MANAGEMENT), and the facility-specific code field is 0x0010.
AllStat records the Windows SDK description as “Expression is not defined.”
What the HRESULT establishes
A referenced SMI expression is missing. The operation reached resolution of a named expression used by metadata, restrictions, substitutions, or conditional configuration. The first branch to test is whether the expression declaration was removed during manifest merge; keep that separate from the possibility that a reference contains a typo or wrong namespace qualification.
Processing stage
At this boundary, capture reference name and every declaration in the compiled metadata, then correlate it with ISettingsResult source line and context around the consumer. Assign ownership only after checking manifest include/import order.
Failure patterns to separate
- the expression declaration was removed during manifest merge
- a reference contains a typo or wrong namespace qualification
- conditional generation excluded the declaration but retained its consumers
- metadata from different component revisions was combined
Capture these facts first
- reference name and every declaration in the compiled metadata
- ISettingsResult source line and context around the consumer
- manifest include/import order
- namespace and version of both producer and consumer
- preprocessed manifest after conditional generation
A safe investigation order
- restore the declaration or change the reference to the supported expression
- compile the dependency unit before the consuming manifest
- detect unresolved symbols during authoring rather than deployment
- avoid carrying expression names across namespace versions without mapping
- revalidate all consumers after fixing the definition
Recovery conditions
Retry only after the symbol table changes. Runtime state cannot satisfy a missing metadata definition.
Do not confuse it with adjacent codes
WCM_E_INVALIDEXPRESSIONSYNTAX means an expression exists but cannot be parsed. EXPRESSIONNOTFOUND means the referenced definition is absent.
Deployment example
A shared expression file is omitted from a package while component metadata still references its name. Compilation resolves no definition and returns this HRESULT.
Telemetry fields worth retaining
For operational telemetry, retain manifest include/import order; also record namespace and version of both producer and consumer. Preserve a redacted summary of preprocessed manifest after conditional generation; 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.