| Предыдущий | Следующий |
| DV_E_DVTARGETDEVICE_SIZE | DRAGDROP_E_NOTREGISTERED |
DV_E_NOIVIEWOBJECT
Что означает DV_E_NOIVIEWOBJECT
DV_E_NOIVIEWOBJECT (0x8004006D) — Объект не поддерживает интерфейс IViewObject.
В подсистеме «OLE Data Transfer» результат 0x8004006D относится к области «FORMATETC, STGMEDIUM, аспект и формат обмена». Описание «объект не поддерживает интерфейс iviewobject» сужает проверку до темы «noiviewobject».
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: сопоставьте первый отказ с фактическими параметрами операции. При 0x8004006D и условии «объект не поддерживает интерфейс iviewobject» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Перед повтором 0x8004006D зафиксируйте cfFormat, tymed, dwAspect, lindex, ptd и фактически возвращённый STGMEDIUM; отдельно запишите IViewObject, IDataObject, FORMATETC, STGMEDIUM, IErrorInfo. Различия по теме «noiviewobject» для 0x8004006D покажут, изменился ли первый неуспешный этап.
Исправляя 0x8004006D, меняйте только подтверждённую причину: согласуйте FORMATETC с возможностями IDataObject и освобождайте STGMEDIUM по правилам владения. Результат 0x8004006D с описанием «объект не поддерживает интерфейс iviewobject» должен исчезнуть на исходных данных без обхода штатной проверки.
Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x8004006D это надёжнее единичного успеха на других данных.
Документация для результата 0x8004006D: generic COM error codes · HRESULT values · IDataObject.
Нужно найти другой код? Найти другой код состояния или ошибки.