| Предыдущий | Следующий |
| DWMERR_CATASTROPHIC_FAILURE | DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED |
DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED
Что означает DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED
DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED (0x88980800) — Окно уже подключено к композиции DirectComposition.
При результате 0x88980800 граница диагностики проходит внутри подсистемы «DirectComposition», в области «визуальные объекты, surfaces и привязку окна к дереву композиции». Здесь сообщение «окно уже подключено к композиции directcomposition» связано с темой «окно, already, composed».
Что проверить и как подтвердить исправление
До изменения конфигурации сопоставьте первый отказ с фактическими параметрами операции. Для 0x88980800 с описанием «окно уже подключено к композиции directcomposition» установите идентичность и владельца уже существующего объекта; не создавайте второй экземпляр, пока не проверен жизненный цикл первого.
Для воспроизведения 0x88980800 сохраните первый вызов DirectComposition, состояние visual/surface/device, HWND и сообщения DComp; отдельно запишите HWND, HRESULT, IDs, IDCompositionTarget, IDCompositionDevice::Commit. По теме «окно, already, composed» для 0x88980800 сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.
Практическое исправление для 0x88980800: восстановите корректный порядок создания, привязки и фиксации объектов; после потери устройства создайте связанные ресурсы заново. В контексте условия «окно уже подключено к композиции directcomposition» для 0x88980800 оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.
Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x88980800, а заведомо неверный вход отклоняется на ожидаемой границе.
Документация для результата 0x88980800: DirectComposition error codes · DirectComposition reference · IDCompositionDevice::Commit.
Нужно найти другой код? Найти другой код состояния или ошибки.