DUPONTYP
驱动牛犊
驱动牛犊
  • 注册日期2002-11-30
  • 最后登录2004-04-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1456回复:7

求助!关于驱动程序装载问题

楼主#
更多 发布于:2002-12-08 20:57
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拷贝至应用程序目录下吗?
danielxu22
驱动中牛
驱动中牛
  • 注册日期2002-11-22
  • 最后登录2014-03-24
  • 粉丝0
  • 关注1
  • 积分2分
  • 威望18点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-11 09:22
我有问题,第一种情况我这里不满足,第二种情况,需要调用什么样的API函数,能举个例子吗?
今天我发现我家的金鱼淹死了,:(
lyz_killer
驱动牛犊
驱动牛犊
  • 注册日期2002-11-30
  • 最后登录2009-02-08
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望33点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-11 00:54
你的问题很简单!!createfile调用不正确!!看一下驱动里AddDevice例程和头文件,是否有如下类似定义:
 #define devicename     ********的!!
如果有,作为createfile的第一个参数,如果没有,就麻烦一些,调用几个API函数,枚举各个设备,直到找到自己的硬件,然后调用createfile函数就可以了!!



记得给点分呀!!我很穷!!
chaosvclv
驱动牛犊
驱动牛犊
  • 注册日期2002-04-28
  • 最后登录2007-07-16
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-10 22:22
出错的原因有2:
1,可能没有把HELLO.SYS COPY到系统驱动目录

2,第一个参数应该是个TCHAR类型的字符数组,关于TCHAR地定义可以看MSDN的在线帮组。
在FILEMON里有现成的动态装载的例子。
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-10 21:10
createfile的第一个参数不对 :D
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
danielxu22
驱动中牛
驱动中牛
  • 注册日期2002-11-22
  • 最后登录2014-03-24
  • 粉丝0
  • 关注1
  • 积分2分
  • 威望18点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-10 11:39
这个问题我也想知道
今天我发现我家的金鱼淹死了,:(
OneWind
驱动小牛
驱动小牛
  • 注册日期2002-05-15
  • 最后登录2009-04-10
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望11点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-09 08:36
自己创建一个VC6.0的控制台应用程序,添加一按扭控件,双击后执行如下代码:

控制台应用程序能够添加一按扭控件?


嘿,大家好!
ppphaitaoamingp
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-08 23:11
hello.sys是不是错了
给点分吧,兄弟!
游客

返回顶部