Что означает код HRESULT 0x80041736 (FILTER_E_ALREADY_OPEN)?

 
Предыдущий Следующий
FILTER_E_TOO_BIG FILTER_E_UNREACHABLE

FILTER_E_ALREADY_OPEN

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

FILTER_E_ALREADY_OPEN (0x80041736) — Файл уже открыт.

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

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

В первую очередь сопоставьте первый отказ с фактическими параметрами операции. Для 0x80041736 в сценарии «файл уже открыт» установите идентичность и владельца уже существующего объекта; не создавайте второй экземпляр, пока не проверен жизненный цикл первого.

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

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

Подтвердите изменение повтором исходной операции: результат 0x80041736 не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.

Документация для результата 0x80041736: Content-Indexing values · IFilter interface · testing filter handlers.


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