SerCx2PioTransmitPurgeFifoComplete 函数 (sercx.h)

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

语法

void SerCx2PioTransmitPurgeFifoComplete(
  [in] SERCX2PIOTRANSMIT PioTransmit,
  [in] ULONG             BytesPurged
);

参数

[in] PioTransmit

一个 SERCX2PIOTRANSMIT 句柄,用于 PIO 传输对象。 串行控制器驱动程序以前调用 SerCx2PioTransmitCreate 方法来创建此对象。

[in] BytesPurged

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

返回值

备注

SerCx2 调用 EvtSerCx2PioTransmitPurgeFifo 事件回调函数(如果实现)以结束当前的 PIO 传输事务。 SerCx2 此前已启动此事务,以响应来自客户端的写入 ( IRP_MJ_WRITE) 请求。 例如,如果客户端取消挂起的写入请求,或者写入请求超时,则 SerCx2 可能会调用此函数。有关详细信息,请参阅 SerCx2 读取和写入请求的处理

为了响应 EvtSerCx2PioTransmitPurgeFifo 函数调用,驱动程序首先放弃传输 FIFO 中保留的任何数据;然后驱动程序必须调用 SerCx2PioTransmitPurgeFifoComplete 来通知 SerCx2。 SerCx2 需要此通知,在收到通知之前不会完成写入请求。

串行控制器驱动程序必须仅在响应对 EvtSerCerCx2PioTransmitPurgeFifoFifo 函数的调用时调用 SerCx2PioTransmitPurgeFifo

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

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

要求

   
最低受支持的客户端 从Windows 8.1开始可用。
目标平台 通用
标头 sercx.h
IRQL <= DISPATCH_LEVEL

另请参阅

EvtSerCx2PioTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2PIOTRANSMIT

SERIAL_TIMEOUTS

SerCx2PioTransmitCreate