| Предыдущий | Следующий |
| MILERR_SCREENACCESSDENIED | MILERR_NONINVERTIBLEMATRIX |
MILERR_DISPLAYSTATEINVALID
Что означает MILERR_DISPLAYSTATEINVALID
MILERR_DISPLAYSTATEINVALID (0x88980006) — Состояние дисплея недействительно.
Контекст результата 0x88980006 — подсистема «COM/WinRT» и область «контракт вызываемого interface, аргументы и state объекта». Условие «состояние дисплея недействительно» указывает на тему «milerr, дисплей, состояние, недопустимый», а не на общий отказ всего компонента.
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: проверьте допустимость и структуру входных данных первого неуспешного вызова. При 0x88980006 и условии «состояние дисплея недействительно» сверьте тип, размер, диапазон, маску флагов и принадлежность каждого дескриптора текущему объекту именно по контракту первого неуспешного метода.
Сопоставьте с результатом 0x88980006 следующие данные: IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, IErrorInfo. До исправления 0x88980006 сохраните исходное состояние объекта по теме «milerr, дисплей, состояние, недопустимый».
Исправляя 0x88980006, меняйте только подтверждённую причину: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Результат 0x88980006 с описанием «состояние дисплея недействительно» должен исчезнуть на исходных данных без обхода штатной проверки.
После исправления повторите тот же вызов на прежних данных; у результата 0x88980006 должен измениться первый неуспешный этап, а не только последующее сообщение.
Документация для результата 0x88980006: Microsoft documentation about WPF hardware-accelerated rendering.
Нужно найти другой код? Найти другой код состояния или ошибки.