通訊協定
CharacteristicNotifier
定義於 fuchsia.bluetooth.gatt2/client.fidl
收聽特徵通知與指標
OnNotification
在特徵值通知或指標出現以下情形時呼叫 次要 IP 位址。
- 要求 
value是已更新的特徵值。 
- 回應:空白回應應該會立即以 確認收到的通知(用於流量控制)。
 
要求
| 名稱 | 類型 | 
|---|---|
value | 
            
                ReadValue
             | 
        
回應
<空白>
用戶端
定義於 fuchsia.bluetooth.gatt2/client.fidl
ConnectToService
使用指定 ID 連結 RemoteService。只有 1 個連線 每個服務都可以
「service」發生錯誤,系統會提供
原因。
- 如果 
handle無效,則會傳回ZX_ERR_INVALID_ARGS。 - 如果找不到服務,則傳回 
ZX_ERR_NOT_FOUND。 - 如果移除服務,則傳回 
ZX_ERR_CONNECTION_RESET。 - 如果對等點中斷連線,會傳回 
ZX_ERR_NOT_CONNECTED錯誤。 - 如果服務已連線,則傳回 
ZX_ERR_ALREADY_EXISTS。 
要求
| 名稱 | 類型 | 
|---|---|
handle | 
            
                ServiceHandle
             | 
        
service | 
            
                server_end<RemoteService>
             | 
        
WatchServices
列舉這個用戶端代表的對等項目找到的服務。
只要在 uuids 中指定 UUID 清單,即可篩選結果。這個
方法遵循懸浮 get 模式在初始要求中,
並傳回完整的快照使用同一組相同的後續通話
的uuids 只會在一或多項服務產生回應時
自從上次回報項目之後新增、修改或移除
近期通話。新值為 uuids 的呼叫會重設篩選器,
就會收到完整快照
帳號代碼可在不同服務中重複使用,因此可在兩者中擇一使用
《updated》和《removed》。因此,建議您
已移除服務
如要進一步與服務互動,用戶端必須取得 RemoteService 透過呼叫 ConnectToService() 解決各種通訊協定和軟體需求
- 要求 
uuids使用 UUID 許可清單。如果留空,則所有服務都會 。 
- 回應 
updated在此日期後新增或修改的服務 上次呼叫 WatchServices()。傳回的 ServiceInfo 資料表則會 只包含各項服務的基本資訊characteristics和includes欄位將為空值。如果服務 。 出現於removed,而不是updated。 如果因新呼叫含有新的uuids值而結束,updated將空白 - 回應 
removed是已移除服務的帳號代碼 。 
要求
| 名稱 | 類型 | 
|---|---|
uuids | 
            
                vector<fuchsia.bluetooth/Uuid>
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
updated | 
            
                vector<ServiceInfo>[65535]
             | 
        
removed | 
            
                vector<Handle>[65535]
             | 
        
LocalService
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
提供本機 GATT 服務的介面。關閉此通訊協定的 server_end 會導致 GATT 服務即將從本機 GATT 資料庫中移除。同樣地,關閉 client_end 的通訊協定,表示藍牙堆疊已從其 GATT 資料庫中移除這項服務。
CharacteristicConfiguration
這樣就能針對 都屬於特定同類應用程式當對等互連 GATT 用戶端變更設定時,系統就會呼叫此方法。
藍牙堆疊會在重新連線後保留每個對等設定的狀態。 因此,當對等方透過 新連線對等互連設定的初始保留狀態。不過,客戶 ,不應仰賴藍牙堆疊無限期持續保留這個狀態。
- 要求 
peer_id與此特定 CCC 相關聯的 GATT 用戶端 PeerId。 - 要求 
handle與notify及indicate參數。 - 如果用戶端已啟用通知功能,則要求 
notify是 True,否則要求為 false。 - 如果用戶端已啟用指標,則要求 
indicate是 True,否則要求為 false。 
- 回應空白不會傳回任何確認特徵設定。
 
要求
| 名稱 | 類型 | 
|---|---|
peer_id | 
            
                fuchsia.bluetooth/PeerId
             | 
        
handle | 
            
                Handle
             | 
        
notify | 
            
                bool
             | 
        
indicate | 
            
                bool
             | 
        
回應
<空白>
OnIndicateValue
這個事件是用來傳送指標給同業。應使用指示,而非 當服務「確實」需要確認更新時,才會發出通知。
指示不應傳送給未啟用特定指標的同類應用程式 特性除外。如果已傳送,系統不會套用這些特性。藍牙堆疊會 會在服務的生命週期內追蹤這項設定。
在地生活服務必須持續追蹤ValueChangedCredit提供的可用抵免額
方法並傳送最多許多 OnNotifyValue 和 OnIndicateValue 事件。如果顯示
事件是否送出超過可用的抵免額,或者參數無效,通訊協定就會
已打烊。
- 要求 
update與變更的特性相關聯的參數。 - 要求 
confirmation在所有要更新的同業確認指示後,confirmation已發出 ZX_EVENTPAIR_SIGNALLED 的訊號。如果發生以下情況,「confirmation」就會暫停營業 代表對等點失敗 (例如對等點尚未設定指標), 已連線,或未在 ATT 交易逾時 30 秒內確認 (藍牙) 5.3 卷3 Part F 3.3.3)。如要追蹤個別同業的跡象確認情形, 導入功能可以在update.peer_ids中傳送具有單一 ID 的事件。 
回應
| 名稱 | 類型 | 
|---|---|
update | 
            
                ValueChangedParameters
             | 
        
confirmation | 
            
                handle<eventpair>
             | 
        
OnNotifyValue
此事件是用來傳送通知給同事。應使用通知,而非 表示服務「不需」確認更新。
不應傳送通知給尚未啟用通知的同類應用程式 特定特性—即使它們已傳送,也不會傳播。藍牙 堆疊會在服務的生命週期內追蹤這項設定。
在地生活服務必須持續追蹤ValueChangedCredit提供的可用抵免額
方法並傳送最多許多 OnNotifyValue 和 OnIndicateValue 事件。如果顯示
事件是否送出超過可用的抵免額,或者參數無效,通訊協定就會
已打烊。
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                ValueChangedParameters
             | 
        
OnSuppressDiscovery
活動結束後,新的同業將無法再找到這項服務,但同事 已發現這項服務仍可存取。這個 ID 應為每封一次 服務生命週期;如果多次傳送,就會關閉通訊協定,並中斷 GATT 用戶端的連線。
回應
<空白>
PeerUpdate
用於提供同業專屬的 GATT 資訊。系統會呼叫 PeerUpdate,除非 先前的叫用收到回應因此,實作可以直接忽略 。
在將對等點至其他通訊端的其他互動前,系統會先進行 PeerUpdate LocalService (Write/ReadValue、CharacteristicConfiguration) 盡量提供, 所有先前的 PeerUpdates 都經過確認
目前未傳送。如要請求支援,請前往 https://fxbug.dev/42178509 發表留言
- 要求 
peer_id與更新有關的 PeerId。一律顯示在所有人的主畫面上。 - 要求 
mtu通知/對應此內容的位元組數量上限 。超過此上限的任何位元組都會遭到截斷,且不顯示任何通知訊息。大多數的客戶不需要擔心 除非是使用通知/表示高處理量的通知/指示。 選用。 
- 回應空白的回應,表示已收到更新。
 
要求
| 名稱 | 類型 | 
|---|---|
payload | 
            
                LocalServicePeerUpdateRequest
             | 
        
回應
<空白>
ReadValue
對等點要求讀取特徵或描述元的值時呼叫。是 保證對等節點符合與這項屬性相關聯的權限。
- 要求 
peer_id提出讀取要求的 GATT 用戶端 PeerId。 - 要求 
handle所要求描述元/特性的控制代碼。 - 要求 
offset開始讀取要求值的位移。 
- 回應 
value特徵的值。 
- 如要瞭解可能出現的錯誤,請參閱 
gatt2.Error說明文件。 
要求
| 名稱 | 類型 | 
|---|---|
peer_id | 
            
                fuchsia.bluetooth/PeerId
             | 
        
handle | 
            
                Handle
             | 
        
offset | 
            
                int32
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                LocalService_ReadValue_Result
             | 
        
ValueChangedCredit
新增傳送指標/通知的額度。實作項目一開始會定義為
呼叫這個方法前,請先獲得 INITIAL_VALUE_CHANGED_CREDITS 抵免額。實作項目必須
追蹤他們擁有的抵免額實作者只能傳送一個 OnNotifyValue
或 OnIndicateValue 事件請注意,系統只會呼叫 ValueChangedCredit
。
要求
| 名稱 | 類型 | 
|---|---|
additional_credit | 
            
                uint8
             | 
        
WriteValue
在對等點發出要求寫入特性或描述元值時呼叫。這項服務 可確保對等點符合與這項屬性相關聯的權限。
- 要求 
peer_id提出寫入要求的 GATT 用戶端 PeerId。一律顯示在所有人的主畫面上。 - 要求 
handle所要求描述元/特性的控制代碼。一律顯示在所有人的主畫面上。 - 要求 
offset開始寫入值的位移。如果偏移值為 0,則無 應以新的值覆寫現有值。否則, offset:(offset + len(value)) 應變更為value。一律顯示在所有人的主畫面上。 - 要求 
value描述元/特性的新值。一律存在,但可能會 做為空字串 
- 值更新之後,實作必須傳送空白的回應 視為確認。
 
