阅读:1100回复:6
应用程序与驱动程序对端口的读写不同在哪里?
例如一块D/A卡的驱动:
应用程序中首先得到卡的基地址,然后就可以对卡进行读写操作,例如,_outpw(BaseAddress+0x01,data); 那么驱动程序中的DispatchRead或者DispatchWrite例程需要做什么事情呢? 真的糊涂了,请各位帮帮忙!先谢谢了。 明白了马上给分! |
|
沙发#
发布于:2004-06-04 15:12
_outp,_inp只能在win2000以下的系统中使用。我想是这2种函数在操作系统中的工作级别不同吧。_outpw工作在lever 3而dispatchRead,
dispatchWrite可能会对内存重新调整。 |
|
板凳#
发布于:2004-06-04 16:08
能不能说的具体点。。。
|
|
地板#
发布于:2004-06-05 12:37
怎么没人帮帮我啊?。。。。。
|
|
地下室#
发布于:2004-06-05 14:40
vxd(win2000以下的windows)系统模式下允许用户程序直接访问端口即机器的内存,而在2000以后的系统wdm驱动模式下客户程序去不能直接访问,这样增强了系统的安全性,向CIH之类的通过利用VXD模式特性攻击计算机的病毒在2000下就不起作用了。但2000下要需要完成读端口的功能,这就需要做一些特殊的处理,需要了解它的内存模式,然后再做扩展。
我做过读端口的控制程序,但没写过驱动,DispatchWrite/Read的用法只是我的猜想,还请高手指点。 |
|
5楼#
发布于:2004-06-06 11:58
to:blue215
能不能把你做的控制程序读写端口的部分给我看看,谢谢! modern_hill@hotmail.com |
|
6楼#
发布于:2004-06-06 20:30
我是在98下做的,读端口的函数也就用了_outp和_inp.只是知道2000下读端口的一些原理,但没实际做过.
|
|