Что означает код HRESULT 0x80045361 (FSRM_E_TEXTREADER_STREAM_ERROR)?

 
Предыдущий Следующий
FSRM_E_TEXTREADER_IFILTER_CLSID_MALFORMED FSRM_E_TEXTREADER_FILENAME_TOO_LONG

FSRM_E_TEXTREADER_STREAM_ERROR

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

FSRM_E_TEXTREADER_STREAM_ERROR (0x80045361) — Не удалось получить потоковый интерфейс файла.

Код 0x80045361 относится не ко всему компоненту «COM/WinRT», а к операции в области «контракт вызываемого interface, аргументы и state объекта». Сообщение «не удалось получить потоковый интерфейс файла» позволяет начать с темы «fsrm, textreader, stream».

Что проверить и как подтвердить исправление

Сначала сопоставьте первый отказ с фактическими параметрами операции. Для 0x80045361 в условии «не удалось получить потоковый интерфейс файла» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Чтобы локализовать 0x80045361, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IFilter. Затем для 0x80045361 сравните исправный и неуспешный запуск в части «fsrm, textreader, stream», меняя одно условие за раз.

После локализации 0x80045361 действуйте по контракту подсистемы: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Для 0x80045361 и условия «не удалось получить потоковый интерфейс файла» неизменённый повтор без нового состояния не считается исправлением.

Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x80045361 это надёжнее единичного успеха на других данных.

Документация для результата 0x80045361: GetFileStreamInterface · Property bag · IFilter overview.


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