Что означает код HRESULT 0x80004004 (E_ABORT)?

 
Предыдущий Следующий
E_POINTER E_FAIL

E_ABORT

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

E_ABORT (0x80004004) — Операция прервана.

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

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

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

Перед повтором 0x80004004 зафиксируйте IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, CLSID, IID, ID. Различия по теме «abort» для 0x80004004 покажут, изменился ли первый неуспешный этап.

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

Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0x80004004 и без обхода штатных проверок.

Документация для результата 0x80004004: CoInitializeEx · COM security defaults · common HRESULT values.


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