阅读:1017回复:6
why vxd 不能加载
我的程序如下:
#include \"stdafx.h\" #include <iostream.h> #include <windows.h> #include <winioctl.h> #define DIOC_MY_IO CTL_CODE(FILE_DEVICE_UNKNOWN,1,METHOD_NEITHER,FILE_ANY_ACCESS) int main() { HANDLE hDevice; hDevice=CreateFile(\"\\\\\\\\.\\\\First.VXD\",0,0,0,OPEN_EXISTING, FILE_FLAG_DELETE_ON_CLOSE,0); if(hDevice==INVALID_HANDLE_VALUE) { cout<<\"open vxd error\"<<endl; exit(1); } DeviceIoControl(hDevice,DIOC_MY_IO,NULL,0,NULL,0,NULL,NULL); CloseHandle(hDevice); return 0; }运行出现open vxd error first.vxd以和consle程序放在同一目录下,请较大虾们 |
|
沙发#
发布于:2002-01-19 13:36
你在VXD的OPEN里返回了什么?必须是0才对
|
|
|
板凳#
发布于:2002-01-19 15:48
|
|
地板#
发布于:2002-01-19 15:48
我返回的是0
|
|
地下室#
发布于:2002-01-19 19:31
你只得是那里的open
|
|
5楼#
发布于:2002-01-22 10:10
win98系统,把你的vxd拷在windows\\system目录下,就可以了。
;) |
|
|
6楼#
发布于:2002-01-24 15:13
其实你完全可以不用CTL_CODE宏的,随便什么code都可以的,只要不是0。
在你的OnWin32DeviceIoControl里面,io code=0时候,要返回0,表明你的VxD支持DeviceIocontrol。 |
|