Alistair Leslie-Hughes : mscoree: Register interfaces.

Alexandre Julliard julliard at winehq.org
Thu Oct 13 14:10:10 CDT 2011


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

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Tue Oct 11 16:08:00 2011 +1100

mscoree: Register interfaces.

---

 dlls/mscoree/Makefile.in         |    2 +
 dlls/mscoree/mscoree_classes.idl |   72 ++++++++++++++++++++++++++++++++++++++
 dlls/mscoree/mscoree_main.c      |   11 ++++--
 3 files changed, 81 insertions(+), 4 deletions(-)

diff --git a/dlls/mscoree/Makefile.in b/dlls/mscoree/Makefile.in
index a39c696..114b130 100644
--- a/dlls/mscoree/Makefile.in
+++ b/dlls/mscoree/Makefile.in
@@ -10,4 +10,6 @@ C_SRCS = \
 	metahost.c \
 	mscoree_main.c
 
+IDL_R_SRCS = mscoree_classes.idl
+
 @MAKE_DLL_RULES@
diff --git a/dlls/mscoree/mscoree_classes.idl b/dlls/mscoree/mscoree_classes.idl
new file mode 100644
index 0000000..692210e
--- /dev/null
+++ b/dlls/mscoree/mscoree_classes.idl
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2011 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
+ */
+
+[
+    helpstring("Microsoft Common Language Runtime Host V2"),
+    threading(both),
+    progid("CLRMetaData.CLRRuntimeHost.1"),
+    vi_progid("CLRMetaData.CLRRuntimeHost"),
+    uuid(90F1A06E-7712-4762-86B5-7A5EBA6BDB01),
+]
+coclass ICLRRuntimeHost
+{
+}
+
+[
+    helpstring("Microsoft Common Language Runtime Host V2"),
+    threading(both),
+    progid("CLRMetaData.CLRRuntimeHost.2"),
+    vi_progid("CLRMetaData.CLRRuntimeHost"),
+    uuid(90F1A06E-7712-4762-86B5-7A5EBA6BDB02),
+]
+coclass CLRRuntimeHost
+{
+}
+
+[
+    helpstring("Microsoft Common Language Runtime Meta Data"),
+    threading(both),
+    progid("CLRMetaData.CorMetaDataDispenser.2"),
+    vi_progid("CLRMetaData.CorMetaDataDispenser"),
+    uuid(E5CB7A31-7512-11D2-89CE-0080C792E5D8),
+]
+coclass CorMetaDataDispenser
+{
+}
+
+[
+    helpstring("Microsoft Common Language Runtime Meta Data"),
+    threading(both),
+    progid("CLRMetaData.CorMetaDataDispenserRuntime.2"),
+    vi_progid("CLRMetaData.CorMetaDataDispenserRuntime"),
+    uuid(1EC2DE53-75CC-11d2-9775-00A0C9B4D50C),
+]
+coclass CorMetaDataDispenserRuntime
+{
+}
+
+[
+    helpstring("Microsoft Common Language Runtime Host"),
+    threading(both),
+    progid("CLRMetaData.CorRuntimeHost.2"),
+    vi_progid("CLRMetaData.CorRuntimeHost"),
+    uuid(CB2F6723-AB3A-11d2-9C40-00C04FA30A3E),
+]
+coclass CorRuntimeHost
+{
+}
diff --git a/dlls/mscoree/mscoree_main.c b/dlls/mscoree/mscoree_main.c
index 64c226f..8b72ec8 100644
--- a/dlls/mscoree/mscoree_main.c
+++ b/dlls/mscoree/mscoree_main.c
@@ -44,11 +44,14 @@
 #include "fusion.h"
 #include "wine/list.h"
 #include "mscoree_private.h"
+#include "rpcproxy.h"
 
 #include "wine/debug.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL( mscoree );
 
+static HINSTANCE MSCOREE_hInstance;
+
 char *WtoA(LPCWSTR wstr)
 {
     int length;
@@ -116,6 +119,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
 
+    MSCOREE_hInstance = hinstDLL;
+
     switch (fdwReason)
     {
     case DLL_WINE_PREATTACH:
@@ -508,14 +513,12 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
 
 HRESULT WINAPI DllRegisterServer(void)
 {
-    FIXME("\n");
-    return S_OK;
+    return __wine_register_resources( MSCOREE_hInstance );
 }
 
 HRESULT WINAPI DllUnregisterServer(void)
 {
-    FIXME("\n");
-    return S_OK;
+    return __wine_unregister_resources( MSCOREE_hInstance );
 }
 
 HRESULT WINAPI DllCanUnloadNow(VOID)




More information about the wine-cvs mailing list