¿Qué significa el código HRESULT 0x80040180 (OLEOBJ_E_NOVERBS)?

 
Anterior Siguiente
CACHE_E_NOCACHE_UPDATED OLEOBJ_E_INVALIDVERB

OLEOBJ_E_NOVERBS

Qué significa OLEOBJ_E_NOVERBS

OLEOBJ_E_NOVERBS es 0x80040180 y sí es un HRESULT de error. El objeto OLE no expone ningún verbo utilizable por el contenedor. Esto puede ser perfectamente coherente para un objeto pensado sólo para presentar datos, pero impide construir una acción interactiva mediante el mecanismo de verbos OLE.

Cómo localizar la causa

  • Llama a IOleObject::EnumVerbs sobre la instancia real y conserva su retorno, en lugar de deducir verbos por asociaciones de archivo.
  • Registra CLSID y versión del servidor para comprobar si la clase debería anunciar acciones como Open, Edit o verbos privados.
  • Si el objeto conserva una presentación válida, separa esa capacidad de la posibilidad de editarlo; no son el mismo contrato.

Solución correcta

Presenta el objeto como no interactivo cuando ese sea su diseño, usa una operación específica de la clase si existe, o repara el servidor únicamente si una versión compatible demuestra que faltan verbos que deberían registrarse. Volver a enumerar una instancia sin cambios no crea comandos nuevos.

HRESULT cercano

OLEOBJ_E_INVALIDVERB se obtiene cuando existe el mecanismo de verbos pero el número pedido es inválido; aquí no hay verbos que escoger.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.