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,然后才能从主机内存中读取传输的数据。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | NDIS 6.0 和 NDIS 5.1 驱动程序支持 (请参阅 Windows Vista 中的 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) |