| Предыдущий | Следующий |
| 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.
Нужно найти другой код? Найти другой код состояния или ошибки.
