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