| Previous | Next |
| DISP_E_BADPARAMCOUNT | DISP_E_BADCALLEE |
DISP_E_PARAMNOTOPTIONAL
Required Automation parameter was omitted
DISP_E_PARAMNOTOPTIONAL is HRESULT 2147614735 (0x8002000F) from winerror.h. The documented description is “Parameter not optional.” The value must be interpreted at IDispatch invocation of a member with mandatory and optional parameters.
A parameter declared as required has no supplied value after positional and named argument binding.
Where the result appears
- This result is returned while Automation binds or executes IDispatch invocation of a member with mandatory and optional parameters.
Map this result to one concrete invocation and one concrete object or metadata identity before interpreting the human-readable description.
Typical causes and interpretation
Common cause categories are: the caller assumes a parameter is optional; bindings are stale; a named argument was misspelled and therefore not bound. The evidence should distinguish configuration, lifetime, input, identity, resource, and version failures rather than grouping them.
Key distinction: a parameter declared as required has no supplied value after positional and named argument binding.
Evidence to preserve
- Record it with the object CLSID or ProgID, interface identity, member DISPID, dispatch flags, and type-library version.
- Capture member signature; missing parameter position or DISPID; cArgs; optional flags; versioned type library.
For privacy-safe diagnosis of it, capture the call schema and state transitions but hash or omit confidential payloads.
Correct handling and recovery
The appropriate recovery is to supply the required value in the correct reverse-order layout, regenerate wrappers from the deployed type library, and avoid inventing defaults.
Practical scenario
A report method gained a required output-format parameter; an old wrapper is regenerated and supplies the explicit format.
Difference from related HRESULTs
DISP_E_PARAMNOTFOUND says a named identifier cannot be resolved; it says a known required slot has no value.
References
Looking for a different code? Search another status or error code.
