阅读:1937回复:8
在98下VC用_inp,_outp行不???
在程序中,我先_outp(0x37a,0x80);_inp(0x37a)或_inp(0x379)
在debug版本中 我读 0x379,0x378,0x37a,返回值都是 204 在release版本中 我读 0x379,0x378,0x37a,返回值都是 0 怎么会事???急死了. |
|
沙发#
发布于:2001-10-04 10:25
版主大哥,帮帮忙???
|
|
板凳#
发布于:2001-10-04 20:40
应该不行吧,其实我也想知道行不行。
|
|
地板#
发布于:2001-10-04 20:59
98下VC用_inp,_outp当然没问题
PC机的端口 0x37A 是输出型的 0x378 是IO型的 0x389 是输入型的 |
|
|
地下室#
发布于:2001-10-05 16:27
好像不行
因为在98下所有的ring3级端口访问都被虚拟机截获 你应该用vxd |
|
5楼#
发布于:2001-10-08 20:45
98下VC用_inp,_outp是没有问题的。Win98只对直接的物理地址操作进行了限制,对IO操作并没有限制。
|
|
|
6楼#
发布于:2001-10-09 14:14
我以前用过它们去读打印口数据,是可以的。
|
|
|
7楼#
发布于:2001-10-09 19:59
System hook some port like IDE Bus
and some port like COM/LPT can direct I/O. |
|
|
8楼#
发布于:2001-10-10 17:39
谢谢各位赏脸!!!
现在我的情况是这样的:我向打印口(378)的外部设备发送数据,发送之前判断379是否有Ack信号,在debug中,379返回的都是204,在release中返回的都是0,结果数据发送不了.code: ret=_inp(0x379); _outp(0x378,xx); 是不是要初试化端口37a, 我也初试化了_outp(0x37a,0x80); 我的环境是win98 VC++6.0 编译. 是不是象 liming兄 所言 在98下所有的ring3级端口访问都被虚拟机截获了?? |
|