共用方式為


_BRB_L2CA_REGISTER_SERVER結構 (bthddi.h)

配置文件驅動程式會使用 _BRB_L2CA_REGISTER_SERVER 結構,將本身註冊為能夠從遠端藍牙裝置接收 L2CAP 連線的伺服器。

語法

struct _BRB_L2CA_REGISTER_SERVER {
  BRB_HEADER                     Hdr;
  BTH_ADDR                       BtAddress;
  USHORT                         PSM;
  ULONG                          IndicationFlags;
  PFNBTHPORT_INDICATION_CALLBACK IndicationCallback;
  PVOID                          IndicationCallbackContext;
  PVOID                          ReferenceObject;
  OUT L2CAP_SERVER_HANDLE        ServerHandle;
};

成員

Hdr

包含目前 BRB 相關信息 的BRB_HEADER 結構。

BtAddress

要接收通知的遠端藍牙裝置位址。 指定 BTH_ADDR_NULL 以接收任何連入連線的通知。

PSM

接受連線要求的通訊協定/服務多任務器 (PSM) 。

IndicationFlags

選擇性旗標或旗標組合,指出配置檔驅動程式是否除了連線通知之外,還會接受配對通知。 下表列出可能的旗標設定。

旗標 描述
INDICATION_PAIR_DEVICE 配置檔驅動程式會在裝置配對時接受通知。
INDICATION_UNPAIR_DEVICE 配置文件驅動程式會在裝置未配對時接受通知。
INDICATION_UNPERSONALIZE_DEVICE 配置文件驅動程式會在裝置未個人化時接受通知。

IndicationCallback

由配置檔驅動程序實作的 L2CAP 回呼函式,藍牙驅動程式堆疊應該呼叫 以通知配置檔驅動程式有關傳入 L2CAP 連線。

IndicationCallbackContext

要傳遞至 IndicationCallback 成員中所指定回呼函式的內容。

ReferenceObject

要傳遞至 ObReferenceObjectObDereferenceObject 函式以維護參考計數的物件指標。 只要驅動程式堆疊可以呼叫 IndicationCallback 成員中指定的回呼函式,配置檔驅動程式應該會以這樣的方式提供這個物件,讓藍牙驅動程式堆疊可以增加物件的計數。 當配置檔驅動程式 建置並傳送 時,藍牙驅動程式堆疊將會減少對象的參考計數 BRB_L2CA_UNREGISTER_SERVER 要求。

ServerHandle

如果成功傳回,則為 L2CAP 伺服器的句柄。 當配置檔驅動程式不應該再收到遠端連線指示時,它應該將此句柄傳遞至 BRB_L2CA_UNREGISTER_SERVER

備註

若要將本身註冊為 L2CAP 伺服器,配置檔驅動程式應該建置並傳送 BRB_L2CA_REGISTER_SERVER 要求。

配置文件驅動程式註冊本身之後,它應該接著建置並傳送BRB_REGISTER_PSM要求,讓藍牙驅動程式堆疊接受來自 PSM 的連線。

如果成功,當遠端裝置嘗試在特定 PSM 上建立配置檔驅動程式的 L2CAP 連線時,藍牙驅動程式堆疊就會通知配置檔驅動程式。

配置文件驅動程式可以指定零 _BRB_L2CA_REGISTER_SERVER 結構的 Psm 成員,這表示未指定 PSM,而且配置檔驅動程式隨後會發出 BRB_REGISTER_PSM BRB 來取得動態 PSM 來註冊連線通知。 如需 PSM 的詳細資訊,請參閱 _BRB_PSM

在設定檔驅動程式自行註冊之後,藍牙驅動程式堆疊可以在遠端裝置嘗試連線到它時通知它,方法是呼叫配置檔驅動程序實作的 L2CAP 回調函 式,並在 IndicationCallback 成員中指定 。

如需 L2CAP 伺服器和 PSM 的詳細資訊,請參閱在藍牙配置檔驅動程式中接受 L2CAP Connections

當配置檔驅動程式收到連線嘗試的通知時,它應該建置並傳送 BRB_L2CA_OPEN_CHANNEL_RESPONSE BRB 接受或拒絕連線嘗試。 如需接受或拒絕 L2CAP 連線嘗試的詳細資訊,請參閱 _BRB_L2CA_OPEN_CHANNEL 結構。

建立連線之後,配置檔驅動程式可以發出其他 BRB 來與遠端裝置通訊。

若要停止接收遠端連線通知,配置檔驅動程式應該建置並傳送 BRB_L2CA_UNREGISTER_SERVER 要求。

雖然此程式可讓配置檔驅動程式接受連入連線要求,但不會使用 SDP 自動公告服務。 若要使用 SDP 公告服務,配置檔驅動程式必須使用 SDP API 提交 SDP 記錄。 如需使用 SDP 廣告服務的詳細資訊,請參閱 與 SDP 伺服器通訊

規格需求

需求
最低支援的用戶端 Windows Vista 和更新版本中的版本:_Supported。
標頭 bthddi.h (包含 Bthddi.h)

另請參閱

BRB_HEADER

BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER

L2CAP 回呼函式

ObDereferenceObject

ObReferenceObject