| Предыдущий | Следующий |
| D2DERR_ORIGINAL_TARGET_NOT_BOUND | D2DERR_BITMAP_BOUND_AS_TARGET |
D2DERR_INVALID_TARGET
Как диагностировать D2DERR_INVALID_TARGET
D2DERR_INVALID_TARGET — HRESULT, относящийся к области Direct2D. Изображение нельзя назначить целью Direct2D: оно является эффектом либо не создано с разрешением использовать его как target bitmap.
В случае этот результат статус описывает контракт графического API, а не содержимое изображения само по себе. Ошибка часто возникает из-за времени жизни или происхождения ресурсов.
Что проверить в первую очередь
В случае этот результат формулировка указывает на недопустимые данные или состояние. Сохраните исходное представление до нормализации и проверяйте структуру на той границе, где её принимает API.
- При разборе этот результат проверьте баланс BeginDraw/EndDraw, Push/Pop, активные layer/clip и текущую target bitmap.
- При разборе он сверьте размеры текстур и поддерживаемые форматы с feature level и возможностями графического адаптера.
- При разборе он пересоздайте device-dependent resources после потери устройства вместо повторного использования старых объектов.
- При разборе он запишите метод Direct2D, параметры ресурса, factory и render target, которым принадлежат участвующие объекты.
Диагностический минимум
- Проверяйте исправление как на аппаратном, так и на программном WARP-рендерере, если это допустимо.
- Включите Direct2D debug layer и сохраните первое диагностическое сообщение перед HRESULT.
- Создайте минимальную сцену с теми же ресурсами и последовательностью вызовов.
Проверка после изменения
В случае он считайте причину он устранённой только после проверки на тех же данных и под той же учётной записью, где возник сбой, а затем выполните контрольный тест с заведомо неверным входом.
Ссылки по этому результату
Нужно найти другой код? Найти другой код состояния или ошибки.
