PFNSCO_INDICATION_CALLBACK回呼函式 (bthddi.h)

配置文件驅動程式會實作 SCO 回呼函式,以提供藍牙驅動程式堆疊的機制,以通知配置檔驅動程式來自遠端裝置的連入 SCO 連線要求,以及目前開啟之 SCO 連線狀態的任何變更。

語法

PFNSCO_INDICATION_CALLBACK PfnscoIndicationCallback;

void PfnscoIndicationCallback(
  [in] PVOID Context,
  [in] SCO_INDICATION_CODE Indication,
  [in] PSCO_INDICATION_PARAMETERS Parameters
)
{...}

參數

[in] Context

對於連入遠端連線要求指示,這是配置檔驅動程式在配置檔驅動程式註冊回呼函式時,_BRB_SCO_REGISTER_SERVER 結構的 IndicationCallbackContext 成員中指定的內容。 對於現有 SCO 連線的變更,這是配置檔驅動程式在建置和傳送BRB_SCO_OPEN_CHANNEL BRB 時所指定的 CallbackContext 成員。

[in] Indication

指出 SCO 事件類型的 SCO_INDICATION_CODE 值。

[in] Parameters

A SCO_INDICATION_PARAMETERS 結構,其中包含以傳遞至 指示 參數的值為基礎的參數資訊。

傳回值

備註

參數參數中傳遞之SCO_INDICATION_PARAMETERS結構中找到的 BtAddress 成員表示遠端裝置的藍牙位址。

PFNSCO_INDICATION_CALLBACK函式可以透過兩種方式註冊。

在第一個案例中,配置檔驅動程式會作為伺服器,而且必須透過 _BRB_SCO_REGISTER_SERVER 結構的 IndicationCallback 成員註冊此回呼函式。 接著,藍牙驅動程式堆疊可以呼叫此函式,以在遠端裝置嘗試與其連絡時通知配置檔驅動程式。

第二個案例中,配置檔驅動程式會作為用戶端,並嘗試使用 BRB_SCO_OPEN_CHANNEL BRB 連線到遠端裝置。 PFNSCO_INDICATION_CALLBACK回呼函式是透過傳遞至指定 BRB 之_BRB_SCO_OPEN_CHANNEL結構的 Callback 成員註冊,當其中一個透過提交時 IOCTL_INTERNAL_BTH_SUBMIT_BRB

註冊之後,回呼函式只會與 BRB 開啟的通道相關聯,而且函式會通知配置檔驅動程式透過開啟通道對遠端裝置所發生的動作。 配置文件驅動程式可以註冊單一函式,以將通道通知當做客戶端處理,並以伺服器_BRB_SCO_REGISTER_SERVER通知。

Parameters 參數中保留的SCO_INDICATION_PARAMETERS結構會根據透過指示參數傳遞至回呼函式的SCO_INDICATION_CODE值來解譯。 對於大部分的通知,有一個SCO_INDICATION_PARAMETERS聯集成員對應至事件,並包含事件特定的參數。

規格需求

需求
最低支援的用戶端 Windows Vista 和更新版本中的版本:_Supported。
目標平台 桌面
標頭 bthddi.h (包含 Bthddi.h)
IRQL 如果回呼函式無法存取分頁記憶體) ,開發人員應該撰寫此函式的程式代碼,以在 IRQL = DISPATCH_LEVEL (运作,如果回呼函式必須存取分頁記憶體) 則為 IRQL = PASSIVE_LEVEL (

另請參閱

BRB_SCO_OPEN_CHANNEL

IOCTL_INTERNAL_BTH_SUBMIT_BRB

SCO_INDICATION_CODE

SCO_INDICATION_PARAMETERS

_BRB_SCO_REGISTER_SERVER