Поделиться через


Функция SerCx2SystemDmaTransmitPurgeFifoComplete (sercx.h)

Метод SerCx2SystemDmaTransmitPurgeFifoComplete уведомляет версию 2 расширения последовательной платформы (SerCx2), что драйвер последовательного контроллера завершил очистку данных от передачи FIFO в оборудовании последовательного контроллера.

Синтаксис

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

Параметры

[in] SystemDmaTransmit

Дескриптор SERCX2SYSTEMDMATRANSMIT объекту передачи system-DMA. Драйвер последовательного контроллера ранее вызвал метод SerCx2SystemDmaTransmitCreate для создания этого объекта.

[in] BytesPurged

Количество байтов неотступных данных, которые драйвер последовательного контроллера очищал от передачи FIFO.

Возвращаемое значение

Никакой

Замечания

SerCx2 вызывает функцию обратного вызова событий EvtSerCx2SystemDmaTransmitPurgeFifo, если она реализована, чтобы сообщить драйверу последовательного контроллера завершить текущую транзакцию передачи системы-DMA. SerCx2 ранее инициировал эту транзакцию в ответ на запрос записи (IRP_MJ_WRITE) от клиента. Например, SerCx2 может вызвать эту функцию, если клиент отменяет ожидающий запрос на запись или время ожидания записи. Дополнительные сведения см. в обработке запросов на чтение и записьSerCx2.

В ответ на вызов EvtSerCx2SystemDmaTransmitPurgeFifo драйвер останавливает передачу данных из буфера записи на передачу FI FO и удаляет все ранее переданные данные, которые остаются в передаче FIFO. После завершения очистки драйвер последовательного контроллера должен вызвать SerCx2SystemDmaTransmitPurgeFifoComplete для уведомления SerCx2. SerCx2 ожидает это уведомление и не завершает запрос на запись, пока не будет уведомлен.

Драйвер последовательного контроллера должен вызывать SerCx2SystemDmaTransmitPurgeFifoComplete только в ответ на вызов функции EvtSerCx2SystemDmaTransmitPurgeFifo.

SerCx2 использует значение параметра BytesPurged, чтобы определить, сколько байтов успешно передано до очистки FIFO передачи. SerCx2 требует, чтобы эти сведения завершали запрос на запись, который истекает, или запрос на запись, отмененный после передачи одного или нескольких байтов.

Дополнительные сведения см. в разделе SerCx2 System-DMA-Transmit Transactions.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 8.1.
целевая платформа Всеобщий
заголовка sercx.h
IRQL <= DISPATCH_LEVEL

См. также

EvtSerCx2SystemDmaTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2SYSTEMDMATRANSMIT

SERIAL_TIMEOUTS

SerCx2SystemDmaTransmitCreate