_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 が動的に生成されます。 プロファイル ドライバーが入力 でゼロ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 Connectionsの受け入れ」を参照してください。
プロファイル ドライバーは、別のドライバーによって既に登録されている PSM を登録できません。 これを試みると、STATUS_ALREADY_COMMITTED エラーが返されます。 BRB_REGISTER_PSM要求は SDP レコードには影響しません。 PSM を登録した後、ドライバーは SDP 経由で PSM をアドバタイズできます。 IOCTL_BTH_SDP_SUBMIT_RECORD Ioctl。
以前に登録した PSM の登録を解除するには、プロファイル ドライバーでBRB_UNREGISTER_PSM要求をビルドして送信する必要があります。 プロファイル ドライバーでは、現在登録されている PSM を指定する必要があります。 プロファイル ドライバーが Psm メンバーの値が 0 のBRB_REGISTER_PSM要求を送信する場合は、動的に割り当てられた PSM 値をBRB_UNREGISTER_PSM要求で渡す必要があります。
BRB_UNREGISTER_PSM要求は、PSM への接続を試みる SDP レコードには影響しません。 プロファイル ドライバーは、関連する SDP レコードを削除できます。 IOCTL_BTH_SDP_REMOVE_RECORD Ioctl。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | バージョン:Windows Vista 以降の_Supported。 |
Header | bthddi.h (Bthddi.h を含む) |