_BRB_SCO_REGISTER_SERVER 結構 (bthddi.h)

設定檔驅動程式會使用 _BRB_SCO_REGISTER_SERVER 結構,將本身註冊為能夠從遠端藍牙裝置接收 SCO 連線的伺服器。

語法

struct _BRB_SCO_REGISTER_SERVER {
  BRB_HEADER                 Hdr;
  BTH_ADDR                   BtAddress;
  ULONG                      Reserved;
  ULONG                      IndicationFlags;
  PFNSCO_INDICATION_CALLBACK IndicationCallback;
  PVOID                      IndicationCallbackContext;
  PVOID                      ReferenceObject;
  SCO_SERVER_HANDLE          ServerHandle;
};

成員

Hdr

包含目前 BRB 相關資訊 的BRB_HEADER 結構。

BtAddress

要接收通知之遠端藍牙裝置的位址。

Reserved

保留供未來使用。 請勿使用。

IndicationFlags

旗標,指出何時應該呼叫 IndicationCallback 成員中指定的回呼函式。 定義下列旗標。

旗標 描述
SCO_INDICATION_SCO_REQUEST 如果有任何傳入的 SCO 連線,請通知設定檔驅動程式。
SCO_INDICATION_ESCO_REQUEST 如果有任何傳入的 eSCO 連線,請通知設定檔驅動程式。

IndicationCallback

由設定檔驅動程式實作 的 SCO 回呼函式,藍牙驅動程式堆疊應該呼叫 以通知設定檔驅動程式傳入的 SCO 連線。

IndicationCallbackContext

傳遞至 在 IndicationCallback 成員中定義之函式的內容。

ReferenceObject

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

ServerHandle

如果成功傳回,則為 SCO 伺服器的控制碼。 當設定檔驅動程式不應該再收到遠端連線指示時,它應該將此控制碼傳遞至 BRB_SCO_UNREGISTER_SERVER

備註

若要將本身註冊為 SCO 伺服器,設定檔驅動程式應該建置並傳送BRB_SCO_REGISTER_SERVER要求。

如果成功,當遠端裝置嘗試建立與設定檔驅動程式的 SCO 連線時,藍牙驅動程式堆疊就可以通知設定檔驅動程式。

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

當設定檔驅動程式收到連線嘗試的通知時,它應該建置並傳送 BRB_SCO_OPEN_CHANNEL_RESPONSE 接受或拒絕連線嘗試的要求。 如需接受或拒絕 SCO 連線嘗試的詳細資訊,請參閱 _BRB_SCO_OPEN_CHANNEL 結構。

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

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

規格需求

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

另請參閱

BRB_HEADER

BRB_SCO_REGISTER_SERVER

BRB_SCO_UNREGISTER_SERVER

ObDereferenceObject

ObReferenceObject

SCO 回呼函式