| Предыдущий | Следующий |
| E_HANDLE | E_INVALIDARG |
E_OUTOFMEMORY
Что означает E_OUTOFMEMORY
E_OUTOFMEMORY (0x8007000E) — Недостаточно памяти.
Контекст результата 0x8007000E — подсистема «COM/WinRT» и область «контракт вызываемого interface, аргументы и state объекта». Условие «недостаточно памяти» указывает на тему «outofmemory», а не на общий отказ всего компонента.
Что проверить и как подтвердить исправление
Первый шаг — сопоставьте первый отказ с фактическими параметрами операции. Когда при 0x8007000E система сообщает «недостаточно памяти», снимите фактическое потребление и лимит ресурса в момент отказа, затем уменьшите нагрузку или освободите именно исчерпанный ресурс.
Сопоставьте с результатом 0x8007000E следующие данные: IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IDs, HRESULT. До исправления 0x8007000E сохраните исходное состояние объекта по теме «outofmemory».
Исправляя 0x8007000E, меняйте только подтверждённую причину: приведите аргументы и жизненный цикл объекта к контракту метода; неизменённый вызов после contract failure повторять не следует. Результат 0x8007000E с описанием «недостаточно памяти» должен исчезнуть на исходных данных без обхода штатной проверки.
Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x8007000E, а заведомо неверный вход отклоняется на ожидаемой границе.
Документация для результата 0x8007000E: Microsoft Open Specifications: HRESULT values · COM clients and servers · CoGetClassObject.
Нужно найти другой код? Найти другой код состояния или ошибки.