专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 多媒体/流媒体开发

filter的COM接口解决方法

发布时间:2011-06-27 19:29:30 文章来源:www.iduyao.cn 采编人员:星星草
filter的COM接口
我想问个问题啊
  我把一个sourcefilter编译了,程序不想注册
想通过COM形式,写个函数接口 ,直接通过dll调用sourcefilter,返回filter实例

我这样写对吗?C#调
C/C++ code
extern "C" CAsyncFilter* __declspec(dllexport) ReturnFilter(HRESULT *phr)           //105行
{                                                                                    //106行
CAsyncFilter *casync = new CAsyncFilter(NULL,phr);
return *casync;
} 


在加上这个之前,filter编译、graphedit运行时没有问题的
  可是加上之后
2>.\asyncflt.cpp(105) : error C2059: 语法错误 : “__declspec(dllexport)”
2>.\asyncflt.cpp(106) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
2>.\asyncflt.cpp(106) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)

------解决方案--------------------
不用注册COM可以调用,QQ,暴风都是没注册调用
使用LoadLibary加载,
GetProcAddress获取到DllGetClassObject地址,
之后得到IClassFactory然后调用CoCreateInstance创建对象,获取对应的接口指针
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: