Connecting a Bluetooth Device

This document describes how to connect a Bluetooth device to your computer using the Microsoft Bluetooth stack.

BLUETOOTH STACK

The Microsoft Bluetooth stack supports the core Bluetooth standard and is compatible with most Bluetooth devices. The stack is implemented as a set of system services that are exposed through COM APIs. These services can be used by desktop applications as well as by other system components.

The Bluetooth stack provides the following services:

  • Discovery and enumeration of Bluetooth devices
  • Querying of device capabilities
  • Security
  • Service discovery
  • Connection management
  • Audio and video streaming
  • Data exchange

DEVICE DISCOVERY AND ENUMERATION

The first step in using the Bluetooth stack is to discover and enumerate Bluetooth devices in the vicinity. This can be accomplished by using the following COM APIs:

  • IBluetoothDeviceDiscoveryService::StartDiscovery
  • IBluetoothDeviceDiscoveryService::StopDiscovery
  • IBluetoothDeviceEnumerator::GetDeviceCount
  • IBluetoothDeviceEnumerator::GetDeviceAtIndex

These APIs allow applications to start and stop discovery sessions, as well as enumerate the devices that have been discovered.

QUERYING DEVICE CAPABILITIES

Once a Bluetooth device has been discovered, its capabilities can be queried using the following COM APIs:

  • IBluetoothDevice::GetDeviceInfo
  • IBluetoothDevice::IsConnectable
  • IBluetoothDevice::IsPaired
  • IBluetoothDevice::IsTrusted

These APIs allow applications to determine the friendly name of the device, as well as its connectability, pairability, and trust status.

SECURITY

The Bluetooth stack provides support for secure connections between devices. When two devices establish a connection, they can authenticate each other using a variety of methods, including password-based authentication and challenge-response authentication.

Service discovery is the process of discovering which services are offered by a remote device. This can be accomplished by using the following COM APIs:

  • IBluetoothDevice::GetServiceRecords
  • IBluetoothDevice::GetRfcommServices
  • IBluetoothDevice::GetL2capServices

These APIs allow applications to enumerate the services offered by a remote device.

CONNECTION MANAGEMENT

The Bluetooth stack provides support for managing connections between devices. This can be accomplished by using the following COM APIs:

  • IBluetoothConnectionManager::Connect
  • IBluetoothConnectionManager::Disconnect
  • IBluetoothConnectionManager::IsConnected

These APIs allow applications to initiate and terminate connections with remote devices, as well as determine the connection status of a given device.

AUDIO AND VIDEO STREAMING

The Bluetooth stack provides support for streaming audio and video data between devices. This can be accomplished by using the following COM APIs:

  • IBluetoothAudioGateway::Connect
  • IBluetoothAudioGateway::Disconnect
  • IBluetoothAudioGateway::StartStreaming
  • IBluetoothAudioGateway::StopStreaming

These APIs allow applications to initiate and terminate audio/video streaming sessions, as well as start and stop the streaming of data.

DATA EXCHANGE

The Bluetooth stack provides support for exchanging data between devices. This can be accomplished by using the following COM APIs:

  • IBluetoothSerialPort::Connect
  • IBluetoothSerialPort::Disconnect
  • IBluetoothSerialPort::SendData
  • IBluetoothSerialPort::ReceiveData

These APIs allow applications to initiate and terminate data exchange sessions, as well as send and receive data.

How to pair bose soundsport free

In order to pair your Bose SoundSport Free headphones with a Bluetooth device, you will need to put your headphones into pairing mode. To do this, press and hold the power button on your headphones for 2 seconds. The LED indicator will flash red and white when your headphones are in pairing mode. Once your headphones are in pairing mode, you can then pair them with your Bluetooth device. For more information on how to pair your Bose SoundSport Free headphones, please refer to the user guide.