Rob Shearman : actxprxy: Add the start of actxprxy.dll.

Alexandre Julliard julliard at winehq.org
Mon Dec 10 08:54:29 CST 2007


Module: wine
Branch: master
Commit: e8c7c0681a4f6a3f1fc0135449b91638a60e976b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e8c7c0681a4f6a3f1fc0135449b91638a60e976b

Author: Rob Shearman <rob at codeweavers.com>
Date:   Fri Dec  7 16:02:30 2007 +0000

actxprxy: Add the start of actxprxy.dll.

The native version of this DLL contains proxy code for various 
interfaces, but for the moment only servprov.idl is implemented.

---

 .gitignore                          |    3 ++
 Makefile.in                         |    2 +
 configure                           |    3 ++
 configure.ac                        |    1 +
 dlls/Makefile.in                    |    1 +
 dlls/actxprxy/Makefile.in           |   22 ++++++++++++
 dlls/actxprxy/actxprxy.spec         |    5 +++
 dlls/actxprxy/actxprxy_servprov.idl |    1 +
 dlls/actxprxy/usrmarshal.c          |   64 +++++++++++++++++++++++++++++++++++
 9 files changed, 102 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore
index cb7dc40..6be21d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,9 @@ dlls/Makedll.rules
 dlls/Makeimplib.rules
 dlls/Maketest.rules
 dlls/activeds/libactiveds.def
