Что означает код HRESULT 0xC00D0FA2 (NS_E_DEVICE_DISCONNECTED)?

 
Предыдущий Следующий
NS_E_CANT_READ_DIGITAL NS_E_DEVICE_NOT_SUPPORT_FORMAT

NS_E_DEVICE_DISCONNECTED

Где этот результат возникает в рабочем процессе Player

NS_E_DEVICE_DISCONNECTED (0xC00D0FA2) обозначает использование объекта переносного устройства после разрыва физического подключения. Для NS_E_DEVICE_DISCONNECTED, сохраните эту границу, даже если видимое сообщение Player шире операции, которая вернула код.

Механизм

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

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

Снимок состояния

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

Как интерпретировать следующую проверку

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

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

Контролируемая последовательность диагностики

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

Близкие коды с другими владельцами

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

Целевое исправление

В этом случае переподключите и заново перечислите устройство, затем продолжите с новым объектом. Пересоздайте только объект, который вернул NS_E_DEVICE_DISCONNECTED и повторите исходную операцию с теми же контролируемыми входными данными.

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

Технические ссылки для NS_E_DEVICE_DISCONNECTED


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