Что означает код HRESULT 0x80040067 (DV_E_STATDATA)?

 
Предыдущий Следующий
DV_E_STGMEDIUM DV_E_LINDEX

DV_E_STATDATA

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

DV_E_STATDATA (0x80040067) — Указана недопустимая структура STATDATA.

Результат 0x80040067 пришёл из подсистемы «OLE Data Transfer» при работе с областью «FORMATETC, STGMEDIUM, аспект и формат обмена». Для сообщения «указана недопустимая структура statdata» практический предмет проверки — «statdata».

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

Не начинайте с общего сброса компонента: сопоставьте первый отказ с фактическими параметрами операции. При 0x80040067 и условии «указана недопустимая структура statdata» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Чтобы локализовать 0x80040067, соберите cfFormat, tymed, dwAspect, lindex, ptd и фактически возвращённый STGMEDIUM; отдельно запишите HRESULT, IDataObject, FORMATETC, STGMEDIUM, IErrorInfo. Затем для 0x80040067 сравните исправный и неуспешный запуск в части «statdata», меняя одно условие за раз.

Исправляя 0x80040067, меняйте только подтверждённую причину: согласуйте FORMATETC с возможностями IDataObject и освобождайте STGMEDIUM по правилам владения. Результат 0x80040067 с описанием «указана недопустимая структура statdata» должен исчезнуть на исходных данных без обхода штатной проверки.

Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x80040067 это надёжнее единичного успеха на других данных.

Документация для результата 0x80040067: generic COM error codes · HRESULT values · IDataObject.


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