| Предыдущий | Следующий |
| NS_E_MEMSTORAGE_BAD_DATA | NS_E_PDA_FAIL_READ_WAVE_FILE |
NS_E_PDA_FAIL_SELECT_DEVICE
Граница сбоя и принадлежность
NS_E_PDA_FAIL_SELECT_DEVICE со значением 0xC00D117C фиксирует условие привязка операции к выбранному пользователем устройству из текущего перечисления. Вызов-источник и его состояние важнее для диагностики, чем более поздняя сводная ошибка Player.
Нижележащий механизм
На контрольной точке этот результат Windows Media Device Manager выступает посредником между Player, поставщиком службы устройства и транспортами MTP, mass-storage или legacy; перечисление, идентификация Plug and Play, доступность хранилища, поддержка форматов и отдельные файловые операции являются независимыми проверками. Специфичная для страницы граница — привязка операции к выбранному пользователем устройству из текущего перечисления.
Устройство, видимое в Explorer, всё равно может исчезнуть из WMDM session Player либо отклонить media format, filename, directory operation или storage request. Характерный сценарий: привязка операции к выбранному пользователем устройству из текущего перечисления.
Поля трассировки, которые следует сохранить
| Данные | Почему это важно для данного результата |
|---|---|
| Объект и операция, вернувшие ошибку | экземпляр PnP и путь интерфейса, CLSID поставщика служб WMDM, идентификатор устройства или партнёрства, поколение подключения, объект хранилища и его ёмкость, результат проверки поддержки формата, версия прошивки, обратный вызов операции и первый HRESULT устройства или транспорта |
| Решающие сведения | выбранный index/ID, поколение массива devices, состояние connection и callback выбора |
| Идентификатор поколения | Зафиксируйте то же поколение диска, устройства, задания или операции Player, которое вернуло этот результат; повторное подключение или смена носителя создаёт уже другой тест. |
| Нижележащий результат | Сохраните первый результат устройства, файловой системы, COM, codec, DirectShow, IMAPI или BITS, полученный до того, как Player сопоставил его с этим результатом. |
| Контролируемое сравнение | Повторите исходный вызов, изменив только это условие: заново перечислить устройства и выбирать по стабильному идентификатору устройства, а не по устаревшему индексу. |
Что доказывает сравнение
| Наблюдение | Толкование |
|---|---|
| Зафиксированные значения соответствуют границе | Результат соответствует условию привязка операции к выбранному пользователем устройству из текущего перечисления; сначала исправьте его, прежде чем менять несвязанные codec, driver или playlist. |
| Сбой нижнего уровня произошёл до этого результата | Сохраните этот более ранний HRESULT или результат устройства, поскольку он может быть лишь отображением ошибки на уровне Player. |
| Тот же вызов проходит после одного изолированного изменения | Сравнение подтверждает диагностику этой границы, а не общий сбой установки. |
| После повторной проверки код изменился | Эта граница пройдена; диагностируйте новый HRESULT как следующую независимую стадию. |
Он сужает границу сбоя до привязка операции к выбранному пользователем устройству из текущего перечисления. Его наличие не доказывает общесистемный сбой мультимедиа; перед изменением не связанных компонентов Player определите операцию, которой принадлежит ошибка.
Путь принятия решения
- Зафиксируйте
0xC00D117C, он, точную операцию Player/API и первую временную метку её появления. - Сохраните выбранный index/ID, поколение массива devices, состояние connection и callback выбора; сделайте это до извлечения носителя, повторного подключения устройства, отмены задания или пересоздания объекта Player.
- сопоставьте результат с экземпляром PnP и путём интерфейса, CLSID поставщика служб WMDM, идентификатором устройства или партнёрства, поколением подключения, объектом хранилища и его ёмкостью, результатом поддержки формата, версией прошивки, обратным вызовом операции и первым HRESULT устройства или транспорта.
- Один раз воспроизведите сбой с исходными source и destination, затем примените только это изменение: заново перечислить устройства и выбирать по стабильному идентификатору устройства, а не по устаревшему индексу.
- Создайте новое поколение операции и убедитесь, что исходный вызов проходит границу «привязка операции к выбранному пользователем устройству из текущего перечисления».
Близкие альтернативы
| Связанный результат | Другая диагностическая граница |
|---|---|
NS_E_PDA_FAIL_READ_WAVE_FILE | открытие и разбор WAV source, используемого для передачи на устройство или преобразования |
NS_E_PDA_UNSPECIFIED_ERROR | получение ошибки устройства или поставщика служб без более конкретного сопоставления Player |
NS_E_NO_PDA | перечисление переносного устройства для запрошенной операции Player |
Безопасное исправление
Исправьте эту границу: убедитесь, что вы заново перечислить устройства и выбирать по стабильному идентификатору устройства, а не по устаревшему индексу. Затем заново получите interface или состояние носителя, которое привело к нему и повторите этот вызов.
При проверке он не считайте старый указатель интерфейса действительным после переподключения; заново перечислите устройство и объекты хранилища и сопоставьте сбой с тем же поколением подключения.
Исходные материалы
- Пакет SDK Windows Media Device Manager.
- Включение Plug and Play для устройств WMDM.
- Возможности переносных устройств и требования оболочки.
- Уведомления WMDM о подключении и хранилище.
Нужно найти другой код? Найти другой код состояния или ошибки.