SerCx2PioTransmitPurgeFifoComplete 函数 (sercx.h)

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

语法

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

参数

[in] PioTransmit

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

[in] BytesPurged

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

返回值

没有

言论

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

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

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

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

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

要求

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

另请参阅

EvtSerCx2PioTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2PIOTRANSMIT

SERIAL_TIMEOUTS

SerCx2PioTransmitCreate