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