| Предыдущий | Следующий |
| DV_E_TYMED | DV_E_DVASPECT |
DV_E_CLIPFORMAT
Что означает DV_E_CLIPFORMAT
DV_E_CLIPFORMAT (0x8004006A) — Указан недопустимый формат буфера обмена.
Код 0x8004006A относится не ко всему компоненту «OLE Data Transfer», а к операции в области «FORMATETC, STGMEDIUM, аспект и формат обмена». Сообщение «указан недопустимый формат буфера обмена» позволяет начать с темы «clipformat».
Что проверить и как подтвердить исправление
В первую очередь сопоставьте первый отказ с фактическими параметрами операции. Для 0x8004006A в сценарии «указан недопустимый формат буфера обмена» сохраните исходные байты и проверьте формат, размер, подпись или checksum до любых преобразований; сравните с заведомо исправным образцом.
Сопоставьте с результатом 0x8004006A следующие данные: cfFormat, tymed, dwAspect, lindex, ptd и фактически возвращённый STGMEDIUM; отдельно запишите FORMATETC, IDataObject, STGMEDIUM, IErrorInfo, HRESULT. До исправления 0x8004006A сохраните исходное состояние объекта по теме «clipformat».
Практическое исправление для 0x8004006A: согласуйте FORMATETC с возможностями IDataObject и освобождайте STGMEDIUM по правилам владения. В контексте условия «указан недопустимый формат буфера обмена» для 0x8004006A оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.
Подтвердите изменение повтором исходной операции: результат 0x8004006A не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.
Документация для результата 0x8004006A: generic COM error codes · HRESULT values · IDataObject.
Нужно найти другой код? Найти другой код состояния или ошибки.