次の方法で共有


_BRB_L2CA_ACL_TRANSFER構造体 (bthddi.h)

_BRB_L2CA_ACL_TRANSFER構造体は、L2CAP チャネルから非同期データを読み取ったり、非同期データを書き込んだりするためのバッファーを記述します。

構文

struct _BRB_L2CA_ACL_TRANSFER {
  BRB_HEADER           Hdr;
  BTH_ADDR             BtAddress;
  L2CAP_CHANNEL_HANDLE ChannelHandle;
  ULONG                TransferFlags;
  ULONG                BufferSize;
  PVOID                Buffer;
  PMDL                 BufferMDL;
  LONGLONG             Timeout;
  ULONG                RemainingBufferSize;
};

メンバー

Hdr

現在の BRB に関する情報を含む BRB_HEADER 構造体。

BtAddress

リモート デバイスのアドレス。

ChannelHandle

以前の BRB_L2CA_OPEN_CHANNEL または に応答して Bluetooth ドライバー スタックによって返された L2CAP チャネル ハンドル BRB_L2CA_OPEN_CHANNEL_RESPONSE 要求。

TransferFlags

インターフェイスの基本的な動作を指定するフラグの組み合わせ。 複数のフラグを同時に設定できます。 有効なフラグ値については、次の表を参照してください。

フラグ 説明
ACL_SHORT_TRANSFER_OK このビットが設定されている場合、バッファーがいっぱいになるまでに読み取り操作を完了できます。 これは、ACL_TRANSFER_DIRECTION_INと組み合わせてのみ設定できます。
ACL_TRANSFER_DIRECTION_IN このビットが設定されている場合、データはリモート デバイスから受信されます。 このフラグは、ACL_TRANSFER_DIRECTION_OUTと組み合わせて設定することはできません。
ACL_TRANSFER_DIRECTION_OUT このビットが設定されている場合、データはリモート デバイスに送信されます。 このフラグは、ACL_TRANSFER_DIRECTION_INと組み合わせて設定することはできません。
ACL_TRANSFER_TIMEOUT 読み取り操作は、 Timeout メンバーで指定されたミリ秒数後に停止する必要があります。

BufferSize

バッファーのサイズ (バイト数)。

Buffer

入力バッファーへのポインター。

BufferMDL

MDL 入力バッファーへのポインター。

Timeout

読み取りアクションが取り消され、この時点で使用されたデータが失われるまでの期間 (ミリ秒単位)。

RemainingBufferSize

BRB 呼び出し後にバッファーに残された領域の量 (バイト単位)。

注釈

L2CAP チャネルから非同期データを読み取ったり、L2CAP チャネルに非同期データを書き込んだりするには、プロファイル ドライバーがBRB_L2CA_ACL_TRANSFER要求をビルドして送信する必要があります。

各 L2CAP 接続は双方向であり、読み取りと書き込みが同時に可能です。

タイムアウトが指定されていない場合、データが到着するまで、または取り消されるまで、読み取り要求に関連付けられている BRB は保留中のままになります。 プロファイル ドライバーは、リモート デバイスからの受信データを受け入れるために、読み取り要求を保留中のままにすることができます。

Bluetooth ドライバー スタックは受信データのバッファリングを提供するため、読み取り IRP が保留中かどうかを継続的にチェックする必要はありません。 プロファイル ドライバーは、BRB_L2CA_OPEN_CHANNEL要求に関連付けられている IncomingQueueDepth メンバーで提供するバッファリングの量を指定できます。

TransferFlags メンバーでACL_TRANSFER_TIMEOUT フラグが設定されていて、Timeout メンバーで指定された期間が経過すると、BRB_L2CA_ACL_TRANSFER要求が完了し、エラーが返されます。

要件

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

こちらもご覧ください

BRB_HEADER

BRB_L2CA_ACL_TRANSFER

BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_OPEN_CHANNEL_RESPONSE