From: Vibhav Pant <vibhavp@gmail.com> --- dlls/windows.devices.bluetooth/gatt.c | 13 +++++++++++-- dlls/windows.devices.bluetooth/tests/bluetooth.c | 5 ++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/dlls/windows.devices.bluetooth/gatt.c b/dlls/windows.devices.bluetooth/gatt.c index 43b968f844d..ac541bfc180 100644 --- a/dlls/windows.devices.bluetooth/gatt.c +++ b/dlls/windows.devices.bluetooth/gatt.c @@ -112,8 +112,17 @@ static HRESULT WINAPI gatt_service_get_DeviceId( IGattDeviceService *iface, HSTR static HRESULT WINAPI gatt_service_get_Uuid( IGattDeviceService *iface, GUID *value ) { - FIXME( "(%p, %p): stub!\n", iface, value ); - return E_NOTIMPL; + struct gatt_service *impl = impl_from_IGattDeviceService( iface ); + TRACE( "(%p, %p)\n", iface, value ); + + if (impl->service.ServiceUuid.IsShortUuid) + { + *value = BTH_LE_ATT_BLUETOOTH_BASE_GUID; + value->Data1 = impl->service.ServiceUuid.Value.ShortUuid; + } + else + *value = impl->service.ServiceUuid.Value.LongUuid; + return S_OK; } static HRESULT WINAPI gatt_service_get_AttributeHandle( IGattDeviceService *iface, UINT16 *value ) diff --git a/dlls/windows.devices.bluetooth/tests/bluetooth.c b/dlls/windows.devices.bluetooth/tests/bluetooth.c index e1e451f48ce..66bbbb7e7cc 100644 --- a/dlls/windows.devices.bluetooth/tests/bluetooth.c +++ b/dlls/windows.devices.bluetooth/tests/bluetooth.c @@ -544,9 +544,8 @@ static void test_IGattDeviceService( int line, IGattDeviceService *service ) WindowsDeleteString( str ); hr = IGattDeviceService_get_Uuid( service, &uuid ); - todo_wine ok_( __FILE__, line )( hr == S_OK, "got hr %#lx.\n", hr ); - if (hr == S_OK) - trace( "UUID: %s\n", debugstr_guid( &uuid ) ); + ok_( __FILE__, line )( hr == S_OK, "got hr %#lx.\n", hr ); + trace( "UUID: %s\n", debugstr_guid( &uuid ) ); hr = IGattDeviceService_get_AttributeHandle( service, &handle ); todo_wine ok_( __FILE__, line )( hr == S_OK, "got hr %#lx.\n", hr ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10865