| Previous | Next |
| MK_E_MUSTBOTHERUSER | MK_E_NOSTORAGE |
MK_E_NOINVERSE
Moniker class has no inverse
When Windows returns MK_E_NOINVERSE—HRESULT 2147746284, 0x800401EC, signed -2147221012—The documented description is “Moniker class has no inverse”. The actionable meaning is the moniker class cannot produce an inverse moniker for this identity. The surrounding operation is calling IMoniker::Inverse during relative-name or composition operations.
Precise failure point
- Confirm that this result came from calling IMoniker::Inverse during relative-name or composition operations, rather than from cleanup or a wrapper that ran afterward.
Diagnostic evidence
- Record moniker class and display name before Inverse.
- Verify whether RelativePathTo or another direct operation better expresses the intent.
- Test composition semantics with a known-good moniker of the same class.
Resolution path
- Identify the exact object, method, and lifecycle phase involved in calling IMoniker::Inverse during relative-name or composition operations.
Distinct causes
- It can result when the class has no meaningful reversible representation.
- It can result when the moniker contains lossy or context-dependent components.
- It can result when caller logic assumes every moniker supports algebraic inverse operations.
Retry policy
Correction. use a class-specific relative-path method or retain the original context instead of requiring an inverse. Retry condition. Retry only with a different moniker representation; the same class will continue to lack an inverse. Before repeating the operation, release partial monikers and bound interfaces, unregister only owned Running Object Table entries, and abandon a bind context whose deadline or parameters no longer match the retry.
Practical scenario
A custom query moniker embeds server-side search state that cannot be reversed; the client stores the parent identity explicitly rather than computing an inverse.
Difference from related HRESULTs
MK_E_NOPREFIX concerns absence of a shared prefix between two monikers; it concerns one moniker’s unsupported inverse operation.
Developer and administrator guidance
References
Looking for a different code? Search another status or error code.