_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에 대한 정보를 포함하는 BRB_HEADER 구조체입니다.
BtAddress
원격 디바이스의 Bluetooth 주소입니다.
ChannelHandle
이전 BRB_SCO_OPEN_CHANNEL 또는 BRB_SCO_OPEN_CHANNEL_RESPONSE 요청에 대한 응답으로 Bluetooth 드라이버 스택에서 반환된 SCO 채널 핸들입니다.
TransferFlags
BRB의 기본 동작을 지정하는 플래그입니다. 유효한 플래그 값은 다음 표에 나와 있습니다.
플래그 | 설명 |
---|---|
SCO_TRANSFER_DIRECTION_IN | 이 비트가 설정되면 BRB는 SCO 채널을 통해 원격 디바이스에서 등시 데이터를 읽습니다. |
SCO_TRANSFER_DIRECTION_OUT | 이 비트가 설정되면 BRB는 SCO 채널을 통해 원격 디바이스에 등시 데이터를 씁니다. |
BufferSize
이 구조체의 Buffer 멤버가 설명한 입력 버퍼의 크기(바이트)입니다.
Buffer
입력 버퍼에 대한 포인터입니다. Buffer 멤버를 사용하지 않는 경우 이 값은 NULL이어야 합니다.
BufferMDL
MDL 입력 버퍼에 대한 포인터입니다. BufferMDL 멤버를 사용하지 않는 경우 이 값은 NULL이어야 합니다.
DataTag
SCO 쓰기
설명
SCO 연결에서 등시 데이터를 읽거나 동시 데이터를 쓰려면 프로필 드라이버가 BRB_SCO_TRANSFER 요청을 빌드하고 보내야 합니다.
각 SCO 연결은 양방향이며 에서 읽고 동시에 쓸 수 있습니다.
데이터가 도착할 때까지 또는 프로필 드라이버가 플러시할 때까지 읽기 BRB는 보류 상태로 유지됩니다. 상위 수준 드라이버는 원격 디바이스에서 들어오는 데이터를 허용하기 위해 언제든지 두 개 이상의 보류 중인 읽기 BRB가 열려 있는 것이 좋습니다.
Bluetooth 드라이버 스택은 들어오는 등시 데이터에 대한 버퍼링을 제공하지 않습니다. 따라서 하나의 읽기 IRP를 완료하고 다음 IRP를 제출하는 것 사이의 작은 간격으로 인해 데이터가 손실될 수 있습니다.
Buffer 및 BufferMDL에 NULL이 아닌 값이 모두 포함된 경우 BufferMDL이 우선합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 버전:windows Vista 이상에서 _Supported. |
머리글 | bthddi.h(Bthddi.h 포함) |