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 Transactions

規格需求

需求
最低支援的用戶端 從 Windows 8.1 開始提供。
目標平台 Universal
標頭 sercx.h
IRQL <= DISPATCH_LEVEL

另請參閱

EvtSerCx2PioTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2PIOTRANSMIT

SERIAL_TIMEOUTS

SerCx2PioTransmitCreate