| Предыдущий | Следующий |
| NS_E_DISK_WRITE | NS_E_FILE_WRITE |
NS_E_DISK_READ
Диагностика NS_E_DISK_READ
NS_E_DISK_READ обозначает конкретную границу в устаревшем серверном тракте Windows Media Services/NetShow: ошибка чтения данных с диска. Для NS_E_DISK_READ, рассматривайте этот HRESULT как результат компонента, которому принадлежит указанная граница, а не как свидетельство отказа всего потокового, дискового и сетевого тракта в случае ошибки чтения 0xC00D0017.
Где возникает результат
В NetShow Theater сервер содержимого обращался к дискам по сохранённым идентификаторам и данным размещения материалов. Ошибка чтения относится к получению данных с выбранного участника, поэтому нужно отдельно учитывать доступность диска, состояние перестроения или перераспределения полос, подкачку и межсерверные связи. Успешная проверка тома средствами Windows не гарантирует, что Windows Media Services может прочитать требуемый материал при ошибке 0xC00D0017.
Последовательность контролируемой диагностики
Чтобы проверить NS_E_DISK_READ, сначала повторите исходный вызов с тем же серверным объектом и тем же содержимым. Затем для NS_E_DISK_READсохраните первый результат файловой системы, диска или сокета, лежащий под этим сопоставлением, и повторите чтение того же ресурса от имени учётной записи службы. Наконец, для NS_E_DISK_READсоздайте новый запрос или сеанс и убедитесь, что обработка проходит за границу NS_E_DISK_READ , а не только возвращает другую ошибку более раннего этапа.
Данные, которые нужно сохранить до повтора
Запишите идентификатор Content Server и UID диска, версии управляющего блока и файловой системы, состояние перестроения или перераспределения полос, материал и читаемый блок, свободное место, состояние ввода-вывода и компонент, первым отметивший ресурс недоступным. Для NS_E_DISK_READсохраните результат Win32, сокета, хранилища, анализатора или подключаемого модуля, который появился непосредственно перед NS_E_DISK_READ; сервер может преобразовать эту более точную причину в сводный HRESULT ошибки чтения 0xC00D0017.
Интерпретация наблюдений
| Наблюдение | Значение |
|---|---|
Та же операция возвращает NS_E_DISK_READ при неизменном идентификаторе объекта | Повторное чтение того же объекта снова завершается на дисковой границе. Проверяйте источник данных, его идентификатор и доступность для службы, прежде чем менять остальные части потокового тракта. |
| Сначала регистрируется низкоуровневая ошибка | Для NS_E_DISK_READсчитайте более ранний результат файловой системы, диска или сокета исходным диагностическим кодом. NS_E_DISK_READ может только преобразовать его в пространство имён Windows Media. |
| Новый сеанс проходит эту проверку, но завершается ошибкой позже | Более поздний результат означает, что исходное условие NS_E_DISK_READ устранено. Диагностируйте новый код как отдельный этап конвейера. |
| Ошибка возникает только у другого клиента или материала | Для NS_E_DISK_READсопоставьте путь, метаданные материала, права учётной записи службы и размещение конкретного блока; ошибка одного материала или клиента не указывает на неисправность всех дисков сервера. |
Контрольный список проверки
- Зафиксируйте
0xC00D0017,NS_E_DISK_READ, точное действие API или администратора и время первого появления. - Сохраните идентификаторы сервера и диска, версии управляющих структур, материал и читаемый блок, состояние перестроения, свободное место, состояние ввода-вывода и первый низкоуровневый код чтения.
- Для
NS_E_DISK_READпроверьте, что диск подключён, выбранный материал относится к актуальному размещению, а дескриптор не устарел после перестроения, переподключения или перезапуска службы. - Для
NS_E_DISK_READвыполните одно контролируемое исправление: подтвердите чтение того же ресурса от имени учётной записи службы и сохраните первый результат файловой системы, диска либо сокета. - Повторите проверку
NS_E_DISK_READновым запросом чтения и убедитесь, что требуемые данные действительно получены и остаются доступны на следующем этапе обработки, а не только изменился HRESULT.
Карта данных для этого кода
| Аспект | Что проверить для этого результата |
|---|---|
| Объект | Для маркера disk-read кода NS_E_DISK_READзапишите серверный объект, с которого выполнялось чтение, и проверьте соответствие его идентификатора дескриптору клиента; это исключит обращение к другому экземпляру Content Server. |
| Состояние | Для маркера read-disk кода NS_E_DISK_READукажите состояние диска и размещения материала непосредственно перед чтением, а также ожидавшийся переход; особенно важно отличить обычную работу от перестроения или отключения участника. |
| Входные данные | Для маркера disk-read кода NS_E_DISK_READсохраните точный материал, блок, путь, смещение, поток либо индекс, который требовалось прочитать; эти данные позволяют воспроизвести обращение к той же области. |
| Ограничения | Для маркера read-disk кода NS_E_DISK_READзафиксируйте свободное место, число открытых файлов и сеансов, битрейт и пропускную способность; они показывают, не было ли чтение ограничено ресурсами сервера. |
| Нижний уровень | Для маркера disk-read кода NS_E_DISK_READсохраните первый код файловой системы, диска, сокета, анализатора или устройства перед HRESULT; он должен объяснить, почему данные не были получены. |
| Поколение | Для маркера read-disk кода NS_E_DISK_READпроверьте, не изменились ли поколение размещения, UID диска или серверный дескриптор после перестроения, переподключения либо перезапуска; старое обращение нельзя использовать для контрольного чтения. |
Диагностическая метка в нижнем регистре disk read служит только сокращением на этой странице; программным идентификатором остаётся NS_E_DISK_READ и HRESULT 0xC00D0017.
Технические ссылки
- Пакет SDK Windows Media Services 9 Series
- Значения HRESULT Windows Media Services
- Репликация сервера Windows Media
- Значения HRESULT Microsoft для пространства имён Windows Media
Критерием восстановления служит не только исчезновение NS_E_DISK_READ. Убедитесь, что тот же запрос чтения завершается успешно, а ожидаемый материал или объект доступен следующему этапу конвейера при проверке ошибки 0xC00D0017.
Нужно найти другой код? Найти другой код состояния или ошибки.