- 如要瞭解可能出現的錯誤,請參閱 
gatt2.Error說明文件。 
要求
| 名稱 | 類型 | 
|---|---|
payload | 
            
                LocalServiceWriteValueRequest
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                LocalService_WriteValue_Result
             | 
        
RemoteService
定義於 fuchsia.bluetooth.gatt2/client.fidl
DiscoverCharacteristics
傳回屬於 這項服務。
要求
<空白>
回應
| 名稱 | 類型 | 
|---|---|
characteristics | 
            
                vector<Characteristic>[32767]
             | 
        
ReadByType
這個外掛程式能讀取具有指定的 uuid 的特性和描述元。
如要在探索完成前讀取值,這個方法就很實用。 進而減少延遲時間
- 要求 
uuid要讀取特性/描述元的 UUID。 
- 回應 
results讀取的結果。如果沒有,則可留空 系統會讀取相符值如果讀取值後 權限錯誤,會包含控制代碼和錯誤。 
- 如果 
uuid參照內部,則傳回INVALID_PARAMETERS預留的描述元類型 (例如 Client Characteristic) 設定描述元)。 - 如果讀取的結果超出上限,則傳回 
TOO_MANY_RESULTSFIDL 回應。建議閱讀特性/描述 逐一討論這些變化 - 如果伺服器傳回 
FAILURE以外的錯誤, 一筆結果。 
要求
| 名稱 | 類型 | 
|---|---|
uuid | 
            
                fuchsia.bluetooth/Uuid
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                RemoteService_ReadByType_Result
             | 
        
ReadCharacteristic
使用指定的 handle 讀取特徵值。
- 要求 
handle要讀取的特性控制代碼。 - 要求 
options適用於讀取作業的選項。 
- 回應 
value特徵的值。 
- 如果 
handle無效,就會傳回INVALID_HANDLE。 - 如果 
options無效,就會傳回INVALID_PARAMETERS。 - 錯誤會傳回 
READ_NOT_PERMITTED或INSUFFICIENT_*。 拒絕讀取要求。 - 如果伺服器傳回錯誤,就會傳回 
FAILURE。 
要求
| 名稱 | 類型 | 
|---|---|
handle | 
            
                Handle
             | 
        
options | 
            
                ReadOptions
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                RemoteService_ReadCharacteristic_Result
             | 
        
ReadDescriptor
使用 handle 和
傳回的結果
- 要求 
handle要讀取的描述元控制代碼。 - 要求 
options適用於讀取作業的選項。 
- 回應 
value描述元的值。 
- 如果 
handle無效,就會傳回INVALID_HANDLE。 - 如果 
options無效,就會傳回INVALID_PARAMETERS。 - 錯誤會傳回 
READ_NOT_PERMITTED或INSUFFICIENT_*。 拒絕讀取要求。 - 如果伺服器傳回錯誤,就會傳回 
FAILURE。 
要求
| 名稱 | 類型 | 
|---|---|
handle | 
            
                Handle
             | 
        
options | 
            
                ReadOptions
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                RemoteService_ReadDescriptor_Result
             | 
        
RegisterCharacteristicNotifier
訂閱通知與模型會向
指定的 handle。
系統會根據 特徵屬性如果可行的話,系統會優先採用這些指示 支援。如果特性沒有 「通知」或「表示」資源。
系統會發出寫入要求,藉此設定 通知/指出內含「客戶特性」的通知/標示 設定描述元。如果 寫入描述元
成功之後,可用於在以下情況下使用 notifier 通訊協定接收通知
這位同事會傳送通知或指標給你目前表示
由系統自動確認通訊協定遭到捨棄後,訂閱項目
如果沒有其他本機用戶端收到通知,則可能結束。
- 要求 
handle特性控制代碼。 - 要求 
notifier,這是用於通知的通訊協定。 
- 如果註冊,系統會立即傳送空白回應 成功。
 
- 如果特性不支援,則會傳回 
FAILURE通知或指標 - 如果 
handle無效,則會傳回INVALID_HANDLE。 - 錯誤會傳回 
WRITE_NOT_PERMITTED或INSUFFICIENT_*描述元寫入錯誤 
要求
| 名稱 | 類型 | 
|---|---|
handle | 
            
                Handle
             | 
        
notifier | 
            
                CharacteristicNotifier
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                RemoteService_RegisterCharacteristicNotifier_Result
             | 
        
WriteCharacteristic
使用提供的 handle,透過 handle 將 value 寫入特徵
options。
我們不建議在寫入作業已經完成時傳送額外的寫入作業 (伺服器可能會以任意順序接收同時寫入)。
- 要求 
handle要寫入的特性。 - 要求 
value要寫入的值。 - 要求 
options適用於寫入的選項。 
- 如果有成功回應,則會傳送空白回應
才會從伺服器接收 (或者如果
options.with_response為 false) 
- 如果 
handle無效,就會傳回INVALID_HANDLE。 - 如果 
options無效,就會傳回INVALID_PARAMETERS。 - 如果伺服器發生錯誤,會傳回 
WRITE_NOT_PERMITTED或INSUFFICIENT_*會以理由拒絕寫入要求。 - 如果伺服器傳回錯誤,就會傳回 
FAILURE。 
要求
| 名稱 | 類型 | 
|---|---|
handle | 
            
                Handle
             | 
        
value | 
            
                vector<uint8>[512]
             | 
        
options | 
            
                WriteOptions
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                RemoteService_WriteCharacteristic_Result
             | 
        
WriteDescriptor
使用 handle 將 value 寫入特徵描述元。
我們不建議在寫入作業已經完成時傳送額外的寫入作業
(伺服器可能會以任意順序接收同時寫入)。
- 要求 
handle要寫入的描述元處理常式。 - 要求 
value要寫入的值。 - 要求 
options適用於寫入的選項。 
- 如果有成功回應,則會傳送空白回應
才會從伺服器接收 (或者如果
options.with_response為 false) 
- 如果 
handle無效或參照INVALID_HANDLE內部保留的描述元類型 (例如 特性設定描述元)。 - 如果 
options無效,就會傳回INVALID_PARAMETERS。 - 錯誤會傳回 
WRITE_NOT_PERMITTED或INSUFFICIENT_*。 會透過拒絕理由拒絕寫入。 - 如果伺服器傳回錯誤,就會傳回 
FAILURE。 
要求
| 名稱 | 類型 | 
|---|---|
handle | 
            
                Handle
             | 
        
value | 
            
                vector<uint8>[512]
             | 
        
options | 
            
                WriteOptions
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                RemoteService_WriteDescriptor_Result
             | 
        
伺服器
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
PublishService
發布指定的 service,供所有遠端同業存取。出版後
該服務的定義為可傳送 INITIAL_VALUE_CHANGED_CREDITS 抵免額
指標/通知
呼叫端必須針對所列特徵和描述元指派不同的控點
info。這些 ID 會用於傳送至 service 的要求。
- 要求 
info用於定義 GATT 服務的結構。其中包含特性和 以及服務控制代碼,這些描述項目 發布至這個伺服器的所有服務均不得重複。 - 要求 
service根據記錄的行為提供服務實作 來自LocalService。 
- 回應空白代表服務已成功發布。
 
- 如要瞭解可能的失敗模式,請參閱 
gatt2.PublishServiceError。 
要求
| 名稱 | 類型 | 
|---|---|
info | 
            
                ServiceInfo
             | 
        
service | 
            
                LocalService
             | 
        
回應
| 名稱 | 類型 | 
|---|---|
payload | 
            
                Server_PublishService_Result
             | 
        
結構
控點
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
value | 
            
                uint64
             | 
            無預設 | 
LocalService_ReadValue_Response
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
value | 
            
                vector<uint8>[512]
             | 
            無預設 | 
LocalService_WriteValue_Response
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
<空白>
RemoteService_ReadByType_Response
定義於 fuchsia.bluetooth.gatt2/client.fidl
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
results | 
            
                vector<ReadByTypeResult>[65535]
             | 
            無預設 | 
RemoteService_ReadCharacteristic_Response
定義於 fuchsia.bluetooth.gatt2/client.fidl
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
value | 
            
                ReadValue
             | 
            無預設 | 
RemoteService_ReadDescriptor_Response
定義於 fuchsia.bluetooth.gatt2/client.fidl
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
value | 
            
                ReadValue
             | 
            無預設 | 
RemoteService_RegisterCharacteristicNotifier_Response
定義於 fuchsia.bluetooth.gatt2/client.fidl
<空白>
RemoteService_WriteCharacteristic_Response
定義於 fuchsia.bluetooth.gatt2/client.fidl
<空白>
RemoteService_WriteDescriptor_Response
定義於 fuchsia.bluetooth.gatt2/client.fidl
<空白>
Server_PublishService_Response
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
<空白>
ServiceHandle
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
value | 
            
                uint64
             | 
            無預設 | 
ShortReadOptions
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
代表閱讀簡短特性或描述元的選項 值。短值指的是單一訊息中的值 至少為 22 個位元組這是空白的預留位置 沒有選項。
<空白>
ENUMS
錯誤 strict
類型:uint32
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
Bluetoothtooth.gatt2.* 方法傳回的錯誤。
這些值會與藍牙 5.2V 中的值對應。3 Part G 表 3.4, 及補充藍牙核心規格 v9 Part B 表 1.1, 但這僅供參考用戶端不應依賴這些 保持不變的值系統會處理規格中省略的值 而不會傳回給用戶端。
只有 LocalService 方法能傳回特定的錯誤。如有需要, 留言。
| 名稱 | 值 | 說明 | 
|---|---|---|
INVALID_HANDLE | 
            1 | 
            帳號代碼指定的屬性無效。可能已移除。 LocalService 方法可傳回此方法。  | 
        
