| Предыдущий | Следующий |
| STG_E_BADBASEADDRESS | STG_E_NOTSIMPLEFORMAT |
STG_E_DOCFILETOOLARGE
Где возникает HRESULT
относится к COM Structured Storage / OLE persistence. Для практической диагностики этот результат стоит читать как Structured Storage: Structured Storage / compound file слишком велик. Зафиксируйте первый native return и объект, на котором он возник, до retry или cleanup.
В исходном EN-описании ключевое условие сформулировано так: The compound file exceeds a size limit supported by the Structured Storage implementation in use.
. Используйте эту формулировку как границу: если фактическое состояние ей не соответствует, ищите соседний HRESULT, а не расширяйте диагноз.
Вторая проверка из документации: STG_E_DOCFILETOOLARGE indicates that the compound document is too large for the implementation handling it. This is not the same as STG_E_MEDIUMFULL : free disk space may still be available, while the storage engine, its addressing model, an older component, or an application-specific policy cannot create or process a
. Она полезна для контролируемого сравнения failing/working trace и относится именно к этому результату.
Evidence для расследования
- 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 ориентир: Compound File Binary Format uses sector and allocation structures to represent streams within a single file. Different readers and writers may support different practical limits, especially when legacy components, 32-bit processes, in-memory buffering, or older format assumptions are involved. A document that another program can read is t
. В тесте оставьте object identity и операцию прежними и меняйте только один prerequisite, связанный с этой формулировкой.
- Запишите , UTC-время, вызывающий API и identity объекта до повторов.
- Сопоставьте evidence с условием «Structured Storage: Structured Storage / compound file слишком велик» и ближайшим отличающимся состоянием.
- Измените один подтверждённый input, policy, storage или device prerequisite.
- Повторите исходную операцию и сравните первый HRESULT и устойчивое состояние после завершения.
Подтверждение результата
Исправьте только доказанный storage/device/format prerequisite и повторите исходную COM/storage operation на свежем объекте.
Для финальной проверки сохраните ещё один исходный маркер: Measure the current file size and expected growth, including embedded objects, previews, property streams, and temporary rewrite space.
. Успех означает, что исходное условие больше не воспроизводится на той же операции, а не только исчезло внешнее уведомление.
Технические ссылки
- Microsoft: MS-CFB specification.
- Library of Congress: Compound File format notes.
- Apache POI: POIFS.
Нужно найти другой код? Найти другой код состояния или ошибки.
