SerCx2SystemDmaTransmitPurgeFifoComplete 函数 (sercx.h)

SerCx2SystemDmaTransmitPurgeFifoComplete 方法通知串行框架扩展版本 2(SerCx2),串行控制器驱动程序已完成从串行控制器硬件中的传输 FIFO 中清除数据。

语法

void SerCx2SystemDmaTransmitPurgeFifoComplete(
  [in] SERCX2SYSTEMDMATRANSMIT SystemDmaTransmit,
  [in] ULONG                   BytesPurged
);

参数

[in] SystemDmaTransmit

系统-DMA 传输对象的 SERCX2SYSTEMDMATRANSMIT 句柄。 串行控制器驱动程序以前调用 SerCx2SystemDmaTransmitCreate 方法来创建此对象。

[in] BytesPurged

串行控制器驱动程序从传输 FIFO 中清除的未发送数据的字节数。

返回值

没有

言论

SerCx2 调用 EvtSerCx2SystemDmaTransmitPurgeFifo 事件回调函数(如果已实现),以指示串行控制器驱动程序终止当前系统-DMA 传输事务。 SerCx2 以前已启动此事务,以响应来自客户端的写入(IRP_MJ_WRITE)请求。 例如,如果客户端取消挂起的写入请求,或者写入请求超时,则 SerCx2 可能会调用此函数。有关详细信息,请参阅 SerCx2 处理读取和写入请求

为了响应 EvtSerCx2SystemDmaTransmitPurgeFifo 调用,驱动程序停止将数据从写入缓冲区传输到传输 FIFO,并放弃传输 FIFO 中之前传输的任何数据。 清除完成后,串行控制器驱动程序必须调用 SerCx2SystemDmaTransmitPurgeFifoComplete 以通知 SerCx2。 SerCx2 需要此通知,在收到通知之前不会完成写入请求。

串行控制器驱动程序必须仅调用 SerCx2SystemDmaTransmitPurgeFifoComplete 才能响应对 EvtSerCx2SystemDmaTransmitPurgeFifo 函数的调用。

SerCx2 使用 BytesPurged 参数值来确定在清除传输 FIFO 之前已成功传输的字节数。 SerCx2 要求此信息完成超时的写入请求,或者传输一个或多个字节后取消的写入请求。

有关详细信息,请参阅 SerCx2 System-DMA-Transmit 事务

要求

要求 价值
最低支持的客户端 从Windows 8.1开始可用。
目标平台 普遍
标头 sercx.h
IRQL <= DISPATCH_LEVEL

另请参阅

EvtSerCx2SystemDmaTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2SYSTEMDMATRANSMIT

SERIAL_TIMEOUTS

SerCx2SystemDmaTransmitCreate