READ_NOT_PERMITTED | 
            2 | 
            無法讀取這個屬性。  | 
        
WRITE_NOT_PERMITTED | 
            3 | 
            無法寫入此屬性。  | 
        
INVALID_PDU | 
            4 | 
            表示伺服器收到的回應無效。  | 
        
INSUFFICIENT_AUTHENTICATION | 
            5 | 
            此屬性需要驗證,但用戶端未經過驗證。  | 
        
INVALID_OFFSET | 
            7 | 
            表示讀取或寫入要求中使用的位移超過 值的上下限。 LocalService 方法可傳回此方法。  | 
        
INSUFFICIENT_AUTHORIZATION | 
            8 | 
            此屬性需要授權,但用戶端未獲授權。  | 
        
INSUFFICIENT_ENCRYPTION_KEY_SIZE | 
            12 | 
            這項屬性需要由較大的加密金鑰加密的連線。  | 
        
INVALID_ATTRIBUTE_VALUE_LENGTH | 
            13 | 
            表示寫入要求中的值會超過最大值 預先定義的字元集。 LocalService 方法可傳回此方法。  | 
        
UNLIKELY_ERROR | 
            14 | 
            發生一般錯誤,無法歸類為 特定錯誤。 LocalService 方法可傳回此方法。  | 
        
INSUFFICIENT_ENCRYPTION | 
            15 | 
            此屬性需要加密,但連線未加密。  | 
        
INSUFFICIENT_RESOURCES | 
            17 | 
            伺服器的資源不足,無法完成工作。 LocalService 方法可傳回此方法。  | 
        
VALUE_NOT_ALLOWED | 
            19 | 
            不允許這個值。 LocalService 方法可傳回此方法。  | 
        
APPLICATION_ERROR_80 | 
            128 | 
            應用程式錯誤。如何在應用程式中指定這些用途 第二,自訂角色只能 套用至專案或機構 這些內容都可以由 LocalService 方法傳回。  | 
        
APPLICATION_ERROR_81 | 
            129 | 
            |
APPLICATION_ERROR_82 | 
            130 | 
            |
APPLICATION_ERROR_83 | 
            131 | 
            |
APPLICATION_ERROR_84 | 
            132 | 
            |
APPLICATION_ERROR_85 | 
            133 | 
            |
APPLICATION_ERROR_86 | 
            134 | 
            |
APPLICATION_ERROR_87 | 
            135 | 
            |
APPLICATION_ERROR_88 | 
            136 | 
            |
APPLICATION_ERROR_89 | 
            137 | 
            |
APPLICATION_ERROR_8A | 
            138 | 
            |
APPLICATION_ERROR_8B | 
            139 | 
            |
APPLICATION_ERROR_8C | 
            140 | 
            |
APPLICATION_ERROR_8D | 
            141 | 
            |
APPLICATION_ERROR_8E | 
            142 | 
            |
APPLICATION_ERROR_8F | 
            143 | 
            |
APPLICATION_ERROR_90 | 
            144 | 
            |
APPLICATION_ERROR_91 | 
            145 | 
            |
APPLICATION_ERROR_92 | 
            146 | 
            |
APPLICATION_ERROR_93 | 
            147 | 
            |
APPLICATION_ERROR_94 | 
            148 | 
            |
APPLICATION_ERROR_95 | 
            149 | 
            |
APPLICATION_ERROR_96 | 
            150 | 
            |
APPLICATION_ERROR_97 | 
            151 | 
            |
APPLICATION_ERROR_98 | 
            152 | 
            |
APPLICATION_ERROR_99 | 
            153 | 
            |
APPLICATION_ERROR_9A | 
            154 | 
            |
APPLICATION_ERROR_9B | 
            155 | 
            |
APPLICATION_ERROR_9C | 
            156 | 
            |
APPLICATION_ERROR_9D | 
            157 | 
            |
APPLICATION_ERROR_9E | 
            158 | 
            |
APPLICATION_ERROR_9F | 
            159 | 
            |
WRITE_REQUEST_REJECTED | 
            252 | 
            商家檔案或服務層級的寫入要求遭拒。  | 
        
CCC_DESCRIPTOR_IMPROPERLY_CONFIGURED | 
            253 | 
            用戶端特性設定描述元不正確 專案。  | 
        
PROCEDURE_ALREADY_IN_PROGRESS | 
            254 | 
            設定檔或服務程序已在進行中。  | 
        
OUT_OF_RANGE | 
            255 | 
            設定檔或服務層級的值超出範圍。  | 
        
