阅读:1456回复:7
求助!关于驱动程序装载问题
PC机环境:win2000 win2kddk driverstudio1.5已安装;
使用DRIVERWORKS中的驱动程序例子HELLO将其编译链接后生成HELLO.SYS,用DRIVER MONITOR启动该驱动程序加载; 自己创建一个VC6.0的控制台应用程序,添加一按扭控件,双击后执行如下代码: HANDLE h; h = CreateFile(\"\\\\\\\\.\\\\hello.sys\", GENERIC_READ | ENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); if (h == INVALID_HANDLE_VALUE) { exit(1); } 在VC6.0下调试时发现句柄返回值等于INVALID_HANDLE_VALUE,为什麽h值不正确呢? 为什麽DRIVER MONITOR未提示HELLO.SYS已经被调用过?我应该将HELLO.SYS拷贝至应用程序目录下吗? |
|
沙发#
发布于:2002-12-11 09:22
我有问题,第一种情况我这里不满足,第二种情况,需要调用什么样的API函数,能举个例子吗?
|
|
|
板凳#
发布于:2002-12-11 00:54
你的问题很简单!!createfile调用不正确!!看一下驱动里AddDevice例程和头文件,是否有如下类似定义:
#define devicename ********的!! 如果有,作为createfile的第一个参数,如果没有,就麻烦一些,调用几个API函数,枚举各个设备,直到找到自己的硬件,然后调用createfile函数就可以了!! 记得给点分呀!!我很穷!! |
|
地板#
发布于:2002-12-10 22:22
出错的原因有2:
1,可能没有把HELLO.SYS COPY到系统驱动目录 2,第一个参数应该是个TCHAR类型的字符数组,关于TCHAR地定义可以看MSDN的在线帮组。 在FILEMON里有现成的动态装载的例子。 |
|
地下室#
发布于:2002-12-10 21:10
createfile的第一个参数不对 :D
|
|
|
5楼#
发布于:2002-12-10 11:39
这个问题我也想知道
|
|
|
6楼#
发布于:2002-12-09 08:36
自己创建一个VC6.0的控制台应用程序,添加一按扭控件,双击后执行如下代码:
控制台应用程序能够添加一按扭控件? |
|
|
7楼#
发布于:2002-12-08 23:11
hello.sys是不是错了
|
|
|