社区
多媒体/流媒体开发
帖子详情
请教:Filter注册问题
jx_401
2006-06-22 03:57:54
如果我自己写了一个Filter,定义了CLSID,并且已经注册了
那么我在另写一个程序,调用这个Filter,为什么用CoCreateInstance函数进行调用前面已经定义好的CLSID,为什么系统提示CLSID未被定义呢?
请高人指教如何使用自己写的Filter。
...全文
491
15
打赏
收藏
请教:Filter注册问题
如果我自己写了一个Filter,定义了CLSID,并且已经注册了 那么我在另写一个程序,调用这个Filter,为什么用CoCreateInstance函数进行调用前面已经定义好的CLSID,为什么系统提示CLSID未被定义呢? 请高人指教如何使用自己写的Filter。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bitgold
2006-06-28
打赏
举报
回复
虽然结贴了,但还是说一句呵呵
用DEFINE也可以的,加下底下这一句就能LINK过
#include "INITGUID.H"
LY_401
2006-06-28
打赏
举报
回复
问题解决了,感谢vanalan(追忆似水年华)
原来在新的程序里引用CLSID,要用static const而不是define,晕~~
揭帖给分
vanalan
2006-06-26
打赏
举报
回复
把Sample Grabber Example的路径include到你的工程档看看吧
这个问题我还每遇到过
jx_401
2006-06-24
打赏
举报
回复
可能是我说的不太清楚吧,比如说现在我要使用DirectX 9.0自带的Filter:Sample Grabber Example,由于这个Filter是写在DXSDK\sample\C++\DirectShow\Filter 目录下的,而且他没有注册,我现在把它注册了,然后我想调用它,那么,我把它的头文件拷贝到我的程序Capture的目录下,然后再#include这个.h文件,那么是不是理论上就可以用CoCreateInstance函数来创建这个Filter,并用QuaeryInterface把它加到Filter Graph里,对吧?
可是现在我的出现的问题是:编译器VC6.0 报了如下的错误:(我用的是DXSDK9.0C)
error LNK2001: unresolved external symbol _CLSID_GrabberSample
fatal error LNK1120: 1 unresolved externals
不明白!!!!!
感谢vanalan(追忆似水年华)的关注,非常感谢!!!!
jx_401
2006-06-23
打赏
举报
回复
对源程序生成的.ax文件还要处理马??
jx_401
2006-06-23
打赏
举报
回复
to: vanalan(追忆似水年华)
我把源程序的.h文件拷贝到新程序的目录下,并在程序中Inlude
可是运行时出现如下错误:
error LNK2001: unresolved external symbol _CLSID_GrabberSample
fatal error LNK1120: 1 unresolved externals
CLSID_GrabberSample是我定义的CLSID,
请问老哥该如何解决?麻烦了!!!
vanalan
2006-06-23
打赏
举报
回复
copy过来也可以
不许要重新定义新的CLSID
jx_401
2006-06-23
打赏
举报
回复
是不是把原来定义的GUID拷贝过来就行呢,还是需要重新定义?
vanalan
2006-06-23
打赏
举报
回复
如果你在A.h中定义了CLSID
那么在你的应用程序中需要 include <a.h>
hamimelon
2006-06-23
打赏
举报
回复
新程序里需要重新定义CLSID !!!!!!!!!!!!!!!!!!!!!!
vanalan
2006-06-23
打赏
举报
回复
把相关代码和报错信息发上来看看吧
jx_401
2006-06-23
打赏
举报
回复
.ax文件可以用regsvr32注册
在graph edit中可以看到这个Filter,用graph edit测试没有问题。
而且我现在也是用你说的办法来创建filter,可就是报错
真是郁闷。
继续研究ing
vanalan
2006-06-23
打赏
举报
回复
...
按道理不应该报这种错误
说得详细点
一般的方法是这样
比如我写了一个filter,source code有mp3.h and mp3.cpp。
我在mp3.h中定义了CLSID,比如
// {A40B331F-CA01-4833-8AE4-6C747DC5D813}
DEFINE_GUID(CLSID_Mp3Dec,
0xa40b331f, 0xca01, 0x4833, 0x8a, 0xe4, 0x6c, 0x74, 0x7d, 0xc5, 0xd8, 0x13);
这里注意,CLSID不能从别的地方抄过来,自己生成。
然后build除了一个mp3.ax 或者mp3.dll这个无所谓。
这个时候使用regsvr32 注册这个ax或者dll
然后我又写了个播放器,需要用到mp3.ax。
我会在代码中include mp3.h的
然后使用CoCreateInstance来使用我的filter
这样应该是没有问题的
常见的问题是:
1。没有include .h
那么编译器报错error C2065: 'CLSID_Mp3Dec' : undeclared identifier
2。filter没有注册
编译器不会报错
但是你在运行的时候的HRESULT返回值会是0x80040154 Class not registered
目前我遇到过的情况只有这两种
希望能对你有所帮助
vanalan
2006-06-23
打赏
举报
回复
.ax文件只需要适用regsvr32注册就可以了
jx_401
2006-06-22
打赏
举报
回复
难道在新程序里还需要重新定义CLSID吗?
为什么系统自带的Filter可以用CoCreateInstance创建呢?
asp.net知识库
Tool Tip 示例(
FILTER
版) Tool Tip示例 (htc版) 一个.net发送HTTP数据实体的类 按键跳转以及按Enter以不同参数提交,及其他感应事件 动态控制Page页的Head信息 SubmitOncePage:解决刷新页面造成的数据重复提交...
学习写DSHOW 框架下的
FILTER
之一
时间:8:30 2011-1-4 8:30 --- 9:00 总结与计划 学习怎么样来编写
FILTER
. 要从全局的角度思考,以业务流程为具体的执行纲要. [ DSHOW与FILETR 之间的关系] 时间:9:44 -- 10:30在WINDOWS平台上,其在进行多媒体处理的...
.NET Web API之
filter
Action
Filter
Attribute 过滤器使用
1)
问题
一
filter
触发不了 写了一个
filter
的例子,继承action
filter
attribute,死活触发不了!呵呵,搞了半天后来才搞明白,
filter
继承了mvc4的。 原来webapi 在system.web.http命名空间下,mvc在...
特殊情况(ActionForm,Servlet,
Filter
, Listener)下 Spring如何注入对象
filter
;listener ;spring ;注入 ;对象 ;ajax ;用户名 ;存在 特殊情况(ActionForm,Servlet,
Filter
, Listener)下Spring如何注入对象 学Spring一段时间,理解了一些Spring的注入对象的原...
Java代码结合Discuz的UCenter做登陆
注册
关于Discuz与它的UCenter我就不做介绍了,网上一搜一大把。 目前公司做了个项目,其中论坛模块用的就是Discuz,然后给我分配了...于是,就各种找,找了好多好多,都没个具体的,然后自己通过网上找的,以及
请教
公司...
多媒体/流媒体开发
2,543
社区成员
20,281
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章