_BRB_SCO_OPEN_CHANNEL 구조체(bthddi.h)
_BRB_SCO_OPEN_CHANNEL 구조는 원격 디바이스에 열려는 SCO 채널 또는 원격 디바이스에서 시작된 들어오는 SCO 연결 요청을 수락하거나 거부하는 프로필 드라이버의 응답을 설명합니다.
구문
struct _BRB_SCO_OPEN_CHANNEL {
BRB_HEADER Hdr;
BTH_ADDR BtAddress;
ULONG TransmitBandwidth;
ULONG ReceiveBandwidth;
USHORT MaxLatency;
USHORT PacketType;
USHORT ContentFormat;
USHORT Reserved;
SCO_RETRANSMISSION_EFFORT RetransmissionEffort;
ULONG ChannelFlags;
ULONG CallbackFlags;
PFNSCO_INDICATION_CALLBACK Callback;
PVOID CallbackContext;
PVOID ReferenceObject;
SCO_CHANNEL_HANDLE ChannelHandle;
UCHAR Response;
};
멤버
Hdr
현재 BRB에 대한 정보를 포함하는 BRB_HEADER 구조체입니다.
BtAddress
SCO 채널을 열 원격 디바이스의 Bluetooth 주소입니다.
TransmitBandwidth
SCO 채널에 할당할 전송 대역폭(초당 바이트)입니다.
ReceiveBandwidth
SCO 채널에 할당할 수신 대역폭(초당 바이트)입니다.
MaxLatency
동기 간격 합계의 상한과 (e)SCO 창의 크기를 나타내는 값(밀리초)입니다. 가능한 값은 다음 표에 나와 있습니다.
값 | 설명 |
0x0003 0x0000 | 다음에 사용하도록 예약됩니다. |
0xFFFE 0x0004 | 채널에 대해 가능한 MaxLatency 값의 범위입니다. |
0xFFFF | 채널에 기본 설정 MaxLatency 설정이 없습니다. |
PacketType
SCO 연결에서 지원하는 데이터 패킷의 형식을 나타내는 플래그 또는 플래그 조합입니다. 이러한 SCO 패킷 유형은 Bluetooth SIG에 의해 정의됩니다. 이러한 플래그에 대한 자세한 내용은 Bluetooth 사양을 참조하세요. 가능한 값은 다음과 같습니다.
SCO_HV1
SCO_HV2
SCO_HV3
SCO_EV3
SCO_EV4
SCO_EV5
ContentFormat
채널의 오디오 음성 설정입니다. 다음 정의를 사용하여 이 멤버를 인코딩합니다.
- SCO_VS_AIR_CODING_DATA
- SCO_VS_AIR_CODING_FORMAT_ALAW
- SCO_VS_AIR_CODING_FORMAT_CVSD
- SCO_VS_AIR_CODING_FORMAT_MASK
- SCO_VS_AIR_CODING_FORMAT_MULAW
- SCO_VS_IN_CODING_ALAW
- SCO_VS_IN_CODING_LINEAR
- SCO_VS_IN_CODING_MASK
- SCO_VS_IN_CODING_MULAW
- SCO_VS_IN_DATA_FORMAT_1C
- SCO_VS_IN_DATA_FORMAT_2C
- SCO_VS_IN_DATA_FORMAT_MASK
- SCO_VS_IN_DATA_FORMAT_SM
- SCO_VS_IN_DATA_FORMAT_US
- SCO_VS_IN_SAMPLE_SIZE_8BIT
- SCO_VS_IN_SAMPLE_SIZE_16BIT
- SCO_VS_IN_SAMPLE_SIZE_MASK
- SCO_VS_PCM_BIT_POS_MASK
- SCO_VS_SETTING_DEFAULT
Reserved
다음에 사용하도록 예약됩니다. 사용하지 마십시오.
RetransmissionEffort
ASCO_RETRANSMISSION_EFFORT 채널에 대한 재전송 정책을 결정하는 열거형 값입니다.
ChannelFlags
채널 열기에 대한 요구 사항을 지정하는 플래그입니다. 유효한 플래그 값은 다음 표에 나열되어 있습니다.
플래그 | 설명 |
SCO_CF_LINK_AUTHENTICATED | 링크를 인증해야 합니다. |
SCO_CF_LINK_ENCRYPTED | 링크를 암호화해야 합니다. 이 플래그를 설정하면 SCO_CF_LINK_AUTHENTICATED 플래그도 설정됩니다. |
SCO_CF_LINK_SUPPRESS_PIN | 프로필 드라이버는 사용자에게 PIN을 묻는 메시지가 표시되지 않음을 기본 설정으로 나타냅니다. |
CallbackFlags
콜백 멤버에 할당된 함수를 클라이언트로 보내야 하는 시기를 지정하는 플래그입니다. 현재 유효한 플래그는 하나만 있습니다.
플래그 | 설명 |
SCO_CALLBACK_DISCONNECT | 원격 디바이스의 연결이 끊어지면 프로필 드라이버에 알림을 보내야 합니다. |
Callback
프로필 드라이버에서 구현하는 SCO 콜백 함수 로, Bluetooth 드라이버 스택이 를 호출하여 프로필 드라이버에 SCO 연결 변경 내용을 알려야 합니다.
CallbackContext
콜백 멤버에 지정된 콜백 함수에 전달할 컨텍스트입니다. 프로필 드라이버는 이 값을 정의합니다.
ReferenceObject
참조 수를 유지할 ObReferenceObject 및 ObDereferenceObject 에 전달할 개체에 대한 포인터입니다.
ChannelHandle
열린 채널 요청이 성공적으로 완료된 경우 SCO 채널을 식별하는 핸들입니다.
Response
로컬 서버가 들어오는 SCO 연결을 수락하거나 거부할지 여부를 나타내는 플래그입니다. 이 멤버는 BRB_SCO_OPEN_CHANNEL_RESPONSE 요청을 빌드하고 보낼 때만 사용됩니다. 유효한 플래그 값은 다음 표에 나와 있습니다.
플래그 | 설명 |
---|---|
SCO_CONNECT_RSP_RESPONSE_SUCCESS | 로컬 서버는 SCO 연결 요청을 수락합니다. |
SCO_CONNECT_RSP_RESPONSE_NO_RESOURCES | 로컬 서버는 리소스 부족으로 인해 SCO 연결 요청을 거부합니다. |
SCO_CONNECT_RSP_RESPONSE_SECURITY_BLOCK | 요청이 보안 요구 사항을 충족하지 않으므로 로컬 서버는 SCO 연결 요청을 거부합니다. |
SCO_CONNECT_RSP_RESPONSE_BAD_BD_ADDR | 로컬 서버는 지정된 Bluetooth 디바이스 주소의 연결을 허용하지 않으므로 SCO 연결 요청을 거부합니다. |
설명
SCO 채널을 열려면 프로필 드라이버가 BRB_SCO_OPEN_CHANNEL 요청을 빌드하고 보내야 합니다.
요청 전에 원격 디바이스에 대한 비동기 연결 없는 링크가 없는 경우 Bluetooth 드라이버 스택은 SCO 채널을 만들기 전에 하나를 만듭니다.
원격 디바이스에서 시작한 들어오는 SCO 연결 요청을 수락하거나 거부하려면 프로필 드라이버가 를 빌드하고 보내야 합니다. BRB_SCO_OPEN_CHANNEL_RESPONSE 요청.
Bluetooth 드라이버 스택이 프로필 드라이버의 SCO 콜백 함수를 호출하고 콜백 함수의 표시 매개 변수에 ScoIndicationRemoteConnect를 전달할 때 프로필 드라이버가 BRB_SCO_OPEN_CHANNEL_RESPONSE 요청을 빌드하고 보내야 합니다.
프로필 드라이버는 이 구조체의 Response 멤버에 적절한 값을 저장하여 연결을 수락할지 여부를 지정합니다. 이 컨텍스트에서 로컬 시스템은 서버입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 버전:windows Vista 이상에서 _Supported. |
머리글 | bthddi.h(Bthddi.h 포함) |