DMA_ABORT_HANDLER回调函数 (netdma.h)
在 Windows 8 及更高版本中。
语法
DMA_ABORT_HANDLER DmaAbortHandler;
NTSTATUS DmaAbortHandler(
[in] PVOID ProviderChannelContext
)
{...}
参数
[in] ProviderChannelContext
标识 DMA 通道上下文区域的指针。 DMA 提供程序将此句柄返回到 NetDMA,该句柄位于 pProviderChannelContext 参数中指定的位置 ProviderAllocateDmaChannel 函数。
返回值
ProviderAbortDma 返回以下状态值之一:
返回代码 | 描述 |
---|---|
|
作已成功完成。 |
|
由于未指定的原因,作失败。 |
言论
ProviderAbortDma 函数是 NetDMA 提供程序的可选函数。 NetDMA 接口可以调用 DMA 提供程序驱动程序的 ProviderAbortDma 函数(如果有)来中止已在 DMA 通道上计划的所有 DMA 传输。
在 ProviderAbortDma中,DMA 提供程序应立即终止传输,而无需完成与当前 DMA 描述符关联的数据传输。 如果启用了完成状态报告,则 DMA 引擎将在 CompletionVirtualAddress 和 CompletionPhysicalAddress 成员中指定的地址中写入 NetDmaTransferStatusHalted 状态 NET_DMA_CHANNEL_PARAMETERS 结构。
中止作完成后,NetDMA 接口必须准备好 DMA 通道才能调用 ProviderStartDma 函数。 在传输重启之前,NetDMA 接口不会调用 ProviderAppendDma 函数。
在 IRQL <= DISPATCH_LEVEL,netDMA 调用 ProviderAbortDma。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Vista 中支持 NetDMA 1.0 驱动程序。 |
目标平台 | 窗户 |
标头 | netdma.h (包括 Netdma.h) |
IRQL | <= DISPATCH_LEVEL |