xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1009回复:5

大侠们看看我的程序为什么读取的都是 0 啊!!!

楼主#
更多 发布于:2004-10-13 12:40
rt!

请用右键点击下载我的源程序
附件名称/大小 下载次数 最后更新
2004-10-13_portio.rar (55KB)  5
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-10-13 13:55
没问题啊,我读出来的都是255,你把我昨天给你的驱动的MYIRP改为
typedef struct _MYIRP
{
ULONG optcode;
USHORT port;
}MYIRP, *PMYIP;
重新编译一下,然后加载驱动后运行程序,结果都是0XFF=255
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-10-13 15:14

好像是不正确的

当我读 0x290 - 02a0
使用dos方式(有工具打开端口)显示的是
0x290 = -1
0x291 = -1
0x292 = -1
0x293 = -1
0x294 = -1
0x295 = 85(每次读取会增加,直到95)
0x296 = -1
0x297 = -1
0x298 = -1
0x299 = -1
0x2a0 = -1

而用驱动在我的机子是全0,在另一台上是全255
不知到底出了什么问题?请指点
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地板#
发布于:2004-10-13 15:51
全255是正确的结果,因为这是HAL的返回结果
全0可能你还是用原来的MYIRP结构错误的驱动,所以传入HAL的端口为0
全-1是你的驱动没有加载成功,你应该先判断CREATEFILE的返回结果后再进行下一步操作.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2004-10-13 15:53
你可以在HAL的地方下断点看下,至于IN OUT指令的结果如何,只和特定机器有关了,不是我们能控制的.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-10-13 16:13
先在这里感谢 wowocock
不过读出 -1 的是使用 _inp 函数,我用一个老外的工具打开了端口读写权限,现在单独测试两中方式一样了。
全255可能就是返回值类型是 UCHAR 的缘故。

不过用到其它程序中作大量输入输出就错误了,而用 _inp 一切正常。郁闷中……
游客

返回顶部