I've just revisited where I got to. I'd written the state of a cross-platform framework but only starting in filling in the platform specific stuff for the Mac and IOS. And I'd not looked into Windows in any detail at all. So I'm not sure it's going to be a lot of use to you. If you really want a look I'll show you it - but having re-read it I think you'd do a cleaner job without seeing the unnecessary complexity i tried to add :)
To do a neat implementation you'll need a common interface .mm objective C++ file for the Mac implementation and something in C/C++ for Windows. There's some examples of how to do this neatly in the JUCE code. See juce_core/native.
The bluetooth documentation I was looking at for the Mac implementation is here: