_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
A 채널에 대한 재전송 정책을 결정하는 열거형 값을 SCO_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 포함) |