| Предыдущий | Следующий |
| STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND | STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE |
STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG
Процедура продолжения длинного значения использована там, где она неприменима
STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG соответствует ошибке ATT 0x0B. Attribute Protocol позволяет серверу вернуть её для запроса Read Blob, когда значение имеет фиксированную длину и помещается в обычный ответ ATT, поэтому продолжение blob не является подходящим методом чтения.
Это не следует интерпретировать как общее утверждение о неспособности устройства обрабатывать большие данные. Статус описывает процедуру, выбранную для конкретного атрибута. Длинные записи используют Prepare Write и Execute Write, а не Read Blob.
Что следует проверить
- Запишите целевой дескриптор, смещение Read Blob, ATT MTU, результат предшествующего обычного чтения и тип значения, ожидаемый профилем.
- Прекратите цикл Read Blob для этого атрибута и используйте результат обычного чтения, если он уже содержит полное значение фиксированного размера.
- Не преобразовывайте этот статус в Invalid Offset; сервер отклоняет саму процедуру длинного чтения, а не только позицию внутри допустимого blob.
Ссылки
- Bluetooth SIG: Attribute Protocol (ATT)
- Bluetooth SIG: Generic Attribute Profile (GATT)
- Microsoft: клиент Bluetooth GATT
Нужно найти другой код? Найти другой код состояния или ошибки.