_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 は、データが到着するまで、またはプロファイル ドライバーによってフラッシュされるまで保留中のままになります。 上位レベルのドライバーでは、リモート デバイスからの受信データを受け入れるために、少なくとも 2 つの保留中の読み取り BRB をいつでも開くことをお勧めします。
Bluetooth ドライバー スタックは、受信アイソクロナス データのバッファリングを提供しません。 したがって、1 つの読み取り IRP の完了と次の読み取り IRP の送信の間に小さなギャップが発生すると、データが失われる可能性があります。
Buffer と BufferMDL の両方NULL 値が含まれている場合は、BufferMDL が優先されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョン:_Supported。 |
ヘッダー | bthddi.h (Bthddi.h を含む) |