| Предыдущий | Следующий |
| MEM_E_INVALID_ROOT | MEM_E_INVALID_SIZE |
MEM_E_INVALID_LINK
Что означает MEM_E_INVALID_LINK
MEM_E_INVALID_LINK (0x80080010) — Цепочка выделенной памяти содержит недопустимый указатель связи.
В подсистеме «COM/WinRT» результат 0x80080010 относится к области «контракт вызываемого interface, аргументы и state объекта». Описание «цепочка выделенной памяти содержит недопустимый указатель связи» сужает проверку до темы «mem, недопустимый, link».
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: проверьте допустимость и структуру входных данных первого неуспешного вызова. При 0x80080010 и условии «цепочка выделенной памяти содержит недопустимый указатель связи» сверьте тип, размер, диапазон, маску флагов и принадлежность каждого дескриптора текущему объекту именно по контракту первого неуспешного метода.
Сопоставьте с результатом 0x80080010 следующие данные: IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IDs, HRESULT, IStorage, IStream. До исправления 0x80080010 сохраните исходное состояние объекта по теме «mem, недопустимый, link».
Исправляя 0x80080010, меняйте только подтверждённую причину: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Результат 0x80080010 с описанием «цепочка выделенной памяти содержит недопустимый указатель связи» должен исчезнуть на исходных данных без обхода штатной проверки.
Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x80080010, а заведомо неверный вход отклоняется на ожидаемой границе.
Документация для результата 0x80080010: Microsoft Open Specifications: HRESULT values · Structured Storage · IStorage.
Нужно найти другой код? Найти другой код состояния или ошибки.