Что означает код HRESULT 0xC00D0FCF (NS_E_SHARING_VIOLATION)?

 
Предыдущий Следующий
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.

Целевая последовательность диагностики

  1. Сохраните 0xC00D0FCF, контекст ErrorItem и поколение объекта, при котором возник конфликт доступа.
  2. Сравните сбойный артефакт с заведомо исправным, отличающимся только подозреваемым свойством.
  3. Разделите получение данных, разбор, построение объекта, воспроизведение и сохранение, пока не станет ясно, какой компонент владеет сбойной операцией.
  4. Подтвердите файловый конфликт непосредственно: определите файл, запрошенные флаги доступа и совместного доступа, процесс-владелец и удерживающий дескриптор.
  5. Закройте конфликтующий дескриптор либо согласуйте режим доступа, повторите ту же операцию, затем пересоздайте владеющий объект 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.

Технические ссылки


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