+dlls/actxprxy/actxprxy_servprov.h
+dlls/actxprxy/actxprxy_servprov_i.c
+dlls/actxprxy/actxprxy_servprov_p.c
 dlls/advapi32/libadvapi32.def
 dlls/advapi32/tests/*.ok
 dlls/advapi32/tests/advapi32_crosstest.exe
diff --git a/Makefile.in b/Makefile.in
index 54bab78..207ce95 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -159,6 +159,7 @@ ALL_MAKEFILES = \
 	dlls/Makefile \
 	dlls/acledit/Makefile \
 	dlls/activeds/Makefile \
+	dlls/actxprxy/Makefile \
 	dlls/advapi32/Makefile \
 	dlls/advapi32/tests/Makefile \
 	dlls/advpack/Makefile \
@@ -540,6 +541,7 @@ Makefile: Makefile.in Make.rules
 dlls/Makefile: dlls/Makefile.in Make.rules
 dlls/acledit/Makefile: dlls/acledit/Makefile.in dlls/Makedll.rules
 dlls/activeds/Makefile: dlls/activeds/Makefile.in dlls/Makedll.rules
+dlls/actxprxy/Makefile: dlls/actxprxy/Makefile.in dlls/Makedll.rules
 dlls/advapi32/Makefile: dlls/advapi32/Makefile.in dlls/Makedll.rules
 dlls/advapi32/tests/Makefile: dlls/advapi32/tests/Makefile.in dlls/Maketest.rules
 dlls/advpack/Makefile: dlls/advpack/Makefile.in dlls/Makedll.rules
diff --git a/configure b/configure
index 262eaaa..b020270 100755
--- a/configure
+++ b/configure
@@ -20527,6 +20527,8 @@ ac_config_files="$ac_config_files dlls/acledit/Makefile"
 
 ac_config_files="$ac_config_files dlls/activeds/Makefile"
 
+ac_config_files="$ac_config_files dlls/actxprxy/Makefile"
+
 ac_config_files="$ac_config_files dlls/advapi32/Makefile"
 
 ac_config_files="$ac_config_files dlls/advapi32/tests/Makefile"
@@ -21824,6 +21826,7 @@ do
     "dlls/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/Makefile" ;;
     "dlls/acledit/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/acledit/Makefile" ;;
     "dlls/activeds/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/activeds/Makefile" ;;
+    "dlls/actxprxy/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/actxprxy/Makefile" ;;
     "dlls/advapi32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/advapi32/Makefile" ;;
     "dlls/advapi32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/advapi32/tests/Makefile" ;;
     "dlls/advpack/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/advpack/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 8ff580f..8d6e1b4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1580,6 +1580,7 @@ AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([dlls/Makefile])
 AC_CONFIG_FILES([dlls/acledit/Makefile])
 AC_CONFIG_FILES([dlls/activeds/Makefile])
+AC_CONFIG_FILES([dlls/actxprxy/Makefile])
 AC_CONFIG_FILES([dlls/advapi32/Makefile])
 AC_CONFIG_FILES([dlls/advapi32/tests/Makefile])
 AC_CONFIG_FILES([dlls/advpack/Makefile])
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index 0d2f3e4..8d5c891 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -18,6 +18,7 @@ EXTRADIRS = @GLU32FILES@ @OPENGLFILES@ @QUARTZFILES@ @XFILES@
 BASEDIRS = \
 	acledit \
 	activeds \
+	actxprxy \
 	advapi32 \
 	advpack \
 	amstream \
diff --git a/dlls/actxprxy/Makefile.in b/dlls/actxprxy/Makefile.in
new file mode 100644
index 0000000..005ec0f
--- /dev/null
+++ b/dlls/actxprxy/Makefile.in
@@ -0,0 +1,22 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = actxprxy.dll
+IMPORTS   = rpcrt4 kernel32 ntdll
+EXTRADEFS = -DREGISTER_PROXY_DLL -DPROXY_CLSID_IS="{ 0xb8da6310, 0xe19b, 0x11d0, { 0x93, 0x3c, 0x00, 0xa0, 0xc9, 0x0d, 0xca, 0xa9 } }"
+
+EXTRA_OBJS = dlldata.o
+
+C_SRCS = \
+	usrmarshal.c
+
+IDL_I_SRCS = \
+	actxprxy_servprov.idl
+
+IDL_P_SRCS = \
+	actxprxy_servprov.idl
+
+ at MAKE_DLL_RULES@
+
+ at DEPENDENCIES@  # everything below this line is overwritten by make depend
diff --git a/dlls/actxprxy/actxprxy.spec b/dlls/actxprxy/actxprxy.spec
new file mode 100644
index 0000000..a1096f1
--- /dev/null
+++ b/dlls/actxprxy/actxprxy.spec
@@ -0,0 +1,5 @@
+3 stdcall -private GetProxyDllInfo(ptr ptr)
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
diff --git a/dlls/actxprxy/actxprxy_servprov.idl b/dlls/actxprxy/actxprxy_servprov.idl
new file mode 100644
index 0000000..08b26ef
--- /dev/null
+++ b/dlls/actxprxy/actxprxy_servprov.idl
@@ -0,0 +1 @@
+#include "servprov.idl"
diff --git a/dlls/actxprxy/usrmarshal.c b/dlls/actxprxy/usrmarshal.c
new file mode 100644
index 0000000..9d5318f
--- /dev/null
+++ b/dlls/actxprxy/usrmarshal.c
@@ -0,0 +1,64 @@
+/*
+ * Miscellaneous Marshaling Routines
+ *
+ * Copyright 2006 Robert Shearman (for CodeWeavers)
+ *
+ * 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
+ */
+
+#include <stdarg.h>
+#include <string.h>
+
+#define COBJMACROS
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
+
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+#include "winerror.h"
+#include "objbase.h"
+#include "servprov.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(actxprxy);
+
+HRESULT CALLBACK IServiceProvider_QueryService_Proxy(
+    IServiceProvider* This,
+    REFGUID guidService,
+    REFIID riid,
+    void** ppvObject)
+{
+    TRACE("(%p, %s, %s, %p)\n", This, debugstr_guid(guidService),
+        debugstr_guid(riid), ppvObject);
+
+    return IServiceProvider_RemoteQueryService_Proxy(This, guidService, riid,
+        (IUnknown **)ppvObject);
+}
+
+HRESULT __RPC_STUB IServiceProvider_QueryService_Stub(
+    IServiceProvider* This,
+    REFGUID guidService,
+    REFIID riid,
+    IUnknown** ppvObject)
+{
+    TRACE("(%p, %s, %s, %p)\n", This, debugstr_guid(guidService),
+        debugstr_guid(riid), ppvObject);
+
+    return IServiceProvider_QueryService(This, guidService, riid,
+        (void **)ppvObject);
+}




More information about the wine-cvs mailing list