다음을 통해 공유


SerCx2SystemDmaTransmitPurgeFifoComplete 함수(sercx.h)

SerCx2SystemDmaTransmitPurgeFifoComplete 메서드는 직렬 컨트롤러 드라이버가 직렬 컨트롤러 하드웨어의 전송 FIFO에서 데이터 제거를 완료했음을 SerCx2(직렬 프레임워크 확장) 버전 2에 알깁니다.

통사론

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

매개 변수

[in] SystemDmaTransmit

시스템 DMA 전송 개체에 대한 SERCX2SYSTEMDMATRANSMIT 핸들입니다. 이전에 SerCx2SystemDmaTransmitCreate 메서드를 호출한 직렬 컨트롤러 드라이버는 이 개체를 만듭니다.

[in] BytesPurged

직렬 컨트롤러 드라이버가 전송 FIFO에서 제거한 전송되지 않은 데이터의 바이트 수입니다.

반환 값

없음

발언

SerCx2는 구현된 경우 EvtSerCx2SystemDmaTransmitPurgeFifo 이벤트 콜백 함수를 호출하여 직렬 컨트롤러 드라이버에 현재 시스템 DMA 전송 트랜잭션을 종료하도록 지시합니다. SerCx2는 이전에 클라이언트의 쓰기(IRP_MJ_WRITE) 요청에 대한 응답으로 이 트랜잭션을 시작했습니다. 예를 들어 클라이언트가 보류 중인 쓰기 요청을 취소하거나 쓰기 요청 시간이 초과된 경우 SerCx2에서 이 함수를 호출할 수 있습니다. 자세한 내용은 읽기 및 쓰기 요청SerCx2 처리를 참조하세요.

EvtSerCx2SystemDmaTransmitPurgeFifo 호출에 대한 응답으로 드라이버는 쓰기 버퍼에서 전송 FIFO로의 데이터 전송을 중지하고 전송 FIFO에 남아 있는 이전에 전송된 데이터를 삭제합니다. 제거가 완료되면 직렬 컨트롤러 드라이버가 SerCx2SystemDmaTransmitPurgeFifoComplete 호출하여 SerCx2에 알려야 합니다. SerCx2는 이 알림을 예상하며, 알림을 받을 때까지 쓰기 요청을 완료하지 않습니다.

직렬 컨트롤러 드라이버는 EvtSerCx2SystemDmaTransmitPurgeFifo 함수에 대한 호출에 대한 응답으로만 SerCx2SystemDmaTransmitPurgeFifoComplete 호출해야 합니다.

SerCx2는 BytesPurged 매개 변수 값을 사용하여 전송 FIFO가 제거되기 전에 성공적으로 전송된 바이트 수를 결정합니다. SerCx2에서는 시간이 초과되는 쓰기 요청 또는 하나 이상의 바이트가 전송된 후 취소된 쓰기 요청을 완료하려면 이 정보가 필요합니다.

자세한 내용은 SerCx2 System-DMA-Transmit 트랜잭션참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows 8.1 시작해서 사용할 수 있습니다.
대상 플랫폼 보편적
헤더 sercx.h
IRQL <= DISPATCH_LEVEL

참고 항목

EvtSerCx2SystemDmaTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2SYSTEMDMATRANSMIT

SERIAL_TIMEOUTS

SerCx2SystemDmaTransmitCreate