| Предыдущий | Следующий |
| 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, протокола и компонента при изменении только отклонённого предварительного условия. |
Проверка с изменением одной переменной
- Сохраните идентификатор ресурса, текущее и запрошенное разрешение, частоту обновления, глубину цвета, топологию нескольких мониторов, владельца монопольного режима и результат драйвера.
- Для
NS_E_DISPLAY_MODE_CHANGE_FAILEDубедитесь, что вызывающая сторона использует текущее поколение объекта Playlist, Media, Network, графа, устройства или DRM. - Выполните узкий эксперимент: сначала используйте оконное воспроизведение, затем запросите режим отображения, уже указанный активным адаптером.
- Не объединяйте эксперимент
NS_E_DISPLAY_MODE_CHANGE_FAILEDс установкой пакета кодеков, сбросом Player или широкой очисткой реестра. - После
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, лицензионные материалы или полные заголовки защищённого содержимого; сохраняйте только обезличенные идентификаторы, длины, хэши и поля протокола.
Технические ссылки
- Интерфейс IWMPNetwork
- Объект Network
- Поддерживаемые протоколы и типы файлов
- Граф фильтров DirectShow
- Реестр HRESULT Microsoft
Устранение NS_E_DISPLAY_MODE_CHANGE_FAILED подтверждается успешным прохождением того же пути Player с тем же ресурсом, а не открытием его другим приложением.
Нужно найти другой код? Найти другой код состояния или ошибки.