INVALID_PARAMETERS | 
            257 | 
            一或多個 FIDL 呼叫參數無效。查看參數 說明文件。  | 
        
TOO_MANY_RESULTS | 
            258 | 
            表示讀取的結果超過 FIDL 回應的處理上限。 建議個別閱讀屬性。  | 
        
PublishServiceError 彈性
類型:uint32
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
服務發布期間可能發生的錯誤。
| 名稱 | 值 | 說明 | 
|---|---|---|
INVALID_SERVICE_HANDLE | 
            1 | 
            服務控制代碼無效,或已在伺服器發布服務中使用。  | 
        
INVALID_UUID | 
            2 | 
            提供的服務 UUID 無效。  | 
        
INVALID_CHARACTERISTICS | 
            3 | 
            「  | 
        
UNLIKELY_ERROR | 
            4 | 
            發生一般錯誤,因此無法歸類為更明確錯誤。  | 
        
ServiceKind 嚴格
類型:uint32
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
藍牙核心規格 v5.3 V 中列出的 GATT 服務種類 (「類型」)。1 第 A 部分 6.5.1:
| 名稱 | 值 | 說明 | 
|---|---|---|
主要 | 
            1 | 
            「為裝置提供功能而可獨立使用的服務」(Ibid)  | 
        
次要 | 
            2 | 
            一項「服務 [...] 當中, 並包含在至少一項主要服務中(Ibid)  | 
        
WriteMode 彈性
類型:uint32
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
代表寫入特性與 複製到伺服器
| 名稱 | 值 | 說明 | 
|---|---|---|
預設 | 
            1 | 
            在   | 
        
RELIABLE | 
            2 | 
            在   | 
        
WITHOUT_RESPONSE | 
            3 | 
            如果處於  | 
        
資料表
AttributePermissions
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
指定特定屬性值的存取權限。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            read | 
            
                SecurityRequirements
             | 
            指定屬性是否具備讀取權限。如果沒有 系統無法讀取屬性值。否則,只能讀取 滿足「安全性需求條件」表格中指定的權限。  | 
        
2 | 
            write | 
            
                SecurityRequirements
             | 
            指定屬性是否具備寫入權限。如果沒有 因此無法寫入屬性值。否則,只能寫入 是否滿足「安全性需求」表格中列出的權限。  | 
        
3 | 
            update | 
            
                SecurityRequirements
             | 
            指定用戶端訂閱的安全性需求 向其收集特定特徵的通知或指標某個特性 通知或指示支援時,使用的是 NOTIFY 和 INDICATE 特性屬性。如果地方特色為 這些屬性,就必須使用這個欄位。如果沒有,則這個欄位 。 系統會忽略描述元的欄位。  | 
        
特色
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
代表本機或遠端 GATT 特性。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            handle | 
            
                Handle
             | 
            可在服務中識別這個特性。 如果是當地特徵,指定的帳號代碼不得重複 這項服務中的所有特性和描述元處理常式。 一律顯示在所有人的主畫面上。如果是當地特色,就必須提供這個值。  | 
        
2 | 
            type | 
            
                fuchsia.bluetooth/Uuid
             | 
            識別這個特徵類型的 UUID。 一律顯示在所有人的主畫面上。使用當地特色時必須提供。  | 
        
3 | 
            properties | 
            
                CharacteristicPropertyBits
             | 
            特性屬性位元欄位。 一律顯示在所有人的主畫面上。使用當地特色時必須提供。  | 
        
4 | 
            permissions | 
            
                AttributePermissions
             | 
            這個特徵的屬性權限。遠距工作適用 特性則在未授予使用者權限的情況下,系統才會提供這個值 透過讀取和寫入要求發現錯誤 如果是當地特色,就必須提供這個值。  | 
        
5 | 
            descriptors | 
            
                vector<Descriptor>[65532]
             | 
            此特性的描述元。 只會在非空白的情況下提供。如果是當地特色,則為選填。  | 
        
描述元
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
代表本機或遠端 GATT 特性描述元。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            handle | 
            
                Handle
             | 
            可明確識別服務中的這個描述元。 本機描述元指定的帳號代碼不得重複 。 一律顯示在所有人的主畫面上。如為本機描述元,這個值為必要值。  | 
        
2 | 
            type | 
            
                fuchsia.bluetooth/Uuid
             | 
            識別這個描述元類型的 UUID。 一律顯示在所有人的主畫面上。如為本機描述元,這個值為必要值。  | 
        
3 | 
            permissions | 
            
                AttributePermissions
             | 
            這個描述元的屬性權限。遠距工作適用 描述元,則在有權限要求的情況下,系統才會顯示這個值 透過讀取和寫入要求發現。 如為本機描述元,這個值為必要值。  | 
        
