- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文件系统驱动编程基础篇之 6——DirectShow
关键字:文件系统驱动编程,DirectShow
作者:wskjuf 更新:2008- 10-06 22:14:09 浏览:2466
文件系统驱动编程基础篇之六—— DirectShow
一、前略
本系列文章为业余编程爱好者而写,仅仅作为初学者的一个借鉴,真正的精华存在于参考资
料* 中。知识的积累将经历从薄到厚,再从厚到薄的反复过程,为了打下牢固的基础,请读
者务必在阅读本文的基础上花费必要的时间完成参考资料。参考资料* :
1. 《Programming Microsoft DirectShow for Digital Video and Television 》及其示例
代码
2. 《DirectShow for DirectX 8.1 SDK C++ 》
3. Microsoft Windows Software Development Kit Update for Windows Vista 之相关文
档及其示例代码
4. 《DirectShow 开发快速入门之慨述》
5. 《深入解析ATL (ATL Internals Second Edition ——Working with ATL 8 )》
6. 《COM 组件设计与应用(一)起源及复合文件》
(/document/viewdoc/?id=1483 )
阅读基础:少量的 COM 编程的基础知识,了解如何调用 COM 组件的方法,最好掌握哪怕一丁
点的 ATL 。
本章目的:了解 DirectX 组件架构,学习编写简单的 DirectShow 程序。
二、Dir ectX 与 DirectShow
首先看下面两段关于 DirectX 和 DirectShow 相关内容的摘要:
1
DirectX 的第一个版本作为 Windows Games SDK 发布于 1995 年 9 月,它作为 Windows API
的一部分用以替换 Windows 3.1 中的 DCI 和 WinGAPI 。ATI 的一个开发团队为微软带来了基
本的游戏影像技术,微软方面,DirectX 由专门的团队负责开发,Eisler 为团队领导,而
St. John 和 Engstrom 则成为主程序设计师。
2005 年 4 月,DirectShow 从 DirectX 移除,加入到 Microsoft Platform SDK 。
Windows 系统的架构下,我们不能如 Dos 般随心所欲的控制硬件,而希望游戏、影像开
发人员对内核的理解都达到驱动编程人员的水平,是一件苛求的事情,但是为此将失去广大
市场的关键问题必然要产生解决的办法,因此,DirectX 或其他不同名的相同技术的出现是
件必然的。
有些读者可能会对驱动编程的基础文章涉及 DirectX 的必要性有所疑问,确实,DirectX
并不是学习驱动编程的一个障碍,笔者在初次的学习中也从未意识过要了解这方面的内容。
但是换一个角度,如果你看到鸡窝里的五个鸡蛋,我们是不是很有理由猜测这是由五只母鸡
组成的五好家庭?因此我们可很牵强的认为DirectX 如同内核的外部据点,如果我们拔除了,
必然有更大的把握向内核发动总攻。
笔者把DirectX 加入本系列文章的另一个重要原因是—— DirectX 确实有值得炫耀的资本。
对于编程人员来说,它的 COM 接口简直可用“ 优雅”来评价,当你用着如苦瓜般的 IMarshal
接口时,不妨来看看什么样的接口值得这样的评价。我挑选了 DirectX 里一个很有意思的部
分—— DirecShow 来作为突破口,讲述如何“Direct”—— 直接的控制视频设备。
学习的进阶大略上可分为四个部分:学习调用组件、捕获和编辑影像、学习编写过滤器、
掌握媒体格式的高阶部分。限于能力,只介绍前两个部分。读者不要满足于学会使用
DirctShow ,而是通过 DirctShow 的具体功能猜测系统驱动的功能,甚至设备的构成,减轻
将来主攻驱动时的负担,此即由外而内的学习方法。
笔者将掠人之美,使用参考资料 1 提供的示例阐明编程的基本思路。
原创力文档


文档评论(0)