阅读:1355回复:5
端口读写大量数据问题。DeviceIOControl能行么?
要从端口读图像数据,能有256k左右。
想在sys中用 READ_PORT_BUFFER_ULONG( (PULONG)wPortEPP, (PULONG)pBuffer, ulongSize ); 那么缓冲区怎么实现好呢? 在app中开辟缓冲,用deviceiocontrol传递给驱动程序,这样能行不?共享内存是怎么回事?用这个实现么? |
|
沙发#
发布于:2003-05-26 15:13
可以用READ_PORT_BUFFER_ULONG
在app中开辟缓冲区,然后用直接方式传给驱动(其实只是将地址告诉了驱动),驱动将数据填到这个缓冲区中;不能用缓冲方式,超过了页面限制 |
|
|
板凳#
发布于:2003-05-26 16:46
不能用缓冲方式,超过了页面限制 我记得是说,大的buffer,就用MDL,那么什么是“大”?一般来说以一个page为准,可没有说不能啊。 |
|
地板#
发布于:2003-05-26 17:23
[quote] 不能用缓冲方式,超过了页面限制 我记得是说,大的buffer,就用MDL,那么什么是“大”?一般来说以一个page为准,可没有说不能啊。 [/quote] 我指的是他这种情况(256k)下,不能用缓冲区方式啊--256k已经远远超出一个page了 :D :D |
|
|
地下室#
发布于:2003-05-26 17:25
2000大哥的意思是一次传少于一个page?
|
|
|
5楼#
发布于:2003-05-26 18:01
我的意思是说,buffered_io也可以啊,不是“不能用buffered”。
算了,没有什么意义 :D |
|