_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 の送信の間に小さなギャップが発生すると、データが失われる可能性があります。

BufferBufferMDL の両方に NULL 以外の値が含まれている場合は、BufferMDL が優先されます。

要件

要件
サポートされている最小のクライアント バージョン:Windows Vista 以降の_Supported。
Header bthddi.h (Bthddi.h を含む)

こちらもご覧ください

BRB_HEADER

BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

BRB_SCO_TRANSFER