| Previous | Next |
| DISP_E_ARRAYISLOCKED | DISP_E_PARAMNOTOPTIONAL |
DISP_E_BADPARAMCOUNT
Automation member received the wrong number of arguments
DISP_E_BADPARAMCOUNT is HRESULT 2147614734 (0x8002000E) from winerror.h. The documented description is “Invalid number of parameters.” The value must be interpreted at IDispatch::Invoke binding positional and named values to a member signature.
CArgs and cNamedArgs cannot satisfy the selected method or property invocation form.
Where the result appears
- This result is returned while Automation binds or executes IDispatch::Invoke binding positional and named values to a member signature.
Typical causes and interpretation
Common cause categories are: an optional argument is omitted incorrectly; property put lacks DISPID_PROPERTYPUT; generated bindings target another version; arguments are doubled.
Key distinction: cArgs and cNamedArgs cannot satisfy the selected method or property invocation form.
Evidence to preserve
- Record this result with the object CLSID or ProgID, interface identity, member DISPID, dispatch flags, and type-library version.
- Capture member DISPID and invoke flags; actual counts; optional parameters; property-put named DISPID; type-library signature.
A useful diagnostic event contains ownership and shape information, not raw documents, passwords, access tokens, or full Automation values.
Correct handling and recovery
The appropriate recovery is to derive the signature from current type information, include required property named arguments, and encode omitted optionals using the documented VARIANT form. Repeat the operation only after the failed condition has changed and the caller can distinguish a duplicate effect.
Use the documented output contract and reconcile remote or persistent effects before replaying the request.
Practical scenario
A property assignment passes one value but omits the required named DISPID_PROPERTYPUT, so the invoker corrects DISPPARAMS.
Difference from related HRESULTs
DISP_E_PARAMNOTOPTIONAL identifies a specific missing required parameter; it is the overall count mismatch.
References
Looking for a different code? Search another status or error code.