Что означает код HRESULT 0x80040065 (DV_E_DVTARGETDEVICE)?

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

DV_E_DVTARGETDEVICE

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

DV_E_DVTARGETDEVICE (0x80040065) — Указана недопустимая структура DVTARGETDEVICE.

При результате 0x80040065 граница диагностики проходит внутри подсистемы «OLE Data Transfer», в области «FORMATETC, STGMEDIUM, аспект и формат обмена». Здесь сообщение «указана недопустимая структура dvtargetdevice» связано с темой «dvtargetdevice».

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

В первую очередь сопоставьте первый отказ с фактическими параметрами операции. Для 0x80040065 в сценарии «указана недопустимая структура dvtargetdevice» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Сопоставьте с результатом 0x80040065 следующие данные: cfFormat, tymed, dwAspect, lindex, ptd и фактически возвращённый STGMEDIUM; отдельно запишите HRESULT, FORMATETC, IDataObject::GetData, ID, IDs. До исправления 0x80040065 сохраните исходное состояние объекта по теме «dvtargetdevice».

Коррекция для 0x80040065 должна быть предметной: согласуйте FORMATETC с возможностями IDataObject и освобождайте STGMEDIUM по правилам владения. Для 0x80040065 и сообщения «указана недопустимая структура dvtargetdevice» общий сброс допустим лишь как контроль, но не как доказательство причины.

Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0x80040065 и без обхода штатных проверок.

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


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