SerCxRetrieveTransmitBuffer 함수(sercx.h)

SerCxRetrieveTransmitBuffer 메서드는 직렬 포트로 전송할 준비가 된 데이터를 포함하는 출력 버퍼를 가져옵니다.

구문

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

매개 변수

[in] Device

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

[in] Length

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

[in, out] BufferDescriptor

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

반환 값

SerCxRetrieveTransmitBuffer 는 성공하면 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