| Предыдущий | Следующий |
| NS_E_TABLE_KEY_NOT_FOUND | NS_E_INVALID_QUERY_PROPERTY |
NS_E_INVALID_QUERY_OPERATOR
NS_E_INVALID_QUERY_OPERATOR в трассировке формата, графа или потоковой передачи
для него (0xC00D32CF) решающей границей является запрос метаданных использует оператор, не поддерживаемый схемой. Диагностируйте metadata check для invalid query operator непосредственно и не делайте вывод о причине только по видимому симптому playback.
Метаданные Windows Media могут относиться к файлу или потоку и поступать из заголовка ASF, вычисляемых attributes, online/cache provider или обработчика конкретного формата при проверке «запрос метаданных использует оператор, не поддерживаемый схемой». Возможности чтения, редактирования, locale и query schema независимы друг от друга при диагностике условия «недопустимый оператор запроса метаданных». В случае этот результат, сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.
Близкие результаты не взаимозаменяемы
Основное различие: Ошибка query contract относится к key, property или operator, а не к media file в целом.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_PROPERTY_READ_ONLY | Сравните ответственный API и первое отклонённое значение: этот HRESULT относится к соседней контрольной точке и не обязан иметь ту же причину, что этот результат. |
NS_E_TABLE_KEY_NOT_FOUND | Используйте состояние объекта и порядок операций, чтобы определить, какой код является исходным, если оба появляются в одной трассировке. |
NS_E_INVALID_QUERY_PROPERTY | Сохраните этот результат отдельно, если он появляется только после устранения условия этот результат. |
Структура сбоя
Metadata check для invalid query operator достигается, когда запрос метаданных использует operator, не поддерживаемый schema. Caller не должен считать, что после этого уже существует состояние следующего filter, packet, session или metadata он.
В качестве отрицательного контроля перечислите schema provider, выполните минимальный допустимый query и добавляйте спорный key, property или operator только после его успеха. Более поздний HRESULT означает, что исходная контрольная точка пройдена, а новый результат относится к другой стадии диагностики invalid query operator.
Эксперимент с метаданными только для чтения
- Запишите
0xC00D32CF, он, точную операцию и время первого сбоя. - Сохраните идентификаторы provider и schema, имя table или class, свойство запроса, оператор, тип ключа, входное значение и диагностический результат provider до этого HRESULT для состояния «запрос метаданных использует оператор, не поддерживаемый схемой».
- Не используйте повторно graph, session, reader или metadata object, созданные до изменения соответствующей конфигурации или ресурса.
- Выполните один изолированный тест: перечислить schema provider, выполнить минимальный корректный query и добавлять спорные key, property или operator только после его успеха для состояния «запрос метаданных использует оператор, не поддерживаемый схемой».
- Повторите проверку через тот же API и protocol path; другой Player или локальная копия полезны только для сравнения и сами по себе не доказывают исправление исходной границы при проверке «запрос метаданных использует оператор, не поддерживаемый схемой».
- Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT, если он появился, как отдельный результат последующей стадии.
Данные об атрибуте, схеме и локали
| Зафиксируйте | Как это помогает выделить он |
|---|---|
| Вызов-владелец | Зафиксируйте метод API, идентификатор объекта, поток или callback и временную метку для контрольной точки «недопустимый оператор запроса метаданных». |
| Решающие значения | идентификаторы provider и schema, имя table или class, свойство запроса, оператор, тип ключа, входное значение и диагностический результат provider до этого HRESULT |
| Поколение объекта | Отметьте, когда были созданы reader, writer, graph, URL object, streaming session или metadata provider; устаревшее состояние может воспроизвести он после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний статус codec, COM, socket, DNS, parser или provider до него; более поздние сообщения интерфейса менее конкретны. |
| Случай для сравнения | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «недопустимый оператор запроса метаданных», изменив только отклонённое предварительное условие. |
Интерпретация ответа поставщика
| Результат повторной проверки | Толкование для него |
|---|---|
| Тот же вызов по-прежнему возвращает этот код | Значения, определяющие контрольную точку «недопустимый оператор запроса метаданных», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта. |
| Новый объект работает успешно | На результат повлияли lifetime объекта или cached state он; исправьте пересоздание объекта вместо применения обходного решения на уровне всего компьютера. |
| Вызов доходит до другого HRESULT | Исходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии format, graph, URL, network или metadata. |
| Сбой возникает только для одного ресурса | Данные указывают на состояние конкретного content, URL, publishing point, stream, attribute или object, а не на общий сбой системы. |
Действия, вводящие в заблуждение
- не удаляйте metadata cache или tags до сохранения provider, key атрибута, типа и locale, которые привели к результату при проверке «запрос метаданных использует оператор, не поддерживаемый схемой».
- Не стирайте данные о первом появлении он многократными повторами; callbacks и reconnect могут заменить полезное исходное состояние более поздней ошибкой оболочки.
- Не публикуйте учётные данные, материалы защищённого содержимого или полные закрытые URL для состояния «запрос метаданных использует оператор, не поддерживаемый схемой». Записывайте обезличенные identifiers, lengths, hashes и поля protocol, необходимые для воспроизведения этой контрольной точки.
Технические ссылки
- Возможности метаданных Windows Media
- Получение атрибутов метаданных
- Задание атрибутов метаданных
- Объект редактора метаданных
- Реестр HRESULT Microsoft
Считайте он считайте исправленным только когда тот же API path проходит эту контрольную точку; успех через другой Player или cached copy является лишь дополнительным подтверждением.
Нужно найти другой код? Найти другой код состояния или ошибки.
