| Предыдущий | Следующий |
| D2DERR_EFFECT_IS_NOT_REGISTERED | D2DERR_NO_SUBPROPERTIES |
D2DERR_INVALID_PROPERTY
Контекст возврата
D2DERR_INVALID_PROPERTY означает: Указанное свойство не существует. В этой странице код рассматривается на границе «Direct2D object/effect/render contract», где можно отличить конкретное нарушение от последующего общего сбоя.
Что сохранить до изменений
- Зафиксируйте точный Direct2D API, object generation, device context target, effect graph/property, numeric inputs и debug-layer output; для этого результата эти данные должны относиться к первому неуспешному вызову, а не к cleanup после него.
- Отдельно зафиксируйте property index/name/type и metadata зарегистрированного effect перед SetValue/GetValue. Это проверяет условие «Указанное свойство не существует» по фактическим параметрам, а не по имени константы.
- Сохраните технические маркеры
CLSIDи один исправный запуск с теми же входными данными.
Контроль исправления
Сначала свести сценарий к одному объекту/графу и изменить только условие, названное конкретным результатом; затем верните остальные параметры исходного случая. Причина подтверждается, если результат меняется вместе с проверяемой предпосылкой.
Избегайте недоказанного workaround: не превращать любой Direct2D HRESULT в универсальный device-recreate loop. После исправления должен проходить тот же контракт, который раньше возвращал HRESULT.
Ближайший по прежнему шаблону результат D3D12_ERROR_DRIVER_VERSION_MISMATCH не следует считать эквивалентным: сравнивайте точное условие, указанное здесь, и первую различающуюся операцию.
Технические ссылки
- Microsoft: Direct2D error codes
- Microsoft: Direct2D custom effects
- Microsoft: Direct2D effect properties
- Microsoft: Direct2D API overview
- Документация Direct2D
Нужно найти другой код? Найти другой код состояния или ошибки.