From e2d6e875f97e3d30dadb1fa3a9cfe307108c49ca Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 7 Jun 2026 10:19:23 +0200 Subject: [PATCH] [NETCFGX][REACTOS] Add a second unknown method to the ITcpipProperties interface This method is called by the 'interface ip set address' command from WinXP ifmon.dll. --- dll/win32/netcfgx/tcpipconf_notify.c | 23 +++++++++++++++++++++++ sdk/include/reactos/netcfgn_undoc.h | 2 ++ 2 files changed, 25 insertions(+) diff --git a/dll/win32/netcfgx/tcpipconf_notify.c b/dll/win32/netcfgx/tcpipconf_notify.c index d42094c5173..810af07511d 100644 --- a/dll/win32/netcfgx/tcpipconf_notify.c +++ b/dll/win32/netcfgx/tcpipconf_notify.c @@ -4635,12 +4635,35 @@ done: return hr; } +HRESULT +WINAPI +ITcpipProperties_fnUnknown2( + ITcpipProperties *iface, + GUID *pAdapterName, + PTCPIP_PROPERTIES pProperties) +{ + HRESULT hr = S_OK; + + ERR("ITcpipProperties_fnUnknown2(%s %p)\n", wine_dbgstr_guid(pAdapterName), pProperties); + + if (pProperties) + { + ERR("pProperties->dwDhcp %lu\n", pProperties->dwDhcp); + ERR("pProperties->pszIpAddress %S\n", pProperties->pszIpAddress); + ERR("pProperties->pszSubnetMask %S\n", pProperties->pszSubnetMask); + ERR("pProperties->pszParameters %S\n", pProperties->pszParameters); + } + + return hr; +} + static const ITcpipPropertiesVtbl vt_TcpipProperties = { ITcpipProperties_fnQueryInterface, ITcpipProperties_fnAddRef, ITcpipProperties_fnRelease, ITcpipProperties_fnUnknown1, + ITcpipProperties_fnUnknown2, }; HRESULT diff --git a/sdk/include/reactos/netcfgn_undoc.h b/sdk/include/reactos/netcfgn_undoc.h index 5923dd2740e..5c0dda77d9e 100644 --- a/sdk/include/reactos/netcfgn_undoc.h +++ b/sdk/include/reactos/netcfgn_undoc.h @@ -17,6 +17,7 @@ DECLARE_INTERFACE_(ITcpipProperties, IUnknown) STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release) (THIS) PURE; STDMETHOD_(HRESULT,Unknown1)(THIS_ GUID *pAdapterName, PTCPIP_PROPERTIES *ppProperties) PURE; + STDMETHOD_(HRESULT,Unknown2)(THIS_ GUID *pAdapterName, PTCPIP_PROPERTIES pProperties) PURE; /* ??? */ }; #undef INTERFACE @@ -29,6 +30,7 @@ EXTERN_C const IID IID_ITcpipProperties; #define ITcpipProperties_AddRef(p) (p)->lpVtbl->AddRef(p) #define ITcpipProperties_Release(p) (p)->lpVtbl->Release(p) #define ITcpipProperties_Unknown1(p,a,b) (p)->lpVtbl->Unknown1(p,a,b) +#define ITcpipProperties_Unknown2(p,a,b) (p)->lpVtbl->Unknown2(p,a,b) /* ??? */ #endif