| Previous | Next |
| DISP_E_UNKNOWNINTERFACE | DISP_E_PARAMNOTFOUND |
DISP_E_MEMBERNOTFOUND
The requested Automation member is not available for this dispatch call
DISP_E_MEMBERNOTFOUND is returned by the COM Automation IDispatch path when the object has no member matching the supplied DISPID for the requested invocation form. The failure occurs at member dispatch; it is not a general explanation of how COM or late binding works.
What to verify
- Record the object class/interface,
DISPID,wFlagspassed toIDispatch::Invoke, type-library version, and whether the client is performing a method call, property get, or property put. - If the client cached a
DISPID, resolve the member again withGetIDsOfNamesafter changing object implementation or version. A numeric ID is meaningful only in the dispatch contract that assigned it. - Check that the member supports the requested invocation form. A property can exist while a particular get/put form is unavailable.
Distinguish nearby Automation errors
DISP_E_UNKNOWNNAME belongs to name-to-DISPID resolution. DISP_E_BADPARAMCOUNT and type-mismatch results mean the member was found but the supplied arguments do not satisfy its call contract. Keeping these boundaries separate prevents changing arguments when the real problem is a stale or wrong member identifier.
Recovery
Use a member and invocation form supported by the actual object version. Do not hard-code a DISPID obtained from another class or incompatible type library.
References
Looking for a different code? Search another status or error code.