Site icon EfmSoft

What does HRESULT 0x80004002 (E_NOINTERFACE) mean?

 
Previous Next
E_NOTIMPL E_POINTER

E_NOINTERFACE

Requested COM interface is not supported

E_NOINTERFACE is HRESULT 2147500034 (0x80004002) from winerror.h. The documented description is “No such interface supported.” The value must be interpreted at IUnknown::QueryInterface, activation, aggregation, or a language projection requesting a particular IID.

The live object does not expose the requested IID under its current identity and aggregation rules.

Where the result appears

  • This result may surface in IUnknown::QueryInterface, activation, aggregation, or a language projection requesting a particular IID.

Typical causes and interpretation

Common cause categories are: the IID belongs to another component version; the caller queried the wrong object; aggregation or tear-off rules differ from the caller assumption. The candidate causes are alternatives, so test one precondition at a time instead of applying several broad repairs together.

Key distinction: the live object does not expose the requested IID under its current identity and aggregation rules.

Correct handling and recovery

The appropriate recovery is to treat the capability as unavailable, query only documented interfaces, and select a compatible component or code path; do not cast an unrelated pointer.

Practical scenario

A plug-in requests a newer configuration interface from an older in-process server and disables only the optional settings panel.

Difference from related HRESULTs

CLASS_E_CLASSNOTAVAILABLE concerns creation of the class; it occurs after an object identity exists but lacks the requested contract.

References


Looking for a different code? Search another status or error code.

Exit mobile version