Если вы можете перейти на использование .NET: - / Я могу порекомендовать нашу библиотеку 32feet.NET .
Для явного сопряжения есть BluetoothSecurity.PairDevice. Мы также можем создать виртуальный порт для вас, например:
BluetoothClient cli = new BluetoothClient();
BluetoothDeviceInfo[] list = cli.DiscoverDevices();
BluetoothDeviceInfo selected = GetUserToSelectOne(list);
BluetoothSecurity.PairDevice(selected, pin);
// Ask Win32 to create a virtual serial port
selected.SetServiceState(BluetoothService.SerialPort);
Однако мне действительно не нравятся виртуальные последовательные порты, поэтому я всегда предлагаю, чтобы люди использовали обычное соединение через сокеты с помощью нашего класса BluetoothClient, он автоматически обработает запрос на сопряжение, если потребуется.
На Win32 мы поддерживаем стеки от Microsoft, Widcomm / Broadcom и BlueSoleil. В Widcomm там пока нет поддержки SetServiceState, и их API не поддерживает ответ на сопряжение запросов . BlueSoleil должен поддерживать оба.
Краткое руководство пользователя находится по адресу 32feet.NET - Руководство пользователя , а вся документация по классу доступна на основном сайте http://32feet.net, Документация Widcomm есть только в нашем коде хранилище на данный момент.