Что означает код HRESULT 0x80040E1A (DB_E_CANNOTFREE)?

 
Предыдущий Следующий
DB_E_NOTFOUND DB_E_NEWLYINSERTED

DB_E_CANNOTFREE

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

DB_E_CANNOTFREE (0x80040E1A) — Дерево принадлежит поставщику и не может быть освобождено вызывающей стороной.

Ключевая проверка. Проверьте ownership дерева перед free. Сохраните CLSID поставщика и version. Зафиксируйте interface и первый метод, завершившийся ошибкой. Проверьте capability именно этого provider. Сверьте DBID/URL с исходным объектом. Сохраните полный IErrorRecords до retry. Меняйте только подтверждённое входное условие.

Ошибка означает ownership violation: дерево/структура принадлежит provider-у и не должна освобождаться consumer-ом. Проверьте контракт метода, который вернул указатель, и используйте только предусмотренный release/free API. Не передавайте provider-owned tree в CoTaskMemFree или собственный allocator без явного требования интерфейса.

Документация для результата 0x80040E1A: OLE DB commands · ICommand · OLE DB command states.


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