| Предыдущий | Следующий |
| INPLACE_E_NOTUNDOABLE | CONVERT10_E_OLESTREAM_GET |
INPLACE_E_NOTOOLSPACE
Что означает INPLACE_E_NOTOOLSPACE
INPLACE_E_NOTOOLSPACE (0x800401A1) — Нет свободного места для панелей инструментов.
В подсистеме «COM/WinRT» результат 0x800401A1 относится к области «контракт вызываемого interface, аргументы и state объекта». Описание «нет свободного места для панелей инструментов» сужает проверку до темы «inplace, notoolspace».
Что проверить и как подтвердить исправление
В первую очередь сопоставьте первый отказ с фактическими параметрами операции. Для 0x800401A1 в сценарии «нет свободного места для панелей инструментов» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Чтобы локализовать 0x800401A1, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите INPLACE_E_NOTOOLSPACE, IOleInPlaceObject, IOleInPlaceSite, IErrorInfo, HRESULT. Затем для 0x800401A1 сравните исправный и неуспешный запуск в части «inplace, notoolspace», меняя одно условие за раз.
Для 0x800401A1 применяйте исправление на границе первого отказа: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Сообщение «нет свободного места для панелей инструментов» при 0x800401A1 не следует подавлять общей обработкой исключения.
Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x800401A1, а заведомо неверный вход отклоняется на ожидаемой границе.
Документация для результата 0x800401A1: generic COM error codes · HRESULT values · IOleInPlaceObject.
Нужно найти другой код? Найти другой код состояния или ошибки.