| Anterior | Siguiente |
| CACHE_S_SOMECACHES_NOTUPDATED | OLEOBJ_S_CANNOT_DOVERB_NOW |
OLEOBJ_S_INVALIDVERB
Qué significa OLEOBJ_S_INVALIDVERB
OLEOBJ_S_INVALIDVERB vale 0x00040180. Es un resultado de éxito con información: el identificador de verbo entregado a un objeto OLE no es válido para ese objeto. Por tanto, un programa que sólo comprueba FAILED(hr) puede continuar, pero no debe fingir que se ejecutó la acción solicitada.
Qué comprobar
- Obtén la lista actual con
IOleObject::EnumVerbsy compara eliVerbsolicitado con losOLEVERBrealmente anunciados. - Conserva el CLSID, la versión del servidor OLE y el estado de activación; un verbo privado puede desaparecer después de una actualización del servidor.
- Si el número procede de un menú almacenado en caché, reconstruye ese menú al cambiar el objeto en lugar de reutilizar identificadores de otra instancia.
Cómo actuar
Selecciona un verbo presente en la enumeración actual, normalmente el primario cuando la interfaz lo permite. Repetir el mismo número inválido no aporta nada y volver a registrar COM sólo tiene sentido si antes se demuestra que el servidor instalado debería publicar ese verbo.
Diferencia importante
OLEOBJ_S_CANNOT_DOVERB_NOW acepta el número de verbo pero rechaza el momento o el estado actual; OLEOBJ_S_INVALIDVERB indica que el propio identificador no es aceptable.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.
