次の方法で共有


_BRB_PSM構造体 (bthddi.h)

_BRB_PSM構造体は、登録または登録解除するプロトコル/サービス マルチプレクサー (PSM) を記述します。

構文

struct _BRB_PSM {
  BRB_HEADER Hdr;
  USHORT     Psm;
};

メンバーズ

Hdr

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

Psm

_BRB_PSM構造体が BRB_REGISTER_PSM BRB 呼び出しの入力として渡されると、プロファイル ドライバーが登録を試みる PSM です。 プロファイル ドライバーでこの値を 0 に設定すると、PSM が動的に生成されます。 プロファイル ドライバーが入力時に 0 BRB_REGISTER_PSM 指定した場合、出力時に、このメンバーには登録された PSM が含まれます。

_BRB_PSM構造体が BRB_UNREGISTER_PSM BRB 呼び出しの入力として渡されると、プロファイル ドライバーが登録解除を試みる PSM です。 この値は、現在登録されている PSM である必要があります。 有効な PSM 値の詳細については、「解説」セクションを参照してください。

一部の PSM は、Windows で使用するために予約されています。

SDP: 0x01

RFCOMM: 0x03

HID コントロール: 0x11

HID データ: 0x13

BNEP: 0x0F

備考

PSM を登録するには、プロファイル ドライバーがビルド し、BRB_REGISTER_PSM 要求 送信する必要があります。

PSM が登録されると、プロファイル ドライバーはリモート デバイスから接続通知を受信し、ビルドして送信できます受信接続を受け入れる要求を BRB_L2CA_OPEN_CHANNEL_RESPONSE します。

プロファイル ドライバーは、特定の PSM を指定するか、Psm メンバーでPSM_INVALIDを指定して PSM を動的に生成することを要求できます。 プロファイル ドライバーがPSM_INVALIDを指定した場合、出力時に、割り当てられた PSM は構造体の Psm メンバーで返されます。

Bluetooth ドライバー スタックは、HCRP、HID、PAN、SDP、RFCOMM の各プロファイルの PSM を登録します。

L2CAP サーバーと PSM の詳細については、「Bluetooth プロファイル ドライバー での L2CAP 接続の受け入れ」を参照してください。

プロファイル ドライバーは、別のドライバーによって既に登録されている PSM を登録できません。 これを試みると、STATUS_ALREADY_COMMITTED エラーが返されます。 BRB_REGISTER_PSM 要求は SDP レコードには影響しません。 PSM を登録した後、ドライバーは SDP 経由で PSM をアドバタイズできます。IOCTL を IOCTL_BTH_SDP_SUBMIT_RECORD します。

以前に登録した PSM の登録を解除するには、プロファイル ドライバーをビルド し、BRB_UNREGISTER_PSM 要求 送信する必要があります。 プロファイル ドライバーでは、現在登録されている PSM を指定する必要があります。 プロファイル ドライバーが、Psm メンバーの値が 0 のBRB_REGISTER_PSM要求を送信する場合は、動的に割り当てられた PSM 値をBRB_UNREGISTER_PSM要求で渡す必要があります。

BRB_UNREGISTER_PSM 要求は、PSM への接続を試みる SDP レコードには影響しません。 プロファイル ドライバーは、関連する SDP レコードを削除できます。IOCTL を IOCTL_BTH_SDP_REMOVE_RECORD します。

必要条件

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

関連項目

BRB_HEADER

BRB_L2CA_OPEN_CHANNEL_RESPONSE

BRB_REGISTER_PSM

BRB_UNREGISTER_PSM

IOCTL_BTH_SDP_REMOVE_RECORD

IOCTL_BTH_SDP_SUBMIT_RECORD