internal SelectBluetoothDeviceDialog(bool forceCustomDialog)
        {
#if NETCF
            InTheHand.Net.PlatformVerification.ThrowException();
#endif
#if !WinXP
            // Always the custom dialog on WM/CE.
            forceCustomDialog = true;
            _msftFilterProxy  = null;
#endif
            BluetoothRadio radio;
            if (forceCustomDialog || (radio = BluetoothRadio.PrimaryRadio) != null && radio.SoftwareManufacturer != Manufacturer.Microsoft)
            {
                dialogCustom = new SelectBluetoothDeviceForm();
                dialog       = dialogCustom;
            }
            else
            {
#if WinXP
                _msftFilterProxy = MsftFilterProxy;
                dialogWin32      = new BLUETOOTH_SELECT_DEVICE_PARAMS();
                dialogWin32.Reset();
                dialog = dialogWin32;
#else
                Debug.Fail("Should use custom dialog on non-Win32!");
#endif
            }

            ClassOfDevices = new System.Collections.Generic.List <ClassOfDevice>();
        }
        internal SelectBluetoothDeviceDialog(bool forceCustomDialog)
        {

#if WinXP
                _msftFilterProxy = MsftFilterProxy;
                dialogWin32 = new BLUETOOTH_SELECT_DEVICE_PARAMS();
                dialogWin32.Reset();
                dialog = dialogWin32;
#else
                Debug.Fail("Should use custom dialog on non-Win32!");
#endif

            ClassOfDevices = new System.Collections.Generic.List<ClassOfDevice>();
        }