我是用DriverStudio生成的WDM文件。在98下没有问题。对任何端口都可以进行读写。(只要该端口不是只读或只写的)但在XP下。发现好多端口都无法写。比如70H。(在98下可以的)我又实验了一下378H(并口).却是可以读写的。是不是XP把好多端口都屏蔽了。不给读写了??我...
全文
回复(9) 2003-12-25 18:59 来自版块 - 内核编程
表情
makefriend8我是先写后读的。 就是先把端口设置成某个值。然后就读出来看。 在98下一切OK。 XP下有很多端口写了没用。读出来的老是那个值。(2003-12-29 20:48)
wxl_50685330你怎么知道没写进去,要不写个循环多写几次,会不会总线冲突(2003-12-29 15:38)
longriver2003READ_PORT_UCHAR READ_PORT_Ulong,READ_PORT_Ushort write_PORT_UCHAR write_PORT_Ulong,write_PORT_Ushort READ_REGISTER_UCHAR 等等,看DDK吧。(2003-12-27 09:58)
wowocock在驱动中应该没问题,无所谓用那些HAL宏,我反汇编那些代码过,也是IN,OUT而已。。。。。。(2003-12-26 23:29)
makefriend8有人回答吗??(2003-12-26 17:56)
makefriend8我用的是KIoRange::inb(这应该是封装了DDK的) DDK中相应函数是什么?? 是不是XP的问题?(2003-12-25 19:15)
Lingfeng不会呀! 一般是可以读的呀.要用DDK中提供的函数来读写端口呀.(2003-12-25 19:13)
makefriend8不只是70H(71H我知道是只读的)其他很多端口都没办法写。(数字小的我好象没发现行的。数字大的好象才能写) 问题是98下没有问题。而XP下不可以啊! 我没牵扯什么中断。只是读写I/0端口而已。(2003-12-25 19:13)
feiye666读写最好通过READ_PORT_UCHAR来读写 另外读写CMOS时要注意 1.cli关闭中断 2.还要对第7位进行操作 大概是这样 我也不是很在行 你可以看看PC技术内幕上的东西 上面好像有读写操作的代码你可以参考一下(2003-12-25 19:09)

返回顶部