Что означает код HRESULT 0x80030006 (STG_E_INVALIDHANDLE)?

 
Предыдущий Следующий
STG_E_ACCESSDENIED STG_E_INSUFFICIENTMEMORY

STG_E_INVALIDHANDLE

Что означает STG_E_INVALIDHANDLE

STG_E_INVALIDHANDLE означает, что Structured Storage операция выполняется через объект или нижележащий handle, чей lifetime уже завершён. Типичный сценарий — вызов после Release, закрытия backing resource, Revert или замены storage.

Что проверить

  • Запишите lifecycle: create/open → commit/revert → release/close → failing call.
  • Проверьте use-after-release и сохранённые native handles после замены backing storage.
  • Убедитесь, что другой поток не закрывает объект параллельно.

Как исправить

Получите новый объект через штатный open/create path и исправьте ownership. Числовой handle нельзя «оживить» повторным использованием после закрытия.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.