comsvcs: Add dll comsvcs (try 4)

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Fri Aug 23 04:50:06 CDT 2013


Hi,
Make variable static.

rpcproxy.h is required for function __wine_[un]register_resources.

Changelog:
         comsvcs: Add dll comsvcs


Best Regards
      Alistair Leslie-Hughes




-------------- next part --------------
>From c9579e3bd9983ed2a3cd1b4139139f9f9ca5ea4e Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Thu, 1 Aug 2013 10:19:23 +1000
Subject: [PATCH] Add dll comsvcs
To: wine-patches <wine-patches at winehq.org>

---
 configure.ac              |  1 +
 dlls/comsvcs/Makefile.in  |  8 +++++
 dlls/comsvcs/comsvcs.spec | 20 +++++++++++
 dlls/comsvcs/main.c       | 84 +++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 113 insertions(+)
 create mode 100644 dlls/comsvcs/Makefile.in
 create mode 100644 dlls/comsvcs/comsvcs.spec
 create mode 100644 dlls/comsvcs/main.c

diff --git a/configure.ac b/configure.ac
index 1cba660..0f84770 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2641,6 +2641,7 @@ WINE_CONFIG_DLL(comm.drv16,enable_win16)
 WINE_CONFIG_DLL(commdlg.dll16,enable_win16)
 WINE_CONFIG_DLL(compobj.dll16,enable_win16)
 WINE_CONFIG_DLL(compstui,,[implib])
+WINE_CONFIG_DLL(comsvcs,,[implib])
 WINE_CONFIG_DLL(credui,,[implib,po])
 WINE_CONFIG_TEST(dlls/credui/tests)
 WINE_CONFIG_DLL(crtdll,,[implib])
diff --git a/dlls/comsvcs/Makefile.in b/dlls/comsvcs/Makefile.in
new file mode 100644
index 0000000..1e52806
--- /dev/null
+++ b/dlls/comsvcs/Makefile.in
@@ -0,0 +1,8 @@
+MODULE    = comsvcs.dll
+IMPORTLIB = comsvcs
+IMPORTS   = ole32
+
+C_SRCS = \
+	main.c
+
+ at MAKE_DLL_RULES@
diff --git a/dlls/comsvcs/comsvcs.spec b/dlls/comsvcs/comsvcs.spec
new file mode 100644
index 0000000..6bd6ec9
--- /dev/null
+++ b/dlls/comsvcs/comsvcs.spec
@@ -0,0 +1,20 @@
+@ stub CosGetCallContext
+@ stub CoCreateActivity
+@ stub CoEnterServiceDomain
+@ stub CoLeaveServiceDomain
+@ stub CoLoadServices
+@ stub ComSvcsExceptionFilter
+@ stub ComSvcsLogError
+@ stub DispManGetContext
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
+@ stub GetMTAThreadPoolMetrics
+@ stub GetManagedExtensions
+@ stub GetObjectContext
+@ stub GetTrkSvrObject
+@ stub MTSCreateActivity
+@ stub MiniDumpW
+@ stub RecycleSurrogate
+@ stub SafeRef
diff --git a/dlls/comsvcs/main.c b/dlls/comsvcs/main.c
new file mode 100644
index 0000000..7b8c9d1
--- /dev/null
+++ b/dlls/comsvcs/main.c
@@ -0,0 +1,84 @@
+/*
+ * COM+ Services
+ *
+ * Copyright 2013 Alistair Leslie-Hughes
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define COBJMACROS
+
+#include "config.h"
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "ole2.h"
+#include "rpcproxy.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(comsvcs);
+
+HINSTANCE COMSVCS_hInstance = NULL;
+
+BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID lpv)
+{
+    switch(reason)
+    {
+    case DLL_WINE_PREATTACH:
+        return FALSE;    /* prefer native version */
+    case DLL_PROCESS_ATTACH:
+        COMSVCS_hInstance = hinst;
+        DisableThreadLibraryCalls(hinst);
+        break;
+    }
+    return TRUE;
+}
+
+/******************************************************************
+ * DllGetClassObject
+ */
+HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
+{
+    FIXME("(%s,%s,%p) stub\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
+
+    return CLASS_E_CLASSNOTAVAILABLE;
+}
+
+/******************************************************************
+ * DllCanUnloadNow
+ */
+HRESULT WINAPI DllCanUnloadNow(void)
+{
+    return S_FALSE;
+}
+
+/***********************************************************************
+ *		DllRegisterServer (comsvcs.@)
+ */
+HRESULT WINAPI DllRegisterServer(void)
+{
+    return __wine_register_resources( COMSVCS_hInstance );
+}
+
+/***********************************************************************
+ *		DllUnregisterServer (comsvcs.@)
+ */
+HRESULT WINAPI DllUnregisterServer(void)
+{
+    return __wine_unregister_resources( COMSVCS_hInstance );
+}
-- 
1.8.1.2



More information about the wine-patches mailing list