diff --git a/.gitignore b/.gitignore index 2fdb222b871..94a13c9e9a6 100644 --- a/.gitignore +++ b/.gitignore @@ -725,6 +725,7 @@ include/mediaobj.h include/mimeinfo.h include/mlang.h include/mmstream.h +include/mscoree.h include/mshtmhst.h include/mshtml.h include/msinkaut.h diff --git a/dlls/mscoree/mscoree_main.c b/dlls/mscoree/mscoree_main.c index fd2c0a9d0e0..678b34680eb 100644 --- a/dlls/mscoree/mscoree_main.c +++ b/dlls/mscoree/mscoree_main.c @@ -27,6 +27,9 @@ #include "winreg.h" #include "ole2.h" +#include "cor.h" +#include "mscoree.h" + #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL( mscoree ); @@ -123,7 +126,7 @@ static LPWSTR get_mono_exe(void) return ret; } -int WINAPI _CorExeMain(void) +__int32 WINAPI _CorExeMain(void) { STARTUPINFOW si; PROCESS_INFORMATION pi; @@ -168,7 +171,7 @@ int WINAPI _CorExeMain(void) return (int)exit_code; } -int WINAPI _CorExeMain2(PBYTE ptrMemory, DWORD cntMemory, LPCWSTR imageName, LPCWSTR loaderName, LPCWSTR cmdLine) +__int32 WINAPI _CorExeMain2(PBYTE ptrMemory, DWORD cntMemory, LPWSTR imageName, LPWSTR loaderName, LPWSTR cmdLine) { TRACE("(%p, %u, %s, %s, %s)\n", ptrMemory, cntMemory, debugstr_w(imageName), debugstr_w(loaderName), debugstr_w(cmdLine)); FIXME("Directly running .NET applications not supported.\n"); @@ -181,12 +184,12 @@ void WINAPI CorExitProcess(int exitCode) ExitProcess(exitCode); } -void WINAPI _CorImageUnloading(LPCVOID* imageBase) +VOID WINAPI _CorImageUnloading(PVOID imageBase) { TRACE("(%p): stub\n", imageBase); } -DWORD WINAPI _CorValidateImage(LPCVOID* imageBase, LPCWSTR imageName) +HRESULT WINAPI _CorValidateImage(PVOID* imageBase, LPCWSTR imageName) { TRACE("(%p, %s): stub\n", imageBase, debugstr_w(imageName)); return E_FAIL; diff --git a/include/Makefile.in b/include/Makefile.in index 889cd9c6cde..4d712047c2d 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -28,6 +28,7 @@ IDL_H_SRCS = \ mimeinfo.idl \ mlang.idl \ mmstream.idl \ + mscoree.idl \ mshtmhst.idl \ mshtml.idl \ msinkaut.idl \ @@ -85,6 +86,7 @@ SRCDIR_INCLUDES = \ commctrl.h \ commdlg.h \ compobj.h \ + cor.h \ cpl.h \ custcntl.h \ cvconst.h \ diff --git a/include/cor.h b/include/cor.h new file mode 100644 index 00000000000..cdf89dd88ec --- /dev/null +++ b/include/cor.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2007 Francois Gouget + * + * 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 + */ + +#ifndef __WINE_COR_H +#define __WINE_COR_H + +#include "ole2.h" +/* FIXME: #include "specstrings.h" */ +/* FIXME: #include "corerror.h" */ +/* FIXME: #include "corhdr.h" */ + +#ifdef __cplusplus +extern "C" { +#endif + +BOOL WINAPI _CorDllMain(HINSTANCE,DWORD,LPVOID); +__int32 WINAPI _CorExeMain(void); +__int32 WINAPI _CorExeMain2(PBYTE,DWORD,LPWSTR,LPWSTR,LPWSTR); +VOID WINAPI _CorImageUnloading(PVOID); +HRESULT WINAPI _CorValidateImage(PVOID*,LPCWSTR); +HRESULT WINAPI CoInitializeCor(DWORD); +void WINAPI CoUninitializeCor(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __WINE_COR_H */ diff --git a/include/mscoree.idl b/include/mscoree.idl new file mode 100644 index 00000000000..8dfaa1b4637 --- /dev/null +++ b/include/mscoree.idl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2007 Francois Gouget + * + * 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 + */ + +cpp_quote("/* FIXME: #include */") +cpp_quote("/* FIXME: #include */") + +cpp_quote("HRESULT WINAPI CorBindToRuntimeHost(LPCWSTR,LPCWSTR,LPCWSTR,VOID*,DWORD,REFCLSID,REFIID,LPVOID*);") +cpp_quote("void WINAPI CorExitProcess(int);") +cpp_quote("HRESULT WINAPI GetCORSystemDirectory(LPWSTR,DWORD,DWORD*);") +cpp_quote("HRESULT WINAPI GetCORVersion(LPWSTR,DWORD,DWORD*);") +cpp_quote("HRESULT WINAPI GetRequestedRuntimeInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,LPWSTR,DWORD,DWORD*,LPWSTR,DWORD,DWORD*);") +cpp_quote("HRESULT WINAPI LoadLibraryShim(LPCWSTR,LPCWSTR,LPVOID,HMODULE*);")