shjdriver
驱动牛犊
驱动牛犊
  • 注册日期2003-04-01
  • 最后登录2008-04-02
  • 粉丝0
  • 关注0
  • 积分277分
  • 威望30点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
阅读:808回复:4

驱动程序不同系统安装

楼主#
更多 发布于:2003-06-10 10:16
各位大虾,我在2000下编写了一并口wdm驱动程序。在win2000下调试通过,将原驱动程序在win98下编译连接后,装载驱动程序成功。但调试是产生的结果与win2000下并不一样。一般是下传的数据正确,返回的数据不对。请各位指导。谢谢!
shjdriver
驱动牛犊
驱动牛犊
  • 注册日期2003-04-01
  • 最后登录2008-04-02
  • 粉丝0
  • 关注0
  • 积分277分
  • 威望30点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-10 16:46
help me please
danielxu22
驱动中牛
驱动中牛
  • 注册日期2002-11-22
  • 最后登录2014-03-24
  • 粉丝0
  • 关注1
  • 积分2分
  • 威望18点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-11 22:18
你用什么调试,看到什么产生的结果,如果用debugview分98和2000不同。我记得要把win2000的驱动移植到win98中,要修改inf文件
今天我发现我家的金鱼淹死了,:(
shjdriver
驱动牛犊
驱动牛犊
  • 注册日期2003-04-01
  • 最后登录2008-04-02
  • 粉丝0
  • 关注0
  • 积分277分
  • 威望30点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-12 10:45
我编写了一底层wdm驱动程序,在win2000下正常使用,底层相关代码如下:
switch (I.IoctlCode())
{
case DIOC_OPEN://打开WDM命令,对应CreatFile
break;
case BA_PORTA://卡初始化命令 设置并口地址
t << \"deviceiocontrol BA_PORTA \"<<EOL;
ii=(short int *)ioBuffer;//
i1=(short int *)ioBuffer;//返回成功与否信息
*i1=hd.PORTA;
I.Information() = sizeof(short int);
break;
.............
}
上层通讯语句为
DeviceIoControl(hHello,BA_PORTA,&k,sizeof(k),bufOutput,sizeof(bufOutput),&nOutput,NULL);

在win2000中,DeviceIoControl能返回正确的值
但在win98中,返回值不正确,bufOutput,nOutput保持原值不变;
调试时,已运行case BA_PORTA下面的语句。麻烦帮忙解决。



[编辑 -  6/12/03 by  shjdriver]
shjdriver
驱动牛犊
驱动牛犊
  • 注册日期2003-04-01
  • 最后登录2008-04-02
  • 粉丝0
  • 关注0
  • 积分277分
  • 威望30点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-12 16:50
我已经解决,谢谢
游客

返回顶部