| Предыдущий | Следующий |
| NS_E_MIXER_INVALID_CONTROL | NS_E_MIXER_UNKNOWN_MMRESULT |
NS_E_MIXER_INVALID_VALUE
Как исследовать NS_E_MIXER_INVALID_VALUE
Код 0xC00D0FA7 сужает событие до условия применение значения, нарушающего диапазон или форму выбранного mixer control. Рассматривайте этот результат как контрольную точку в legacy multimedia mixer topology и сохраняйте первую ошибку нижнего уровня.
Что выполняет Player
На контрольной точке этот результат analog CD и устаревшие audio paths Player обращаются к destination mixer, source line и control через WinMM mixer API; identifiers линий и controls, а также формы values предоставляет установленный audio driver, а не само приложение. Специфичная для страницы граница — применение значения, нарушающего диапазон или форму выбранного mixer control.
Открытие audio endpoint или наличие звука в другом приложении не доказывает существование legacy mixer line и control, запрошенных Player. Характерный trigger — скалярное процентное значение без преобразования записывается в многоканальный signed control.
Что сохранить до изменения состояния
| Диагностические данные | Почему это важно для invalid value |
|---|---|
| Объект и операция, вернувшие ошибку | идентификатор микшерного устройства, имя/версия драйвера, идентификаторы линии назначения и исходной линии, тип компонента, идентификатор/тип регулятора, число каналов, границы, передаваемое значение и исходный MMRESULT |
| Решающие сведения | границы control, число каналов, число multiple-items, тип payload и запрошенное значение |
| Идентификатор поколения | Зафиксируйте то же поколение disc, device, job или операции Player, которое вернуло этот результат; reconnect или смена носителя создают уже другой тест. |
| Нижележащий результат | Сохраните первый результат device, filesystem, COM, codec, DirectShow, IMAPI или BITS, появившийся до того, как Player сопоставил его с этим результатом. |
| Контролируемое сравнение | Повторите исходный вызов, изменив только это условие: ограничить и закодировать значение согласно сведениям control, возвращённым драйвером. |
Руководство по интерпретации
| Наблюдение | Толкование |
|---|---|
| Зафиксированные значения соответствуют границе | Результат соответствует условию применение значения, нарушающего диапазон или форму выбранного mixer control; сначала исправьте его, прежде чем менять несвязанные codec, driver или playlist. |
| Сбой нижнего уровня произошёл до него | Сохраните этот более ранний HRESULT или результат устройства, поскольку он может быть лишь отображением ошибки на уровне Player. |
| Тот же вызов проходит после одного изолированного изменения | Сравнение подтверждает диагностику границы invalid value, а не общий сбой установки. |
| После повторной проверки код изменился | Эта граница пройдена; диагностируйте новый HRESULT как следующую независимую стадию. |
Он сужает границу сбоя до применение значения, нарушающего диапазон или форму выбранного mixer control. Его наличие не доказывает общесистемный сбой мультимедиа; перед изменением не связанных компонентов Player определите операцию, которой принадлежит ошибка.
Пятиэтапная изолирующая проверка
- Зафиксируйте
0xC00D0FA7, он, точную операцию Player/API и первую временную метку её появления. - Сохраните границы control, число каналов, число multiple-items, тип payload и запрошенное значение; сделайте это до извлечения носителя, повторного подключения устройства, отмены задания или пересоздания объекта Player.
- сопоставьте результат с mixer device ID, именем/версией driver, IDs destination и source line, component type, control ID/type, количеством channels, bounds, payload value и исходным MMRESULT.
- Один раз воспроизведите сбой с исходными source и destination, затем примените только это изменение: ограничить и закодировать значение согласно сведениям control, возвращённым драйвером.
- Создайте новое поколение операции и убедитесь, что исходный вызов проходит рассматриваемую границу.
Другие границы того же семейства
| Связанный результат | Другая диагностическая граница |
|---|---|
NS_E_MIXER_INVALID_CONTROL | поиск элемента управления громкостью, отключением звука или маршрутизацией в корректной линии микшера |
NS_E_MIXER_UNKNOWN_MMRESULT | преобразование результата WinMM mixer, не распознанного оболочкой Player |
NS_E_MIXER_INVALID_LINE | сопоставление запрошенной линии WinMM mixer с текущей топологией драйвера |
Критерии исправления
Проверка успешна, когда вы ограничили и закодировали value согласно данным control, возвращённым driver, пересоздали owning operation и исходный вызов больше не возвращает он.
При проверке он не записывайте в mixer угаданные control IDs или ranges; после изменения device или driver заново перечислите topology и сохраните исходный MMRESULT.
Документация
- Функция mixerOpen.
- Функция mixerGetLineInfo.
- Функция mixerGetLineControls.
- Функция mixerSetControlDetails.
Нужно найти другой код? Найти другой код состояния или ошибки.