Что означает код HRESULT 0x80030021 (STG_E_LOCKVIOLATION)?

 
Предыдущий Следующий
STG_E_SHAREVIOLATION STG_E_FILEALREADYEXISTS

STG_E_LOCKVIOLATION

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

STG_E_LOCKVIOLATION (0x80030021) — Операция не может получить требуемую блокировку хранилища/потока или диапазона байтов.

Конфликт блокировки может возникнуть уже после успешного открытия объектов. Найдите владельца блокировки области или хранилища и диапазон; это отличается от конфликта совместного доступа, который часто блокирует несовместимое открытие раньше.

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

  • Запишите объект, диапазон LockRegion и тип блокировки, который не удалось получить.
  • Найдите другой процесс, поток или объект, удерживающий пересекающуюся блокировку; проверьте зависший процесс или клиент синхронизации.
  • После корректного снятия блокировки повторите ту же операцию; закрытие всех файлов как первый шаг уничтожает данные о владельце блокировки.

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


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