SerCxProgressTransmit 함수(sercx.h)
SerCxProgressTransmit 메서드는 현재 쓰기(전송) 작업의 진행률을 보고합니다.
구문
NTSTATUS SerCxProgressTransmit(
[in] WDFDEVICE Device,
[in] ULONG BytesTransmitted,
[in] SERCX_STATUS TransmitStatus
);
매개 변수
[in] Device
직렬 컨트롤러를 나타내는 프레임워크 디바이스 개체에 대한 WDFDEVICE 핸들입니다.
[in] BytesTransmitted
SerCxRetrieveTransmitBuffer 메서드에 대한 최신 호출에서 가져온 전송 버퍼에서 호출자가 복사한 데이터 바이트 수입니다.
[in] TransmitStatus
전송 작업의 현재 상태. 이 매개 변수를 다음 값 중 하나로 설정합니다.
- SerCxStatusSuccess
- SerCxStatusCancelled
참고SerCxStatusTimeout 값은 수신 작업에만 유효합니다. 전송 작업에 대한 간격 제한 시간을 지정할 수 없습니다. 자세한 내용은 SERIAL_TIMEOUTS 참조하세요.
반환 값
SerCxProgressTransmit 는 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 코드 | 설명 |
---|---|
|
BytesTransmitted 값이 사용 가능한 버퍼 길이를 초과합니다. 또는 TransmitStatus 값이 잘못되었습니다. |
|
메서드가 잘못된 IRQL에서 호출되었습니다. 또는 WDFDEVICE 핸들이 잘못되었습니다. 또는 드라이버가 이 전송 작업에 대한 출력 버퍼를 가져오지 못했습니다. |
|
전송 작업이 이미 취소되었습니다. |
설명
직렬 컨트롤러 드라이버는 이 메서드를 호출하여 미해결 쓰기 작업의 진행률을 보고합니다. 일반적으로 직렬 컨트롤러 드라이버는 DMA 완성 콜백(드라이버가 DMA를 사용하여 데이터를 읽는 경우) 또는 전송/수신 DPC 함수(PIO를 사용하는 경우)에서 이 메서드를 호출합니다.
SerCxProgressTransmit 호출이 쓰기 작업에 대한 모든 미해결 작업을 완료하지 않는 경우 호출자는 SerCxRetrieveTransmitBuffer를 다시 호출하여 새 버퍼 설명자를 가져와서 데이터를 계속 전송해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 사용하여 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | sercx.h |
IRQL | <= DISPATCH_LEVEL |