Что означает код HRESULT 0xC00D1188 (NS_E_PDA_TOO_MANY_FILE_COLLISIONS)?

 
Предыдущий Следующий
NS_E_PDA_TRANSCODECACHEFULL NS_E_PDA_CANNOT_TRANSCODE

NS_E_PDA_TOO_MANY_FILE_COLLISIONS

Граница сбоя и принадлежность

NS_E_PDA_TOO_MANY_FILE_COLLISIONS со значением 0xC00D1188 фиксирует условие генерируемые destination names многократно конфликтуют с существующими objects устройства. Вызов-источник и его состояние важнее для диагностики, чем более поздняя сводная ошибка Player.

Нижележащий механизм

На контрольной точке этот результат Windows Media Device Manager выступает посредником между Player, поставщиком службы устройства и транспортами MTP, mass-storage или legacy; перечисление, идентификация Plug and Play, доступность хранилища, поддержка форматов и отдельные файловые операции являются независимыми проверками. Специфичная для страницы граница — генерируемые destination names многократно конфликтуют с существующими objects устройства.

Устройство, видимое в Explorer, всё равно может исчезнуть из WMDM session Player либо отклонить media format, filename, directory operation или storage request. Характерный сценарий: генерируемые destination names многократно конфликтуют с существующими objects устройства.

Поля трассировки, которые следует сохранить

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

Что доказывает сравнение

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

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

Путь принятия решения

  1. Зафиксируйте 0xC00D1188, он, точную операцию Player/API и первую временную метку её появления.
  2. Сохраните source names, сгенерированные target names, collision counter и правила именования устройства; сделайте это до извлечения носителя, повторного подключения устройства, отмены задания или пересоздания объекта Player.
  3. сопоставьте результат с экземпляром PnP и путём интерфейса, CLSID поставщика служб WMDM, идентификатором устройства или партнёрства, поколением подключения, объектом хранилища и его ёмкостью, результатом поддержки формата, версией прошивки, обратным вызовом операции и первым HRESULT устройства или транспорта.
  4. Один раз воспроизведите сбой с исходными source и destination, затем примените только это изменение: использовать детерминированное правило уникальных имён либо удалить конфликтующие objects.
  5. Создайте новое поколение операции и убедитесь, что исходный вызов проходит границу «генерируемые destination names многократно конфликтуют с существующими objects устройства».

Близкие альтернативы

Связанный результатДругая диагностическая граница
NS_E_PDA_TOO_MANY_FILES_IN_DIRECTORYдобавление объекта в каталог устройства, достигший лимита числа entries
NS_E_PDA_MANUALDEVICEобнаружение устройства, настроенного на ручную передачу вместо автоматической sync через partnership
NS_E_PDA_INITIALIZINGDEVICESзапрос операции устройства, пока Player ещё формирует коллекцию устройств

Безопасное исправление

Исправьте эту границу: убедитесь, что вы использовать детерминированное правило уникальных имён либо удалить конфликтующие objects. Затем заново получите interface или состояние носителя, которое привело к нему и повторите этот вызов.

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

Исходные материалы


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