| Previous | Next |
| E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL | E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG |
E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND
A completed discovery range can legitimately contain no match
E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND carries ATT error 0x0A. It commonly terminates Find Information, Find By Type Value, Read By Type, or Read By Group Type when no matching attribute exists between the requested start and end handles. In discovery, that result can be a normal end condition rather than a transport failure.
The interpretation depends on the range and UUID sent by the client. A reversed range, a stale service boundary, use of the wrong UUID width, or querying a secondary service as though it were primary can produce an unexpected empty result.
Validate the discovery request
- Log the start handle, end handle, attribute type, and any type value.
- Treat the code as normal completion only when the discovery algorithm has already collected all required entries.
- Rediscover service boundaries after a Service Changed indication.
- Compare the requested UUID with the profile specification and the device database.
References
- Bluetooth Core: discovery requests and Attribute Not Found
- Bluetooth Core: GATT discovery procedures
- Microsoft: Bluetooth LE discovery functions
Looking for a different code? Search another status or error code.