Writing a Packet-Based Slave DMA Driver
In packet-based slave DMA, the device transfers data to or from the locked down pages of the caller's buffer using a shared DMA controller on the mainboard. The system is also responsible for providing scatter/gather support.
How Packet-Based Slave DMA Works
Although the specifics depend on the nature of the device, most packet-based slave DMA drivers conform to a very similar pattern. The following subsections describe the routines of these drivers.
Along with its usual duties, this PnP handler performs the following DMA preparation tasks:
Locates the DMA channel used by the device. The DMA resources would normally be sent with the requesting IRP in the stack's Parameters.StartDevice.AllocatedResourcesTranslated ...