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