_BRB_SCO_TRANSFER 구조체(bthddi.h)

_BRB_SCO_TRANSFER 구조는 등시 데이터를 읽거나 SCO 채널에 등시 데이터를 쓰는 버퍼를 설명합니다.

구문

struct _BRB_SCO_TRANSFER {
  BRB_HEADER         Hdr;
  BTH_ADDR           BtAddress;
  SCO_CHANNEL_HANDLE ChannelHandle;
  ULONG              TransferFlags;
  ULONG              BufferSize;
  PVOID              Buffer;
  PMDL               BufferMDL;
  ULONGLONG          DataTag;
};

구성원

Hdr

현재 BRB에 대한 정보를 포함하는 BRBHEADER_ 구조체입니다.

BtAddress

원격 디바이스의 Bluetooth 주소입니다.

ChannelHandle

이전 BRBSCOOPENCHANNEL 또는 BRBSCOOPENCHANNELRESPONSE___ ___요청에 대한 응답으로 Bluetooth 드라이버 스택에서 반환된 SCO_ 채널 핸들입니다.

TransferFlags

BRB의 기본 동작을 지정하는 플래그입니다. 유효한 플래그 값은 다음 표에 나와 있습니다.

플래그 설명
SCO_TRANSFER_DIRECTION_IN 이 비트가 설정되면 BRB는 원격 디바이스에서 SCO 채널을 통해 등시 데이터를 읽습니다.
SCO_TRANSFER_DIRECTION_OUT 이 비트가 설정되면 BRB는 SCO 채널을 통해 원격 디바이스에 등시 데이터를 씁니다.

BufferSize

이 구조체의 Buffer 멤버에서 설명하는 입력 버퍼의 크기(바이트)입니다.

Buffer

입력 버퍼에 대한 포인터입니다. 버퍼 멤버를 사용하지 않는 경우 이 값은 NULL 이어야 합니다.

BufferMDL

MDL 입력 버퍼에 대한 포인터입니다. BufferMDL 멤버를 사용하지 않는 경우 이 값은 NULL 이어야 합니다.

DataTag

SCO 쓰기

설명

동시 데이터를 SCO 연결에서 읽거나 쓰기 위해 프로필 드라이버는 BRBSCOTRANSFER__ 요청을 빌드하고 보내야 합니다.

각 SCO 연결은 양방향이며 동시에 읽고 쓸 수 있습니다.

데이터가 도착할 때까지 또는 프로필 드라이버가 플러시할 때까지 읽기 BRB는 보류 상태로 유지됩니다. 상위 수준 드라이버는 원격 디바이스에서 들어오는 데이터를 수락하기 위해 보류 중인 읽기 BRB가 두 개 이상 열려 있는 것이 좋습니다.

Bluetooth 드라이버 스택은 들어오는 등시 데이터에 대한 버퍼링을 제공하지 않습니다. 따라서 하나의 읽기 IRP 완료와 다음 IRP 제출 간의 간격이 작으면 데이터가 손실될 수 있습니다.

BufferBufferMDLNULL 이 아닌 값이 모두 포함된 경우 BufferMDL 이 우선적으로 적용됩니다.

요구 사항

   
지원되는 최소 클라이언트 버전:_Windows Vista 이상에서 지원됩니다.
헤더 bthddi.h(Bthddi.h 포함)

참조

BRBHEADER_

BRBSCOOPENCHANNEL___

BRBSCOOPENCHANNELRESPONSE____

BRBSCOTRANSFER__