| Предыдущий | Следующий |
| NS_E_METADATA_INVALID_DOCUMENT_TYPE | NS_E_METADATA_CANNOT_RETRIEVE_FROM_OFFLINE_CACHE |
NS_E_METADATA_IDENTIFIER_NOT_AVAILABLE
Диагностика NS_E_METADATA_IDENTIFIER_NOT_AVAILABLE в конвейере Windows Media
Этот результат (0xC00D32DD) возвращается в отсутствует идентификатор содержимого, необходимый для сопоставления метаданных. Код определяет контрольную точку «недоступный идентификатор метаданных», поэтому диагностику следует начинать с объекта и операции, которым она принадлежит, а не с общего сброса Player.
Метаданные Windows Media могут относиться к файлу или потоку и поступать из заголовка ASF, вычисляемых attributes, online/cache provider или обработчика конкретного формата. Возможности чтения, редактирования, locale и query schema независимы друг от друга при диагностике условия «недоступный идентификатор метаданных». В случае этот результат, сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.
Где возникает сбой
К этому моменту компонент уже принял предыдущие предварительные условия, но не может пройти границу: отсутствует идентификатор содержимого, необходимый для сопоставления метаданных. Успешное открытие файла, разрешение имени узла или создание COM-объекта не доказывает допустимость этой последующей операции для состояния «отсутствует идентификатор содержимого, необходимый для сопоставления метаданных».
Наиболее показательная проверка — перечислить доступные attributes и identifiers того же file/stream до запроса отсутствующего item по точному key. Если после изменения только этого условия тот же вызов проходит дальше, данные подтверждают рассматриваемую границу для состояния «отсутствует идентификатор содержимого, необходимый для сопоставления метаданных». Если нет, вернитесь к первому вложенному результату, не расширяя исправление. Этот результат. Если этого не произошло, вернитесь к первой вложенной ошибке, а не расширяйте область исправлений при сборе данных о metadata identifier not available.
Данные об атрибуте, схеме и локали
| Зафиксируйте | Как это помогает выделить этот результат |
|---|---|
| Вызов-владелец | Зафиксируйте метод API, идентификатор объекта, thread или callback и временную метку этой контрольной точки. |
| Решающие значения | идентификатор файла или содержимого, metadata provider, номер потока, имя и тип атрибута, locale, возможности чтения и редактирования и первый результат metadata API |
| Поколение объекта | Отметьте время создания reader, writer, graph, URL object, streaming session или metadata provider; устаревшее состояние может повторно вызвать он после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний status codec, COM, socket, DNS, parser или provider до него; более поздние сообщения UI менее конкретны. |
| Случай для сравнения | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку, и изменяйте только отклонённое предварительное условие для состояния «отсутствует идентификатор содержимого, необходимый для сопоставления метаданных». |
Эксперимент с метаданными только для чтения
- Запишите
0xC00D32DD, он, точную операцию и время первого сбоя. - Сохраните идентификатор файла или содержимого, metadata provider, номер потока, имя и тип атрибута, locale, возможности чтения и редактирования и первый результат metadata API.
- Не используйте повторно graph, session, reader или metadata object, созданные до изменения соответствующей конфигурации или ресурса для состояния «отсутствует идентификатор содержимого, необходимый для сопоставления метаданных».
- Выполните один изолированный тест: перечислить доступные attributes и identifiers того же file/stream до запроса отсутствующего item по точному key при проверке «отсутствует идентификатор содержимого, необходимый для сопоставления метаданных».
- Повторите проверку через тот же API и protocol path; другой Player или локальная копия полезны только как сравнение и не доказывают исправление исходной границы при проверке «отсутствует идентификатор содержимого, необходимый для сопоставления метаданных».
- Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT как отдельный downstream result.
Интерпретация ответа поставщика
| Результат повторной проверки | Толкование для него |
|---|---|
| Тот же вызов по-прежнему возвращает этот код | Значения, определяющие контрольную точку «недоступный идентификатор метаданных», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта. |
| Новый объект работает успешно | На результат повлияли lifetime объекта или cached state он; исправьте пересоздание объекта вместо обходного решения на уровне всего компьютера. |
| Вызов доходит до другого HRESULT | Исходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии format, graph, URL, network или metadata для состояния «отсутствует идентификатор содержимого, необходимый для сопоставления метаданных». |
| Сбой возникает только для одного ресурса | Данные указывают на состояние конкретного content, URL, publishing point, stream, attribute или object, а не на общий outage при проверке «отсутствует идентификатор содержимого, необходимый для сопоставления метаданных». |
Близкие результаты не взаимозаменяемы
Основное различие: Недоступность identifier отличается от cache miss: последний означает только отсутствие автономной копии.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_METADATA_CACHE_DATA_NOT_AVAILABLE | Сравните ответственный API и первое отклонённое значение: соседний HRESULT относится к другой контрольной точке и не обязан иметь ту же причину, что он. |
NS_E_METADATA_INVALID_DOCUMENT_TYPE | Используйте состояние объекта и порядок операций, чтобы определить исходный код, если оба появляются в одной трассировке. |
NS_E_METADATA_CANNOT_RETRIEVE_FROM_OFFLINE_CACHE | Сохраните он отдельно, если он появляется только после устранения условия он. |
Действия, вводящие в заблуждение
- не удаляйте metadata cache или tags до сохранения provider, key атрибута, типа и locale, которые привели к результату.
- Не стирайте данные о первом появлении он многократными повторами; callbacks и reconnect могут заменить полезное исходное состояние более поздней ошибкой оболочки.
- Не публикуйте credentials, материалы protected content или полные private URL при проверке «отсутствует идентификатор содержимого, необходимый для сопоставления метаданных». Записывайте только обезличенные identifiers, lengths, hashes и необходимые protocol fields.
Технические ссылки
- Возможности метаданных Windows Media
- Получение атрибутов метаданных
- Задание атрибутов метаданных
- Объект редактора метаданных
- Реестр HRESULT Microsoft
Завершайте диагностику только после того, как исходная операция он успешно выполняется на актуальном объекте и наблюдается ожидаемое следующее состояние.
Нужно найти другой код? Найти другой код состояния или ошибки.