¿Qué significa el código HRESULT 0xC800057D (hrIndexMustStay)?

 
Anterior Siguiente
hrIndexNotFound hrIndexInvalidDef

hrIndexMustStay

Condición de ESE: hrIndexMustStay

hrIndexMustStay indica que el índice es estructuralmente obligatorio y no puede eliminarse en ese estado. El valor publicado es 0xC800057D; la condición JET correspondiente es JET_errIndexMustStay.

No es equivalente a hrIndexInUse: ese valor indica que el índice mantiene cursores o dependencias que impiden modificarlo o eliminarlo. También se distingue de hrIndexInvalidDef, donde la definición de índice contiene flags, segmentos u opciones incompatibles.

Comprobación dirigida

  • Registra la primera llamada donde se cumple la condición concreta: el índice es estructuralmente obligatorio y no puede eliminarse en ese estado.
  • Conserva el contexto de definición de índice, segmentos de key y posición de búsqueda; para esta página las APIs/estructuras observadas en la referencia incluyen JetCreateIndex, JetDeleteIndex, JetSetCurrentIndex, JetMakeKey, JetSeek, JetSetIndexRange.
  • Antes del retry, corrige la definición o la posición del cursor con una migración/transacción controlada, sin alterar schema a ciegas.

La aceptación de la corrección consiste en repetir la misma API con el mismo tipo de objeto y comprobar que hrIndexMustStay ya no aparece, sin perder el estado válido del cursor, archivo o backup.

Referencias técnicas


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