| Предыдущий | Следующий |
| E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED | E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION |
E_BLUETOOTH_ATT_INVALID_OFFSET
Что означает E_BLUETOOTH_ATT_INVALID_OFFSET
E_BLUETOOTH_ATT_INVALID_OFFSET (0x80650007) — Указанное смещение находится за пределами атрибута.
Результат 0x80650007 пришёл из подсистемы «Bluetooth GATT/ATT» при работе с областью «ATT request, attribute handle, permissions и connection state». Для сообщения «указанное смещение находится за пределами атрибута» практический предмет проверки — «bluetooth, att, недопустимый, смещение».
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: проверьте допустимость и структуру входных данных первого неуспешного вызова. При 0x80650007 и условии «указанное смещение находится за пределами атрибута» сверьте тип, размер, диапазон, маску флагов и принадлежность каждого дескриптора текущему объекту именно по контракту первого неуспешного метода.
Для воспроизведения 0x80650007 сохраните peer address, service/characteristic UUID, attribute handle, opcode, MTU и ATT response. По теме «bluetooth, att, недопустимый, смещение» для 0x80650007 сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.
Практическое исправление для 0x80650007: проверяйте handle и права по актуальному service discovery; после переподключения старые handles могут быть недействительны. В контексте условия «указанное смещение находится за пределами атрибута» для 0x80650007 оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.
Документация для результата 0x80650007: Bluetooth Core: Read Blob and Prepare Write · BlueZ GATT API: offset handling · Zephyr: GATT read and write offsets.
Нужно найти другой код? Найти другой код состояния или ошибки.