Condividi tramite


Funzione SerCx2SystemDmaTransmitPurgeFifoComplete (sercx.h)

Il metodo SerCx2SystemDmaTransmitPurgeFifoComplete notifica alla 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 di trasmissione DMA di sistema. Il driver del controller seriale precedentemente denominato SerCx2SystemDmaTransmitCreate metodo 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 il EvtSerCx2SystemDmaTransmitPurgeFifo funzione di callback degli eventi, se implementata, per indicare al driver del controller seriale di terminare la transazione di trasmissione DMA di 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 scade. Per altre informazioni, vedere SerCx2 Handling of Read and Write Requests.

In risposta alla chiamata EvtSerCx2SystemDmaTransmitPurgeFifo, il driver interrompe il trasferimento dei dati dal buffer di scrittura alla trasmissione FIFO e rimuove tutti i dati trasferiti in precedenza che rimangono nel FIFO di trasmissione. Al termine dell'eliminazione, il driver del controller seriale deve chiamare SerCx2SystemDmaTransmitPurgeFifoComplete per notificare a SerCx2. SerCx2 prevede questa notifica e non completa la richiesta di scrittura fino a quando non viene inviata una notifica.

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

SerCx2 usa il valore del parametro bytepurged per determinare il numero di byte trasmessi correttamente prima che la trasmissione FIFO sia stata ripulita. SerCx2 richiede che queste informazioni completino una richiesta di scrittura che si verifica il timeout o una richiesta di scrittura annullata dopo la trasmissione di uno o più byte.

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

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 8.1.
piattaforma di destinazione Universale
intestazione sercx.h
IRQL <= DISPATCH_LEVEL

Vedere anche

EvtSerCx2SystemDmaTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2SYSTEMDMATRANSMIT

SERIAL_TIMEOUTS

SerCx2SystemDmaTransmitCreare