Что означает код HRESULT 0x80650004 (E_BLUETOOTH_ATT_INVALID_PDU)?

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

E_BLUETOOTH_ATT_INVALID_PDU

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

E_BLUETOOTH_ATT_INVALID_PDU (0x80650004) — Получен недопустимый пакет PDU протокола ATT.

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

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

В первую очередь проверьте допустимость и структуру входных данных первого неуспешного вызова. Для 0x80650004 в сценарии «получен недопустимый пакет pdu протокола att» сверьте тип, размер, диапазон, маску флагов и принадлежность каждого дескриптора текущему объекту именно по контракту первого неуспешного метода.

Перед повтором 0x80650004 зафиксируйте peer address, service/characteristic UUID, attribute handle, opcode, MTU и ATT response; отдельно запишите HRESULT, HCI. Различия по теме «bluetooth, att, недопустимый, pdu» для 0x80650004 покажут, изменился ли первый неуспешный этап.

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

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

Документация для результата 0x80650004: Bluetooth Core: ATT PDU formats and Invalid PDU · Zephyr: ATT error constants · Bluetooth HRESULT values.


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