| Предыдущий | Следующий |
| 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 или порядок вызовов, чем изменение содержимого изображения.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
