다음을 통해 공유


SERCX_BUFFER_DESCRIPTOR 구조체(sercx.h)

SERCX_BUFFER_DESCRIPTOR 구조는 수신 작업 또는 전송 작업에 대한 데이터 버퍼를 설명합니다.

구문

typedef struct SERCX_BUFFER_DESCRIPTOR {
  USHORT Size;
  PUCHAR Buffer;
  ULONG  Length;
} SERCX_BUFFER_DESCRIPTOR, *PSERCX_BUFFER_DESCRIPTOR;

멤버

Size

이 구조체의 크기(바이트)입니다. SerCxRetrieveReceiveBufferSerCxRetrieveTransmitBuffer 메서드는 이 멤버를 사용하여 호출자가 사용하는 구조의 버전을 확인합니다. 이 구조체의 크기는 이후 버전의 Sercx.h 헤더 파일에서 변경될 수 있습니다.

Buffer

버퍼의 가상 메모리 주소입니다. 버퍼의 메모리가 페이징되지 않습니다.

Length

버퍼에서 사용할 수 있는 바이트 수입니다. 이 크기는 수신 또는 전송 작업으로 전송할 수 있는 최대 바이트 수를 결정합니다.

설명

직렬 컨트롤러 드라이버는 이 구조의 정보를 사용하여 수신 작업 중 메모리에서 데이터를 읽을 위치와 전송 작업 중 메모리에서 데이터를 쓸 위치를 결정합니다.

언제든지 유효한 수신 버퍼와 유효한 전송 버퍼가 하나 이상 있을 수 있습니다. 컨트롤러 드라이버는 SerCxRetrieveReceiveBuffer 메서드를 호출하여 수신 버퍼를 가져오고 SerCxRetrieveTransmitBuffer 메서드를 호출하여 전송 버퍼를 가져옵니다. 두 메서드 모두 버퍼 설명을 호출자가 할당한 SERCX_BUFFER_DESCRIPTOR 구조로 복사합니다. 이러한 메서드 중 하나에 대한 후속 호출은 수신 버퍼 또는 전송 버퍼에 대해 이전에 발급한 설명자를 각각 무효화합니다. 호출자는 더 이상 유효하지 않은 버퍼 설명자에 설명된 버퍼에 액세스해서는 안됩니다.

SerCxRetrieveReceiveBuffer 또는 SerCxRetrieveTransmitBuffer에 대한 연속 호출로 얻은 버퍼는 연속되지 않습니다.

컨트롤러 드라이버는 구조체가 SerCxRetrieveReceiveBuffer 또는 SerCxRetrieveTransmitBuffer 메서드에 전달되기 전에 SERCX_BUFFER_DESCRIPTOR 구조를 초기화하기 위해 SERCX_BUFFER_DESCRIPTOR_INIT 함수를 호출해야 합니다. 버퍼 설명자를 초기화한 후에는 다시 초기화하지 않고 다시 사용할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 부터 지원합니다.
머리글 sercx.h

추가 정보

SERCX_BUFFER_DESCRIPTOR_INIT

SerCxRetrieveReceiveBuffer

SerCxRetrieveTransmitBuffer