LocalServicePeerUpdateRequest
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            peer_id | 
            
                fuchsia.bluetooth/PeerId
             | 
            |
2 | 
            mtu | 
            
                uint16
             | 
            
LocalServiceWriteValueRequest
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            peer_id | 
            
                fuchsia.bluetooth/PeerId
             | 
            |
2 | 
            handle | 
            
                Handle
             | 
            |
3 | 
            offset | 
            
                uint32
             | 
            |
4 | 
            value | 
            
                vector<uint8>[512]
             | 
            
LongReadOptions
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
代表讀取較長特徵或描述元的支援選項 值。長值可能無法容納一個長值 訊息 (大於 22 位元組)。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            offset | 
            
                uint16
             | 
            開始讀取的位元組。必須小於值的長度。 選用。 預設:0  | 
        
2 | 
            max_bytes | 
            
                uint16
             | 
            要讀取的位元組數上限,
選用。
預設值:  | 
        
ReadByTypeResult
定義於 fuchsia.bluetooth.gatt2/client.fidl
RemoteService.ReadByType 傳回的結果。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            handle | 
            
                Handle
             | 
            特性或描述元控點。  | 
        
2 | 
            value | 
            
                ReadValue
             | 
            成功讀取的特徵或描述元值。  | 
        
3 | 
            error | 
            
                Error
             | 
            無法讀取該值的原因 (如果讀取後發生錯誤)。  | 
        
ReadValue
定義於 fuchsia.bluetooth.gatt2/client.fidl
從伺服器接收到的可能遭到截斷值周圍的包裝函式。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            handle | 
            
                Handle
             | 
            特性或描述元控點。一律顯示在所有人的主畫面上。  | 
        
2 | 
            value | 
            
                vector<uint8>[512]
             | 
            特徵或描述元的值。一律顯示在所有人的主畫面上。  | 
        
3 | 
            maybe_truncated | 
            
                bool
             | 
            如果   | 
        
SecurityRequirements
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
代表能產生的加密、驗證和授權權限 指派給特定權限
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            encryption_required | 
            
                bool
             | 
            如為 true,實體連結必須經過加密才能存取。不存在或 false,這個屬性允許未加密的存取權。  | 
        
2 | 
            authentication_required | 
            
                bool
             | 
            如果設為 true,實體連結必須通過驗證才能存取這個屬性。不存在或 false,這個屬性允許未經驗證的存取權。  | 
        
3 | 
            authorization_required | 
            
                bool
             | 
            如果值為 true,用戶端必須獲得授權才能存取這項屬性。不存在或 false,這個屬性允許未經授權的存取。  | 
        
ServiceInfo
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
代表本機或遠端 GATT 服務。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            handle | 
            
                ServiceHandle
             | 
            這項 GATT 服務的專屬 ID。
如果這個指標代表遠端服務,請一律顯示,在此情況下,每個位置的
傳回此 ServiceInfo 的用戶端。
以在地生活服務來說,此為必填屬性,在發布的所有服務中,均不得重複
單一伺服器執行個體可在其他   | 
        
2 | 
            kind | 
            
                ServiceKind
             | 
            指出這是主要或次要服務。 一律顯示在遠端服務中。如為本地服務,則為選用屬性 預設:ServiceKind::PRIMARY  | 
        
3 | 
            type | 
            
                fuchsia.bluetooth/Uuid
             | 
            識別這項服務類型的 UUID。 可能有多項服務使用相同的 UUID。 一律顯示在遠端服務中。在地生活服務的必填屬性。  | 
        
4 | 
            characteristics | 
            
                vector<Characteristic>[32767]
             | 
            這項服務的特性。 在地生活服務的必填屬性。遠端服務一律不要顯示。  | 
        
