_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 チャネルに割り当てられる伝送帯域幅 (1 秒あたりのバイト数)。
ReceiveBandwidth
SCO チャネルに割り当てられる受信帯域幅 (1 秒あたりのバイト数)。
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
Callback メンバーに割り当てられた関数をクライアントに送信するタイミングを指定するフラグ。 現在、有効なフラグは 1 つだけです。
フラグ | 説明 |
SCO_CALLBACK_DISCONNECT | リモート デバイスが切断されると、プロファイル ドライバーに通知を受け取る必要があります。 |
Callback
プロファイル ドライバーによって実装される SCO コールバック関数 。Bluetooth ドライバー スタックがを呼び出して、SCO 接続への変更についてプロファイル ドライバーに通知する必要があります。
CallbackContext
Callback メンバーで指定されたコールバック関数に渡すコンテキスト。 プロファイル ドライバーは、この値を定義します。
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 コールバック関数を呼び出し、コールバック関数の Indication パラメーターに ScoIndicationRemoteConnect を渡すときに、BRB_SCO_OPEN_CHANNEL_RESPONSE要求をビルドして送信する必要があります。
プロファイル ドライバーは、この構造体の Response メンバーに適切な値を格納することによって、接続を受け入れる必要があるかどうかを指定します。 このコンテキストでは、ローカル システムはサーバーです。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | バージョン:Windows Vista 以降の_Supported。 |
Header | bthddi.h (Bthddi.h を含む) |