NetDMA Provider Services

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

The NetDMA interface requires ProviderXxx functions that the NetDMA provider driver supplies to service NetDMA requests. The ProviderXxx function entry points are defined in the NET_DMA_PROVIDER_CHARACTERISTICS structure that the NetDMA provider driver passes to the NetDmaRegisterProvider function.

The NetDMA interface does not use the NetDMA provider services until after the NetDMA provider is started. For more information about starting a NetDMA provider, see Starting a NetDMA Provider.

The following ProviderXxx functions are mandatory:

ProviderAllocateDmaChannel

ProviderFreeDmaChannel

ProviderStartDma

ProviderAppendDma

The following ProviderXxx functions are optional:

ProviderSuspendDma

ProviderResumeDma

ProviderAbortDma

ProviderResetChannel

If the NetDMA provider driver does not support an optional ProviderXxx function, the driver sets the entry point for that function to NULL.

The following topics describe the NetDMA provider services and the preceding ProviderXxx functions:

Allocating a NetDMA Channel

Freeing a NetDMA Channel

Starting a DMA Transfer

Appending DMA Descriptors to a DMA Channel

Completing a DMA Transfer

Supporting NULL DMA Transfers

Suspending and Resuming a DMA Transfer

Aborting a DMA Transfer

Resetting a DMA Channel