Что означает код HRESULT 0x00030200 (STG_S_CONVERTED)?

 
Предыдущий Следующий
S_ADS_NOMORE_COLUMNS STG_S_BLOCK

STG_S_CONVERTED

Успешное преобразование с изменением представления

STG_S_CONVERTED — это успешный HRESULT, но он несёт больше информации, чем S_OK. Он может быть возвращён STGM_CONVERT , когда существующий файл, поток или элемент хранилища преобразуется в структурированное хранилище COM. Для IStorage::CreateStorageсуществующий поток может стать хранилищем, содержащим поток с именем CONTENTS.

Вызывающий код должен продолжать использовать возвращённый объект IStorage и не предполагать, что базовый объект сохранил прежнее плоское представление.

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

  • Проверяйте HRESULT с помощью SUCCEEDED/FAILED; сравнение только с S_OK ошибочно отклоняет этот результат.
  • Зафиксируйте, использовался ли STGM_CONVERT, прямой режим или транзакционный режим.
  • Повторно открывайте преобразованный объект через API структурированного хранилища вместо разбора как исходного плоского файла.
  • Учитывайте момент, когда преобразование становится устойчивым: правила транзакций и фиксации всё ещё применяются к возвращённому хранилищу.

Ссылки

Microsoft: HRESULT хранилища COM · IStorage::CreateStorage · Обзор Structured Storage


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