Что означает код HRESULT 0x8004006C (DV_E_DVTARGETDEVICE_SIZE)?

 
Предыдущий Следующий
DV_E_DVASPECT DV_E_NOIVIEWOBJECT

DV_E_DVTARGETDEVICE_SIZE

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

DV_E_DVTARGETDEVICE_SIZE (0x8004006C) — Параметр tdSize структуры DVTARGETDEVICE недопустим.

Контекст результата 0x8004006C — подсистема «OLE Data Transfer» и область «FORMATETC, STGMEDIUM, аспект и формат обмена». Условие «параметр tdsize структуры dvtargetdevice недопустим» указывает на тему «dvtargetdevice, размер», а не на общий отказ всего компонента.

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

Первый шаг — сопоставьте первый отказ с фактическими параметрами операции. Когда при 0x8004006C система сообщает «параметр tdsize структуры dvtargetdevice недопустим», воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

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

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

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

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


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