| Предыдущий | Следующий |
| NS_E_USE_FILE_SOURCE | NS_E_PROPERTY_READ_ONLY |
NS_E_PROPERTY_NOT_FOUND
Диагностика NS_E_PROPERTY_NOT_FOUND в конвейере Windows Media
Этот результат (0xC00D32CA) возвращается, когда запрошенное свойство отсутствует в выбранном объекте метаданных. Код определяет контрольную точку «отсутствующее свойство метаданных», поэтому диагностику следует начинать с объекта и операции, которым она принадлежит, а не с общего сброса Player.
Метаданные Windows Media могут относиться к файлу или потоку и поступать из заголовка ASF, вычисляемых атрибутов, онлайн-поставщика, кэша или обработчика конкретного формата при проверке «запрошенное свойство отсутствует в выбранном объекте метаданных». Возможности чтения, редактирования, локаль и схемы запросов независимы друг от друга при диагностике условия «отсутствующее свойство метаданных». В случае этот результат сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.
Где возникает сбой
К этому моменту компонент уже принял предыдущие предварительные условия, но не может пройти границу: запрошенное свойство отсутствует в выбранном объекте метаданных. Успешное открытие файла, разрешение имени узла или создание COM-объекта не доказывает допустимость этой последующей операции.
Наиболее показательная проверка — перечислить доступные атрибуты и идентификаторы для того же файла и потока, а затем запросить отсутствующее свойство по его точному ключу. Если после единственного изменения тот же вызов проходит дальше, это подтверждает границу этот результат. Если нет, вернитесь к первой вложенной ошибке и не расширяйте область исправления.
Данные об атрибуте, схеме и локали
| Зафиксируйте | Как это помогает выделить этот результат |
|---|---|
| Ответственный вызов | Зафиксируйте метод API, идентификатор объекта, поток или обратный вызов и временную метку для контрольной точки «отсутствующее свойство метаданных». |
| Решающие значения | идентификатор файла или содержимого, поставщик метаданных, номер потока, имя и тип атрибута, локаль, возможности чтения и редактирования, а также первый результат API метаданных |
| Поколение объекта | Отметьте время создания объекта чтения, объекта записи, графа, URL-объекта, сеанса потоковой передачи или поставщика метаданных; устаревшее состояние может повторно вызвать он после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний статус кодека, COM, сокета, DNS, анализатора или поставщика до него; более поздние сообщения интерфейса менее конкретны. |
| Случай для сравнения | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «отсутствующее свойство метаданных», изменив только отклонённое предварительное условие. |
Контролируемый эксперимент с метаданными
- Запишите
0xC00D32CA, он, точную операцию и время первого сбоя. - Сохраните следующие данные: идентификатор файла или содержимого, поставщик метаданных, номер потока, имя и тип атрибута, локаль, возможности чтения и редактирования, а также первый результат API метаданных.
- Не используйте повторно граф, сеанс, объект чтения или объект метаданных, созданные до изменения соответствующей конфигурации или ресурса.
- Выполните один изолированный тест: изменить только спорное предварительное условие и повторить тот же вызов.
- Повторите проверку через тот же API и протокольный тракт; другой Player или локальная копия полезны только для сравнения и сами по себе не доказывают исправление исходной границы.
- Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT, если он появился, как отдельный результат последующей стадии.
Как интерпретировать ответ поставщика
| Результат повторной проверки | Толкование для него |
|---|---|
| Тот же вызов по-прежнему возвращает код | Значения, определяющие контрольную точку «отсутствующее свойство метаданных», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта. |
| Новый объект работает успешно | Время жизни или кэшированное состояние способствовало появлению он; исправьте пересоздание объекта вместо применения обходного решения на уровне всего компьютера. |
| Вызов доходит до другого HRESULT | Исходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии формата, графа, URL, сети или метаданных. |
| Сбой возникает только для одного ресурса | Данные указывают на состояние конкретного содержимого, URL, точки публикации, потока, атрибута или объекта, а не на общий сбой системы. |
Близкие результаты не взаимозаменяемы
Главное различие: «не найдено» означает отсутствие ключа, а «не поддерживается» — отсутствие реализации этого свойства у поставщика. Эти случаи требуют разных проверок.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_END_OF_PLAYLIST | Сравните ответственный API и первое отклонённое значение: это соседняя контрольная точка, а не автоматически та же причина, что и у он. |
NS_E_USE_FILE_SOURCE | Используйте состояние объекта и порядок операций, чтобы определить, какой код является исходным, если оба появляются в одной трассировке. |
NS_E_PROPERTY_READ_ONLY | Сохраните он отдельно, если он появляется только после устранения условия он. |
Действия, вводящие в заблуждение
- не удаляйте кэш метаданных или теги до сохранения поставщика, ключа атрибута, типа и локали, которые привели к результату для состояния «запрошенное свойство отсутствует в выбранном объекте метаданных».
- Не стирайте данные о первом появлении он многократными повторами; обратные вызовы и повторное подключение могут заменить полезное исходное состояние более поздней ошибкой интерфейса.
- Не публикуйте учётные данные, материалы защищённого содержимого или полные закрытые URL. Записывайте обезличенные идентификаторы, длины, хэши и поля протокола, необходимые для воспроизведения этой контрольной точки для состояния «запрошенное свойство отсутствует в выбранном объекте метаданных».
Технические ссылки
- Возможности метаданных Windows Media
- Получение атрибутов метаданных
- Задание атрибутов метаданных
- Объект редактора метаданных
- Реестр HRESULT Microsoft
Закрывайте инцидент только после того, как исходная операция с ним успешно выполняется на актуальном объекте и наблюдается ожидаемое следующее состояние.
Нужно найти другой код? Найти другой код состояния или ошибки.