Rémi Bernon (@rbernon) commented about include/windows.devices.bluetooth.idl:
+ interface IBluetoothAdapterStatics : IInspectable + { + HRESULT GetDeviceSelector([out, retval] HSTRING *result); + HRESULT FromIdAsync([in] HSTRING id, [out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.BluetoothAdapter *> **operation); + HRESULT GetDefaultAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Bluetooth.BluetoothAdapter *> **operation); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 4.0), + marshaling_behavior(agile), + static(Windows.Devices.Bluetooth.IBluetoothAdapterStatics, Windows.Foundation.UniversalApiContract, 4.0), + threading(both) + ] + runtimeclass BluetoothAdapter + { + [default] interface Windows.Devices.Bluetooth.IBluetoothAdapter; Nitpick but you could probably already add:
[contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Devices.Bluetooth.IBluetoothAdapter2;
[contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.Devices.Bluetooth.IBluetoothAdapter3;
So that the class definition is complete. It doesn't even need forward declarations but you can add them too if you want, just not the interface definitions. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3220#note_37603