A remote device can have more than one provider of Bluetooth services. A broad indicator of the services provided can be read from the class of device. This could be used, for example, to decide the appropriate icon with which to represent a device to the user. The class of device is got through TInquirySockAddr::MajorClassOfDevice()
after an address inquiry.
In certain circumstances, the coarse level of service discovery provided by the class of device is not adequate to determine which device to select. In this case, service discovery queries can be used on each device found to establish if it is a suitable choice. This should only be done when strictly necessary, as it may take substantial time to make the SDP queries for each device. SDP queries are performed through the Bluetooth Service Discovery Agent API.