Что означает код HRESULT 0xC00D10BE (NS_E_DISPLAY_MODE_CHANGE_FAILED)?

 
Предыдущий Следующий
NS_E_DDRAW_GENERIC NS_E_PLAYLIST_CONTAINS_ERRORS

NS_E_DISPLAY_MODE_CHANGE_FAILED

Диагностика NS_E_DISPLAY_MODE_CHANGE_FAILED в настройках Player или графе воспроизведения

NS_E_DISPLAY_MODE_CHANGE_FAILED (0xC00D10BE) возвращается, когда Player не смог переключить устройство отображения в режим, запрошенный для полноэкранного воспроизведения.

Для NS_E_DISPLAY_MODE_CHANGE_FAILED, прежде чем менять воспроизводимое содержимое, разделите конфигурацию объекта Network, возможности графа, вывод графики, выбор потока и владение COM. Для NS_E_DISPLAY_MODE_CHANGE_FAILED практической контрольной точкой является ситуация, когда Player не смог переключить устройство отображения в режим, запрошенный для полноэкранного воспроизведения. Хотя NS_E_DISPLAY_MODE_CHANGE_FAILED может отображаться как «не удаётся воспроизвести» или «не удаётся сохранить», она относится к конкретному состоянию объекта, которое следует диагностировать напрямую.

Граница конфигурации или графа

AllStat уже предоставляет стандартное пользовательское описание NS_E_DISPLAY_MODE_CHANGE_FAILED; этот специальный блок вместо этого выделяет дополнительную техническую границу. Успешный поиск файла, сетевое подключение, создание анализатора или построение графа на более ранней стадии не доказывает допустимость последующей операции NS_E_DISPLAY_MODE_CHANGE_FAILED.

Контрольная точка этого случая: текущее и запрошенное разрешение, частота обновления, глубина цвета, топология нескольких мониторов, владелец монопольного режима и результат драйвера. Контролируемая проверка для NS_E_DISPLAY_MODE_CHANGE_FAILED состоит в том, чтобы сначала использовать оконное воспроизведение, а затем запросить режим отображения, уже указанный активным адаптером.

Ближайшее различие: NS_E_WMP_GOFULLSCREEN_FAILED относится к полноэкранной операции уровня Player; данный код определяет расположенный ниже переход режима отображения.

Состояние, которое нужно сохранить до изменения настроек

Что зафиксироватьПочему это важно для NS_E_DISPLAY_MODE_CHANGE_FAILED
Объект или ресурстекущее и запрошенное разрешение, частота обновления, глубина цвета, топология нескольких мониторов, владелец монопольного режима и результат драйвера
Снимок состоянияЗапишите openState/playState Player или фазу операции, идентификатор объекта и точную метку времени возврата NS_E_DISPLAY_MODE_CHANGE_FAILED.
Первый результат нижнего уровняСохраните самый ранний результат Win32, Winsock, COM, анализатора, кодека, DRM или устройства, появившийся до NS_E_DISPLAY_MODE_CHANGE_FAILED.
Запись для сравненияДля NS_E_DISPLAY_MODE_CHANGE_FAILED используйте один заведомо рабочий случай, проходящий тот же путь API, протокола и компонента при изменении только отклонённого предварительного условия.

Проверка с изменением одной переменной

  1. Сохраните идентификатор ресурса, текущее и запрошенное разрешение, частоту обновления, глубину цвета, топологию нескольких мониторов, владельца монопольного режима и результат драйвера.
  2. Для NS_E_DISPLAY_MODE_CHANGE_FAILED убедитесь, что вызывающая сторона использует текущее поколение объекта Playlist, Media, Network, графа, устройства или DRM.
  3. Выполните узкий эксперимент: сначала используйте оконное воспроизведение, затем запросите режим отображения, уже указанный активным адаптером.
  4. Не объединяйте эксперимент NS_E_DISPLAY_MODE_CHANGE_FAILED с установкой пакета кодеков, сбросом Player или широкой очисткой реестра.
  5. После NS_E_DISPLAY_MODE_CHANGE_FAILED считайте новый конкретный HRESULT доказательством прохождения этой границы.

Интерпретация следующего состояния

Результат повторной проверкиТолкование
Тот же NS_E_DISPLAY_MODE_CHANGE_FAILED на том же объектеДля NS_E_DISPLAY_MODE_CHANGE_FAILED определяющее состояние или значение не изменилось либо вызывающая сторона повторно использует объект, созданный до соответствующего изменения.
Новый объект работает успешноНа NS_E_DISPLAY_MODE_CHANGE_FAILED повлияло время жизни, кэшированная конфигурация или устаревшее состояние списка воспроизведения либо графа.
Появился более поздний HRESULTОтклонённое условие — невозможность переключить устройство отображения в режим полноэкранного воспроизведения — устранено для NS_E_DISPLAY_MODE_CHANGE_FAILED; диагностируйте новый код на его собственном уровне.
Для NS_E_DISPLAY_MODE_CHANGE_FAILED не работает только один элемент или конечная точкаДля NS_E_DISPLAY_MODE_CHANGE_FAILED данные указывают на состояние конкретного ресурса, прав, маршрутизации или устройства, а не на общий сбой Player.

Действия, скрывающие причину

  • изменение расширения файла мультимедиа.
  • Не стирайте данные о первом появлении NS_E_DISPLAY_MODE_CHANGE_FAILED многократными вызовами Play, open, save или retry; более поздние события могут заменить исходное состояние.
  • Для NS_E_DISPLAY_MODE_CHANGE_FAILED не публикуйте учётные данные, закрытые URL, лицензионные материалы или полные заголовки защищённого содержимого; сохраняйте только обезличенные идентификаторы, длины, хэши и поля протокола.

Технические ссылки

Устранение NS_E_DISPLAY_MODE_CHANGE_FAILED подтверждается успешным прохождением того же пути Player с тем же ресурсом, а не открытием его другим приложением.


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