/*
* Copyright (C) 2007 Francois Gouget
* Copyright (C) 2008 Alistair Leslie-Hughes
*
* 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
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
import "unknwn.idl";
cpp_quote("/* FIXME: #include <gcghost.h> */")
cpp_quote("/* FIXME: #include <ivalidator.h> */")
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*);")
cpp_quote("#ifdef WINE_STRICT_PROTOTYPES")
cpp_quote("typedef HRESULT (__stdcall *FLockClrVersionCallback)(void);")
cpp_quote("#else")
cpp_quote("typedef HRESULT (__stdcall *FLockClrVersionCallback)();")
cpp_quote("#endif")
cpp_quote("HRESULT WINAPI LockClrVersion(FLockClrVersionCallback,FLockClrVersionCallback*,FLockClrVersionCallback*);")
typedef void* HDOMAINENUM;
typedef enum RUNTIME_INFO_FLAGS {
RUNTIME_INFO_UPGRADE_VERSION = 0x1,
RUNTIME_INFO_REQUEST_IA64 = 0x2,
RUNTIME_INFO_REQUEST_AMD64 = 0x4,
RUNTIME_INFO_REQUEST_X86 = 0x8,
RUNTIME_INFO_DONT_RETURN_VERSION = 0x20,
[
version(1.0),
]
interface IGCThreadControl : IUnknown
{
}
[
version(1.1),
]
interface IGCHostControl : IUnknown
{
}
[
version(1.0),
]
interface IDebuggerThreadControl : IUnknown
{
}
[
version(1.0),
]
interface ICorConfiguration : IUnknown
{
}
[
version(1.0),
]
interface ICLRControl : IUnknown
{
}
[
version(1.0),
]
interface IHostControl : IUnknown
{
}
cpp_quote("DEFINE_GUID(CLSID_CorRuntimeHost, 0xcb2f6723,0xab3a,0x11d2,0x9c,0x40,0x00,0xc0,0x4f,0xa3,0x0a,0x3e);")
[
version(1.0),
]
interface ICorRuntimeHost : IUnknown
{
};
cpp_quote("DEFINE_GUID(CLSID_CLRRuntimeHost, 0x90f1a06e,0x7712,0x4762,0x86,0xb5,0x7a,0x5e,0xba,0x6b,0xdb,0x02);")
[
]
interface ICLRRuntimeHost : IUnknown
{
[out] int *pReturnValue);
}
[
]
interface IManagedObject : IUnknown
{
[out] int *AppDomainID,
}