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