windows驱动程序开发初探

最近,由于需求推动,自己得开始学一下在windows下如何开发驱动程序。 虽然,后来由于其他的原因使得学习没继续下去,但是我还是把一些粗略的学习经历与体会写在这里,方便自己日后卷土重来,也方便其他的对windows开发一窍不通的有志之士参考一下。

(一)开发的目的 我为什么要学这些知识呢? 原因是想弄远程的硬件控制,用一个简单的例子来说明就是做个软件能使得:我用自己的机子播放音频文件的时候,可在别人的机子上发出声音。一开始的方案是把整个软件划分成3部分:控制端部分、网络部分、受控端部分。 在控制端部分,自己是希望能做成类似total recorder里面的虚拟声卡,播放软件把数据包发给驱动程序后,驱动程序不是把数据发向底层的硬件,而是将其转发到其他的机子上的受控部分,然后放出音乐。

(二)开发的历程

(1)学习的历程 要开发出这样的控制端部分,首先得弄清我能否弄成呢? 由于网上有很多关于total recorder的虚拟声卡的介绍,所以我认定技术上是可行的(至于是否够时间学习看了再想),

后来在: 驱动是否都要用DDK写 --http://www.china-askpro.com/msg39/qa63.shtml

打开”金笼子”VXD技术漫谈 ---http://www.chinaitpower.com/A/2004-11-14/159414.html

开发WDM型USB设备驱动程序 ---http://tech.sina.com.cn/s/2004-10-14/1034440545.shtml 等网页上开始了解到在windows下开发驱动程序的总体概况,并选定WDM技术作为实现手段。 后来,跑去图书馆借了那边一本叫《windows 2000/xp wdm设备驱动程序开发》的书看,不过越看越郁闷了,因为自己对于windows平台下的开发基本可以说是一窍不通的,看到好多东西都不明白的。 后来在同学介绍下,快速看了看大师Jeffrey Richter写的

《Programming Applications for Microsoft Windows》(windows核心编程),大概了解了基本的概念&一些符号究竟表示什么. 看完《Programming Applications for Microsoft Windows》后,又开始看《windows 2000/xp wdm设备驱动程序开发》(这里提一点个人意见:个人认为国内的那些写作者应该学一学国外作家的写作风格,在看这本《...wdm...开发》书时,很不喜欢里面的风格,因为里面讲技术的时候,基本是首先罗列了一大堆代码,结构体,函数解释等,之后也没按人们认识的习惯去组织文章,总是看到不明白的函数或什么的时候得翻前面的罗列。总之感觉就是“罗列”)在这书里,大概了解到用DriverWorks开发是用到的类和步骤(看到第五章),这时感觉到要继续用这方案,可能还涉及到很多东西,例如系统究竟要发什么样的irp包给声卡驱动程序,怎用这些数据。把数据直接传到受控端后,要把它们组织起来吗?如不组织,又如何根据这些irp包调用声卡呢? 而最重要的是,现在整个软件中我最想实验的是网络部分,另外还必须得赶时间完成这软件。所以最后还是决定,把这个虚拟声卡的驱动程序取消掉,日后再说了。

(2)。。。以后若继续就写啦 ———————————————————————————————————— 一下列出一些网上资源:

(1)MSDN上WDM开发文档--- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Intro_g/hh/Intro_g/legal_b698595e-ab17-44c3-bbb3-f795d7a147c7.xml.asp

(2)codeproject上很详细的介绍如何做一个驱动程序---http://www.codeproject.com/system/driverdev.asp

(3)一个在codeproject上获较高评价的源码--http://www.codeproject.com/system/WDM_Driver_development.asp

(4)国外的一个资源网,很多资源下载-- http://www.intelligentedu.com/newsletter46.html

另外一个是,在找相应的开发软件DDK(windows的Driver Develop Kit)网上很难找到: http://www.yanping.net/

还有声称支持VC++6的windowsSDK 2003在www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值