静态加载的vxd在应用程序里怎样加载??(低手的小问题)

大家好,我编了一个vxd,是静态的,但在应用程序调用是出了问题。我已经把vxd加载进了windows,用vxd viewer可以看到,但应用程序想获得句柄是失败。
我在应用程序里是这样的:
hDeice=CreateFile("\\\\.\\DISKPRO.VxD",0,0,0,CREATE_NEW,FILE_FLAG_DELETE_
ON_CLOSE,0);
hDeice=CreateFile("\\\\.\\DISKPRO.VxD",0,0,0,OPEN_EXISTING,FILE_FLAG_DELETE_
ON_CLOSE,0);

上面的两中办法都试过,都不行。
究竟静态的vxd在应用程序中该如何才能获得句柄???
谢谢大家:)
[380 byte] By [lizhiyuan6483621-探索者] at [2007-12-16]
# 1
你用的是动态加载,如果是静态加载的话,可以直接调用其功能。
# 2
你有没有在SYSTEM。INI中加上
device=xxxx.vxd
Areslee-懒虫易水 at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 3
楼上的cwanter,你的意思是不是不用加载vxd就直接调用DeviceIoControl(hDevice, SENDMESSAGE,&pRpd, NULL, NULL, NULL,NULL,NULL);可是如果没有hDevice=CreateFile(......),如何得到设备的句柄hDevice?DeviceIoControl()中的hDevice要用什么来代替???
hbb1981-hbb at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 4
关注ing.....
woshiwo-我是我 at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 5
回areslee,楼主说了他静态加载成功,用vxd viewer可以看到。
我的做法是静态加载的vxd也加上动态vxd用的那两个动态加载和退出函数,然后在应用程序就可以用CreateFile获得句柄了,但实际上那两个动态的对应的函数并没执行。(动态的楼主应该搞定了吧?)

不知道还有没有其他的办法,关注ing....
dszsun-一片清风 at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 6
何必那么繁去使用VXD呢??在9X下进RING0的方法那么多,随便使用一种,进
RING0以后然后可以直接调用VXD功能不是更方便吗??
方法 INT 20H调用指令
DD 0001 VXD ID号指明调用哪个VXD如VMM
DD 006C VXD的函数号指明调用该VXD的哪个函数
wowocock-机器猫 at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 7
这个。。。调试一下吧
Areslee-懒虫易水 at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 8
为什么要用静态呢?多麻烦:)