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