Site icon EfmSoft

What does HRESULT 0x80040E29 (DB_E_CANTSCROLLBACKWARDS) mean?

 
Previous Next
DB_E_BADSTATUSVALUE DB_E_BADREGIONHANDLE

DB_E_CANTSCROLLBACKWARDS

Meaning

Windows documents DB_E_CANTSCROLLBACKWARDS as “Rowset does not support scrolling backward”. Here, a rowset-positioning operation requests a negative offset but the rowset cannot scroll backward.

Relevant OLE DB contract

This result must be interpreted against this contract: OLE DB rowsets own HROW values, fetch position, granted properties and visibility rules; row handles, bookmarks, update state and navigation capabilities remain valid only under the lifetime and generation that produced them.

Start with the current rowset instance, its granted properties and the exact row or position token used by the consumer when investigating this result.

Evidence to collect before changing the system

  • Evidence 1: the signed offset and reference position.
  • Evidence 2: rowset properties for backward scrolling.
  • Evidence 3: the granted properties returned when the rowset was created.

Specific conditions that produce it

  • Cause 1: the rowset is sequential or forward-scroll only.
  • Cause 2: the requested backward-scroll property was not granted.
  • Cause 3: the offset is interpreted relative to a bookmark that does not support backward movement.

Retry and recovery policy

Retry rule: retry only on a rowset that grants backward scrolling or with a nonnegative movement.

Corrective actions

  • Action 1: request a scrollable rowset when backward positioning is a requirement.
  • Action 2: use bookmarks or a consumer-side cache if the provider supports neither scroll nor restart.
  • Action 3: disable backward UI actions for forward-only sources.

Practical incident

A cursor wrapper assumes every rowset supports MovePrevious and sends offset -1 to a forward-only provider; capability-aware navigation avoids it.

Difference from related HRESULT values

DB_E_CANTFETCHBACKWARDS concerns the direction in which rows are returned, while DB_E_CANTSCROLLBACKWARDS concerns moving the rowset position backward.

Official Microsoft references


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

Exit mobile version