阅读:1883回复:3
初学驱动,一个关于DeviceIoControl的小问题
我现在要写的是一个PCI9054的驱动,板卡实验室自己画的,用来采集数据的。
板卡上有一块RAM,采集到的数据在RAM中,应用程序通过DeviceIoControl与驱动通信,读取RAM中数据。 我现在的问题是:怎么在DeviceIoControl函数中指定数据的起始地址呢? 比如我想读取RAM中,地址0x0034开始往后的100Bytes数据。我只能通过DeviceIoControl的第六个参数nOutBufferSize来指定数据长度100,但没法指定起始地址啊? 当驱动程序处理这个IRP时,从RAM读数据时,就没法知道该从哪儿开始读了呀? 还是一般都不指定起始地址的,比如默认从0开始? 求大侠解释 |
|
沙发#
发布于:2011-01-15 16:13
办法很多,比如:可以把一个DWORD值的地址作为inputBuffer参数传入驱动。
|
|
|
板凳#
发布于:2011-01-16 21:34
谢谢ls
请问还有什么其他常用的方法吗? |
|
地板#
发布于:2011-01-22 21:25
1)作为输入参数传进去
2)使用writefile 我是这么做的。。。 |
|