阅读:2620回复:9
用_inpd\\_outpd对0x378端口访问可以吗?
我想在vxd程序中往378端口输出一个双字(_outpd(0x378,0x00ff00ff)),但我不知道是否成功了,于是我就用_inpd(0x378)取回378端口的值,但是取回的数不是0x00ff00ff。
难道378端口受系统保护吗?我改了70,20,30端口但也没得到如期的结果。请问我用_outpd()可以往387端口写一个双字吗?如果可以我应该怎么样证明我是对的呢?请指教,这个问题困惑我好久了,来救救我吧。 |
|
最新喜欢:![]() |
沙发#
发布于:2002-06-05 12:52
不是说过吗?除了用DRx,没有什么办法可以阻止你在Ring0访问端口,所谓“端口受系统保护”、“用VIOPORT钩住端口”仅对应用程序而言。
〉〉我改了70,20,30端口但也没得到如期的结果 你仅仅是想试验端口访问行不行是不是?发个直接访问IDE硬盘端口读写的简单Vxd给你 |
|
板凳#
发布于:2002-06-05 13:51
1.往378端口输出是到其输出
|
|
|
地板#
发布于:2002-06-06 11:48
我认为,端口地址(378h)之类只能按字节访问。
如果向378h发一个字0xf00f,会把0Fh发给地址378h,把0F0h发给地址379h;而不是顺序的把0Fh、0F0h发到地址378h。 |
|
|
地下室#
发布于:2002-06-09 14:36
这个问题前几天也混绕着我,因为我要做的工作也类似只要向并口写4个控制字,但不知任何验证,后来我使用了三用表测并口stb管脚,然后循环写数据,可以清楚的看到指针在摇摆,以后的事情不就简单了!
|
|
5楼#
发布于:2002-06-09 14:46
计算机中的0X378H地址是 字节的呀。 老大。这是硬件的特性所在。要写字或是双字的话要分开来干的。。 ;) ;) ;)
|
|
|
6楼#
发布于:2002-06-10 10:09
计算机中的0X378H地址是 字节的呀。 老大。这是硬件的特性所在。要写字或是双字的话要分开来干的。。 ;) ;) ;) 我知道,我要写一个字的话就是0x378和0x379,如果是双字的话就是0x378,0x379,0x37a,0x37b这四个连续的端口,不是这样吗? 你所说的“要写字或是双字的话要分开来干”是什么意思? |
|
7楼#
发布于:2002-06-10 10:14
这个问题前几天也混绕着我,因为我要做的工作也类似只要向并口写4个控制字,但不知任何验证,后来我使用了三用表测并口stb管脚,然后循环写数据,可以清楚的看到指针在摇摆,以后的事情不就简单了! 谢谢你。希望以后能多交流。 按照你这种做法能验证数据传送的是否正确吗? |
|
8楼#
发布于:2002-06-12 21:48
\"谢谢你。希望以后能多交流。
按照你这种做法能验证数据传送的是否正确吗?\" 这只是定性看看,后来我采用了示波器,可以完全的看清各个信号线 当然你得循环写同样得值,顺便更正一下,我是对并口写四个字节而不是字。 祝你好运! ;)oicq 7123741 |
|
9楼#
发布于:2002-07-26 09:39
由于受硬件限制,向打印口写一字节,然后读可看到读写结果相同。
|
|
|