Site icon EfmSoft

Что означает код HRESULT 0xC00D36BA (MF_E_UNSUPPORTED_SERVICE)?

 
Предыдущий Следующий
MF_E_NO_MORE_TYPES MF_E_UNEXPECTED

MF_E_UNSUPPORTED_SERVICE

Что означает MF_E_UNSUPPORTED_SERVICE

MF_E_UNSUPPORTED_SERVICE (0xC00D36BA) — объект не предоставляет службу, которую вызывающий код запросил через MFGetService или IMFGetService::GetService.

Поиск службы в Media Foundation отличается от обычного QueryInterface. В вызове участвуют два идентификатора: guidService выбирает саму службу, а riid — требуемый интерфейс этой службы. Возвращаемый интерфейс при этом не обязан принадлежать исходному объекту. Поэтому наличие нужного COM-интерфейса где-либо в системе ещё не означает, что конкретный объект публикует его как указанную службу.

Что проверить и как подтвердить исправление

Зафиксируйте исходный объект, точный guidService и riid. Сначала проверьте, документирована ли эта служба для данного типа объекта. Например, метаданные источника запрашиваются через специальный GUID службы; другой медиаисточник может такой службы вообще не предоставлять.

Не лечите MF_E_UNSUPPORTED_SERVICE переустановкой COM-компонента, пока не доказано, что служба должна существовать именно на этом объекте. Если функция необязательна, выбирайте предусмотренный альтернативный путь. Исправление подтверждается успешным MFGetService с тем же GUID службы и ожидаемым IID.

Документация для результата 0xC00D36BA: MFGetService · Service Interfaces · Metadata providers.


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

Exit mobile version