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
반환 값
SerCxProgressTransmit 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 코드 | 묘사 |
---|---|
|
BytesTransmitted 값이 사용 가능한 버퍼 길이를 초과합니다. 또는 TransmitStatus 값이 잘못되었습니다. |
|
메서드가 잘못된 IRQL에서 호출되었습니다. 또는 WDFDEVICE 핸들이 잘못되었습니다. 또는 드라이버가 이 전송 작업에 대한 출력 버퍼를 얻지 못했습니다. |
|
전송 작업이 이미 취소되었습니다. |
발언
직렬 컨트롤러 드라이버는 이 메서드를 호출하여 미해결 쓰기 작업에 대한 진행률을 보고합니다. 일반적으로 직렬 컨트롤러 드라이버는 DMA 완성 콜백(드라이버가 DMA를 사용하여 데이터를 읽는 경우) 또는 전송/수신 DPC 함수(PIO를 사용하는 경우)에서 이 메서드를 호출합니다.
SerCxProgressTransmit 호출이 쓰기 작업에 대한 모든 미해결 작업을 완료하지 않는 경우 호출자는 SerCxRetrieveTransmitBuffer 다시 호출하여 새 버퍼 설명자를 가져와 데이터를 계속 전송해야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8부터 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | sercx.h |
IRQL |
<= DISPATCH_LEVEL |