NDIS DMA Support Implementation (Windows CE 5.0)
The Windows CE implementation of NDIS does not support direct memory access (DMA) operations inherently. In Windows 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 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
VirtualAlloc | VirtualCopy | Direct Memory Access
Send Feedback on this topic to the authors