다음을 통해 공유


SerCxRetrieveReceiveBuffer 함수(sercx.h)

SerCxRetrieveReceiveBuffer 메서드는 직렬 포트에서 받은 데이터를 로드할 수 있는 입력 버퍼를 가져옵니다.

구문

NTSTATUS SerCxRetrieveReceiveBuffer(
  [in]      WDFDEVICE                Device,
  [in]      ULONG                    Length,
  [in, out] PSERCX_BUFFER_DESCRIPTOR BufferDescriptor
);

매개 변수

[in] Device

직렬 컨트롤러를 나타내는 프레임워크 디바이스 개체에 대한 WDFDEVICE 핸들입니다.

[in] Length

요청된 버퍼 길이(바이트)입니다. SerCxRetrieveReceiveBuffer 호출이 성공하면 호출자는 사용 가능한 공간의 길이 바이트를 포함하는 입력 버퍼를 받습니다. 버퍼의 사용 가능한 공간은 길이 바이트보다 작을 수 있습니다. SerCxRetrieveReceiveBufferBufferDescriptor 매개 변수가 가리키는 구조체의 Length 멤버에 사용 가능한 공간의 실제 바이트 수를 씁니다.

[in, out] BufferDescriptor

호출자가 할당한 SERCX_BUFFER_DESCRIPTOR 구조체에 대한 포인터입니다. 이 구조는 수신 작업에 사용할 데이터 버퍼를 설명합니다. 호출자는 이전에 이 구조를 초기화하기 위해 SERCX_BUFFER_DESCRIPTOR_INIT 함수를 호출했습니다. SerCxRetrieveTransmitBuffer 는 이 구조체의 버퍼길이 멤버에 씁니다.

반환 값

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

반환 코드 설명
STATUS_INVALID_DEVICE_REQUEST
메서드가 잘못된 IRQL에서 호출되었습니다. 또는 WDFDEVICE 핸들이 잘못되었습니다. 또는 Device 또는 BufferDescriptor 가 NULL인 경우 또는 드라이버에 이미 수신 버퍼가 있습니다.
STATUS_INFO_LENGTH_MISMATCH
SERCX_BUFFER_DESCRIPTOR 구조체에 잘못된 크기가 지정되었습니다.
STATUS_INSUFFICIENT_RESOURCES
시스템 리소스(일반적으로 메모리)를 할당할 수 없습니다.

설명

직렬 컨트롤러 드라이버는 이 메서드를 호출하여 현재 수신(읽기) 작업의 입력 데이터를 포함하는 버퍼를 획득합니다.

요구 사항

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

추가 정보

SERCX_BUFFER_DESCRIPTOR

SERCX_BUFFER_DESCRIPTOR_INIT