From b2ef9218ec2a61634885f9a3b7666d8450314548 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 11 Oct 2011 16:08:00 +1100 Subject: [PATCH] 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(-) create mode 100644 dlls/mscoree/mscoree_classes.idl diff --git a/dlls/mscoree/Makefile.in b/dlls/mscoree/Makefile.in index a39c696324e..114b130d5fd 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 00000000000..692210e59fa --- /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 64c226f266e..8b72ec83c08 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) -- 2.11.4.GIT