_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。 如果配置檔驅動程式將此值設定為零,就會動態產生 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 成員中傳回。
藍牙驅動程式堆疊會為下列配置檔註冊 PSM:HCRP、HID、PAN、SDP 和 RFCOMM。
如需 L2CAP 伺服器和 PSM 的詳細資訊,請參閱在藍牙配置檔驅動程式中接受 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 成員中值為零的BRB_REGISTER_PSM要求,則動態指派的 PSM 值應該在BRB_UNREGISTER_PSM要求中傳遞。
BRB_UNREGISTER_PSM要求不會影響嘗試連線到 PSM 的 SDP 記錄。 配置文件驅動程式可以藉由傳送 來移除相關的 SDP 記錄 IOCTL_BTH_SDP_REMOVE_RECORD IOCTL。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista 和更新版本中的版本:_Supported。 |
標頭 | bthddi.h (包含 Bthddi.h) |