| Предыдущий | Следующий |
| STG_S_MULTIPLEOPENS | STG_S_CANNOTCONSOLIDATE |
STG_S_CONSOLIDATIONFAILED
Данные сохранены, хотя уплотнение завершилось неудачно
STG_S_CONSOLIDATIONFAILED означает, что сама фиксация прошла успешно. Неудачной оказалась необязательная попытка консолидировать хранилище; в документации Microsoft в качестве примера причины приводится ошибка выделения памяти. Поэтому файл может содержать новые зафиксированные данные, но оставаться больше или фрагментированнее желаемого.
Не повторяйте транзакцию вслепую. Повторное применение изменений приложения после успешной фиксации может дублировать логические обновления.
Диагностический список
- Подтвердите, что был запрошен
STGC_CONSOLIDATE, и сохраните точный HRESULT. - Запишите давление на память, доступность временного хранилища, размер файла и свободное место на диске.
- Повторно откройте и проверьте зафиксированное хранилище, прежде чем планировать последующую консолидацию при обслуживании.
- Отличайте этот код от
STG_S_CANNOTCONSOLIDATE, который указывает на неподходящий режим или уровень транзакции.
Ссылки
IStorage::Commit · Microsoft: HRESULT составного хранилища COM · Microsoft: формат Compound File Binary
Нужно найти другой код? Найти другой код состояния или ошибки.