Rémi Bernon (@rbernon) commented about dlls/windows.devices.bluetooth/gatt.c:
+ gatt_service_QueryInterface, + gatt_service_AddRef, + gatt_service_Release, + /* IInspectable */ + gatt_service_GetIids, + gatt_service_GetRuntimeClassName, + gatt_service_GetTrustLevel, + /* IGattDeviceService */ + gatt_service_GetCharacteristics, + gatt_service_GetIncludedServices, + gatt_service_get_DeviceId, + gatt_service_get_Uuid, + gatt_service_get_AttributeHandle +}; + +HRESULT gatt_service_create( IGattDeviceService **service, const BTH_LE_GATT_SERVICE *svc ) Usually the created object return pointer is last. I got confused seeing it first, when reading the gatt_service_create call.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/10865#note_140314