次の方法で共有


_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 を含む)

こちらもご覧ください

BRB_HEADER

BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

ObDereferenceObject

ObReferenceObject

SCO コールバック関数

SCO_RETRANSMISSION_EFFORT