Что означает код HRESULT 0x89020001 (JSCRIPT_E_CANTEXECUTE)?

 
Предыдущий Следующий
ERROR_IO_PREEMPTED E_FDPAIRING_NOCONNECTION

JSCRIPT_E_CANTEXECUTE

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

JSCRIPT_E_CANTEXECUTE (0x89020001) — Функцию невозможно выполнить: она была удалена или собрана сборщиком мусора.

Контекст результата 0x89020001 — подсистема «COM/WinRT» и область «контракт вызываемого interface, аргументы и state объекта». Условие «функцию невозможно выполнить: она была удалена или собрана сборщиком мусора» указывает на тему «jscript, cantexecute», а не на общий отказ всего компонента.

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

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

Диагностика 0x89020001 должна включать IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IActiveScript, HRESULT, IActiveScript::Close. Для темы «jscript, cantexecute» при 0x89020001 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.

Исправляя 0x89020001, меняйте только подтверждённую причину: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Результат 0x89020001 с описанием «функцию невозможно выполнить: она была удалена или собрана сборщиком мусора» должен исчезнуть на исходных данных без обхода штатной проверки.

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

Документация для результата 0x89020001: Microsoft Open Specifications: HRESULT values · HRESULT facility extraction · Active Script architecture.


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