DMA_ABORT_HANDLER回调函数 (netdma.h)

注意 不支持 NetDMA 接口

Windows 8 及更高版本中。

 
ProviderAbortDma 函数取消与 DMA 通道关联的任何 DMA 传输。

语法

DMA_ABORT_HANDLER DmaAbortHandler;

NTSTATUS DmaAbortHandler(
  [in] PVOID ProviderChannelContext
)
{...}

参数

[in] ProviderChannelContext

一个指针,用于标识 DMA 通道的上下文区域。 DMA 提供程序在 pProviderChannelContext 参数中指定的位置将此句柄返回到 NetDMA ProviderAllocateDmaChannel 函数。

返回值

ProviderAbortDma 返回以下状态值之一:

返回代码 说明
STATUS_SUCCESS
操作已成功完成。
STATUS_UNSUCCESSFUL
操作由于未指定的原因而失败。

注解

ProviderAbortDma 函数是 NetDMA 提供程序的可选函数。 NetDMA 接口可以调用 DMA 提供程序驱动程序的 ProviderAbortDma 函数(如果有)以中止已在 DMA 通道上计划的所有 DMA 传输。

ProviderAbortDma 中,DMA 提供程序应立即终止传输,而不完成与当前 DMA 描述符关联的数据的传输。 如果启用完成状态报告,DMA 引擎将在 中的 CompletionVirtualAddressCompletionPhysicalAddress 成员中指定的地址中写入 NetDmaTransferStatusHalted 状态 NET_DMA_CHANNEL_PARAMETERS 结构。

中止操作完成后,DMA 通道必须准备就绪,NetDMA 接口才能调用 ProviderStartDma 函数。 在重新开始传输之前,NetDMA 接口不会调用 ProviderAppendDma 函数。

NetDMA 在 IRQL <= DISPATCH_LEVEL 调用 ProviderAbortDma

要求

要求
最低受支持的客户端 支持 Windows Vista 中的 NetDMA 1.0 驱动程序。
目标平台 Windows
标头 netdma.h (包括 Netdma.h)
IRQL <= DISPATCH_LEVEL

另请参阅

NET_DMA_CHANNEL_PARAMETERS

ProviderAllocateDmaChannel

ProviderAppendDma

ProviderStartDma