_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。 |
Header | bthddi.h (Bthddi.h を含む) |