驱动开发相关问题。DDK是什么?VxD是什么?WDM是什么?做出来的“驱动”是什么文件格式,可以运行吗?用什么工具进行开发?用什么语言?
它是用什么语言开发的?
开发它的工具是什么?
VxD与WDM分别指什么驱动。
驱动在所有系统下执行都是一样吗?
它的文件格式是什么?
它能运行吗?
所有系统都支持这开发出来的驱动吗?
驱动的主要功能是什么?
它们是面向什么对象来服务的?系统?硬件?软件?
它们用在硬件的什么地方?
它们用在系统的什么地方?
它们用在软件的什么地方?
这么多问题啊,简单答一下吧。
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)。
驱动程序与操作系统有关,有些相近的系统有可能可以运行同一驱动程序,与驱动程序中使用的系统功能有关。
驱动程序可以是针对某一特定硬件的,为系统提供管理硬件的各种功能;也可以是针对系统设备的,对系统的输入输出做一些处理,实现特定的功能。
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可以开发吗?
驱动程序与操作系统有关,有些相近的系统有可能可以运行同一驱动程序,与驱动程序中使用的系统功能有关。::系统功能是指那些,能否再回答一下。
驱动程序可以是针对某一特定硬件的,为系统提供管理硬件的各种功能;也可以是针对系统设备的,对系统的输入输出做一些处理,实现特定的功能。::主要是硬件的?
>>>它是用什么语言开发的?
C和汇编
>>>开发它的工具是什么?
很多,(1)driver studio + ddk
(2)vc + masm + ddk
>>>VxD与WDM分别指什么驱动?
见1楼
>>>驱动在所有系统下执行都是一样吗?
不一样,在每个系统下都有自己的驱动模型(有的系统可能一样,比如xp,2000的某些驱动)
>>>它的文件格式是什么?
Windows下是PE
>>>它能运行吗?
不能像*.exe文件一样,有用户来运行,它是由系统自动加载
>>>所有系统都支持这开发出来的驱动吗?
一般的系统是不太可能而二进制兼容的,如果驱动模型不一样,源代码都得修改
>>>驱动的主要功能是什么?
对硬件的功能进行封装,对应用程序或系统其他部分提供借口
>>>它们是面向什么对象来服务的?系统?硬件?软件?
不太明白什么意思:)
驱动和硬件,操作系统,软件都有关系
>>>它们用在硬件的什么地方?
初始化硬件,然后提供硬件的一些功能
>>>它们用在系统的什么地方?
从某种意义上说,它是操作系统的一部分
>>>它们用在软件的什么地方?
软件要实现某些功能,需要通过OS提供的interface访问到驱动
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的帮助文档,其中对每个接口都有说明在哪些系统下可用。
操作系统规定了各种类型硬件驱动程序要提供哪些功能,驱动程序加载后系统会调用这些功能来管理硬件。
多谢两位热心朋友。
还有就是,软件用些什么功能要到驱动?不明白。
如果软件要做的事用应用程序无法实现或者难以实现,但驱动程序可以实现,则需要驱动程序。例如,虚拟光驱软件,把一个文件虚拟成光盘,通常是做一个光驱驱动程序,用该驱动程序创建一个光驱类型的设备,当系统要读写光盘扇区时,驱动程序读写对应的文件中的数据。软件中使用驱动程序的情况还有很多。