阅读:1758回复:0
请教两个 "DMA" 问题1. 对于Read Write 是通过DMA进行的情形: Packet_based 型DMA 和DO_DIRECT_IO 对应的? Common Buffer 型DMA是不是和DO_BUFFERED_IO对应的? 但假如是做Common Buffer 型DMA,又和一般的DO_BUFFERED_IO读写不同, 一般的DO_BUFFERED_IO读写I/O管理器会自动的创建一个缓冲区,但是对于DMA来说,必须要通过AllocateCommonBuffer分配一个缓冲区,是这样的吗? 假如是这样的,那么I/O管理器还会再自动创建一个缓冲区吗?它会不会知道你这个Read、Write用的是DMA,从而不自动创建一个缓冲区了? 2.IRP的MDL是IO管理器创建的,那么IO管理器能否保证此MDL锁定的是 不可分页的物理内存, 还是说这个是不确定的? 那么怎么做才能保证 它锁定的是不可分页的 物理内存? -- Freedom is the right of all sentient beings! ※ 修改:·EuroPad 于 Nov 1 16:03:44 修改本文·[FROM: 211.99.222.*] |
|