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 |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기