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 |