阅读:1383回复:7
98 和2000wdm兼容问题---分不是问题
我最近写的驱动程序是这样的
是个功能驱动程序,他网串口的serial.sys发送read irp 从而读取设备法网串口的数据,,读到数据就吧它写入一个双向连表,由应用对他进行读数据,在2000下一切都ok 可是在98 下却说 NTKERN.vxd无法加载我的驱动程序,我在Walter Oney 的书上看到 说把它所写的wdmstub.vxd加入98系统中,就可以扩展NTKERN.vxd的WDM功能, 我在SYSTEM.INI中的[386enh] section: device=c:\windows\system\wdmstub.vxd 当然,我实现已经把它拷贝到这个目录下, 然后,重启计算机,希望计算机能够加载进这个静态vxd 来加载我的驱动程序,可是重启后我的设备属性上仍然说,ntkern.vxd无法加载我的驱动程序 不知那位大虾做过这方面的东东,还请不吝赐教 分不是问题!!!! |
|
最新喜欢:kb219 |
沙发#
发布于:2004-08-12 09:06
对了,我的qq是147316279 大家可以再一起讨论讨论
|
|
板凳#
发布于:2004-08-13 17:41
1、Oney有个wdmcheck工具,可以检查98下是否用了不支持的函数
2、sys文件名符合8.3格式 |
|
地板#
发布于:2004-08-17 09:05
你说的那个工具我用过,结果说不支持的ioreuseirp()在wdmstub.vxd中支持,而且这个在wdmstub.vxd中确实支持,但我按照说明姜wdmstub,vxd复制到:c:\windows\system 中,并在system.ini中添加
[386enh] device=wdmstub.vxd 重启后,我用vxdview观察,发现wdmstub.vxd以经加载,但时装驱动程序事还是如此说ntkern.vxd不能再如驱动程序,后来我把注册表里的Devloader 改了,如下: [touch.AddReg] HKR,,Devloader,,*Wdmstub 其它不变,发现驱动能桩上了,工作正常,但是用应用程序却打不开 它的句柄,导致应用程序与驱动程序无法通信 不知道是什么原因 |
|
地下室#
发布于:2004-08-17 10:48
我现在已经能装上它了,不过驱动属性里提示说“可能没有此设备或
设备工作不正常或者没有安装它所有的驱动成序“ 代码为10 不知道怎么回事 |
|
5楼#
发布于:2004-08-17 11:06
我的程序载2000种调用了串口的serial.sys ,而98 中串口的驱动是虚拟的,是不是因为这样所以我的驱动程序的不到serial.sys的支持导致无法工作阿
|
|
6楼#
发布于:2004-08-17 15:43
打补丁并不是一个好办法,最好还是把驱动改了以同时支持98和Win2000。IoReuseIrp可以用IoInitialzieIrp来替代。
|
|
7楼#
发布于:2004-08-20 15:39
很感谢你对本贴的支持,我会给你加分的
那个问题,我最近看了些资料,好像时说串口下面的SERIAL.VXD和 SERENUM.VXD不支持WDM模型,所以导致发下去的IRP没有人接受和回应,从而导致驱程工作不正常,比如说打不开设备的句柄等等 所以我正在高98 下的虚拟驱动程序 不过看起来,还挺复杂的,比如说设备的PNP 吧,关于资源的获得就听复杂,不知道你有没有高过VXD |
|