阅读:1213回复:2
如何把MDL地址分成多次操作?
各位大侠:
我正在开发一个USB应用。 当应用程序需要向USB写数据的时候,如果数据量比较大,超过了USB缓冲区的长度,在Driver中我应该把传输分成多次来操作。 若应用程序的请求是用的的是METHOD_BUFFERED方式,我可以在driver里获得获得系统缓冲区的指针,然后很容易地移动指针来完成这一点。 但是如果应用程序的请求是METHOD_OUT_DIRECT或者,这个时候在driver里获得的是MDL,这个时候我该怎么办? 不胜感激! |
|
沙发#
发布于:2002-10-18 15:23
MmGetMdlByteCount,MmGetMdlVirtualAddress,IoAllocateMdl,IoBuildPartialMdl。
具体处理方法参看DDK中Bulkusb中BulkUsb_StagedReadWrite函数,其中有你想要的处理方法。 |
|
|
板凳#
发布于:2002-10-18 16:04
谢谢,我看看去
|
|