NDIS DMA Support Implementation (Windows Embedded CE 6.0)
1/6/2010
The Windows Embedded CE implementation of NDIS does not support direct memory access (DMA) operations inherently. In Windows Embedded CE, however, you can extend the driver functionality by creating the functionality within a miniport if needed. The required functionality can be implemented directly in the miniport driver code. DMA libraries may be provided for use by driver developers or the miniport driver might need to implement DMA entirely on its own.
To implement DMA transfers, miniport drivers must allocate and manage virtual memory buffers. To implement DMA transfers in a miniport, you must reserve a physical memory block from the memory map of a Windows Embedded CE–based device. Then, you must map the device's memory block to virtual address pointers by using the VirtualAlloc and VirtualCopy functions. Mapping the device's memory block to virtual address pointers provides the miniport with a shared memory block to send and receive packet buffers.
See Also
Concepts
Network Driver Programming Considerations
Direct Memory Access