Author: akhaldi Date: Fri Nov 20 10:14:10 2015 New Revision: 69949
URL: http://svn.reactos.org/svn/reactos?rev=69949&view=rev Log: [HNETCFG] Sync with Wine Staging 1.7.55. CORE-10536
Modified: trunk/reactos/dll/win32/hnetcfg/apps.c trunk/reactos/dll/win32/hnetcfg/hnetcfg_private.h trunk/reactos/dll/win32/hnetcfg/port.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/hnetcfg/apps.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hnetcfg/apps.c?re... ============================================================================== --- trunk/reactos/dll/win32/hnetcfg/apps.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hnetcfg/apps.c [iso-8859-1] Fri Nov 20 10:14:10 2015 @@ -25,6 +25,7 @@ { INetFwAuthorizedApplication INetFwAuthorizedApplication_iface; LONG refs; + BSTR filename; } fw_app;
static inline fw_app *impl_from_INetFwAuthorizedApplication( INetFwAuthorizedApplication *iface ) @@ -47,6 +48,7 @@ if (!refs) { TRACE("destroying %p\n", fw_app); + if (fw_app->filename) SysFreeString( fw_app->filename ); HeapFree( GetProcessHeap(), 0, fw_app ); } return refs; @@ -96,6 +98,7 @@ &IID_INetFwAuthorizedApplications, &IID_INetFwMgr, &IID_INetFwOpenPort, + &IID_INetFwOpenPorts, &IID_INetFwPolicy, &IID_INetFwProfile }; @@ -237,7 +240,18 @@ fw_app *This = impl_from_INetFwAuthorizedApplication( iface );
FIXME("%p, %p\n", This, imageFileName); - return E_NOTIMPL; + + if (!imageFileName) + return E_INVALIDARG; + + if (!This->filename) + { + *imageFileName = NULL; + return S_OK; + } + + *imageFileName = SysAllocString( This->filename ); + return *imageFileName ? S_OK : E_OUTOFMEMORY; }
static HRESULT WINAPI fw_app_put_ProcessImageFileName( @@ -247,7 +261,15 @@ fw_app *This = impl_from_INetFwAuthorizedApplication( iface );
FIXME("%p, %s\n", This, debugstr_w(imageFileName)); - return S_OK; + + if (!imageFileName) + { + This->filename = NULL; + return S_OK; + } + + This->filename = SysAllocString( imageFileName ); + return This->filename ? S_OK : E_OUTOFMEMORY; }
static HRESULT WINAPI fw_app_get_IpVersion( @@ -370,6 +392,7 @@
fa->INetFwAuthorizedApplication_iface.lpVtbl = &fw_app_vtbl; fa->refs = 1; + fa->filename = NULL;
*ppObj = &fa->INetFwAuthorizedApplication_iface;
Modified: trunk/reactos/dll/win32/hnetcfg/hnetcfg_private.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hnetcfg/hnetcfg_p... ============================================================================== --- trunk/reactos/dll/win32/hnetcfg/hnetcfg_private.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hnetcfg/hnetcfg_private.h [iso-8859-1] Fri Nov 20 10:14:10 2015 @@ -43,6 +43,7 @@ INetFwAuthorizedApplications_tid, INetFwMgr_tid, INetFwOpenPort_tid, + INetFwOpenPorts_tid, INetFwPolicy_tid, INetFwProfile_tid, last_tid
Modified: trunk/reactos/dll/win32/hnetcfg/port.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hnetcfg/port.c?re... ============================================================================== --- trunk/reactos/dll/win32/hnetcfg/port.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hnetcfg/port.c [iso-8859-1] Fri Nov 20 10:14:10 2015 @@ -18,10 +18,15 @@
#include "hnetcfg_private.h"
+#include <ole2.h> + typedef struct fw_port { INetFwOpenPort INetFwOpenPort_iface; LONG refs; + BSTR name; + NET_FW_IP_PROTOCOL protocol; + LONG port; } fw_port;
static inline fw_port *impl_from_INetFwOpenPort( INetFwOpenPort *iface ) @@ -44,6 +49,7 @@ if (!refs) { TRACE("destroying %p\n", fw_port); + SysFreeString( fw_port->name ); HeapFree( GetProcessHeap(), 0, fw_port ); } return refs; @@ -163,8 +169,14 @@ { fw_port *This = impl_from_INetFwOpenPort( iface );
- FIXME("%p %s\n", This, debugstr_w(name)); - return E_NOTIMPL; + TRACE("%p %s\n", This, debugstr_w(name)); + + if (!(name = SysAllocString( name ))) + return E_OUTOFMEMORY; + + SysFreeString( This->name ); + This->name = name; + return S_OK; }
static HRESULT WINAPI fw_port_get_IpVersion( @@ -203,8 +215,13 @@ { fw_port *This = impl_from_INetFwOpenPort( iface );
- FIXME("%p %u\n", This, ipProtocol); - return E_NOTIMPL; + TRACE("%p %u\n", This, ipProtocol); + + if (ipProtocol != NET_FW_IP_PROTOCOL_TCP && ipProtocol != NET_FW_IP_PROTOCOL_UDP) + return E_INVALIDARG; + + This->protocol = ipProtocol; + return S_OK; }
static HRESULT WINAPI fw_port_get_Port( @@ -223,8 +240,9 @@ { fw_port *This = impl_from_INetFwOpenPort( iface );
- FIXME("%p %d\n", This, portNumber); - return E_NOTIMPL; + TRACE("%p %d\n", This, portNumber); + This->port = portNumber; + return S_OK; }
static HRESULT WINAPI fw_port_get_Scope( @@ -286,7 +304,7 @@ fw_port *This = impl_from_INetFwOpenPort( iface );
FIXME("%p %d\n", This, enabled); - return E_NOTIMPL; + return S_OK; }
static HRESULT WINAPI fw_port_get_BuiltIn( @@ -336,6 +354,9 @@
fp->INetFwOpenPort_iface.lpVtbl = &fw_port_vtbl; fp->refs = 1; + fp->name = NULL; + fp->protocol = NET_FW_IP_PROTOCOL_TCP; + fp->port = 0;
*ppObj = &fp->INetFwOpenPort_iface;
@@ -404,8 +425,9 @@ { fw_ports *This = impl_from_INetFwOpenPorts( iface );
- FIXME("%p %p\n", This, pctinfo); - return E_NOTIMPL; + TRACE("%p %p\n", This, pctinfo); + *pctinfo = 1; + return S_OK; }
static HRESULT WINAPI fw_ports_GetTypeInfo( @@ -416,8 +438,8 @@ { fw_ports *This = impl_from_INetFwOpenPorts( iface );
- FIXME("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo); - return E_NOTIMPL; + TRACE("%p %u %u %p\n", This, iTInfo, lcid, ppTInfo); + return get_typeinfo( INetFwOpenPorts_tid, ppTInfo ); }
static HRESULT WINAPI fw_ports_GetIDsOfNames( @@ -429,9 +451,18 @@ DISPID *rgDispId ) { fw_ports *This = impl_from_INetFwOpenPorts( iface ); - - FIXME("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId); - return E_NOTIMPL; + ITypeInfo *typeinfo; + HRESULT hr; + + TRACE("%p %s %p %u %u %p\n", This, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId); + + hr = get_typeinfo( INetFwOpenPorts_tid, &typeinfo ); + if (SUCCEEDED(hr)) + { + hr = ITypeInfo_GetIDsOfNames( typeinfo, rgszNames, cNames, rgDispId ); + ITypeInfo_Release( typeinfo ); + } + return hr; }
static HRESULT WINAPI fw_ports_Invoke( @@ -446,10 +477,20 @@ UINT *puArgErr ) { fw_ports *This = impl_from_INetFwOpenPorts( iface ); - - FIXME("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid), + ITypeInfo *typeinfo; + HRESULT hr; + + TRACE("%p %d %s %d %d %p %p %p %p\n", This, dispIdMember, debugstr_guid(riid), lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); - return E_NOTIMPL; + + hr = get_typeinfo( INetFwOpenPorts_tid, &typeinfo ); + if (SUCCEEDED(hr)) + { + hr = ITypeInfo_Invoke( typeinfo, &This->INetFwOpenPorts_iface, dispIdMember, + wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr ); + ITypeInfo_Release( typeinfo ); + } + return hr; }
static HRESULT WINAPI fw_ports_get_Count(
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=6... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Fri Nov 20 10:14:10 2015 @@ -72,7 +72,7 @@ reactos/dll/win32/gdiplus # Synced to WineStaging-1.7.47 reactos/dll/win32/hhctrl.ocx # Synced to WineStaging-1.7.47 reactos/dll/win32/hlink # Synced to WineStaging-1.7.47 -reactos/dll/win32/hnetcfg # Synced to WineStaging-1.7.47 +reactos/dll/win32/hnetcfg # Synced to WineStaging-1.7.55 reactos/dll/win32/httpapi # Synced to WineStaging-1.7.47 reactos/dll/win32/iccvid # Synced to WineStaging-1.7.47 reactos/dll/win32/icmp # Out of sync