Что означает код 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 фиксирует условие получение первых цифровых аудиобуферов от объекта чтения компакт-диска. Для NS_E_CD_NO_BUFFERS_READ вызов-источник и его состояние важнее для диагностики, чем более поздняя сводная ошибка Player.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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