Creating a SCO Client Connection to a Remote Device
A SCO client profile driver is a profile driver that requests Synchronous Connection-Oriented (SCO) connection to a remote device. If the device accepts the connection, the SCO client profile driver is notified of any changes to the connection. For example, a SCO client profile driver can request a connection to a remote headset, and after the headset accepts the connection request, the Bluetooth driver stack can notify the profile driver when the headset is turned off or removed.
Because SCO connections are point-to-point connections between two Bluetooth devices, a SCO client profile driver needs only the Bluetooth address of the remote device to connect to.
If the remote device accepts the profile driver's SCO connection request, the profile driver can then perform additional BRB commands across the newly connected channel by using IOCTL_INTERNAL_BTH_SUBMIT_BRB, including:
Note Profile drivers should build and send a BRB_SCO_GET_SYSTEM_INFO request during initialization to determine if the underlying hardware supports SCO and, if so, what the global SCO settings are.