如果我在 IMFTransform 上有指针,如何获取 GUID 编码器?

How to get GUID encoder, if i have a pointer on IMFTransform?

我有一个关于 IMFTransform *pEncoder 的指针。如果 IMFTransform::GetAttributes return E_NOTIMPL?

如何从这个指针获取 GUID 编码器

Media Foundation 转换不必公开其 CLSID,甚至根本不需要。它们甚至不必通过 CoCreateInstance 实例化。更重要的是,对于标准编码器,Media Foundation 建议使用枚举和激活对象,而不是直接从 CLSID 实例化。

如果您有编码器 MFT 的接口指针,最好的办法是检查属性并查询众所周知的 IPersistXxx 接口之一 - 有机会但不能保证您可以捕获一个 CLSID。