Что означает код HRESULT 0x80040170 (CACHE_E_NOCACHE_UPDATED)?

 
Предыдущий Следующий
CS_E_INTERNAL_ERROR OLEOBJ_E_NOVERBS

CACHE_E_NOCACHE_UPDATED

Граница, на которой возникает код

Штатный смысл CACHE_E_NOCACHE_UPDATEDКэш не обновлён. Диагностику полезно начинать не с общего восстановления системы, а с операции уровня OLE cache и data-transfer contracts, которая первой вернула этот результат.

Что нужно для воспроизведения

  • Зафиксируйте FORMATETC, clipboard format, cache entry, storage medium/handle и первый OLE API result; для этого результата эти данные должны относиться к первому неуспешному вызову, а не к cleanup после него.
  • Отдельно перечислите cache entries, UpdateCache flags и фактический IDataObject source. Это проверяет условие «Кэш не обновлён» по фактическим параметрам, а не по имени константы.
  • Сохраните технические маркеры 0x80040170, FACILITY_ITF, 0x0170, FORMATETC и один исправный запуск с теми же входными данными.

Отделение соседних состояний

Минимальный тест должен сравнить поддерживаемый format/medium с фактическим и повторить один cache/data-transfer вызов. После этого повторите негативный вариант, чтобы fallback не был принят за исправление.

До получения контрольных данных не уничтожать исходный STGMEDIUM или clipboard data до проверки ownership; иначе станет невозможно доказать, какое условие действительно изменило результат.

Ближайший по прежнему шаблону результат CLIPBRD_E_CANT_CLOSE не следует считать эквивалентным: сравнивайте точное условие, указанное здесь, и первую различающуюся операцию.

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


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