| Предыдущий | Следующий |
| NS_E_MEDIA_LIBRARY_FAILED | NS_E_NO_ERROR_STRING_FOUND |
NS_E_SHARING_VIOLATION
Значение в точке возникновения ошибки
0xC00D0FCF соответствует NS_E_SHARING_VIOLATION. Практический смысл результата — режим совместного доступа другого дескриптора блокирует требуемый доступ WMP к файлу. Ошибка возникает при загрузке, сохранении или фиксации пакета WMP — на этапе, где Player разрешает путь или URL, открывает источник либо назначение и сохраняет полученный список воспроизведения, оболочку или связанный медиафайл.
Сгенерированная часть страницы What Is уже содержит стандартное описание AllStat для него. Для диагностики определите конкретный файл, запрошенные флаги доступа и совместного доступа, а также процесс и дескриптор, удерживающие файл; эти данные полезнее переустановки Player или одновременного изменения нескольких несвязанных параметров.
Что зафиксировать до повторной попытки
Сохраните первое событие этот результат до того, как повтор или резервный сценарий изменит состояние. Следующие поля должны относиться к одному поколению объекта:
| Поле | Что записать |
|---|---|
| Решающая проверка | файл, запрошенные флаги доступа и совместного доступа, процесс-владелец и удерживающий дескриптор |
| Идентичность артефакта | каталог назначения, временный файл и результат окончательного переименования или замены |
| Состояние среды выполнения | атрибуты файла, владелец, ACL и дескрипторы, определяющие режим совместного доступа |
| Ответственный объект | число полученных или записанных байтов, ожидаемая длина и итоговый хэш |
| Результат нижнего уровня | исходный URL или путь и конечный перенаправленный либо канонический путь |
| Корреляция | HTTP-статус и тип содержимого либо результат локального открытия в стиле CreateFile |
В журнале сохраняйте точные пути или URL, хэши, идентификаторы объектов, смещения и порядок HRESULT, где это применимо. Не записывайте учётные данные, содержимое защищённых лицензий и посторонние данные медиатеки.
Как работает этот уровень
Не смешивайте этот сбой с общей ошибкой WMP: загрузка, разбор и сохранение — разные стадии. Успешный HTTP-ответ не доказывает ни корректность полезных данных, ни возможность записать назначение. Сохранению также могут мешать атрибут «только чтение», режимы совместного доступа, перенаправленные пути и потоковые источники, даже если воспроизведение работает.
Показательный случай: редактор списка воспроизведения удерживает файл назначения без FILE_SHARE_WRITE, когда WMP пытается его сохранить. Такой пример локализует файловый конфликт и не требует предполагать одновременный сбой медиатеки, кодеков, механизма оболочек и узла ActiveX.
Целевая последовательность диагностики
- Сохраните
0xC00D0FCF, контекст ErrorItem и поколение объекта, при котором возник конфликт доступа. - Сравните сбойный артефакт с заведомо исправным, отличающимся только подозреваемым свойством.
- Разделите получение данных, разбор, построение объекта, воспроизведение и сохранение, пока не станет ясно, какой компонент владеет сбойной операцией.
- Подтвердите файловый конфликт непосредственно: определите файл, запрошенные флаги доступа и совместного доступа, процесс-владелец и удерживающий дескриптор.
- Закройте конфликтующий дескриптор либо согласуйте режим доступа, повторите ту же операцию, затем пересоздайте владеющий объект WMP и убедитесь, что новое поколение завершает операцию успешно.
Исправьте условие, вызвавшее результат
Измените именно конфликтующее предварительное условие: закройте удерживающий файл дескриптор либо согласуйте режим совместного доступа и повторите ту же операцию. Повтор имеет смысл только после изменения зафиксированного состояния файла.
- Не сохраняйте файл под новым именем до фиксации сбойного пути назначения и режима доступа: это может уничтожить состояние, необходимое для объяснения этот результат.
- Не принимайте загруженную страницу ошибки за корректный список воспроизведения, оболочку или медиапакет: это может заменить исходный HRESULT вторичным сбоем другого уровня.
Почему важно символьное имя
| Результат | Другая граница |
|---|---|
NS_E_FILE_FAILED_CHECKS | файл не проходит проверки допуска медиатеки Player ещё до добавления |
NS_E_DAMAGED_FILE | анализатор мультимедиа обнаруживает структурное повреждение выбранного файла |
NS_E_WMP_RECORDING_NOT_ALLOWED | права выбранного содержимого не разрешают запрошенную запись или прожиг |
Если этот результат сопровождается более общим результатом «невозможно воспроизвести», «невозможно загрузить» или «операция завершилась ошибкой», сохраняйте более раннее событие файлового конфликта. Поздний код может быть следствием оболочки, резервного элемента или слоя интерфейса, а не исходным сбоем.
Что искать в трассировках
Используйте этот результат, 0xC00D0FCF и фразу «нарушение совместного доступа» вместе при анализе трассировок и поиске похожих случаев. Храните эти ключи рядом с формирующим API, идентификатором объекта, URL или смещением в файле, чтобы событие отличалось от общего сообщения Player.
Регрессионная проверка
Сохраните один тестовый пример, воспроизводящий 0xC00D0FCF и один исправленный пример, в котором изменено только конфликтующее условие. Исправление подтверждено, когда требуемая операция проходит без замены результата соседним HRESULT WMP.
Технические ссылки
- Поддерживаемые протоколы и типы файлов — контекст API или формата для него.
- Расширения имён файлов — документация, помогающая определить точку возникновения этот результат.
- SDK Windows Media Player — нормативная и платформенная документация для него.
- Обработка ошибок в объектной модели WMP — контекст API или формата для него.
Нужно найти другой код? Найти другой код состояния или ошибки.