| Предыдущий | Следующий |
| NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING | NS_E_BKGDOWNLOAD_WRONG_NO_FILES |
NS_E_WMP_HWND_NOTFOUND
Где этот результат возникает в рабочем процессе Player
NS_E_WMP_HWND_NOTFOUND (0xC00D125C) обозначает определение окна-владельца Player, необходимого подключаемому модулю диспетчера загрузок. Сохраните эту границу, даже если видимое сообщение Player шире операции, которая вернула код.
Механизм
Менеджер загрузок WMP координирует окно-владелец, подключаемый модуль, идентификатор фонового задания, временные файлы и окончательное завершение или отмену. Для загруженного пакета .wmd после передачи добавляются этапы извлечения и каталогизации. Здесь ошибка возникает при разрешении окна-владельца проигрывателя, необходимого подключаемому модулю менеджера загрузок.
Получение всех сетевых байтов ещё не означает завершение задания, перенос временного файла либо успешное извлечение и каталогизацию пакета Windows Media Download. Характерный случай — главное окно уже уничтожено, но фоновому callback всё ещё требуется владелец интерфейса.
Снимок состояния
| Данные | Почему важно проверить окно-владелец |
|---|---|
| Объект и операция, вернувшие ошибку | GUID задания и сигнатуру Player, состояние BITS и задания, ожидаемое и фактическое число файлов, удалённые и локальные имена, временный путь, запрос завершения или отмены, подключаемый модуль и обратный вызов, apartment COM, результат распаковки WMD и первый внутренний HRESULT |
| Решающие сведения | ожидаемый HWND, принадлежность процессу/потоку, состояние завершения работы проигрывателя и запрос callback |
| Идентификатор поколения | Зафиксируйте то же поколение диска, устройства, задания или операции проигрывателя, которое вернуло исходный HRESULT; повторное подключение или смена носителя создаёт уже другой тест. |
| Нижележащий результат | Сохраните первый результат устройства, файловой системы, COM, кодека, DirectShow, IMAPI или BITS, полученный до того, как проигрыватель сопоставил его с итоговым HRESULT. |
| Контролируемое сравнение | Повторите исходную операцию, изменив только это условие: пересоздайте менеджер при существующем окне проигрывателя либо корректно прервите работу во время завершения. |
Как интерпретировать следующую проверку
| Наблюдение | Толкование |
|---|---|
| Зафиксированные значения соответствуют границе | Результат относится к разрешению окна-владельца, необходимого подключаемому модулю менеджера загрузок; исправьте это состояние прежде, чем менять не связанные с ним кодеки, драйверы или списки воспроизведения. |
| Сбой нижнего уровня произошёл раньше | Сохраните этот более ранний HRESULT или результат устройства, поскольку итоговый HRESULT может быть лишь отображением ошибки на уровне проигрывателя. |
| Тот же вызов проходит после одного изолированного изменения | Такое сравнение подтверждает отсутствие требуемого HWND, а не общую проблему установки. |
| После повторной проверки код изменился | Эта диагностическая граница пройдена; диагностируйте новый HRESULT как следующую независимую стадию. |
NS_E_WMP_HWND_NOTFOUND сужает границу сбоя до определение окна-владельца Player, необходимого подключаемому модулю диспетчера загрузок. Наличие NS_E_WMP_HWND_NOTFOUND не доказывает общесистемный сбой мультимедиа; перед изменением не связанных компонентов Player определите операцию, которой принадлежит ошибка.
Контролируемая последовательность диагностики
- Зафиксируйте
0xC00D125C,NS_E_WMP_HWND_NOTFOUND, точную операцию проигрывателя/API и первую временную метку её появления. - До отмены задания или пересоздания проигрывателя сохраните ожидаемый HWND, принадлежность процессу/потоку, состояние завершения работы проигрывателя и запрос callback.
- Сопоставьте результат с GUID задания и сигнатурой Player, состоянием BITS и задания, ожидаемым и фактическим числом файлов, удалёнными и локальными именами, временным путём, запросом завершения или отмены, подключаемым модулем и обратным вызовом, apartment COM, результатом распаковки WMD и первым внутренним HRESULT.
- Один раз воспроизведите сбой с исходными параметрами, затем измените только одно: пересоздайте менеджер при существующем окне проигрывателя либо корректно прервите операцию во время завершения.
- Создайте новую операцию и убедитесь, что исходный вызов проходит прежний этап разрешения HWND.
Близкие коды с другими владельцами
| Связанный результат | Другая диагностическая граница |
|---|---|
NS_E_BKGDOWNLOAD_WRONG_NO_FILES | проверка списка файлов, прикреплённого к фоновому заданию Player |
NS_E_BKGDOWNLOAD_COMPLETECANCELLEDJOB | вызов завершения для задания, которое уже перешло в конечное отменённое состояние |
NS_E_BKGDOWNLOAD_CANCELCOMPLETEDJOB | вызов отмены после того, как задание уже завершено и подтверждено |
Целевое исправление
В этом случае пересоздайте менеджер при существующем окне проигрывателя либо корректно прервите операцию во время завершения. Пересоздайте только объект, сформировавший NS_E_WMP_HWND_NOTFOUND и повторите исходную операцию с теми же контролируемыми входными данными.
Не изменяйте и не сбрасывайте связанное состояние до сохранения следующих данных: API, состояния объекта, входных параметров и исходного HRESULT для состояния «недопустимая сигнатура задания загрузки в фоне»; иначе причина «недопустимая сигнатура задания загрузки в фоне» будет потеряна.
Технические ссылки
- Интерфейсы BITS и объекты заданий.
- Завершение и отмена задания BITS.
- Возвращаемые значения BITS и ошибки состояния задания.
- Пакеты Windows Media Download.
- Создание глобальной таблицы интерфейсов COM.
Нужно найти другой код? Найти другой код состояния или ошибки.
