| Предыдущий | Следующий |
| STG_E_EXTANTMARSHALLINGS | STG_E_BADBASEADDRESS |
STG_E_DOCFILECORRUPT
Смысл результата
HRESULT отмечает конкретную границу COM Structured Storage / OLE persistence: Structured Storage: Structured Storage / compound file повреждён. Причину ищут на первом вызове, вернувшем код, а не на последующем UI-сообщении или автоматическом повторе.
В исходном EN-описании ключевое условие сформулировано так: The compound-file storage is internally corrupt and cannot be processed reliably.
. Используйте эту формулировку как границу: если фактическое состояние ей не соответствует, ищите соседний HRESULT, а не расширяйте диагноз.
Вторая проверка из документации: STG_E_DOCFILECORRUPT refers to corruption detected in a Structured Storage compound file. A compound file is not a flat document: it contains a directory of storages and streams plus allocation structures that link sectors together. A file can have a recognizable signature and still be unusable when those internal stru
. Она полезна для контролируемого сравнения failing/working trace и относится именно к этому результату.
Данные первого отказа
- storage/stream/property-set identity и STGM flags.
- path/provider, transaction generation и file hash.
- IStorage/IStream/IPropertyStorage operation и first native HRESULT.
Метка результата для корреляции: Structured Storage / compound file повреждён. Сохраняйте значения, которые различают этот переход от соседних кодов; секреты, приватные ключи и полный licensing payload в журналы не помещайте.
Как различить соседние состояния
Отделите format/header/name/parameter/lock/path failures от CSS/DVD region/key states и firmware-slot operations. Соседние STG_E коды имеют разные владельцы.
Code-specific ориентир: This HRESULT should be differentiated from STG_E_INVALIDHEADER . An invalid header is often detected immediately because the file does not look like a valid CFB container. STG_E_DOCFILECORRUPT generally means the reader progressed far enough to discover a deeper structural inconsistency.
. В тесте оставьте object identity и операцию прежними и меняйте только один prerequisite, связанный с этой формулировкой.
- Повторите исходную операцию и сравните первый HRESULT и устойчивое состояние после завершения.
- Запишите , UTC-время, вызывающий API и identity объекта до повторов.
- Сопоставьте evidence с условием «Structured Storage: Structured Storage / compound file повреждён» и ближайшим отличающимся состоянием.
- Измените один подтверждённый input, policy, storage или device prerequisite.
Безопасное восстановление
Исправьте только доказанный storage/device/format prerequisite и повторите исходную COM/storage operation на свежем объекте.
Для финальной проверки сохраните ещё один исходный маркер: Make a byte-for-byte copy and work on the copy; do not open-and-save the only original.
. Успех означает, что исходное условие больше не воспроизводится на той же операции, а не только исчезло внешнее уведомление.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
