驱动开发相关问题。DDK是什么?VxD是什么?WDM是什么?做出来的“驱动”是什么文件格式,可以运行吗?用什么工具进行开发?用什么语言?

system110   2008-2-4 19:10 楼主

它是用什么语言开发的?
开发它的工具是什么?
VxD与WDM分别指什么驱动。
驱动在所有系统下执行都是一样吗?
它的文件格式是什么?
它能运行吗?
所有系统都支持这开发出来的驱动吗?
驱动的主要功能是什么?
它们是面向什么对象来服务的?系统?硬件?软件?
它们用在硬件的什么地方?
它们用在系统的什么地方?
它们用在软件的什么地方?

回复评论 (12)

这么多问题啊,简单答一下吧。
DDK——Device Driver Kit,设备驱动程序开发包。
WDK——Windows Driver Kit,Windows驱动程序开发包,就是DDK升级改名了。
VxD——Virtual Device Driver,虚拟设备驱动程序,9X中的一种驱动程序。
WDM——Windows Driver Model,Windows驱动程序模型,98以上版本的一种驱动程序。
驱动程序的文件格式都是PE格式。
一般用VC和MASM编写驱动程序。
开发工具是WDK(DDK)。
驱动程序与操作系统有关,有些相近的系统有可能可以运行同一驱动程序,与驱动程序中使用的系统功能有关。
驱动程序可以是针对某一特定硬件的,为系统提供管理硬件的各种功能;也可以是针对系统设备的,对系统的输入输出做一些处理,实现特定的功能。
点赞  2008-2-4 19:52
DDK——Device   Driver   Kit,设备驱动程序开发包。 ::这个包包在那得索得?

WDK——Windows   Driver   Kit,Windows驱动程序开发包,就是DDK升级改名了。 ::Window驱动程序开发包?是一个工具还是什么?

VxD——Virtual   Device   Driver,虚拟设备驱动程序,9X中的一种驱动程序。::开发出来的驱动9x才能用?

WDM——Windows   Driver   Model,Windows驱动程序模型,98以上版本的一种驱动程序。 ::Vista/2003/2000/XP都是用WDM模型驱动吗?

驱动程序的文件格式都是PE格式。 ::具体文件名是什么?sys?DLL?EXE?

一般用VC和MASM编写驱动程序。 ::VC可以用来开发吗?用C/C++语言开发?

开发工具是WDK(DDK)。 ::这个工具是怎么回事?不是VC可以开发吗?

驱动程序与操作系统有关,有些相近的系统有可能可以运行同一驱动程序,与驱动程序中使用的系统功能有关。::系统功能是指那些,能否再回答一下。

驱动程序可以是针对某一特定硬件的,为系统提供管理硬件的各种功能;也可以是针对系统设备的,对系统的输入输出做一些处理,实现特定的功能。::主要是硬件的?
点赞  2008-2-4 20:25
>>>它是用什么语言开发的?
C和汇编

>>>开发它的工具是什么?
   很多,(1)driver studio + ddk
        (2)vc + masm + ddk

>>>VxD与WDM分别指什么驱动?
   见1楼

>>>驱动在所有系统下执行都是一样吗?
   不一样,在每个系统下都有自己的驱动模型(有的系统可能一样,比如xp,2000的某些驱动)

>>>它的文件格式是什么?
   Windows下是PE

>>>它能运行吗?
   不能像*.exe文件一样,有用户来运行,它是由系统自动加载

>>>所有系统都支持这开发出来的驱动吗?
   一般的系统是不太可能而二进制兼容的,如果驱动模型不一样,源代码都得修改

>>>驱动的主要功能是什么?
   对硬件的功能进行封装,对应用程序或系统其他部分提供借口

>>>它们是面向什么对象来服务的?系统?硬件?软件?
    不太明白什么意思:)
    驱动和硬件,操作系统,软件都有关系

>>>它们用在硬件的什么地方?
   初始化硬件,然后提供硬件的一些功能

>>>它们用在系统的什么地方?
   从某种意义上说,它是操作系统的一部分

>>>它们用在软件的什么地方?
   软件要实现某些功能,需要通过OS提供的interface访问到驱动
点赞  2008-2-4 20:27
DDK已经改名叫WDK了,早期的DDK版本可以在网上搜搜看有没有。
WDK可以通过购买MSDN得到,最近也可以在微软网站下载。
VxD只有9X用。
Vista/2003/2000/XP都支持WDM,也支持NT内核驱动。
VxD驱动程序文件扩展名是vxd,其它都是sys。
可以用C、C++、MASM单独或者混合都可以。
驱动程序中使用的各种定义和库文件以及帮助文档都是WDK(DDK)中提供的,VC中没有,用VC主要是编辑源文件,用其它编辑器也可以。
驱动程序中会调用系统提供的一些接口(内核API),一些新的接口是新的操作系统版本中才开始提供的,旧版本中没有,所以;一些旧的接口在新的版本中已经废弃了,不能再调用了。具体情况查看WDK的帮助文档,其中对每个接口都有说明在哪些系统下可用。
操作系统规定了各种类型硬件驱动程序要提供哪些功能,驱动程序加载后系统会调用这些功能来管理硬件。
点赞  2008-2-4 22:12

多谢两位热心朋友。

还有就是,软件用些什么功能要到驱动?不明白。
点赞  2008-2-4 22:39
如果软件要做的事用应用程序无法实现或者难以实现,但驱动程序可以实现,则需要驱动程序。例如,虚拟光驱软件,把一个文件虚拟成光盘,通常是做一个光驱驱动程序,用该驱动程序创建一个光驱类型的设备,当系统要读写光盘扇区时,驱动程序读写对应的文件中的数据。软件中使用驱动程序的情况还有很多。
点赞  2008-2-5 11:04
接分先!
点赞  2008-5-1 03:24
不明LZ在说什么
点赞  2008-5-1 08:59
我也想知道,正在找這方面的資料~~~~~
点赞  2008-5-1 13:09
哈哈,谢谢啦,这些正是我想问的!
点赞  2008-12-31 00:39
这个问题好复杂,我现在都还混淆不清楚呢
点赞  2009-3-23 22:17
顶啦。最近在学驱动,谁介绍一些书籍看看。
点赞  2010-4-1 11:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复