Что означает код HRESULT 0xC00D0FA3 (NS_E_DEVICE_NOT_SUPPORT_FORMAT)?

 
Предыдущий Следующий
NS_E_DEVICE_DISCONNECTED NS_E_SLOW_READ_DIGITAL

NS_E_DEVICE_NOT_SUPPORT_FORMAT

Как исследовать NS_E_DEVICE_NOT_SUPPORT_FORMAT

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

Что выполняет Player

На контрольной точке этот результат Windows Media Device Manager выступает посредником между Player, поставщиком служб устройства и транспортами MTP, массового хранилища или устаревших устройств. Перечисление, идентификация Plug and Play, доступность хранилища, поддержка формата и отдельные файловые операции являются разными проверками. Граница этой страницы — проверка заявленной устройством поддержки формата элемента.

При этом результате устройство, отображаемое в Проводнике, всё равно может исчезнуть из сеанса WMDM Player или отклонить формат мультимедиа, имя файла, операцию с каталогом либо запрос к хранилищу. Реальный сценарий: файл воспроизводится на компьютере, но его кодек отсутствует в списке возможностей устройства.

Что сохранить до изменения состояния

ДанныеПочему это важно при неподдерживаемом формате устройства
Объект и операция, вернувшие ошибкуэкземпляр PnP и путь интерфейса, CLSID поставщика служб WMDM, идентификатор устройства или партнёрства, поколение подключения, объект хранилища и его ёмкость, результат проверки поддержки формата, версия прошивки, обратный вызов операции и первый HRESULT устройства или транспорта
Решающие сведенияформат источника, результат GetFormatSupport устройства, кодек/FourCC и возможности хранилища
Идентификатор поколенияЗафиксируйте то же поколение диска, устройства, задания или операции Player, которое вернуло этот результат; повторное подключение или смена носителя создаёт другой тест.
Исходный результатСохраните первый результат устройства, файловой системы, COM, кодека, DirectShow, IMAPI или BITS, полученный до того, как Player сопоставил его с ним.
Контролируемое сравнениеПовторите вызов-источник, изменив только это условие: перекодируйте данные в заявленный формат или исключите несовместимый элемент.

Руководство по интерпретации

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

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

Пятиэтапная изолирующая проверка

  1. Зафиксируйте 0xC00D0FA3, он, точную операцию Player/API и момент первого появления ошибки.
  2. Сохраните формат источника, результат GetFormatSupport устройства, кодек/FourCC и возможности хранилища до извлечения носителя, переподключения устройства, отмены задания или перестроения объекта Player.
  3. сопоставьте результат с экземпляром PnP и путём интерфейса, CLSID поставщика служб WMDM, идентификатором устройства или партнёрства, поколением подключения, объектом хранилища и его ёмкостью, результатом поддержки формата, версией прошивки, обратным вызовом операции и первым HRESULT устройства или транспорта.
  4. Один раз воспроизведите сбой с исходным источником и назначением, затем внесите только одно изменение: перекодируйте данные в заявленный формат или исключите несовместимый элемент.
  5. Создайте новое поколение операции и убедитесь, что исходный вызов проходит границу проверки поддержки формата.

Другие границы того же семейства

Связанный результатДругая диагностическая граница
NS_E_DEVICE_DISCONNECTEDиспользование объекта переносного устройства после разрыва физического подключения
NS_E_DEVICE_IS_NOT_READYоткрытие хранилища устройства до того, как поставщик служб сообщил о готовности
NS_E_PDA_UNSUPPORTED_FORMATпроверка операции с переносным устройством на соответствие формату объекта

Критерии исправления

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

При проверке он не считайте старый указатель интерфейса действительным после переподключения; заново перечислите устройство и объекты хранилища и сопоставьте сбой с тем же поколением подключения.

Документация


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