SerCx2PioTransmitPurgeFifoComplete-Funktion (sercx.h)

Die SerCx2PioTransmitPurgeFifoComplete-Methode benachrichtigt Version 2 der seriellen Framework-Erweiterung (SerCx2), dass der serielle Controllertreiber die Löschung der Daten aus dem übertragenen FIFO in der seriellen Controllerhardware abgeschlossen hat.

Syntax

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

Parameter

[in] PioTransmit

Ein SERCX2PIOTRANSMIT Handle für ein PIO-Übertragungsobjekt. Der serielle Controllertreiber hat zuvor die SerCx2PioTransmitCreate-Methode aufgerufen, um dieses Objekt zu erstellen.

[in] BytesPurged

Die Anzahl der Bytes an nicht gesendeten Daten, die der treiber des seriellen Controllers aus dem übertragenen FIFO gelöscht hat.

Rückgabewert

Keine

Bemerkungen

SerCx2 ruft die Ereignisrückruffunktion EvtSerCx2PioTransmitPurgeFifo auf, wenn sie implementiert ist, um die aktuelle PIO-Übertragungstransaktion zu beenden. SerCx2 hat diese Transaktion zuvor als Reaktion auf eine Schreibanforderung (IRP_MJ_WRITE) von einem Client initiiert. Beispielsweise kann SerCx2 diese Funktion aufrufen, wenn der Client die ausstehende Schreibanforderung abbricht oder ein Zeitlimit für die Schreibanforderung besteht. Weitere Informationen finden Sie unter SerCx2– Behandlung von Lese- und Schreibanforderungen.

Als Reaktion auf den Funktionsaufruf EvtSerCx2PioTransmitPurgeFifo verwirft der Treiber zunächst alle Daten, die in der übertragenen FIFO verbleiben; dann muss der Treiber SerCx2PioTransmitPurgeFifoComplete aufrufen, um SerCx2 zu benachrichtigen. SerCx2 erwartet diese Benachrichtigung und schließt die Schreibanforderung erst ab, wenn sie benachrichtigt wird.

Der serielle Controllertreiber muss SerCx2PioTransmitPurgeFifoComplete nur als Reaktion auf einen Aufruf der EvtSerCx2PioTransmitPurgeFifo-Funktion aufrufen.

SerCx2 verwendet den BytesPurged-Parameterwert , um zu bestimmen, wie viele Bytes erfolgreich übertragen wurden, bevor die Übertragungs-FIFO gelöscht wurde. SerCx2 erfordert diese Informationen, um eine Schreibanforderung abzuschließen, die ein Zeitüberschreitung aufweist, oder eine Schreibanforderung, die abgebrochen wird, nachdem ein oder mehrere Bytes übertragen wurden.

Weitere Informationen finden Sie unter SerCx2 PIO-Transmit Transactions.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.1.
Zielplattform Universell
Header sercx.h
IRQL <= DISPATCH_LEVEL

Weitere Informationen

EvtSerCx2PioTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2PIOTRANSMIT

SERIAL_TIMEOUTS

SerCx2PioTransmitCreate