diff --git a/dlls/windows.networking.hostname/hostname.c b/dlls/windows.networking.hostname/hostname.c index f3ba7b5b20c..c941e7ada89 100644 --- a/dlls/windows.networking.hostname/hostname.c +++ b/dlls/windows.networking.hostname/hostname.c @@ -191,8 +191,12 @@ static HRESULT WINAPI hostname_get_IPInformation( IHostName *iface, IIPInformati static HRESULT WINAPI hostname_get_RawName( IHostName *iface, HSTRING *value ) { - FIXME( "iface %p, value %p stub!\n", iface, value ); - return E_NOTIMPL; + struct hostname *impl = impl_from_IHostName( iface ); + + TRACE( "iface %p, value %p.\n", iface, value ); + + if (!value) return E_INVALIDARG; + return WindowsDuplicateString( impl->rawname, value ); } static HRESULT WINAPI hostname_get_DisplayName( IHostName *iface, HSTRING *value ) diff --git a/dlls/windows.networking.hostname/tests/hostname.c b/dlls/windows.networking.hostname/tests/hostname.c index 18cdec840ef..7c6cfd559ea 100644 --- a/dlls/windows.networking.hostname/tests/hostname.c +++ b/dlls/windows.networking.hostname/tests/hostname.c @@ -94,12 +94,12 @@ static void test_HostnameStatics(void) check_interface( hostname, &IID_IHostName ); hr = IHostName_get_RawName( hostname, NULL ); - todo_wine ok( hr == E_INVALIDARG, "got hr %#lx.\n", hr ); + ok( hr == E_INVALIDARG, "got hr %#lx.\n", hr ); hr = IHostName_get_RawName( hostname, &rawname ); - todo_wine ok( hr == S_OK, "got hr %#lx.\n", hr ); + ok( hr == S_OK, "got hr %#lx.\n", hr ); hr = WindowsCompareStringOrdinal( str, rawname, &res ); - todo_wine ok( hr == S_OK, "got hr %#lx.\n", hr ); - todo_wine ok( !res, "got unexpected string %s.\n", debugstr_hstring(rawname) ); + ok( hr == S_OK, "got hr %#lx.\n", hr ); + ok( !res, "got unexpected string %s.\n", debugstr_hstring(rawname) ); WindowsDeleteString( str ); WindowsDeleteString( rawname );