Site icon EfmSoft

Что означает код HRESULT 0x80030020 (STG_E_SHAREVIOLATION)?

 
Предыдущий Следующий
STG_E_READFAULT STG_E_LOCKVIOLATION

STG_E_SHAREVIOLATION

Конфликт совместного доступа, а не обязательно повреждение

STG_E_SHAREVIOLATION означает, что запрошенный доступ несовместим с уже открытым тем же хранилищем или файлом. Это часто происходит, когда документ открыт в другом приложении, удерживается фоновым средством предварительного просмотра или индексатором, всё ещё обрабатывается серверным процессом либо два компонента одного процесса открывают его с несовместимыми режимами совместного доступа.

Structured Storage применяет более строгие правила, чем ожидают многие вызывающие стороны. Microsoft указывает, что потоки составного файла, открываемые через IStorage::OpenStream, должны использовать STGM_SHARE_EXCLUSIVE. Поэтому обходной путь с несколькими независимыми дескрипторами может усилить конфликт, а не устранить его.

Как устранить фактический конфликт

Ссылки


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

Exit mobile version