¿Qué significa el código HRESULT 0xC8000520 (hrIllegalOperation)?

 
Anterior Siguiente
hrTooManyOpenTables hrObjectDuplicate

hrIllegalOperation

Qué cambia este HRESULT

hrIllegalOperation corresponde a la condición “la API solicitada no está permitida para el tipo de tabla, cursor mode u object state actual”.

El valor publicado es 0xC8000520; la condición JET correspondiente es JET_errIllegalOperation.

Objeto que debe conservarse

El diagnóstico se centra en objeto ESE/Directory Service sobre el que se ejecutó la llamada. No es equivalente a hrInvalidOperation: ese valor indica que la operación no es legal en el estado actual del objeto o de la sesión. También se distingue de hrDensityInvalid, donde el valor de density configurado para tabla o índice está fuera del rango soportado por el motor.

Aislamiento de la causa

  • Registra la primera llamada donde se cumple la condición concreta: la API solicitada no está permitida para el tipo de tabla, cursor mode u object state actual.
  • Conserva el contexto de objeto ESE/Directory Service sobre el que se ejecutó la llamada; para esta página las APIs/estructuras observadas en la referencia incluyen JET_TABLEID, JetOpenTable, JetCreateTableColumnIndex, JetDeleteTable.
  • Antes del retry, corrige únicamente la precondición indicada por el resultado y repite la misma llamada mínima para verificarla.

Referencias técnicas


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