我正在DirectShow中开发一个DirectShow过滤器。我正在尝试创建一个IBaseFilter对象,但其中一个要求是CoCreateInstance的CLSID。
我不知道这个身份证是从哪里来的。我可以从GraphEdit > Insert过滤器获得它吗?如果是这样的话,它给出了{00000000-0000-0000-0000-000000000000}的格式,但是我看到的大多数示例都是以
static const GUID CLSID_MPEG4Demux = { 0x025BE2E4, 0x1787, 0x4DA4, 0xA5, 0x85, 0xC5, 0xB2, 0xB9, 0xEE, 0xB5, 0x7C };我需要一个转换器吗?
发布于 2016-05-04 17:28:55
CLSID是注册类的基本COM标识符。注册为可供公众使用的DirectShow过滤器都有它们的CLSID,由它们的开发人员硬编码。如果您在MP4过滤器上的工作假设您是MP4过滤器的开发人员,那么您需要将自己的CLSID放入其中(通过“创建GUID”(guidgen.exe)工具生成,通过API 等生成)。如果要查找现有已注册筛选器的CLSID,可以使用GraphEdit查找它,或者使用GraphStudioNext浏览注册筛选器列表:

https://stackoverflow.com/questions/37034204
复制相似问题