Что означает код HRESULT 0x80650002 (E_BLUETOOTH_ATT_READ_NOT_PERMITTED)?

 
Предыдущий Следующий
E_BLUETOOTH_ATT_INVALID_HANDLE E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED

E_BLUETOOTH_ATT_READ_NOT_PERMITTED

Что означает E_BLUETOOTH_ATT_READ_NOT_PERMITTED

E_BLUETOOTH_ATT_READ_NOT_PERMITTED (0x80650002) — Чтение атрибута запрещено.

Код 0x80650002 относится не ко всему компоненту «Bluetooth GATT/ATT», а к операции в области «ATT request, attribute handle, permissions и connection state». Сообщение «чтение атрибута запрещено» позволяет начать с темы «bluetooth, att, read, не, permitted».

Что проверить и как подтвердить исправление

Не начинайте с общего сброса компонента: сопоставьте первый отказ с фактическими параметрами операции. При 0x80650002 и условии «чтение атрибута запрещено» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Диагностика 0x80650002 должна включать peer address, service/characteristic UUID, attribute handle, opcode, MTU и ATT response. Для темы «bluetooth, att, read, не, permitted» при 0x80650002 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.

После локализации 0x80650002 действуйте по контракту подсистемы: проверяйте handle и права по актуальному service discovery; после переподключения старые handles могут быть недействительны. Для 0x80650002 и условия «чтение атрибута запрещено» неизменённый повтор без нового состояния не считается исправлением.

Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x80650002, а заведомо неверный вход отклоняется на ожидаемой границе.

Документация для результата 0x80650002: Bluetooth Core: characteristic properties and permissions · Bluetooth Core: Read Not Permitted · Zephyr: GATT attribute read callbacks and permissions.


Нужно найти другой код? Найти другой код состояния или ошибки.