| Previous | Next |
| DISP_E_TYPEMISMATCH | DISP_E_NONAMEDARGS |
DISP_E_UNKNOWNNAME
Automation member name is unknown
DISP_E_UNKNOWNNAME is HRESULT 2147614726 (0x80020006) from winerror.h. The documented description is “Unknown name.” The value must be interpreted at IDispatch::GetIDsOfNames resolving a method, property, or named parameter.
The dispatch object cannot map one of the requested names to a DISPID in the selected locale and interface version.
Where the result appears
- This result is returned while Automation binds or executes IDispatch::GetIDsOfNames resolving a method, property, or named parameter.
Typical causes and interpretation
Common cause categories are: the member was renamed; the wrong object is used; the locale-specific name is unavailable; stale generated bindings call an older API. The candidate causes are alternatives, so test one precondition at a time instead of applying several broad repairs together.
Key distinction: the dispatch object cannot map one of the requested names to a DISPID in the selected locale and interface version.
Evidence to preserve
- Record this result with the object CLSID or ProgID, interface identity, member DISPID, dispatch flags, and type-library version.
- Capture all requested names; LCID; object version; type-library registration; case and spelling; first unresolved name.
Telemetry should be reproducible without copying secret values: prefer GUIDs, lengths, flags, sanitized names, and correlation IDs.
Correct handling and recovery
The appropriate recovery is to regenerate bindings from the deployed type library, use documented invariant names, and treat optional capabilities as unavailable when lookup fails.
Practical scenario
A macro targets a property introduced in a newer application version and disables that feature after name resolution fails.
Difference from related HRESULTs
DISP_E_MEMBERNOTFOUND generally follows a known DISPID that cannot be invoked; it occurs during name-to-DISPID resolution.
Keeping it separate from its neighbor improves retry, cleanup, and user messaging because the two results imply different postconditions.
References
Looking for a different code? Search another status or error code.