Что означает код HRESULT 0x8899000A (D2DERR_INVALID_CALL)?

 
Предыдущий Следующий
D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED D2DERR_NO_HARDWARE_DEVICE

D2DERR_INVALID_CALL

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

D2DERR_INVALID_CALL означает нарушение контракта Direct2D: метод вызван с неподходящими параметрами либо объект находится в состоянии, где этот вызов недопустим. Код слишком общий, поэтому диагностировать его нужно по первому конкретному вызову.

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

  • Сохраните метод, factory, render target и все участвующие resources.
  • Проверьте баланс BeginDraw/EndDraw, Push/Pop layer и clip, а также текущую target bitmap.
  • Убедитесь, что device-dependent resources не переиспользуются после device loss и принадлежат совместимой factory/device context.

Как локализовать

Включите Direct2D debug layer и сохраните первое сообщение перед HRESULT. Минимальный воспроизводимый draw sequence обычно быстрее показывает нарушенный lifetime или порядок вызовов, чем изменение содержимого изображения.

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


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