GUID和CLSID有多种格式?

时间:2016-05-04 17:20:44

标签: c++ com directshow guid clsid

我正在使用DirectShow中的MP4过滤器。我目前正在尝试创建一个IBaseFilter对象,但其中一个要求是CoCreateInstance的CLSID。

我对此ID的来源感到困惑。我可以从GraphEdit>获得它吗?插入过滤器?如果是这样,它给我的格式为{00000000-0000-0000-0000-000000000000}但是我见过的大多数例子都是

的格式
static const GUID CLSID_MPEG4Demux = { 0x025BE2E4, 0x1787, 0x4DA4, 0xA5, 0x85, 0xC5, 0xB2, 0xB9, 0xEE, 0xB5, 0x7C };

我需要转换器吗?

1 个答案:

答案 0 :(得分:4)

CLSID是已注册类的基本COM标识符。注册为公众可用的DirectShow过滤器都有其CLSID,由开发人员硬编码。如果您在MP4过滤器上的工作假设您是MP4过滤器的开发人员,那么您需要将自己的CLSID(由"Create GUID" (guidgen.exe)工具生成,由API etc生成)。如果要查找现有注册过滤器的CLSID,可以使用GraphEdit找到它,或者更确切地说GraphStudioNext浏览已注册的过滤器列表:

enter image description here