Rémi Bernon (@rbernon) commented about dlls/windows.devices.bluetooth/bluetoothdevice.c:
+ ble_device_add_GattServicesChanged, + ble_device_remove_GattServicesChanged, + ble_device_add_ConnectionStatusChanged, + ble_device_remove_ConnectionStatusChanged, +}; + +static HRESULT ble_device_create( IBluetoothLEDevice **device, const WCHAR *id, UINT64 addr ) +{ + struct ble_device *impl; + HRESULT hr; + + TRACE( "(%p, %s, %I64x)\n", device, debugstr_w( id ), addr ); + + if (!(impl = calloc( 1, sizeof( *impl )))) + return E_OUTOFMEMORY; + if (FAILED((hr = WindowsCreateString( id, wcslen( id ), &impl->id )))) Nit, usually FAILED is used without extra paren, the macros already adds some internally, same thing twice below.
```suggestion:-0+0 if (FAILED(hr = WindowsCreateString( id, wcslen( id ), &impl->id ))) ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10865#note_139538