다음을 통해 공유


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
이러한 값에 대한 자세한 내용은 SERCX_STATUS 참조하세요.

반환 값

SerCxProgressReceive 는 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.

반환 코드 설명
STATUS_INVALID_PARAMETER
BytesReceived 값이 사용 가능한 버퍼 길이를 초과합니다. 또는 ReceiveStatus 값이 잘못되었습니다.
STATUS_INVALID_DEVICE_REQUEST
메서드가 잘못된 IRQL에서 호출되었습니다. 또는 WDFDEVICE 핸들이 잘못되었습니다. 또는 드라이버가 이 수신 작업에 대한 입력 버퍼를 가져오지 못했습니다.
STATUS_CANCELLED
수신 작업이 이미 취소되었습니다.

설명

직렬 컨트롤러 드라이버는 이 메서드를 호출하여 미해결 읽기 작업의 진행률을 보고합니다. 일반적으로 직렬 컨트롤러 드라이버는 DMA 완성 콜백(드라이버가 DMA를 사용하여 데이터를 읽는 경우) 또는 전송/수신 DPC 함수(PIO를 사용하는 경우)에서 이 메서드를 호출합니다.

SerCxProgressReceive가 읽기 작업에 대한 미해결 작업을 모두 완료하지 않는 경우 호출자는 SerCxRetrieveReceiveBuffer 메서드를 다시 호출하여 새 버퍼 설명자를 가져와 데이터를 계속 받아야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 사용하여 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 sercx.h
IRQL <= DISPATCH_LEVEL

추가 정보

SERCX_STATUS

SerCxRetrieveReceiveBuffer