Что означает код HRESULT 0xC00D11F8 (NS_E_CD_NO_BUFFERS_READ)?

 
Предыдущий Следующий
NS_E_TRANSCODE_DELETECACHEERROR NS_E_CD_EMPTY_TRACK_QUEUE

NS_E_CD_NO_BUFFERS_READ

Граница сбоя и её владелец

NS_E_CD_NO_BUFFERS_READ со значением 0xC00D11F8 фиксирует условие получение первых цифровых аудиобуферов от объекта чтения компакт-диска. Вызов-источник и его состояние важнее для диагностики, чем более поздняя сводная ошибка Player.

Механизм возникновения

На контрольной точке этот результат Windows Media Player определяет вставленный носитель, считывает таблицу содержимого, создаёт объект чтения компакт-диска, затем выбирает цифровое извлечение аудио или аналоговый путь воспроизведения; при копировании добавляются создание пути назначения и кодировщик, выбранный в настройках копирования. Граница этой страницы — получение первых цифровых аудиобуферов от объекта чтения компакт-диска.

Распознавание привода ещё не доказывает доступность читаемых аудиосекторов, устойчивого пути цифрового чтения или допустимого каталога копирования. Характерный сценарий: объект чтения создаётся, но до ошибки нижнего уровня не возвращает ни одного буфера.

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

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

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

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

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

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

  1. Зафиксируйте 0xC00D11F8 Он, а также точную операцию Player/API и момент первого появления ошибки.
  2. Сохраните идентичность объекта чтения, запрошенное число буферов, временные метки обратных вызовов и результат чтения нижнего уровня; сделайте это до извлечения носителя, повторного подключения устройства, отмены задания или пересоздания объекта Player.
  3. Сопоставьте результат с идентификатором физического привода, поколением смены носителя, номером диска и дорожки, результатом чтения оглавления, цифровым или аналоговым режимом, флагом коррекции ошибок, скоростью чтения, состоянием копирования, выходным форматом и первой ошибкой привода нижнего уровня.
  4. Повторите исходную операцию в контролируемом сценарии, изменив только условие «не прочитано ни одного аудиобуфера», и сохраните точный путь, имя файла, владельца операции и первый результат файловой системы.
  5. Создайте новое поколение операции и убедитесь, что исходный вызов проходит границу не прочитано ни одного аудиобуфера.

Близкие по смыслу результаты

Связанный результатДругая диагностическая граница
NS_E_CD_EMPTY_TRACK_QUEUEзапуск воспроизведения или извлечения без дорожки компакт-диска в очереди
NS_E_CD_NO_READERсоздание объекта чтения или фильтра Player для выбранного привода
NS_E_CD_ISRC_INVALIDпроверка International Standard Recording Code, связанного с дорожкой

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

Устраните именно исходное условие «не прочитано ни одного аудиобуфера», затем создайте новый объект операции и проверьте результат по сохранённым данным. Он и повторите этот вызов.

При проверке он не полируйте диск, не меняйте драйвер, режим чтения и формат копирования в одном тесте; сохраните первую сбойную дорожку и изменяйте по одной границе за раз.

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


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