DMA_RESET_HANDLER - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// netdma.h

DMA_RESET_HANDLER DmaResetHandler;

NTSTATUS DmaResetHandler(
  [in] PVOID ProviderChannelContext
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-netdma-dma_reset_handler)

DMA_RESET_HANDLER callback function

Description

Note The NetDMA interface is not supported

in Windows 8 and later.

The ProviderResetChannel function resets a DMA channel to the initial state that existed after the DMA channel was allocated.

Parameters

ProviderChannelContext [in]

A pointer that identifies a DMA channel's context area. The DMA provider returned this handle to NetDMA at the location that is specified in the pProviderChannelContext parameter of the ProviderAllocateDmaChannel function.

Return value

ProviderResetChannel returns one of the following status values:

Return code Description
STATUS_SUCCESS The operation completed successfully.
STATUS_UNSUCCESSFUL The operation failed for unspecified reasons.

Remarks

The ProviderResetChannel function is an optional function for NetDMA providers. The NetDMA interface calls the DMA provider driver's ProviderResetChannel function, if any, to reset a DMA channel.

In ProviderResetChannel, the NetDMA provider should terminate any active transfer immediately without completing the transfer of the data that is associated with the current DMA descriptor. If completion status reporting is enabled, the DMA engine writes the NetDmaTransferStatusHalted status in the address that is specified in the CompletionVirtualAddress and CompletionPhysicalAddress members in the NET_DMA_CHANNEL_PARAMETERS structure.

After the reset operation is complete, the DMA channel must be in the initial state that existed after the channel was allocated. After the NetDMA interface calls ProviderResetChannel, the DMA provider cannot access any of the previously submitted DMA descriptors. The DMA channel must be ready for the NetDMA interface to call the ProviderStartDma function.

NetDMA calls ProviderResetChannel at IRQL <= DISPATCH_LEVEL.

See also

NET_DMA_CHANNEL_PARAMETERS

ProviderAllocateDmaChannel

ProviderStartDma