Appending DMA Descriptors to a DMA Channel

Note  The NetDMA interface is not supported in Windows 8 and later.

The NetDMA interface calls a NetDMA provider driver's ProviderAppendDma function to finish appending a linked list of dynamic memory access (DMA) descriptors after the last descriptor on a DMA channel. The NetDMA interface always starts a DMA transfer before appending descriptors to a DMA channel. For more information about starting a DMA transfer, see Starting a DMA Transfer.

The NetDMA interface sets the NextDescriptor member of the last descriptor to the beginning of the new chain of descriptors before calling ProviderAppendDma. The NetDMA interface can call ProviderAppendDma any number of times after the transfer is started.

If the current descriptor in an active DMA transfer is the last descriptor, the DMA engine must reread the last descriptor. The NextDescriptor member in the current NET_DMA_DESCRIPTOR structure has a new address, and the DMA engine should continue with the next descriptor. If the current descriptor is not the last descriptor, the DMA engine can continue processing DMA descriptors with no additional tasks.