¿Qué significa el código HRESULT 0xC8000649 (hrUpdateNotPrepared)?

 
Anterior Siguiente
hrKeyNotMade hrerrDataHasChanged

hrUpdateNotPrepared

hrUpdateNotPrepared: cómo leer el resultado

En el flujo legacy ESE/Directory Service, hrUpdateNotPrepared describe que una operación JetSetColumn/JetUpdate llegó a un cursor sin el prepared update correspondiente.

El valor publicado es 0xC8000649; la condición JET correspondiente es JET_errUpdateNotPrepared. No es equivalente a hrAlreadyPrepared: ese valor indica que el cursor ya tiene un prepared update/copy y recibe otro prepare incompatible. También se distingue de hrRecordNotFound, donde la búsqueda o bookmark no encontró ningún registro que coincida con la clave solicitada.

Diagnóstico diferencial

Registra la primera llamada donde se cumple la condición concreta: una operación JetSetColumn/JetUpdate llegó a un cursor sin el prepared update correspondiente.

  1. Conserva el contexto de JET_SESID, cursor/JET_TABLEID, transaction level y prepared update; para esta página las APIs/estructuras observadas en la referencia incluyen JetSetColumn, JetUpdate, JetMove, JetSeek, JetGetBookmark, JetGotoBookmark.
  2. Antes del retry, reconstruye el estado de sesión/cursor dentro de una secuencia transaction/prepare válida y evita reutilizar IDs obsoletos.

Códigos cercanos que conviene separar en logs: hrAlreadyPrepared, hrRecordNotFound, hrRecordDeleted.

Referencias técnicas


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