Site icon EfmSoft

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

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

DV_E_DVTARGETDEVICE

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

DV_E_DVTARGETDEVICE: OLE отклонил DVTARGETDEVICE, на который указывает FORMATETC::ptd. Эта variable-length структура использует offsets внутри общего buffer, поэтому неверный размер или offset делает весь target-device description недействительным.

Что проверить

  • Проверьте tdSize против полного allocated buffer.
  • Проверьте tdDriverNameOffset, tdDeviceNameOffset, tdPortNameOffset и tdExtDevmodeOffset; ненулевые offsets должны указывать внутрь структуры.
  • Не сохраняйте process-local pointers вместо offsets и убедитесь, что DEVMODE целиком помещается в buffer.

Что делать

Пересоберите DVTARGETDEVICE как единый корректный buffer и передайте его lifetime вместе с FORMATETC. Частичное копирование fixed header без trailing strings/DEVMODE приводит к тому же HRESULT.

Технические ссылки


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

Exit mobile version