What does HRESULT 0x00040180 (OLEOBJ_S_INVALIDVERB) mean?

 
Previous Next
CACHE_S_SOMECACHES_NOTUPDATED OLEOBJ_S_CANNOT_DOVERB_NOW

OLEOBJ_S_INVALIDVERB

OLE object rejected an invalid verb without generic failure

OLEOBJ_S_INVALIDVERB is HRESULT 262528 (0x00040180) from winerror.h. The documented description is “Invalid verb for OLE object.” The high-order severity bit is clear, so this is a success result, but it carries more information than plain S_OK.

The requested OLE verb number is not valid for the object, and the caller must choose a supported verb rather than treating activation as globally broken.

Where the result is encountered

  • This result can appear in IOleObject::DoVerb calls; record the producing interface and method.
  • This result can appear in container menus built from object verbs; record the producing interface and method.
  • It can appear in automation code invoking primary, show, open, hide, or custom verbs; record the producing interface and method.

Diagnostic sequence

  • Capture the raw HRESULT 0x00040180 immediately after the returning method and record whether the caller used SUCCEEDED, FAILED, equality testing, or exception translation.
  • Verify the method-specific state: the verb identifier exists in the object registration or EnumVerbs result for the current object class and state.

State to verify

The central question is whether the verb identifier exists in the object registration or EnumVerbs result for the current object class and state.

Correct handling, retry, and recovery

Refresh the supported verb list and invoke a valid alternative. Do not repeatedly retry the same invalid verb or unregister the class based on this status alone.

Evidence to preserve

  • Preserve requested verb value.
  • Preserve CLSID and server version.
  • Preserve enumerated OLEVERB entries.
  • Preserve object running and in-place-active state.
  • Preserve container window and client-site information.

Difference from nearby HRESULT values

OLEOBJ_S_CANNOT_DOVERB_NOW means the verb is valid but temporarily unavailable; it means the identifier itself is not accepted.

Developer and administrator guidance

Practical validation scenario

A toolbar caches a custom verb from an older server version. After upgrade the verb is absent, so the container receives it, rebuilds its menu from EnumVerbs, and uses the primary verb.

References


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