Freigeben über


SerCx2SystemDmaTransmitPurgeFifoComplete-Funktion (sercx.h)

Die SerCx2SystemDmaTransmitPurgeFifoComplete Methode benachrichtigt Version 2 der seriellen Framework-Erweiterung (SerCx2), dass der serielle Controllertreiber die Daten aus dem übertragenen FIFO in der seriellen Controllerhardware löscht.

Syntax

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

Parameter

[in] SystemDmaTransmit

Ein SERCX2SYSTEMDMATRANSMIT Handle zu einem System-DMA-Transmissionsobjekt. Der serielle Controllertreiber hat zuvor den SerCx2SystemDmaTransmitCreate Methode aufgerufen, um dieses Objekt zu erstellen.

[in] BytesPurged

Die Anzahl der Bytes von nicht gesendeten Daten, die der serielle Controllertreiber aus dem FIFO gelöscht hat.

Rückgabewert

Nichts

Bemerkungen

SerCx2 ruft die EvtSerCx2SystemDmaTransmitPurgeFifo Ereignisrückruffunktion auf, wenn sie implementiert ist, den seriellen Controllertreiber anweisen, die aktuelle System-DMA-Ü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 wenn die Schreibanforderung ausfällt. Weitere Informationen finden Sie unter SerCx2 Handling of Read and Write Requests.

Als Reaktion auf den EvtSerCx2SystemDmaTransmitPurgeFifo Aufruf stoppt der Treiber die Übertragung von Daten vom Schreibpuffer an das FIFO und verwirft alle zuvor übertragenen Daten, die im Übertragungs-FIFO verbleiben. Nach Abschluss der Bereinigung muss der serielle Controllertreiber SerCx2SystemDmaTransmitPurgeFifoComplete aufrufen, um SerCx2 zu benachrichtigen. SerCx2 erwartet diese Benachrichtigung und schließt die Schreibanforderung erst ab, wenn sie benachrichtigt wird.

Der serielle Controllertreiber muss SerCx2SystemDmaTransmitPurgeFifoComplete nur als Reaktion auf einen Aufruf der EvtSerCx2SystemDmaTransmitPurgeFifo Funktion aufrufen.

SerCx2 verwendet den BytesPurged Parameterwert, um zu bestimmen, wie viele Bytes erfolgreich übertragen wurden, bevor die FiFO-Übertragung gelöscht wurde. SerCx2 erfordert, dass diese Informationen eine Schreibanforderung abschließen, die ausfällt, oder eine Schreibanforderung, die abgebrochen wird, nachdem mindestens ein Byte übertragen wurde.

Weitere Informationen finden Sie unter SerCx2 System-DMA-Transmit Transactions.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.1.
Zielplattform- Universal
Header- sercx.h
IRQL- <= DISPATCH_LEVEL

Siehe auch

EvtSerCx2SystemDmaTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2SYSTEMDMATRANSMIT

SERIAL_TIMEOUTS

SerCx2SystemDmaTransmitCreate