| Предыдущий | Следующий |
| DISP_E_DIVBYZERO | TYPE_E_BUFFERTOOSMALL |
DISP_E_BUFFERTOOSMALL
Что означает DISP_E_BUFFERTOOSMALL
DISP_E_BUFFERTOOSMALL (0x80020013) — Буфер слишком мал.
Результат 0x80020013 пришёл из подсистемы «COM Automation» при работе с областью «IDispatch, сопоставление имён, аргументы VARIANT и локаль». Для сообщения «буфер слишком мал» практический предмет проверки — «buffertoosmall».
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: сопоставьте первый отказ с фактическими параметрами операции. При 0x80020013 и условии «буфер слишком мал» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Для воспроизведения 0x80020013 сохраните DISPID, имя члена, LCID, число и типы аргументов, DISPPARAMS, EXCEPINFO и argErr; отдельно запишите HRESULT, LCID, EXCEPINFO, VARIANT, CLSID. По теме «buffertoosmall» для 0x80020013 сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.
Коррекция для 0x80020013 должна быть предметной: приведите число, порядок и типы аргументов к описанию вызываемого члена; сохраните EXCEPINFO до следующего COM-вызова. Для 0x80020013 и сообщения «буфер слишком мал» общий сброс допустим лишь как контроль, но не как доказательство причины.
Подтвердите изменение повтором исходной операции: результат 0x80020013 не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.
Документация для результата 0x80020013: DISPPARAMS · EXCEPINFO · VariantClear.
Нужно найти другой код? Найти другой код состояния или ошибки.
