| Предыдущий | Следующий |
| 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.
Нужно найти другой код? Найти другой код состояния или ошибки.