Funzione SerCx2SystemDmaTransmitPurgeFifoComplete (sercx.h)

Il metodo SerCx2SystemDmaTransmitPurgeFifoComplete notifica la versione 2 dell'estensione del framework seriale (SerCx2) che il driver del controller seriale ha completato l'eliminazione dei dati dalla trasmissione FIFO nell'hardware del controller seriale.

Sintassi

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

Parametri

[in] SystemDmaTransmit

Handle SERCX2SYSTEMDMATRANSMIT a un oggetto system-DMA-transmit. Il driver del controller seriale in precedenza denominato il metodo SerCx2SystemDmaTransmitCreate per creare questo oggetto.

[in] BytesPurged

Numero di byte di dati non inviati eliminati dal driver del controller seriale dalla trasmissione FIFO.

Valore restituito

nessuno

Osservazioni

SerCx2 chiama la funzione di callback dell'evento EvtSerCx2SystemDmaTransmitPurgeFifo , se implementata, per indicare al driver del controller seriale di terminare la transazione di trasmissione DMA del sistema corrente. SerCx2 ha avviato in precedenza questa transazione in risposta a una richiesta di scrittura (IRP_MJ_WRITE) da un client. Ad esempio, SerCx2 potrebbe chiamare questa funzione se il client annulla la richiesta di scrittura in sospeso o se la richiesta di scrittura viene interrotta. Per altre informazioni, vedere Gestione serCx2 delle richieste di lettura e scrittura.

In risposta alla chiamata EvtSerCx2SystemDmaTransmitPurgeFifo , il driver arresta il trasferimento dei dati dal buffer di scrittura alla trasmissione FIFO ed elimina eventuali dati trasferiti in precedenza nella trasmissione FIFO. Al termine dell'eliminazione, il driver del controller seriale deve chiamare SerCx2SystemDmaTransmitPurgeFifoComplete per notificare SerCx2. SerCx2 prevede questa notifica e non completa la richiesta di scrittura finché non viene notificata.

Il driver del controller seriale deve chiamare SerCx2SystemDmaTransmitPurgeFifoComplete solo in risposta a una chiamata alla funzione EvtSerCx2SystemDmaTransmitPurgeFifo .

SerCx2 usa il valore del parametro BytesPurged per determinare il numero di byte trasmessi correttamente prima che la trasmissione FIFO sia stata eliminata. SerCx2 richiede che queste informazioni completino una richiesta di scrittura che viene interrotta o una richiesta di scrittura annullata dopo la trasmissione di uno o più byte.

Per altre informazioni, vedere SerCx2 System-DMA-Transmit Transactions.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.1.
Piattaforma di destinazione Universale
Intestazione sercx.h
IRQL <= DISPATCH_LEVEL

Vedi anche

EvtSerCx2SystemDmaTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2SYSTEMDMATRANSMIT

SERIAL_TIMEOUTS

SerCx2SystemDmaTransmitCreate