Site icon EfmSoft

Что означает код HRESULT 0xC00D32D7 (NS_E_METADATA_CANNOT_SET_LOCALE)?

 
Предыдущий Следующий
NS_E_METADATA_NO_EDITING_CAPABILITY NS_E_METADATA_LANGUAGE_NOT_SUPORTED

NS_E_METADATA_CANNOT_SET_LOCALE

NS_E_METADATA_CANNOT_SET_LOCALE: данные, граница и повторная проверка

Практический смысл этот результат (0xC00D32D7) состоит не «сбой мультимедиа», а provider не может назначить запрошенный locale элементу метаданных. Это помещает сбой на metadata check для metadata cannot set locale и ограничивает данные, которые нужно собрать до того, как следующая попытка изменит состояние.

Метаданные Windows Media могут относиться к файлу или потоку и поступать из заголовка ASF, вычисляемых attributes, online/cache provider или обработчика конкретного формата. Возможности чтения, редактирования, locale и query schema независимы друг от друга при диагностике условия «невозможность установить locale метаданных». В случае этот результат, сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.

Данные об атрибуте, схеме и локали

ЗафиксируйтеКак это помогает выделить этот результат
Вызов-владелецЗафиксируйте метод API, идентификатор объекта, поток или callback и временную метку для контрольной точки «невозможность установить locale метаданных».
Решающие значенияформат metadata, номер потока, имя атрибута, числовой locale, language tag, возможности provider и точный вызов преобразования или записи
Поколение объектаОтметьте, когда были созданы reader, writer, graph, URL object, streaming session или metadata provider; устаревшее состояние может воспроизвести этот результат после изменения конфигурации.
Первый вложенный результатСохраните самый ранний статус codec, COM, socket, DNS, parser или provider до него; более поздние сообщения интерфейса менее конкретны.
Случай для сравненияИспользуйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «невозможность установить locale метаданных», изменив только отклонённое предварительное условие.

Структура сбоя

Metadata check для metadata cannot set locale достигается, когда provider не может назначить запрошенный locale элементу metadata. Caller не должен считать, что после этого уже существует состояние следующего filter, packet, session или metadata он.

В качестве отрицательного контроля используйте language tag и locale, заведомо представимые данным format, затем изменяйте только спорное locale mapping. Более поздний HRESULT означает, что исходная контрольная точка пройдена, а новый результат относится к другой стадии диагностики metadata cannot set locale.

Близкие результаты не взаимозаменяемы

Основное различие: Metadata lookup, schema validation, locale и edit capability — независимые контрольные точки даже для одного attribute.

Близкий HRESULTКак его сравнивать
NS_E_METADATA_FORMAT_NOT_SUPPORTEDСравните ответственный API и первое отклонённое значение: этот HRESULT относится к соседней контрольной точке и не обязан иметь ту же причину, что он.
NS_E_METADATA_NO_EDITING_CAPABILITYИспользуйте состояние объекта и порядок операций, чтобы определить, какой код является исходным, если оба появляются в одной трассировке.
NS_E_METADATA_LANGUAGE_NOT_SUPORTEDСохраните он отдельно, если он появляется только после устранения условия он.

Эксперимент с метаданными только для чтения

  1. Запишите 0xC00D32D7, он, точную операцию и время первого сбоя.
  2. Сохраните формат metadata, номер потока, имя атрибута, числовой locale, language tag, возможности provider и точный вызов преобразования или записи.
  3. Не используйте повторно graph, session, reader или metadata object, созданные до изменения соответствующей конфигурации или ресурса для состояния «provider не может назначить запрошенный locale элементу метаданных».
  4. Выполните один изолированный тест: использовать представимые форматом language tag и locale, затем изменить только спорное сопоставление locale.
  5. Повторите проверку через тот же API и protocol path; другой Player или локальная копия полезны только для сравнения и сами по себе не доказывают исправление исходной границы для состояния «provider не может назначить запрошенный locale элементу метаданных».
  6. Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT, если он появился, как отдельный результат последующей стадии при проверке «provider не может назначить запрошенный locale элементу метаданных».

Интерпретация ответа поставщика

Результат повторной проверкиТолкование для него
Тот же вызов по-прежнему возвращает этот кодЗначения, определяющие контрольную точку «невозможность установить locale метаданных», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта.
Новый объект работает успешноНа результат повлияли lifetime объекта или cached state он; исправьте пересоздание объекта вместо применения обходного решения на уровне всего компьютера.
Вызов доходит до другого HRESULT для состояния «provider не может назначить запрошенный locale элементу метаданных»Исходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии format, graph, URL, network или metadata.
Сбой возникает только для одного ресурсаДанные указывают на состояние конкретного content, URL, publishing point, stream, attribute или object, а не на общий сбой системы.

Действия, вводящие в заблуждение

Технические ссылки

Считайте он считайте исправленным только когда тот же API path проходит эту контрольную точку; успех через другой Player или cached copy является лишь дополнительным подтверждением.


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

Exit mobile version