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