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