Что означает код HRESULT 0x8899001B (D2DERR_TEXT_EFFECT_IS_WRONG_TYPE)?

 
Предыдущий Следующий
D2DERR_TARGET_NOT_GDI_COMPATIBLE D2DERR_TEXT_RENDERER_NOT_RELEASED

D2DERR_TEXT_EFFECT_IS_WRONG_TYPE

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

D2DERR_TEXT_EFFECT_IS_WRONG_TYPE означает, что объект, назначенный как эффект для диапазона текста, имеет неподходящий тип для текущего пользовательского renderer.

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

Определите конкретный диапазон текста и объект, установленный через механизм drawing effect. Затем проверьте интерфейс, который ожидает renderer, и результат QueryInterface для фактического объекта. Ошибка относится не ко всему layout, а к несоответствию типа эффекта в определённом диапазоне.

  • Логируйте начало и длину диапазона, а также фактический COM-интерфейс эффекта.
  • Не храните в drawing effect произвольный объект, если renderer ожидает собственный строго определённый тип.
  • При замене layout перенесите только совместимые эффекты.

Как подтвердить исправление

Повторите отрисовку того же диапазона и убедитесь, что renderer получает ожидаемый интерфейс без изменения остального текста.

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


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