win7 graphedit调试(程序中filter是怎么连接的)
来源:互联网 发布:国家标准人体尺寸数据 编辑:程序博客网 时间:2024/04/29 12:44
在我们编程构建filter链路之前,我们怎么来证明构思中的filter链路是切实可行的呢?最常用的方法是,首先在graphedit中验证,然后再以graphedit中的filter链路为模型在程序中实现。
在DirectShow开发指南中提示:GraphEdit的这个功能仅在Windows2000或Windows XP上支持。那么在win7 系统下能用GraphEdit的辅助调试功能?
在程序中构建完filter链路后,有时候并不会马上能够正常运行。要是能够“直观地”看到在程序中filter是怎么连接的,问题就要好办 一点了。实际上,GraphEdit也提供了这样一种能够显示其它应用程序创建的FilterGraph的功能。
要实用GraphEdit的这个功能,在程序中创建了加入:
//////////////////////// For GraphEdit Dubug purpose /////////////////////////////void CDXGraph::AddToObjectTable(void){IMoniker * pMoniker = 0; IRunningObjectTable * objectTable = 0; if (SUCCEEDED(GetRunningObjectTable(0, &objectTable))) {WCHAR wsz[256];wsprintfW(wsz, L"FilterGraph %08p pid %08x", (DWORD_PTR)mGraph, GetCurrentProcessId());HRESULT hr = CreateItemMoniker(L"!", wsz, &pMoniker);if (SUCCEEDED(hr)) {hr = objectTable->Register(0, mGraph, pMoniker, &mObjectTableEntry);pMoniker->Release();}objectTable->Release();}}void CDXGraph::RemoveFromObjectTable(void){IRunningObjectTable * objectTable = 0; if (SUCCEEDED(GetRunningObjectTable(0, &objectTable))) { objectTable->Revoke(mObjectTableEntry); objectTable->Release();mObjectTableEntry = 0; }}
在DirectShow开发指南中提示:GraphEdit的这个功能仅在Windows2000或Windows XP上支持。那么在win7 系统下能用GraphEdit的辅助调试功能?
本人开发环境是:win7(64bit)+vs2010
开始发现并不能用GraphEdit的辅助调试功能,原因:
windows7将一部分功能从quartz.dll转移到了proppage.dll,所以需要以管理员身份在命令行窗口手动注册一下regsvr32 proppage.dll
win7 下配置Directshow 见http://blog.csdn.net/luckyboy101/article/details/7801173
proppage.dll 目录为C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
以管理员身份注册:regsvr32 C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
注册成功后,运行vs2010项目,然后打开GraphEdit->File->connet to remote graph...就可以显示filter的情况了
- win7 graphedit调试(程序中filter是怎么连接的)
- win7 graphedit调试(程序中filter是怎么连接的)
- 使用GraphEdit调试你的Filter
- win7 graphedit调试
- win7下graphedit无法连接remote graph的问题
- win7下GraphEdit无法查看filter graph
- 关于在GraphEdit中显示应用程序的Filter graph
- TS Source Filter + MPEG-2 Demultiplexer Filter进行简单的TS流解复用(之一:在GraphEdit中测试)
- GraphEdit点击[insert Filter]->[DeviceShow Filters] 程序崩溃或退出的彻底解决方案
- 通过xvid 源码 在graphedit 中获得注册好的xvid mpeg4 codec filter
- directshow filter注册后无法在graphedit中显示的问题
- 在调试DirectShow程序的时候,利GraphEdit查看自已程序中的Graph
- 调试DirectShow程序的时候,利GraphEdit查看自已程序中的Graph
- 调试DirectShow程序的时候,利GraphEdit查看自已程序中的Graph
- (转)程序是怎么在内存中存储的
- oracle连接“监听程序当前无法识别连接描述符中请求的服务”,你是怎么解决的。
- win7中远程桌面连接是窗口无法最大化的解决方法
- 保存Driectshow Filter Graph到GraphEdit文件(*.grf)
- 关于断点续传的读文件大小的问题
- Java内存溢出的分析和解决
- 哈希详解
- 查看window系统日志
- SQL Server服务器名称与默认实例名不一致的修复方法
- win7 graphedit调试(程序中filter是怎么连接的)
- iphone UI界面人性化设计体验
- WinForm 从XML中动态加载菜单的示例
- Linux中用命令清空回收站
- 支持向量机通俗导论(理解SVM的三层境界)
- google eatrh开发(二) 地标(marketPlace)
- sqlserver 2005 无日志附加
- 8月6日学习内容汇总
- 8个常用的字符串哈希函数