作者:陆麟
转载请征得作者同意.
1999.6.16
上次写了很多.一口气写了2篇.今天继续下去.
到底如何决定该用VXD还是KMD还是WDM呢?
当然,首先应该考虑的是应用平台.如果是NT4.X,你没得选了,肯定是KMD了.如果是WIN95,那也只有VXD一种选择.当目标平台是98或WIN2000,可
供选择的方法多点.但是也受到OS规范的限制.
98下.如果想开发的是FSD,那么必须用VXD.尽管98有个WDMFS.SYS的东西.但是它并非真正的WDM的文件系统驱动程序.98支持的FSD是以
IFSMGR.VXD为基础的VXD.
如果想搞DISK,COMM...等一系列的DRIVER.你也要写VXD.因为98并没有提供该类的WDM支持.那么98下什么可以用WDM呢?HID,网络类,多媒体类
的硬件支持已经转化到了WDM.你已经可以从DDK里发现这几类驱动程序的样板程序.
在NT2000下.我还不是很熟.但是很显然.对WDM的支持会更多.老的KMD将逐渐退出舞台.当然,KMD有他不可磨灭的优势.(在NT下,KMD的限制比9X
下的VXD多.但是它仍有一些活络余地.例如DISK驱动程序可以访问视频硬件,或者其他资源,但随NT的发展,早晚这些活络余地也会被取消.)WDM
需要将自己注册到相应的类里.有相应的例程必须输出.有些类似于MINIDRIVER.
最终要考虑的是DRIVER作者的习惯.对哪1种模式更熟悉,写作更方便,那就用哪个.
我个人开发98/95平台更多些.所以自己更倾向于VXD:安全限制最少.并且,我喜欢汇编.:)
?