Что означает код HRESULT 0x80080011 (MEM_E_INVALID_SIZE)?

 
Предыдущий Следующий
MEM_E_INVALID_LINK CO_E_MISSING_DISPLAYNAME

MEM_E_INVALID_SIZE

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

MEM_E_INVALID_SIZE (0x80080011) — Запрошен слишком большой объём памяти.

В подсистеме «COM/WinRT» результат 0x80080011 относится к области «контракт вызываемого interface, аргументы и state объекта». Описание «запрошен слишком большой объём памяти» сужает проверку до темы «mem, недопустимый, размер».

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

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

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

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

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

Документация для результата 0x80080011: Microsoft Open Specifications: HRESULT values · Structured Storage · IStorage.


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