views:

119

answers:

1

The Win32 call BluetoothAuthenticateDevice doesn't seem to function properly since Vista SP2. If you pass in null for the PIN code, the Bluetooth Connection Wizard is supposed to be displayed, allowing the user to enter the pin code and pair the device.

This was working fine until I installed SP2. Now, BluetoothAuthenticateDevice is failing if I pass in null for the PIN, but if I specify the PIN the device gets paired. Any idea why the Bluetooth Connection Wizard doesn't get displayed?

The problem seems to stem from the fact that as of Vista SP2, the Bluetooth stack has been upgraded to support Bluetooth 2.1+EDR. This is supposed to be backwards compatible with Bluetooth 1.2, but what about security.

I also notice that on an iPaq 110 using Windows Mobile 6.0, the Broadcom API also has problems pairing. I believe the iPaq 110 WM 6.0 uses Bluetooth 2.0. Could both issues be related?

A: 

I've just tested BluetoothAuthenticateDevice(pin=null, len=0) on a Windows 7 box and the dialog box pops up there as expected. However a change I see is that if the target device is not present then the dialog box is never shown. Presumably W7 / Vista+KB942567/SP2 connects first to the device to see what authentication methods it supports, whereas XP2 Vista/Gold just pops-up the dialog immediately and only on completion attempt to connect to authenticate.

(I'll add a wee note in my document Bluetooth in Windows 7)

alanjmcf