Что означает код HRESULT 0x88980006 (MILERR_DISPLAYSTATEINVALID)?

 
Предыдущий Следующий
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.


Нужно найти другой код? Найти другой код состояния или ошибки.