Share via


NDIS DMA Support Implementation

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

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

Direct Memory Access

Other Resources

VirtualAlloc
VirtualCopy