_BRB_SCO_OPEN_CHANNEL 結構 (bthddi.h)

_BRB_SCO_OPEN_CHANNEL 結構描述要開啟至遠端裝置的 SCO 通道,或從配置檔驅動程式接受或拒絕遠端裝置起始的傳入 SCO 連線要求回應。

語法

struct _BRB_SCO_OPEN_CHANNEL {
  BRB_HEADER                 Hdr;
  BTH_ADDR                   BtAddress;
  ULONG                      TransmitBandwidth;
  ULONG                      ReceiveBandwidth;
  USHORT                     MaxLatency;
  USHORT                     PacketType;
  USHORT                     ContentFormat;
  USHORT                     Reserved;
  SCO_RETRANSMISSION_EFFORT  RetransmissionEffort;
  ULONG                      ChannelFlags;
  ULONG                      CallbackFlags;
  PFNSCO_INDICATION_CALLBACK Callback;
  PVOID                      CallbackContext;
  PVOID                      ReferenceObject;
  SCO_CHANNEL_HANDLE         ChannelHandle;
  UCHAR                      Response;
};

成員

Hdr

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

BtAddress

要開啟 SCO 通道的遠端裝置藍牙位址。

TransmitBandwidth

每秒要指派給 SCO 通道的傳輸頻寬,以位元組為單位。

ReceiveBandwidth

每秒要指派給 SCO 通道的接收頻寬,以位元組為單位。

MaxLatency

值,表示以毫秒為單位的同步間隔總和上限,以及 e) SCO 視窗 (的大小。 下表列出可能的值。

描述
0x0000 0x0003 保留供未來使用。
要0xFFFE的0x0004 通道的可能 MaxLatency 值範圍。
0xFFFF 通道沒有慣用 的 MaxLatency 設定。

PacketType

旗標或旗標的組合,指出 SCO 連線所支援的數據封包類型。 這些 SCO 封包類型是由藍牙 SIG 所定義。 如需這些旗標的詳細資訊,請參閱藍牙規格。 可能的值包括:

SCO_HV1

SCO_HV2

SCO_HV3

SCO_EV3

SCO_EV4

SCO_EV5

ContentFormat

通道的音訊語音設定。 使用下列定義來編碼此成員:

SCO_VS_AIR_CODING_DATA
SCO_VS_AIR_CODING_FORMAT_ALAW
SCO_VS_AIR_CODING_FORMAT_CVSD
SCO_VS_AIR_CODING_FORMAT_MASK
SCO_VS_AIR_CODING_FORMAT_MULAW
SCO_VS_IN_CODING_ALAW
SCO_VS_IN_CODING_LINEAR
SCO_VS_IN_CODING_MASK
SCO_VS_IN_CODING_MULAW
SCO_VS_IN_DATA_FORMAT_1C
SCO_VS_IN_DATA_FORMAT_2C
SCO_VS_IN_DATA_FORMAT_MASK
SCO_VS_IN_DATA_FORMAT_SM
SCO_VS_IN_DATA_FORMAT_US
SCO_VS_IN_SAMPLE_SIZE_8BIT
SCO_VS_IN_SAMPLE_SIZE_16BIT
SCO_VS_IN_SAMPLE_SIZE_MASK
SCO_VS_PCM_BIT_POS_MASK
SCO_VS_SETTING_DEFAULT

Reserved

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

RetransmissionEffort

A SCO_RETRANSMISSION_EFFORT 列舉值,決定通道的重新傳輸原則。

ChannelFlags

旗標,指定要開啟之通道的需求。 下表列出有效的旗標值:

國旗 描述
SCO_CF_LINK_AUTHENTICATED 必須驗證連結。
SCO_CF_LINK_ENCRYPTED 鏈接必須經過加密。 設定此旗標也會設定SCO_CF_LINK_AUTHENTICATED旗標。
SCO_CF_LINK_SUPPRESS_PIN 配置文件驅動程式指出其喜好設定,指出使用者未提示輸入 PIN。

CallbackFlags

旗標,指定何時應該將指派給 Callback 成員的函式傳送給用戶端。 目前只有一個有效的旗標:

國旗 描述
SCO_CALLBACK_DISCONNECT 當遠端裝置中斷連線時,應該通知配置檔驅動程式。

Callback

配置文件驅動程式所實作 的 SCO 回呼函 式,藍牙驅動程式堆疊應該呼叫 以通知配置檔驅動程式對 SCO 連線所做的任何變更。

CallbackContext

要傳遞至 Callback 成員中所指定回呼函式的內容。 配置檔案驅動程式會定義此值。

ReferenceObject

要傳遞至 ObReferenceObjectObDereferenceObject 的物件指標,要為其維護參考計數。

ChannelHandle

如果開啟的通道要求成功完成,識別 SCO 通道的句柄。

Response

旗標,指出本機伺服器是否接受或拒絕傳入的 SCO 連線。 只有在建置和傳送 BRB_SCO_OPEN_CHANNEL_RESPONSE 要求時,才會使用此成員。 下表列出有效的旗標值。

旗標 描述
SCO_CONNECT_RSP_RESPONSE_SUCCESS 本機伺服器接受 SCO 連線要求。
SCO_CONNECT_RSP_RESPONSE_NO_RESOURCES 本機伺服器因為缺少資源而拒絕 SCO 連線要求。
SCO_CONNECT_RSP_RESPONSE_SECURITY_BLOCK 本機伺服器會拒絕 SCO 連線要求,因為要求不符合安全性需求。
SCO_CONNECT_RSP_RESPONSE_BAD_BD_ADDR 本機伺服器會拒絕 SCO 連線要求,因為它不接受來自指定藍牙裝置地址的連線。

備註

若要開啟 SCO 通道,配置檔驅動程式應該建置並傳送BRB_SCO_OPEN_CHANNEL要求。

如果遠端裝置的異步連線連結在要求之前不存在,藍牙驅動程式堆疊會在建立 SCO 通道之前建立一個。

若要接受或拒絕遠端裝置起始的傳入 SCO 連線要求,配置檔驅動程式應該建置並傳送 BRB_SCO_OPEN_CHANNEL_RESPONSE 要求。

當藍牙驅動程式堆棧呼叫配置文件驅動程式的 SCO 回呼函式,並在回呼函式的指示參數中傳遞 ScoIndicationRemoteConnect 時,配置檔驅動程式應該建置並傳送BRB_SCO_OPEN_CHANNEL_RESPONSE要求。

配置文件驅動程式會指定是否應該接受連線,方法是將此結構的 Response 成員儲存適當的值。 在此內容中,本機系統是伺服器。

規格需求

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

另請參閱

BRB_HEADER

BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

ObDereferenceObject

ObReferenceObject

SCO 回呼函式

SCO_RETRANSMISSION_EFFORT