Site icon EfmSoft

What does HRESULT 0xC8000641 (hrRecordNotFound) mean?

 
Previous Next
hrCannotBeTagged hrNoCurrentRecord

hrRecordNotFound

Interpretation in ESE terms

hrRecordNotFound means a seek or lookup found no row matching the constructed key or bookmark criteria.

This is the legacy Directory Service backup/restore HRESULT form of JET_errRecordNotFound (0xC8000641).

The key comparison is: hrNoCurrentRecord is a cursor-position state; this result is the outcome of a lookup. The first useful observation is to record current index, key segments, normalization, seek relation, range, and transaction snapshot. This evidence distinguishes failed lookup, lost cursor currency, deleted rows, invalid bookmarks, and prepared-update state.

The ESE objects in play

Diagnostic layercursor currency, bookmarks, prepared updates, and row lifecycle
Typical API surfaceJetMove, JetSeek, JetGetBookmark, JetGotoBookmark, JetPrepareUpdate, JetUpdate, and JetDelete
Code-specific conditiona seek or lookup found no row matching the constructed key or bookmark criteria
First corrective directionhandle absence as data state, and verify key encoding before assuming corruption

Preparing an update creates cursor state that must be completed or cancelled deliberately. Cursor currency can be invalidated by navigation, deletion, rollback, or concurrent changes.

Comparison with adjacent failures

hrRecordDeletedthe cursor refers to a row that was deleted after it became the current record
hrUpdateNotPreparedJetSetColumn/JetUpdate-style work reached a cursor without a matching prepared update state
hrRecordClusteredChangedan update attempted to change a clustered key in a way the engine cannot apply in place

What to capture before retrying

Actions that can hide or worsen the problem

Operational response

  1. Freeze the failing request context and record 0xC8000641, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: record current index, key segments, normalization, seek relation, range, and transaction snapshot.
  3. Apply the targeted fix: handle absence as data state, and verify key encoding before assuming corruption.
  4. Before retrying the operation, reconcile cursor currency, row existence, bookmark validity, and prepared-update cleanup.

Technical references


Looking for a different code? Search another status or error code.

Exit mobile version