| Предыдущий | Следующий |
| NS_E_NO_CD_BURNER | NS_E_PDA_UNSUPPORTED_FORMAT |
NS_E_DEVICE_IS_NOT_READY
Граница сбоя и её владелец
NS_E_DEVICE_IS_NOT_READY со значением 0xC00D1177 фиксирует условие открытие хранилища устройства до того, как поставщик служб сообщил о готовности. Для NS_E_DEVICE_IS_NOT_READY, вызов-источник и его состояние важнее для диагностики, чем более поздняя сводная ошибка Player.
Механизм возникновения
На контрольной точке NS_E_DEVICE_IS_NOT_READY Windows Media Device Manager выступает посредником между Player, поставщиком служб устройства и транспортами MTP, массового хранилища или устаревших устройств. Перечисление, идентификация Plug and Play, доступность хранилища, поддержка формата и отдельные файловые операции являются разными проверками. Граница этой страницы — открытие хранилища до сообщения поставщика служб о готовности.
При NS_E_DEVICE_IS_NOT_READY устройство, отображаемое в Проводнике, всё равно может исчезнуть из сеанса WMDM Player или отклонить формат мультимедиа, имя файла, операцию с каталогом либо запрос к хранилищу. Условие воспроизводится, когда устройство уже появилось в PnP, но его внутренняя база данных ещё подключается.
Поля трассировки, которые следует сохранить
| Данные | Почему это важно для неготового устройства |
|---|---|
| Объект и операция, вернувшие ошибку | экземпляр PnP и путь интерфейса, CLSID поставщика служб WMDM, идентификатор устройства или партнёрства, поколение подключения, объект хранилища и его ёмкость, результат проверки поддержки формата, версия прошивки, обратный вызов операции и первый HRESULT устройства или транспорта |
| Решающие сведения | готовность устройства, перечисление хранилища, ход инициализации и результат транспорта |
| Идентификатор поколения | Зафиксируйте то же поколение диска, устройства, задания или операции Player, которое вернуло NS_E_DEVICE_IS_NOT_READY; повторное подключение или смена носителя создаёт другой тест. |
| Исходный результат | Сохраните первый результат устройства, файловой системы, COM, кодека, DirectShow, IMAPI или BITS, полученный до того, как Player сопоставил его с NS_E_DEVICE_IS_NOT_READY. |
| Контролируемое сравнение | Повторите вызов-источник, изменив только это условие: дождитесь инициализации или переподключите устройство, затем получите новые объекты хранилища. |
Что доказывает сравнение
| Наблюдение | Толкование |
|---|---|
| Зафиксированные значения соответствуют границе | Результат соответствует открытию хранилища до сообщения поставщика служб о готовности; исправьте это состояние до изменения не связанных с ним кодеков, драйверов или списков воспроизведения. |
Сбой нижнего уровня произошёл до NS_E_DEVICE_IS_NOT_READY | Сохраните этот более ранний HRESULT или результат устройства, поскольку NS_E_DEVICE_IS_NOT_READY может быть лишь его отображением на уровне Player. |
| Тот же вызов проходит после одного изолированного изменения | Сравнение подтверждает диагноз неготового устройства, а не общий сбой установки. |
После повторной проверки код изменился на NS_E_DEVICE_IS_NOT_READY | Граница NS_E_DEVICE_IS_NOT_READY пройдена; диагностируйте новый HRESULT как следующую независимую стадию. |
NS_E_DEVICE_IS_NOT_READY ограничивает область сбоя открытие хранилища устройства до того, как поставщик служб сообщил о готовности. Наличие NS_E_DEVICE_IS_NOT_READY не доказывает общесистемный сбой мультимедиа; перед изменением не связанных компонентов Player определите операцию, которой принадлежит ошибка.
Путь принятия решения
- Зафиксируйте
0xC00D1177,NS_E_DEVICE_IS_NOT_READY, точную операцию Player/API и момент первого появления ошибки. - Сохраните готовность устройства, результат перечисления хранилища, ход инициализации и результат транспорта до извлечения носителя, переподключения устройства, отмены задания или перестроения объекта Player.
- Для
NS_E_DEVICE_IS_NOT_READY, сопоставьте результат с экземпляром PnP и путём интерфейса, CLSID поставщика служб WMDM, идентификатором устройства или партнёрства, поколением подключения, объектом хранилища и его ёмкостью, результатом поддержки формата, версией прошивки, обратным вызовом операции и первым HRESULT устройства или транспорта. - Один раз воспроизведите сбой с исходным источником и назначением, затем внесите только одно изменение: дождитесь инициализации или переподключите устройство, после чего получите новые объекты хранилища.
- Создайте новое поколение операции и убедитесь, что исходный вызов проходит границу неготового устройства.
Близкие по смыслу результаты
| Связанный результат | Другая диагностическая граница |
|---|---|
NS_E_PDA_UNSUPPORTED_FORMAT | проверка операции с переносным устройством на соответствие формату объекта |
NS_E_NO_PDA | перечисление переносного устройства для запрошенной операции Player |
NS_E_PDA_UNSPECIFIED_ERROR | получение ошибки устройства или поставщика служб без более конкретного сопоставления Player |
Безопасное исправление
Для исправления дождитесь инициализации или переподключите устройство, затем получите новые объекты хранилища. После этого повторно получите интерфейс или состояние мультимедиа, которое вернуло NS_E_DEVICE_IS_NOT_READY и повторите этот вызов.
При проверке NS_E_DEVICE_IS_NOT_READY не считайте старый указатель интерфейса действительным после переподключения; заново перечислите устройство и объекты хранилища и сопоставьте сбой с тем же поколением подключения.
Исходные материалы
- Пакет SDK Windows Media Device Manager.
- Включение Plug and Play для устройств WMDM.
- Возможности переносных устройств и требования оболочки.
- Уведомления WMDM о подключении и хранилище.
Нужно найти другой код? Найти другой код состояния или ошибки.