https://git.reactos.org/?p=reactos.git;a=commitdiff;h=36755f12cbf8e8b7fbf35f...
commit 36755f12cbf8e8b7fbf35f1da48aa6c943e1d7c4 Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Thu Mar 15 12:23:02 2018 +0100 Commit: Amine Khaldi amine.khaldi@reactos.org CommitDate: Thu Mar 15 12:23:02 2018 +0100
[HNETCFG] Sync with Wine Staging 3.3. CORE-14434 --- dll/win32/hnetcfg/CMakeLists.txt | 4 ++-- dll/win32/hnetcfg/apps.c | 43 +++++++++++++++++++++++++++++++++---- dll/win32/hnetcfg/hnetcfg.c | 13 ++++++++++- dll/win32/hnetcfg/hnetcfg_private.h | 23 +------------------- dll/win32/hnetcfg/manager.c | 17 +++++++++++++++ dll/win32/hnetcfg/policy.c | 16 ++++++++++++++ dll/win32/hnetcfg/port.c | 16 +++++++++++++- dll/win32/hnetcfg/precomp.h | 24 +++++++++++++++++++++ dll/win32/hnetcfg/profile.c | 16 ++++++++++++++ dll/win32/hnetcfg/service.c | 16 ++++++++++++++ media/doc/README.WINE | 2 +- 11 files changed, 159 insertions(+), 31 deletions(-)
diff --git a/dll/win32/hnetcfg/CMakeLists.txt b/dll/win32/hnetcfg/CMakeLists.txt index fd216b2a2c..fd3ab10d92 100644 --- a/dll/win32/hnetcfg/CMakeLists.txt +++ b/dll/win32/hnetcfg/CMakeLists.txt @@ -11,7 +11,7 @@ list(APPEND SOURCE port.c profile.c service.c - hnetcfg_private.h) + precomp.h)
add_library(hnetcfg SHARED ${SOURCE} @@ -30,5 +30,5 @@ set_module_type(hnetcfg win32dll) add_dependencies(hnetcfg stdole2) target_link_libraries(hnetcfg wine uuid) add_importlibs(hnetcfg ole32 oleaut32 advapi32 msvcrt kernel32 ntdll) -add_pch(hnetcfg hnetcfg_private.h SOURCE) +add_pch(hnetcfg precomp.h SOURCE) add_cd_file(TARGET hnetcfg DESTINATION reactos/system32 FOR all) diff --git a/dll/win32/hnetcfg/apps.c b/dll/win32/hnetcfg/apps.c index 51463e0b27..e63da7f56e 100644 --- a/dll/win32/hnetcfg/apps.c +++ b/dll/win32/hnetcfg/apps.c @@ -16,15 +16,29 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include "config.h" +#include <stdarg.h> +#include <stdio.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "ole2.h" +#include "netfw.h" + +#include "wine/debug.h" +#include "wine/unicode.h" #include "hnetcfg_private.h"
-#include <winnls.h> -#include <ole2.h> +WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg);
typedef struct fw_app { INetFwAuthorizedApplication INetFwAuthorizedApplication_iface; LONG refs; + BSTR filename; } fw_app;
static inline fw_app *impl_from_INetFwAuthorizedApplication( INetFwAuthorizedApplication *iface ) @@ -47,6 +61,7 @@ static ULONG WINAPI fw_app_Release( if (!refs) { TRACE("destroying %p\n", fw_app); + if (fw_app->filename) SysFreeString( fw_app->filename ); HeapFree( GetProcessHeap(), 0, fw_app ); } return refs; @@ -239,7 +254,18 @@ static HRESULT WINAPI fw_app_get_ProcessImageFileName( 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( @@ -249,7 +275,15 @@ static HRESULT WINAPI fw_app_put_ProcessImageFileName( 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( @@ -372,6 +406,7 @@ HRESULT NetFwAuthorizedApplication_create( IUnknown *pUnkOuter, LPVOID *ppObj )
fa->INetFwAuthorizedApplication_iface.lpVtbl = &fw_app_vtbl; fa->refs = 1; + fa->filename = NULL;
*ppObj = &fa->INetFwAuthorizedApplication_iface;
diff --git a/dll/win32/hnetcfg/hnetcfg.c b/dll/win32/hnetcfg/hnetcfg.c index 5473838dbd..e56dbab9e7 100644 --- a/dll/win32/hnetcfg/hnetcfg.c +++ b/dll/win32/hnetcfg/hnetcfg.c @@ -16,9 +16,20 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include <stdarg.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "objbase.h" +#include "rpcproxy.h" +#include "netfw.h" + +#include "wine/debug.h" #include "hnetcfg_private.h"
-#include <rpcproxy.h> +WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg);
static HINSTANCE instance;
diff --git a/dll/win32/hnetcfg/hnetcfg_private.h b/dll/win32/hnetcfg/hnetcfg_private.h index a901d0d972..26b52d9231 100644 --- a/dll/win32/hnetcfg/hnetcfg_private.h +++ b/dll/win32/hnetcfg/hnetcfg_private.h @@ -16,26 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#ifndef _HNETCFG_PRIVATE_H_ -#define _HNETCFG_PRIVATE_H_ - -#include <wine/config.h> - -#include <stdarg.h> - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#define COBJMACROS - -#include <windef.h> -#include <winbase.h> -#include <objbase.h> -#include <netfw.h> - -#include <wine/debug.h> -WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg); +#pragma once
enum type_id { @@ -63,5 +44,3 @@ HRESULT NetFwAuthorizedApplications_create(IUnknown *, LPVOID *) DECLSPEC_HIDDEN HRESULT NetFwOpenPorts_create(IUnknown *, LPVOID *) DECLSPEC_HIDDEN; HRESULT NetFwOpenPort_create(IUnknown *, LPVOID *) DECLSPEC_HIDDEN; HRESULT NetFwServices_create(IUnknown *, LPVOID *) DECLSPEC_HIDDEN; - -#endif /* _HNETCFG_PRIVATE_H_ */ diff --git a/dll/win32/hnetcfg/manager.c b/dll/win32/hnetcfg/manager.c index c76df2b9d0..1d548b41a9 100644 --- a/dll/win32/hnetcfg/manager.c +++ b/dll/win32/hnetcfg/manager.c @@ -16,8 +16,25 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include "config.h" +#include <stdarg.h> +#include <stdio.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "initguid.h" +#include "ole2.h" +#include "netfw.h" + +#include "wine/debug.h" +#include "wine/unicode.h" #include "hnetcfg_private.h"
+WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg); + typedef struct fw_manager { INetFwMgr INetFwMgr_iface; diff --git a/dll/win32/hnetcfg/policy.c b/dll/win32/hnetcfg/policy.c index a6ea0b10c5..c2f32520bd 100644 --- a/dll/win32/hnetcfg/policy.c +++ b/dll/win32/hnetcfg/policy.c @@ -16,8 +16,24 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include "config.h" +#include <stdarg.h> +#include <stdio.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "ole2.h" +#include "netfw.h" + +#include "wine/debug.h" +#include "wine/unicode.h" #include "hnetcfg_private.h"
+WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg); + typedef struct fw_policy { INetFwPolicy INetFwPolicy_iface; diff --git a/dll/win32/hnetcfg/port.c b/dll/win32/hnetcfg/port.c index 2dc71b2b08..7d74965076 100644 --- a/dll/win32/hnetcfg/port.c +++ b/dll/win32/hnetcfg/port.c @@ -16,9 +16,23 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include "config.h" +#include <stdarg.h> +#include <stdio.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "ole2.h" +#include "netfw.h" + +#include "wine/debug.h" +#include "wine/unicode.h" #include "hnetcfg_private.h"
-#include <ole2.h> +WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg);
typedef struct fw_port { diff --git a/dll/win32/hnetcfg/precomp.h b/dll/win32/hnetcfg/precomp.h new file mode 100644 index 0000000000..770f1ea075 --- /dev/null +++ b/dll/win32/hnetcfg/precomp.h @@ -0,0 +1,24 @@ + +#ifndef _HNETCFG_PRECOMP_H_ +#define _HNETCFG_PRECOMP_H_ + +#include <wine/config.h> + +#include <stdarg.h> + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#define COBJMACROS + +#include <windef.h> +#include <winbase.h> +#include <objbase.h> +#include <netfw.h> + +#include <wine/debug.h> + +#include "hnetcfg_private.h" + +#endif /* !_HNETCFG_PRECOMP_H_ */ diff --git a/dll/win32/hnetcfg/profile.c b/dll/win32/hnetcfg/profile.c index 446ef9325a..835e82ed14 100644 --- a/dll/win32/hnetcfg/profile.c +++ b/dll/win32/hnetcfg/profile.c @@ -16,8 +16,24 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include "config.h" +#include <stdarg.h> +#include <stdio.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "ole2.h" +#include "netfw.h" + +#include "wine/debug.h" +#include "wine/unicode.h" #include "hnetcfg_private.h"
+WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg); + typedef struct fw_profile { INetFwProfile INetFwProfile_iface; diff --git a/dll/win32/hnetcfg/service.c b/dll/win32/hnetcfg/service.c index ab2ea38ee2..fa214b6760 100644 --- a/dll/win32/hnetcfg/service.c +++ b/dll/win32/hnetcfg/service.c @@ -16,8 +16,24 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#include "config.h" +#include <stdarg.h> +#include <stdio.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "ole2.h" +#include "netfw.h" + +#include "wine/debug.h" +#include "wine/unicode.h" #include "hnetcfg_private.h"
+WINE_DEFAULT_DEBUG_CHANNEL(hnetcfg); + typedef struct fw_service { INetFwService INetFwService_iface; diff --git a/media/doc/README.WINE b/media/doc/README.WINE index 36fc36a97a..b4ebdd7438 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -71,7 +71,7 @@ reactos/dll/win32/fusion # Synced to WineStaging-3.3 reactos/dll/win32/gdiplus # Synced to WineStaging-3.3 reactos/dll/win32/hhctrl.ocx # Synced to WineStaging-3.3 reactos/dll/win32/hlink # Synced to WineStaging-3.3 -reactos/dll/win32/hnetcfg # Synced to Wine-3.0 +reactos/dll/win32/hnetcfg # Synced to WineStaging-3.3 reactos/dll/win32/httpapi # Synced to WineStaging-2.9 reactos/dll/win32/iccvid # Synced to Wine-3.0 reactos/dll/win32/ieframe # Synced to Wine-3.0