| Предыдущий | Следующий |
| D2DERR_PRINT_FORMAT_NOT_SUPPORTED | D2DERR_INVALID_GLYPH_IMAGE |
D2DERR_TOO_MANY_TRANSFORM_INPUTS
Что именно нарушено
Если получен D2DERR_TOO_MANY_TRANSFORM_INPUTS, непосредственно известно следующее: Эффект попытался использовать преобразование со слишком большим числом входов. Для Direct2D object/effect/render contract это достаточно конкретный сигнал, поэтому важно сохранить входы первого отказавшего вызова.
Данные первого неуспешного вызова
- Зафиксируйте точный Direct2D API, object generation, device context target, effect graph/property, numeric inputs и debug-layer output; для этого результата эти данные должны относиться к первому неуспешному вызову, а не к cleanup после него.
- Отдельно зафиксируйте число inputs конкретного transform node и limit API. Это проверяет условие «Эффект попытался использовать преобразование со слишком большим числом входов» по фактическим параметрам, а не по имени константы.
- Сохраните технические маркеры
0x8899002D,iD2D1TransformNode,ID2D1TransformGraphи один исправный запуск с теми же входными данными.
Безопасный повтор
Воспроизведение считается диагностическим, если удаётся свести сценарий к одному объекту/графу и изменить только условие, названное конкретным результатом, сохранив прочие условия без изменений.
До получения контрольных данных не превращать любой Direct2D HRESULT в универсальный device-recreate loop; иначе станет невозможно доказать, какое условие действительно изменило результат.
Ближайший по прежнему шаблону результат D2DERR_TOO_MANY_SHADER_ELEMENTS не следует считать эквивалентным: сравнивайте точное условие, указанное здесь, и первую различающуюся операцию.
Технические ссылки
- Microsoft: Direct2D error codes
- Microsoft: Direct2D custom effects
- Microsoft: ID2D1TransformGraph
- Microsoft: Direct2D effect properties
- Документация Direct2D
Нужно найти другой код? Найти другой код состояния или ошибки.