| Previous | Next |
| MK_E_NOPREFIX | CO_E_NOTINITIALIZED |
MK_E_ENUMERATION_FAILED
Moniker could not be enumerated
The native value 0x800401EF is MK_E_ENUMERATION_FAILED, unsigned 2147746287 and signed -2147221009. The documented description is “Moniker could not be enumerated”. Treat it as evidence that the moniker could not enumerate the components required by the operation; the operation in progress is walking a composite moniker or exposing its constituent monikers.
Operational meaning
- Confirm that this result came from walking a composite moniker or exposing its constituent monikers, rather than from cleanup or a wrapper that ran afterward.
Cause model
- It can result when the component enumerator fails partway through a malformed composite.
- It can result when a component object is released or disconnected during enumeration.
- It can result when the implementation returns inconsistent Next/Clone/Reset behavior.
Troubleshooting workflow
- Identify the exact object, method, and lifecycle phase involved in walking a composite moniker or exposing its constituent monikers.
- Record the component index and last successfully enumerated moniker.
- Retain the exact enumerator HRESULT and object identities.
- Test Clone, Reset, and single-step Next behavior under stable lifetime.
What to log
Correction strategy
Correction. rebuild the composite from validated components or fix the moniker implementation and restart enumeration from a fresh object. Retry condition. Retry after replacing the enumerator or stabilizing lifetime; continuing after an unknown skipped component is unsafe. 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 composite stores a released child pointer, so enumeration fails after two valid components; reconstructing it from serialized identities fixes the object.
Difference from related HRESULTs
MK_E_INTERMEDIATEINTERFACENOTSUPPORTED fails while using a component; it fails while obtaining the component sequence.
Developer and administrator guidance
References
Looking for a different code? Search another status or error code.
