阅读:1668回复:9
驱动程序中能进行文件读写操作吗?
我想将硬盘上的一个大文件大约2G,通过PCI接口传到板卡上,但由于数据量过大需要一部分一部分的传。比如说,我传512k之后,给板卡一个中断,它先处理这512k,处理过之后,板卡给我生成一个中断,我再传512k给它。
问题是,在驱动程序中,我该怎么每次从文件中读512k数据呢?驱动程序中能执行文件操作吗?该怎么做? |
|
沙发#
发布于:2003-12-02 18:08
我想将硬盘上的一个大文件大约2G,通过PCI接口传到板卡上,但由于数据量过大需要一部分一部分的传。比如说,我传512k之后,给板卡一个中断,它先处理这512k,处理过之后,板卡给我生成一个中断,我再传512k给它。 驱动程序中操作文件可以使用: ZwCreateFile ZwReadFile ZwWriteFile |
|
|
板凳#
发布于:2003-12-02 23:18
没错!
如果用DDK,如楼上所说。 如果用DW,类KFile就可以 |
|
地板#
发布于:2003-12-03 09:10
感谢两位,我试试先。
还有一个问题,我在中断处理程序中不停的读文件是不是不太合适啊?这样中断处理时间过长了。 那上面我说的那种通过终端与板卡通信的情况,我该怎么做呢? |
|
地下室#
发布于:2003-12-03 12:22
感谢两位,我试试先。 中断处理时间不应过长,费时的工作一般是放到DPC中处理的。 |
|
|
5楼#
发布于:2003-12-03 12:57
由于文件操作只能工作在低于ISR两个级别的优先级上,所以你在中断中是无法进行普通的文件读写操作,在DPC中也不可以,因为DPC在ISR的下以级。
解决方法是使用系统线程操作文件,利用事件或旗语来通知。通知实现到是可以在DPC中进行。^o^ |
|
6楼#
发布于:2003-12-03 13:01
读512K的控制使用KFile方法可以控制,和在C下读二进制相类似。
|
|
7楼#
发布于:2003-12-04 08:19
我想问 PCI 板卡怎样可以发中断给主板哪一条信号线它要调动?
然后在驱动程序中怎样把这个中断接过来? |
|
8楼#
发布于:2003-12-04 12:35
这样的问题就不要问了,还是自己看看例子和资料吧。
还有看看基础的东西,有好处 |
|
9楼#
发布于:2003-12-12 12:22
肯定可以拉,不然大家都不用写驱动了
|
|