What does HRESULT 0xC80006A6 (hrInvalidOnSort) mean?

 
Previous Next
hrTooManySorts hrTempFileOpenError

hrInvalidOnSort

Locate the failure in the Jet call chain

hrInvalidOnSort means an API unsupported by the current temporary sort/table representation was attempted.

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

The key comparison is: hrIllegalOperation is table-generic; this result is specific to sort cursors. The first useful observation is to record how the temporary table was opened, materialization/forward-only flags, and the failing cursor operation. This evidence identifies an operation unsupported by the chosen temporary-table or sort implementation.

The ESE objects in play

Diagnostic layertemporary-table and sort cursor capabilities
Typical API surfaceJetOpenTempTable or JetOpenTemporaryTable and operations permitted by the chosen strategy
Code-specific conditionan API unsupported by the current temporary sort/table representation was attempted
First corrective directionrestrict the workflow to operations supported by that temporary-table strategy or request materialization

The lifetime of a temporary table is tied to its referencing cursors. Temporary tables may be in-memory, forward-only sort streams, or materialized B+ trees.

Questions the logs must answer

  • Code-specific observation: record how the temporary table was opened, materialization/forward-only flags, and the failing cursor operation.
  • all cursors whose lifetime keeps the temporary table alive; associate it with this result rather than with a later generic exception.
  • temporary-table flags and whether the cursor is forward-only or materialized; associate it with this result rather than with a later generic exception.
  • the operation attempted after sort creation.

Response and verification

  1. Freeze the failing request context and record 0xC80006A6, the Jet API name, and the current instance/session ownership.
  2. Verify the code-specific precondition: record how the temporary table was opened, materialization/forward-only flags, and the failing cursor operation.
  3. Apply the targeted fix: restrict the workflow to operations supported by that temporary-table strategy or request materialization.
  4. Before retrying the operation, reconcile temporary-table strategy, cursor lifetime, and supported operation set.

Distinguishing signals

Actions that can hide or worsen the problem

  • Do not assume a forward-only sort supports ordinary table navigation.
  • Do not leak duplicated cursors that retain the temporary table.

Technical references


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