What does HRESULT 0x87AF110A (SQLITE_E_IOERR_DIR_CLOSE) mean?

 
Previous Next
SQLITE_E_IOERR_CLOSE SQLITE_E_IOERR_SHMOPEN

SQLITE_E_IOERR_DIR_CLOSE

SQLITE_E_IOERR_DIR_CLOSE corresponds to a SQLite result code that current SQLite documentation marks as no longer used by the core.

What to check for SQLITE_E_IOERR_DIR_CLOSE

  • Record the SQLite library version and the exact VFS implementation in use.
  • Inspect custom VFS, extension, or legacy platform code that may still return this value.
  • Look for a more specific underlying filesystem error in the same log record.
SELECT sqlite_version();

SQLite: Result and Error Codes

SQLite: Extended Result Codes

SQLite: VFS interface

Diagnostic interpretation of SQLITE_E_IOERR_DIR_CLOSE

SQLITE_E_IOERR_DIR_CLOSE has the HRESULT value 0x87AF110A. AllStat records the condition as “SQLITE_IOERR_DIR_CLOSE”. For SQLITE_E_IOERR_DIR_CLOSE, in practice, interpret that wording at the boundary owned by the Windows component or COM interface that returned the HRESULT, rather than treating the value as a generic Windows message.

Evidence to capture for SQLITE_E_IOERR_DIR_CLOSE

  • Record the exact COM method or Windows API, its input object, the calling thread, and the full 0x87AF110A value before a wrapper converts it to an exception or Boolean result.
  • Capture any IErrorInfo text, activity identifier, event-log entry, and subsystem trace that mentions SQLITE_E_IOERR_DIR_CLOSE or the sqlite / ioerr / dir / close operation.
  • For SQLITE_E_IOERR_DIR_CLOSE, check the documented return contract of the specific API because the same HRESULT can require different recovery in different interfaces.

Retry and recovery for SQLITE_E_IOERR_DIR_CLOSE

Retry SQLITE_E_IOERR_DIR_CLOSE only when the owning API documents a transient state or after the condition described as “SQLITE_IOERR_DIR_CLOSE” has changed. For SQLITE_E_IOERR_DIR_CLOSE, configuration, policy, format, and authorization failures normally require correction first; an immediate loop can hide the original call site and add secondary errors.


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