_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 を含む) |