Что означает код HRESULT 0xC00D32D2 (NS_E_PROPERTY_NOT_SUPPORTED)?

 
Предыдущий Следующий
NS_E_INVALID_QUERY_PROPERTY NS_E_SCHEMA_CLASSIFY_FAILURE

NS_E_PROPERTY_NOT_SUPPORTED

Исследование NS_E_PROPERTY_NOT_SUPPORTED не теряя первый сбой

Этот результат (0xC00D32D2) обозначает поставщик распознаёт контекст запроса, но не реализует это свойство. Код относится к проверке метаданных «свойство не поддерживается», поэтому более позднюю сетевую, кодековую или метаданную ошибку нужно записывать отдельно, не заменяя ею исходный результат.

Метаданные Windows Media могут относиться к файлу или потоку и поступать из заголовка ASF, вычисляемых атрибутов, онлайн-поставщика, кэша или обработчика конкретного формата. Возможности чтения, редактирования, локаль и схемы запросов независимы друг от друга при диагностике условия «неподдерживаемое свойство метаданных». В случае этот результат сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.

Где возникает сбой

К этому моменту компонент уже принял предыдущие предварительные условия, но не может пройти границу: поставщик распознаёт контекст запроса, но не реализует это свойство. Успешное открытие файла, разрешение имени узла или создание COM-объекта не доказывает допустимость этой последующей операции.

Наиболее показательная проверка — перечислить возможности поставщика метаданных и повторить операцию с одним заведомо поддерживаемым атрибутом, прежде чем проверять спорное свойство. Если после единственного изменения тот же вызов проходит дальше, это подтверждает границу этот результат. Если нет, вернитесь к первой вложенной ошибке и не расширяйте область исправления.

Как интерпретировать ответ поставщика

Результат повторной проверкиТолкование для него
Тот же вызов по-прежнему возвращает кодЗначения, определяющие контрольную точку «неподдерживаемое свойство метаданных», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта.
Новый объект работает успешноВремя жизни или кэшированное состояние способствовало появлению этот результат; исправьте пересоздание объекта вместо применения обходного решения на уровне всего компьютера.
Вызов доходит до другого HRESULTИсходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии формата, графа, URL, сети или метаданных.
Сбой возникает только для одного ресурсаДанные указывают на состояние конкретного содержимого, URL, точки публикации, потока, атрибута или объекта, а не на общий сбой системы.

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

ЗафиксируйтеКак это помогает выделить он
Ответственный вызовЗафиксируйте метод API, идентификатор объекта, поток или обратный вызов и временную метку для контрольной точки «неподдерживаемое свойство метаданных».
Решающие значенияидентификатор файла или содержимого, поставщик метаданных, номер потока, имя и тип атрибута, локаль, возможности чтения и редактирования, а также первый результат API метаданных
Поколение объектаОтметьте время создания объекта чтения, объекта записи, графа, URL-объекта, сеанса потоковой передачи или поставщика метаданных; устаревшее состояние может повторно вызвать он после изменения конфигурации.
Первый вложенный результатСохраните самый ранний статус кодека, COM, сокета, DNS, анализатора или поставщика до него; более поздние сообщения интерфейса менее конкретны.
Случай для сравненияИспользуйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «неподдерживаемое свойство метаданных», изменив только отклонённое предварительное условие.

Контролируемый эксперимент с метаданными

  1. Запишите 0xC00D32D2, он, точную операцию и время первого сбоя.
  2. Сохраните следующие данные: идентификатор файла или содержимого, поставщик метаданных, номер потока, имя и тип атрибута, локаль, возможности чтения и редактирования, а также первый результат API метаданных.
  3. Не используйте повторно граф, сеанс, объект чтения или объект метаданных, созданные до изменения соответствующей конфигурации или ресурса для состояния «поставщик распознаёт контекст запроса, но не реализует это свойство».
  4. Выполните один изолированный тест: изменить только спорное предварительное условие и повторить тот же вызов для состояния «поставщик распознаёт контекст запроса, но не реализует это свойство».
  5. Повторите проверку через тот же API и протокольный тракт; другой Player или локальная копия полезны только для сравнения и сами по себе не доказывают исправление исходной границы.
  6. Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT, если он появился, как отдельный результат последующей стадии для состояния «поставщик распознаёт контекст запроса, но не реализует это свойство».

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

Главное различие: «не поддерживается» означает отсутствие нужной возможности у поставщика, тогда как «не найдено» означает отсутствие значения в поддерживаемом пространстве ключей.

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

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

  • не удаляйте кэш метаданных или теги до сохранения поставщика, ключа атрибута, типа и локали, которые привели к результату при проверке «поставщик распознаёт контекст запроса, но не реализует это свойство».
  • Не стирайте данные о первом появлении он многократными повторами; обратные вызовы и повторное подключение могут заменить полезное исходное состояние более поздней ошибкой интерфейса.
  • Не публикуйте учётные данные, материалы защищённого содержимого или полные закрытые URL при проверке «поставщик распознаёт контекст запроса, но не реализует это свойство». Записывайте обезличенные идентификаторы, длины, хэши и поля протокола, необходимые для воспроизведения этой контрольной точки.

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

Закрывайте инцидент только после того, как исходная операция с ним успешно выполняется на актуальном объекте и наблюдается ожидаемое следующее состояние.


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