5 | 
            includes | 
            
                vector<ServiceHandle>[65535]
             | 
            這項服務所含其他服務的處理方式。 如為本機服務,則為選用元素。不允許遠端服務顯示。 TODO(https://fxbug.dev/42147529):本機服務目前不支援此操作。  | 
        
ValueChangedParameters
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
用來指出特徵值從 LocalService 變更為對等點的參數。
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            handle | 
            
                Handle
             | 
            所發出信號的特徵值處理常式。 必要欄位。  | 
        
2 | 
            value | 
            
                vector<uint8>[512]
             | 
            特徵的更新值。
使用指示/通知取得高處理量的客戶請注意 (不建議):
雖然靜態限制為   | 
        
3 | 
            peer_ids | 
            
                vector<fuchsia.bluetooth/PeerId>
             | 
            只信號一部分的同類應用程式。
如果沒有出現或空白,表示所有可更新的同類群組都會發出信號。
如果納入此選項,系統只會傳送這份清單中的同類應用程式組合信號。
系統只會向您的同業發送信號,前提是他們須已設定每  | 
        
WriteOptions
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
代表支援的寫入特徵/描述元值的選項 至伺服器
| Ordinal | 欄位 | 類型 | 說明 | 
|---|---|---|---|
1 | 
            write_mode | 
            
                WriteMode
             | 
            寫入作業的模式。就描述元來說 支援 WriteMode.DEFAULT 選用。 預設值:WriteMode.DEFAULT  | 
        
2 | 
            offset | 
            
                uint16
             | 
            要求從指定的位元組開始寫入。
如果   | 
        
聯合國
LocalService_ReadValue_Result 的 嚴格
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                LocalService_ReadValue_Response
             | 
            |
2 | 
            err | 
            
                Error
             | 
            
LocalService_WriteValue_Result 嚴格
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                LocalService_WriteValue_Response
             | 
            |
2 | 
            err | 
            
                Error
             | 
            
ReadOptions 彈性
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
代表讀取特徵或描述元的支援選項 值。
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            short_read | 
            
                ShortReadOptions
             | 
            執行可能會截斷 (如 if_truncated 的結果中可能出現) GATT 服務中的大多數讀取作業都是短讀取 (<= 22 個位元組)。  | 
        
2 | 
            long_read | 
            
                LongReadOptions
             | 
            如果有出現,請使用指定的選項執行長時間讀取。 選用。 預設:系統會執行簡短的讀取作業。  | 
        
RemoteService_ReadByType_Result 嚴格
定義於 fuchsia.bluetooth.gatt2/client.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                RemoteService_ReadByType_Response
             | 
            |
2 | 
            err | 
            
                Error
             | 
            
RemoteService_ReadCharacteristic_Result 嚴格
定義於 fuchsia.bluetooth.gatt2/client.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                RemoteService_ReadCharacteristic_Response
             | 
            |
2 | 
            err | 
            
                Error
             | 
            
RemoteService_ReadDescriptor_Result 嚴格
定義於 fuchsia.bluetooth.gatt2/client.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                RemoteService_ReadDescriptor_Response
             | 
            |
2 | 
            err | 
            
                Error
             | 
            
RemoteService_RegisterCharacteristicNotifier_Result 嚴格
定義於 fuchsia.bluetooth.gatt2/client.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                RemoteService_RegisterCharacteristicNotifier_Response
             | 
            |
2 | 
            err | 
            
                Error
             | 
            
RemoteService_WriteCharacteristic_Result 嚴格
定義於 fuchsia.bluetooth.gatt2/client.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                RemoteService_WriteCharacteristic_Response
             | 
            |
2 | 
            err | 
            
                Error
             | 
            
RemoteService_WriteDescriptor_Result 嚴格
定義於 fuchsia.bluetooth.gatt2/client.fidl
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                RemoteService_WriteDescriptor_Response
             | 
            |
2 | 
            err | 
            
                Error
             | 
            
Server_PublishService_Result 嚴格
在 fuchsia.bluetooth.gatt2/server.fidl 中定義
| Ordinal | Variant | 類型 | 說明 | 
|---|---|---|---|
1 | 
            response | 
            
                Server_PublishService_Response
             | 
            |
2 | 
            err | 
            
                PublishServiceError
             | 
            
商業智慧
CharacteristicPropertyBits 嚴格
類型:uint16
在 fuchsia.bluetooth.gatt2/types.fidl 中定義
特徵屬性 Bitfield 的可能值。用來指定 允許特定特徵使用的 GATT 程序。
| 名稱 | 值 | 說明 | 
|---|---|---|
廣播 | 
            1 | |
閱讀 | 
            2 | |
WRITE_WITHOUT_RESPONSE | 
            4 | |
寫入 | 
            8 | |
通知 | 
            16 | |
識別 | 
            32 | |
AUTHENTICATED_SIGNED_WRITES | 
            64 | |
RELIABLE_WRITE | 
            256 | |
WRITABLE_AUXILIARIES | 
            512 | 
觀測站
| 名稱 | 值 | 類型 | 說明 | 
|---|---|---|---|
| INITIAL_VALUE_CHANGED_CREDITS | 
                    10
                 | 
                uint32 | 
            指定在特定情況下,可用來傳送指示/通知的抵免額 首次發布 LocalService。  | 
        
| MAX_ATTRIBUTE_COUNT | 
                    65535
                 | 
                uint16 | 
            |
| MAX_CHARACTERISTIC_COUNT | 
                    32767
                 | 
                uint16 | 
            |
| MAX_DESCRIPTOR_COUNT | 
                    65532
                 | 
                uint16 | 
            |
| MAX_SERVICE_COUNT | 
                    MAX_ATTRIBUTE_COUNT
                 | 
                uint16 | 
            |
| MAX_VALUE_LENGTH | 
                    512
                 | 
                uint16 |