NdisMCompleteDmaTransfer 宏 (ndis.h)

NdisMCompleteDmaTransfer 函数指示系统 DMA 传输作已完成。 它重置系统 DMA 控制器,以准备进一步的 DMA 传输。

语法

void NdisMCompleteDmaTransfer(
   _S,
   _H,
   _B,
   _O,
   _L,
   _M_
);

参数

_S

指向调用方提供的变量的指针,在此变量中,此函数返回 DMA 传输的最终状态,可以是下列状态之一:

NDIS_STATUS_SUCCESS

数据已传输并刷新到主机内存或设备,以维护数据完整性。

NDIS_STATUS_RESOURCES

DMA 控制器已发布,但数据传输可能不一致。

_H

MiniportInitializeEx 函数调用 时返回的句柄 NdisMRegisterDmaChannel 函数。

_B

指向以前传递给 NdisMSetupDmaTransfer的缓冲区描述符的指针。

_O

传输开始的字节偏移量。 此值还传递给 NdisMSetupDmaTransfer

_L

传输的长度(以字节为单位)。 此值还传递给 NdisMSetupDmaTransfer

_M_

如果从主机传输到 NIC,则 TRUE,例如发送作。

返回值

没有

言论

NdisMCompleteDmaTransfer 必须使用 WriteToDevice 设置为 TRUE,然后才能将传输的数据视为 NIC 内存中存在。 NdisMCompleteDmaTransfer 必须使用 WriteToDevice 设置为 FALSE,然后才能从主机内存中读取传输的数据。

要求

要求 价值
最低支持的客户端 Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 NdisMCompleteDmaTransfer (NDIS 5.1)。 支持 NDIS 5.1 驱动程序(请参阅 Windows XP 中的 NdisMCompleteDmaTransfer (NDIS 5.1)。
目标平台 普遍
标头 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_MCO_Function(ndis)

另请参阅

MiniportInitializeEx

NdisMRegisterDmaChannel

NdisMSetupDmaTransfer