Share via


Função SerCx2SystemDmaTransmitPurgeFifoComplete (sercx.h)

O método SerCx2SystemDmaTransmitPurgeFifoComplete notifica a versão 2 da extensão da estrutura serial (SerCx2) de que o driver do controlador serial concluiu a limpeza dos dados do FIFO de transmissão no hardware do controlador serial.

Sintaxe

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

Parâmetros

[in] SystemDmaTransmit

Um identificador SERCX2SYSTEMDMATRANSMIT para um objeto system-DMA-transmit. O driver do controlador serial anteriormente chamou o método SerCx2SystemDmaTransmitCreate para criar esse objeto.

[in] BytesPurged

O número de bytes de dados não recuos que o driver do controlador serial limpou do FIFO de transmissão.

Retornar valor

Nenhum

Comentários

SerCx2 chama a função de retorno de chamada de evento EvtSerCx2SystemDmaTransmitPurgeFifo , se ela for implementada, para instruir o driver do controlador serial a encerrar a transação atual de transmissão de DMA do sistema. O SerCx2 iniciou essa transação anteriormente em resposta a uma solicitação de gravação (IRP_MJ_WRITE) de um cliente. Por exemplo, SerCx2 poderá chamar essa função se o cliente cancelar a solicitação de gravação pendente ou se a solicitação de gravação atingir o tempo limite. Para obter mais informações, consulte Tratamento serCx2 de solicitações de leitura e gravação.

Em resposta à chamada EvtSerCx2SystemDmaTransmitPurgeFifo , o driver interrompe a transferência de dados do buffer de gravação para o FIFO de transmissão e descarta todos os dados transferidos anteriormente que permanecem no FIFO de transmissão. Depois que a limpeza for concluída, o driver do controlador serial deverá chamar SerCx2SystemDmaTransmitPurgeFifoComplete para notificar o SerCx2. O SerCx2 espera essa notificação e não conclui a solicitação de gravação até que ela seja notificada.

O driver do controlador serial deve chamar SerCx2SystemDmaTransmitPurgeFifoComplete somente em resposta a uma chamada para a função EvtSerCx2SystemDmaTransmitPurgeFifo .

SerCx2 usa o valor do parâmetro BytesPurged para determinar quantos bytes foram transmitidos com êxito antes da limpeza do FIFO de transmissão. O SerCx2 exige que essas informações concluam uma solicitação de gravação que atinge o tempo limite ou uma solicitação de gravação cancelada depois que um ou mais bytes são transmitidos.

Para obter mais informações, consulte SerCx2 System-DMA-Transmit Transactions.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.1.
Plataforma de Destino Universal
Cabeçalho sercx.h
IRQL <= DISPATCH_LEVEL

Confira também

EvtSerCx2SystemDmaTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2SYSTEMDMATRANSMIT

SERIAL_TIMEOUTS

SerCx2SystemDmaTransmitCreate