关于windows下驱动程序开发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于windows下驱动程序开发相关的知识,希望对你有一定的参考价值。

最近想学习一下驱动程序的开发,现有的基础是,能够较为熟练地掌握win32汇编,vc,对操作系统的理解限于大学教程内容。我查了一些资料,我手头有一点汇编编写VxD的资料,但是资料上说这只适合于win9x,我不明白适合win9x是否适合windows xp 呢,也就是说在windows xp 下是否可以用VxD编程呢。window NT和windows xp 分别是采用什么方式编写驱动的呢?还有有的资料上说VC+DDK编程,DDK是怎么回事呢,和VxD是两种完全不同的编写方式吗?请高手指教。

其实在WINDOWS XP下还是可以使用VXD驱动的,只是那是微软为了向下兼容以前的操作系统而已,在NT下的驱动最好的WDM驱动。WDM是微软推出的驱动模型,支持Windows 98、Windows 2000、Windows XP等,现在学驱动编程最好是学WDM编程,因为VXD过时了,编写驱动最不可少的东西就是DDK,即驱动开发包,是微软推出的,在此基础上你可以使用VC++来提供驱动开发的集成环境,还可以使用DriverStudio来实现驱动的面向对象编程,DDK是C语言的,这几个工具的安装顺序为:DDK -- VC++ -- DriverStudio。 参考技术A VxD(虚拟设备驱动程序)是windows9x下的驱动程序形式,
windows2000、xp、2003下的驱动程序形式是WDM(windows驱动程序模型),
XP不支持VxD驱动程序,
NT驱动程序和WDM类似,但是那时还没有PnP,WMI等功能,
DDK是微软驱动程序开发包,里面有大量定义,写驱动必须要用,
要想省点事,就像楼上所说再找个DriverStudio,
VC对于写驱动来说只是提供C语言编译器,理论上完全可以用其它编译型语言写驱动程序,
WDM驱动程序基本是C语言形式的,VxD驱动程序后期多用C语言编写,早期(win3.x时代)多用汇编语言编写,
DDK目前可以从微软网站下载,MSDN专业版以上的光盘中也带有DDK
参考技术B DDK是Device Development Kit,设备开发包的意思。一般指windows设备驱动程序开发包。如果你想开发一个设备驱动程序,如显卡驱动程序,就必须使用DDK。
得到DDK需要二级订阅MSDN光盘,但是微软公司也经常不定期开放DDK的网络下载。
参考技术C vb更好 参考技术D 现在都用VB.NET了,即简单又好用!~ 第5个回答  2007-07-31 我也想学啊

关于Kinect音频开发的探究

1.笔者在《Kinect体感程序设计入门》(王森著)的这本书中看到可以使用powershell和COM对象无缝整合,轻松的使用windows系统自带的语音合成功能。

步骤:•打开进入powershell

        •进入后在当前光标下输入如下指令:$voice = New-Object -com SAPI.SpVoice   回车,如果系统没有反馈什么错误信息就说明可以了,接下来可以

        输入这样的指令$voice.Speak("hello world")   系统会以语音的形式将你要播放的文字speak出来。第一条指令的作用是为powershell创建COM对象的

        指令,产生后将COM对象存放在$voice变量中,接着就可以利用该实例对象的speak()方法来让系统播放我们要听的声音。

  技术分享

以上是关于关于windows下驱动程序开发的主要内容,如果未能解决你的问题,请参考以下文章

关于netbeans和java桌面程序开发

关于windows下C++程序移植到linux下的一些头文件对应问题

[0011] windows 下 eclipse 开发 hdfs程序样例

关于Kinect音频开发的探究

在 Windows 和 Linux 下开发的 C++ 程序的区别

[0010] windows 下 eclipse 开发 hdfs程序样例