blob: 8f9466ccf87ae8a1574f5edc22e2d74d6c957ac8 [file] [log] [blame]
/*** Autogenerated by WIDL 5.16 from include/mscoree.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __mscoree_h__
#define __mscoree_h__
/* Forward declarations */
#ifndef __IGCThreadControl_FWD_DEFINED__
#define __IGCThreadControl_FWD_DEFINED__
typedef interface IGCThreadControl IGCThreadControl;
#ifdef __cplusplus
interface IGCThreadControl;
#endif /* __cplusplus */
#endif
#ifndef __IGCHostControl_FWD_DEFINED__
#define __IGCHostControl_FWD_DEFINED__
typedef interface IGCHostControl IGCHostControl;
#ifdef __cplusplus
interface IGCHostControl;
#endif /* __cplusplus */
#endif
#ifndef __IDebuggerThreadControl_FWD_DEFINED__
#define __IDebuggerThreadControl_FWD_DEFINED__
typedef interface IDebuggerThreadControl IDebuggerThreadControl;
#ifdef __cplusplus
interface IDebuggerThreadControl;
#endif /* __cplusplus */
#endif
#ifndef __ICorConfiguration_FWD_DEFINED__
#define __ICorConfiguration_FWD_DEFINED__
typedef interface ICorConfiguration ICorConfiguration;
#ifdef __cplusplus
interface ICorConfiguration;
#endif /* __cplusplus */
#endif
#ifndef __ICLRControl_FWD_DEFINED__
#define __ICLRControl_FWD_DEFINED__
typedef interface ICLRControl ICLRControl;
#ifdef __cplusplus
interface ICLRControl;
#endif /* __cplusplus */
#endif
#ifndef __IHostControl_FWD_DEFINED__
#define __IHostControl_FWD_DEFINED__
typedef interface IHostControl IHostControl;
#ifdef __cplusplus
interface IHostControl;
#endif /* __cplusplus */
#endif
#ifndef __ICorRuntimeHost_FWD_DEFINED__
#define __ICorRuntimeHost_FWD_DEFINED__
typedef interface ICorRuntimeHost ICorRuntimeHost;
#ifdef __cplusplus
interface ICorRuntimeHost;
#endif /* __cplusplus */
#endif
#ifndef __ICLRRuntimeHost_FWD_DEFINED__
#define __ICLRRuntimeHost_FWD_DEFINED__
typedef interface ICLRRuntimeHost ICLRRuntimeHost;
#ifdef __cplusplus
interface ICLRRuntimeHost;
#endif /* __cplusplus */
#endif
#ifndef __IManagedObject_FWD_DEFINED__
#define __IManagedObject_FWD_DEFINED__
typedef interface IManagedObject IManagedObject;
#ifdef __cplusplus
interface IManagedObject;
#endif /* __cplusplus */
#endif
/* Headers for imported files */
#include <unknwn.h>
#ifdef __cplusplus
extern "C" {
#endif
/* FIXME: #include <gcghost.h> */
/* FIXME: #include <ivalidator.h> */
HRESULT WINAPI CorBindToRuntimeHost(LPCWSTR,LPCWSTR,LPCWSTR,VOID*,DWORD,REFCLSID,REFIID,LPVOID*);
void WINAPI CorExitProcess(int);
HRESULT WINAPI GetCORSystemDirectory(LPWSTR,DWORD,DWORD*);
HRESULT WINAPI GetCORVersion(LPWSTR,DWORD,DWORD*);
HRESULT WINAPI GetRequestedRuntimeInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,LPWSTR,DWORD,DWORD*,LPWSTR,DWORD,DWORD*);
HRESULT WINAPI LoadLibraryShim(LPCWSTR,LPCWSTR,LPVOID,HMODULE*);
#ifdef WINE_STRICT_PROTOTYPES
typedef HRESULT (__stdcall *FLockClrVersionCallback)(void);
#else
typedef HRESULT (__stdcall *FLockClrVersionCallback)();
#endif
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_DIRECTORY = 0x10,
RUNTIME_INFO_DONT_RETURN_VERSION = 0x20,
RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG = 0x40
} RUNTIME_INFO_FLAGS;
typedef HRESULT (__stdcall *FExecuteInAppDomainCallback)(void *cookie);
/*****************************************************************************
* IGCThreadControl interface
*/
#ifndef __IGCThreadControl_INTERFACE_DEFINED__
#define __IGCThreadControl_INTERFACE_DEFINED__
DEFINE_GUID(IID_IGCThreadControl, 0xf31d1788, 0xc397, 0x4725, 0x87,0xa5, 0x6a,0xf3,0x47,0x2c,0x27,0x91);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f31d1788-c397-4725-87a5-6af3472c2791")
IGCThreadControl : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ThreadIsBlockingForSuspension(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SuspensionStarting(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SuspensionEnding(
DWORD generation) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IGCThreadControl, 0xf31d1788, 0xc397, 0x4725, 0x87,0xa5, 0x6a,0xf3,0x47,0x2c,0x27,0x91)
#endif
#else
typedef struct IGCThreadControlVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IGCThreadControl *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IGCThreadControl *This);
ULONG (STDMETHODCALLTYPE *Release)(
IGCThreadControl *This);
/*** IGCThreadControl methods ***/
HRESULT (STDMETHODCALLTYPE *ThreadIsBlockingForSuspension)(
IGCThreadControl *This);
HRESULT (STDMETHODCALLTYPE *SuspensionStarting)(
IGCThreadControl *This);
HRESULT (STDMETHODCALLTYPE *SuspensionEnding)(
IGCThreadControl *This,
DWORD generation);
END_INTERFACE
} IGCThreadControlVtbl;
interface IGCThreadControl {
CONST_VTBL IGCThreadControlVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IGCThreadControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IGCThreadControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IGCThreadControl_Release(This) (This)->lpVtbl->Release(This)
/*** IGCThreadControl methods ***/
#define IGCThreadControl_ThreadIsBlockingForSuspension(This) (This)->lpVtbl->ThreadIsBlockingForSuspension(This)
#define IGCThreadControl_SuspensionStarting(This) (This)->lpVtbl->SuspensionStarting(This)
#define IGCThreadControl_SuspensionEnding(This,generation) (This)->lpVtbl->SuspensionEnding(This,generation)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IGCThreadControl_QueryInterface(IGCThreadControl* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IGCThreadControl_AddRef(IGCThreadControl* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IGCThreadControl_Release(IGCThreadControl* This) {
return This->lpVtbl->Release(This);
}
/*** IGCThreadControl methods ***/
static FORCEINLINE HRESULT IGCThreadControl_ThreadIsBlockingForSuspension(IGCThreadControl* This) {
return This->lpVtbl->ThreadIsBlockingForSuspension(This);
}
static FORCEINLINE HRESULT IGCThreadControl_SuspensionStarting(IGCThreadControl* This) {
return This->lpVtbl->SuspensionStarting(This);
}
static FORCEINLINE HRESULT IGCThreadControl_SuspensionEnding(IGCThreadControl* This,DWORD generation) {
return This->lpVtbl->SuspensionEnding(This,generation);
}
#endif
#endif
#endif
#endif /* __IGCThreadControl_INTERFACE_DEFINED__ */
/*****************************************************************************
* IGCHostControl interface
*/
#ifndef __IGCHostControl_INTERFACE_DEFINED__
#define __IGCHostControl_INTERFACE_DEFINED__
DEFINE_GUID(IID_IGCHostControl, 0x5513d564, 0x8374, 0x4cb9, 0xae,0xd9, 0x00,0x83,0xf4,0x16,0x0a,0x1d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5513d564-8374-4cb9-aed9-0083f4160a1d")
IGCHostControl : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE RequestVirtualMemLimit(
SIZE_T nMaxVirtualMemMB,
SIZE_T *nNewMaxVirtualMemMB) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IGCHostControl, 0x5513d564, 0x8374, 0x4cb9, 0xae,0xd9, 0x00,0x83,0xf4,0x16,0x0a,0x1d)
#endif
#else
typedef struct IGCHostControlVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IGCHostControl *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IGCHostControl *This);
ULONG (STDMETHODCALLTYPE *Release)(
IGCHostControl *This);
/*** IGCHostControl methods ***/
HRESULT (STDMETHODCALLTYPE *RequestVirtualMemLimit)(
IGCHostControl *This,
SIZE_T nMaxVirtualMemMB,
SIZE_T *nNewMaxVirtualMemMB);
END_INTERFACE
} IGCHostControlVtbl;
interface IGCHostControl {
CONST_VTBL IGCHostControlVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IGCHostControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IGCHostControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IGCHostControl_Release(This) (This)->lpVtbl->Release(This)
/*** IGCHostControl methods ***/
#define IGCHostControl_RequestVirtualMemLimit(This,nMaxVirtualMemMB,nNewMaxVirtualMemMB) (This)->lpVtbl->RequestVirtualMemLimit(This,nMaxVirtualMemMB,nNewMaxVirtualMemMB)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IGCHostControl_QueryInterface(IGCHostControl* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IGCHostControl_AddRef(IGCHostControl* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IGCHostControl_Release(IGCHostControl* This) {
return This->lpVtbl->Release(This);
}
/*** IGCHostControl methods ***/
static FORCEINLINE HRESULT IGCHostControl_RequestVirtualMemLimit(IGCHostControl* This,SIZE_T nMaxVirtualMemMB,SIZE_T *nNewMaxVirtualMemMB) {
return This->lpVtbl->RequestVirtualMemLimit(This,nMaxVirtualMemMB,nNewMaxVirtualMemMB);
}
#endif
#endif
#endif
#endif /* __IGCHostControl_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDebuggerThreadControl interface
*/
#ifndef __IDebuggerThreadControl_INTERFACE_DEFINED__
#define __IDebuggerThreadControl_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDebuggerThreadControl, 0x23d86786, 0x0bb5, 0x4774, 0x8f,0xb5, 0xe3,0x52,0x2a,0xdd,0x62,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("23d86786-0bb5-4774-8fb5-e3522add6246")
IDebuggerThreadControl : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ThreadIsBlockingForDebugger(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseAllRuntimeThreads(
) = 0;
virtual HRESULT STDMETHODCALLTYPE StartBlockingForDebugger(
DWORD dwUnused) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDebuggerThreadControl, 0x23d86786, 0x0bb5, 0x4774, 0x8f,0xb5, 0xe3,0x52,0x2a,0xdd,0x62,0x46)
#endif
#else
typedef struct IDebuggerThreadControlVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDebuggerThreadControl *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDebuggerThreadControl *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDebuggerThreadControl *This);
/*** IDebuggerThreadControl methods ***/
HRESULT (STDMETHODCALLTYPE *ThreadIsBlockingForDebugger)(
IDebuggerThreadControl *This);
HRESULT (STDMETHODCALLTYPE *ReleaseAllRuntimeThreads)(
IDebuggerThreadControl *This);
HRESULT (STDMETHODCALLTYPE *StartBlockingForDebugger)(
IDebuggerThreadControl *This,
DWORD dwUnused);
END_INTERFACE
} IDebuggerThreadControlVtbl;
interface IDebuggerThreadControl {
CONST_VTBL IDebuggerThreadControlVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDebuggerThreadControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDebuggerThreadControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDebuggerThreadControl_Release(This) (This)->lpVtbl->Release(This)
/*** IDebuggerThreadControl methods ***/
#define IDebuggerThreadControl_ThreadIsBlockingForDebugger(This) (This)->lpVtbl->ThreadIsBlockingForDebugger(This)
#define IDebuggerThreadControl_ReleaseAllRuntimeThreads(This) (This)->lpVtbl->ReleaseAllRuntimeThreads(This)
#define IDebuggerThreadControl_StartBlockingForDebugger(This,dwUnused) (This)->lpVtbl->StartBlockingForDebugger(This,dwUnused)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDebuggerThreadControl_QueryInterface(IDebuggerThreadControl* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDebuggerThreadControl_AddRef(IDebuggerThreadControl* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDebuggerThreadControl_Release(IDebuggerThreadControl* This) {
return This->lpVtbl->Release(This);
}
/*** IDebuggerThreadControl methods ***/
static FORCEINLINE HRESULT IDebuggerThreadControl_ThreadIsBlockingForDebugger(IDebuggerThreadControl* This) {
return This->lpVtbl->ThreadIsBlockingForDebugger(This);
}
static FORCEINLINE HRESULT IDebuggerThreadControl_ReleaseAllRuntimeThreads(IDebuggerThreadControl* This) {
return This->lpVtbl->ReleaseAllRuntimeThreads(This);
}
static FORCEINLINE HRESULT IDebuggerThreadControl_StartBlockingForDebugger(IDebuggerThreadControl* This,DWORD dwUnused) {
return This->lpVtbl->StartBlockingForDebugger(This,dwUnused);
}
#endif
#endif
#endif
#endif /* __IDebuggerThreadControl_INTERFACE_DEFINED__ */
/*****************************************************************************
* ICorConfiguration interface
*/
#ifndef __ICorConfiguration_INTERFACE_DEFINED__
#define __ICorConfiguration_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICorConfiguration, 0x5c2b07a5, 0x1e98, 0x11d3, 0x87,0x2f, 0x00,0xc0,0x4f,0x79,0xed,0x0d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5c2b07a5-1e98-11d3-872f-00c04f79ed0d")
ICorConfiguration : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetGCThreadControl(
IGCThreadControl *GCThreadControl) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGCHostControl(
IGCHostControl *GCHostControl) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDebuggerThreadControl(
IDebuggerThreadControl *debuggerThreadControl) = 0;
virtual HRESULT STDMETHODCALLTYPE AddDebuggerSpecialThread(
DWORD specialThreadId) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICorConfiguration, 0x5c2b07a5, 0x1e98, 0x11d3, 0x87,0x2f, 0x00,0xc0,0x4f,0x79,0xed,0x0d)
#endif
#else
typedef struct ICorConfigurationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICorConfiguration *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICorConfiguration *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICorConfiguration *This);
/*** ICorConfiguration methods ***/
HRESULT (STDMETHODCALLTYPE *SetGCThreadControl)(
ICorConfiguration *This,
IGCThreadControl *GCThreadControl);
HRESULT (STDMETHODCALLTYPE *SetGCHostControl)(
ICorConfiguration *This,
IGCHostControl *GCHostControl);
HRESULT (STDMETHODCALLTYPE *SetDebuggerThreadControl)(
ICorConfiguration *This,
IDebuggerThreadControl *debuggerThreadControl);
HRESULT (STDMETHODCALLTYPE *AddDebuggerSpecialThread)(
ICorConfiguration *This,
DWORD specialThreadId);
END_INTERFACE
} ICorConfigurationVtbl;
interface ICorConfiguration {
CONST_VTBL ICorConfigurationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICorConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICorConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICorConfiguration_Release(This) (This)->lpVtbl->Release(This)
/*** ICorConfiguration methods ***/
#define ICorConfiguration_SetGCThreadControl(This,GCThreadControl) (This)->lpVtbl->SetGCThreadControl(This,GCThreadControl)
#define ICorConfiguration_SetGCHostControl(This,GCHostControl) (This)->lpVtbl->SetGCHostControl(This,GCHostControl)
#define ICorConfiguration_SetDebuggerThreadControl(This,debuggerThreadControl) (This)->lpVtbl->SetDebuggerThreadControl(This,debuggerThreadControl)
#define ICorConfiguration_AddDebuggerSpecialThread(This,specialThreadId) (This)->lpVtbl->AddDebuggerSpecialThread(This,specialThreadId)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICorConfiguration_QueryInterface(ICorConfiguration* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICorConfiguration_AddRef(ICorConfiguration* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICorConfiguration_Release(ICorConfiguration* This) {
return This->lpVtbl->Release(This);
}
/*** ICorConfiguration methods ***/
static FORCEINLINE HRESULT ICorConfiguration_SetGCThreadControl(ICorConfiguration* This,IGCThreadControl *GCThreadControl) {
return This->lpVtbl->SetGCThreadControl(This,GCThreadControl);
}
static FORCEINLINE HRESULT ICorConfiguration_SetGCHostControl(ICorConfiguration* This,IGCHostControl *GCHostControl) {
return This->lpVtbl->SetGCHostControl(This,GCHostControl);
}
static FORCEINLINE HRESULT ICorConfiguration_SetDebuggerThreadControl(ICorConfiguration* This,IDebuggerThreadControl *debuggerThreadControl) {
return This->lpVtbl->SetDebuggerThreadControl(This,debuggerThreadControl);
}
static FORCEINLINE HRESULT ICorConfiguration_AddDebuggerSpecialThread(ICorConfiguration* This,DWORD specialThreadId) {
return This->lpVtbl->AddDebuggerSpecialThread(This,specialThreadId);
}
#endif
#endif
#endif
#endif /* __ICorConfiguration_INTERFACE_DEFINED__ */
/*****************************************************************************
* ICLRControl interface
*/
#ifndef __ICLRControl_INTERFACE_DEFINED__
#define __ICLRControl_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICLRControl, 0x9065597e, 0xd1a1, 0x4fb2, 0xb6,0xba, 0x7e,0x1f,0xce,0x23,0x0f,0x61);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9065597e-d1a1-4fb2-b6ba-7e1fce230f61")
ICLRControl : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetCLRManager(
REFIID riid,
void **ppObject) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAppDomainManagerType(
LPCWSTR appDomainManagerAssembly,
LPCWSTR appDomainManagerType) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICLRControl, 0x9065597e, 0xd1a1, 0x4fb2, 0xb6,0xba, 0x7e,0x1f,0xce,0x23,0x0f,0x61)
#endif
#else
typedef struct ICLRControlVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICLRControl *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICLRControl *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICLRControl *This);
/*** ICLRControl methods ***/
HRESULT (STDMETHODCALLTYPE *GetCLRManager)(
ICLRControl *This,
REFIID riid,
void **ppObject);
HRESULT (STDMETHODCALLTYPE *SetAppDomainManagerType)(
ICLRControl *This,
LPCWSTR appDomainManagerAssembly,
LPCWSTR appDomainManagerType);
END_INTERFACE
} ICLRControlVtbl;
interface ICLRControl {
CONST_VTBL ICLRControlVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICLRControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICLRControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICLRControl_Release(This) (This)->lpVtbl->Release(This)
/*** ICLRControl methods ***/
#define ICLRControl_GetCLRManager(This,riid,ppObject) (This)->lpVtbl->GetCLRManager(This,riid,ppObject)
#define ICLRControl_SetAppDomainManagerType(This,appDomainManagerAssembly,appDomainManagerType) (This)->lpVtbl->SetAppDomainManagerType(This,appDomainManagerAssembly,appDomainManagerType)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICLRControl_QueryInterface(ICLRControl* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICLRControl_AddRef(ICLRControl* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICLRControl_Release(ICLRControl* This) {
return This->lpVtbl->Release(This);
}
/*** ICLRControl methods ***/
static FORCEINLINE HRESULT ICLRControl_GetCLRManager(ICLRControl* This,REFIID riid,void **ppObject) {
return This->lpVtbl->GetCLRManager(This,riid,ppObject);
}
static FORCEINLINE HRESULT ICLRControl_SetAppDomainManagerType(ICLRControl* This,LPCWSTR appDomainManagerAssembly,LPCWSTR appDomainManagerType) {
return This->lpVtbl->SetAppDomainManagerType(This,appDomainManagerAssembly,appDomainManagerType);
}
#endif
#endif
#endif
#endif /* __ICLRControl_INTERFACE_DEFINED__ */
/*****************************************************************************
* IHostControl interface
*/
#ifndef __IHostControl_INTERFACE_DEFINED__
#define __IHostControl_INTERFACE_DEFINED__
DEFINE_GUID(IID_IHostControl, 0x02ca073c, 0x7079, 0x4860, 0x88,0x0a, 0xc2,0xf7,0xa4,0x49,0xc9,0x91);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("02ca073c-7079-4860-880a-c2f7a449c991")
IHostControl : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetHostManager(
REFIID riid,
void **ppObject) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAppDomainManager(
DWORD appDomainID,
IUnknown *appDomainManager) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IHostControl, 0x02ca073c, 0x7079, 0x4860, 0x88,0x0a, 0xc2,0xf7,0xa4,0x49,0xc9,0x91)
#endif
#else
typedef struct IHostControlVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IHostControl *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IHostControl *This);
ULONG (STDMETHODCALLTYPE *Release)(
IHostControl *This);
/*** IHostControl methods ***/
HRESULT (STDMETHODCALLTYPE *GetHostManager)(
IHostControl *This,
REFIID riid,
void **ppObject);
HRESULT (STDMETHODCALLTYPE *SetAppDomainManager)(
IHostControl *This,
DWORD appDomainID,
IUnknown *appDomainManager);
END_INTERFACE
} IHostControlVtbl;
interface IHostControl {
CONST_VTBL IHostControlVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IHostControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IHostControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IHostControl_Release(This) (This)->lpVtbl->Release(This)
/*** IHostControl methods ***/
#define IHostControl_GetHostManager(This,riid,ppObject) (This)->lpVtbl->GetHostManager(This,riid,ppObject)
#define IHostControl_SetAppDomainManager(This,appDomainID,appDomainManager) (This)->lpVtbl->SetAppDomainManager(This,appDomainID,appDomainManager)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IHostControl_QueryInterface(IHostControl* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IHostControl_AddRef(IHostControl* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IHostControl_Release(IHostControl* This) {
return This->lpVtbl->Release(This);
}
/*** IHostControl methods ***/
static FORCEINLINE HRESULT IHostControl_GetHostManager(IHostControl* This,REFIID riid,void **ppObject) {
return This->lpVtbl->GetHostManager(This,riid,ppObject);
}
static FORCEINLINE HRESULT IHostControl_SetAppDomainManager(IHostControl* This,DWORD appDomainID,IUnknown *appDomainManager) {
return This->lpVtbl->SetAppDomainManager(This,appDomainID,appDomainManager);
}
#endif
#endif
#endif
#endif /* __IHostControl_INTERFACE_DEFINED__ */
DEFINE_GUID(CLSID_CorRuntimeHost, 0xcb2f6723,0xab3a,0x11d2,0x9c,0x40,0x00,0xc0,0x4f,0xa3,0x0a,0x3e);
/*****************************************************************************
* ICorRuntimeHost interface
*/
#ifndef __ICorRuntimeHost_INTERFACE_DEFINED__
#define __ICorRuntimeHost_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICorRuntimeHost, 0xcb2f6722, 0xab3a, 0x11d2, 0x9c,0x40, 0x00,0xc0,0x4f,0xa3,0x0a,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cb2f6722-ab3a-11d2-9c40-00c04fa30a3e")
ICorRuntimeHost : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE CreateLogicalThreadState(
) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteLogicalThreadState(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SwitchInLogicalThreadState(
DWORD *fiberCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE SwitchOutLogicalThreadState(
DWORD **fiberCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE LocksHeldByLogicalThread(
DWORD *pCount) = 0;
virtual HRESULT STDMETHODCALLTYPE MapFile(
HANDLE hFile,
HMODULE *mapAddress) = 0;
virtual HRESULT STDMETHODCALLTYPE GetConfiguration(
ICorConfiguration **pConfiguration) = 0;
virtual HRESULT STDMETHODCALLTYPE Start(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop(
) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDomain(
LPCWSTR friendlyName,
IUnknown *identityArray,
IUnknown **appDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultDomain(
IUnknown **pAppDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumDomains(
HDOMAINENUM *hEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE NextDomain(
HDOMAINENUM hEnum,
IUnknown **appDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE CloseEnum(
HDOMAINENUM hEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDomainEx(
LPCWSTR friendlyName,
IUnknown *setup,
IUnknown *evidence,
IUnknown **appDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDomainSetup(
IUnknown **appDomainSetup) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateEvidence(
IUnknown **evidence) = 0;
virtual HRESULT STDMETHODCALLTYPE UnloadDomain(
IUnknown *appDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE CurrentDomain(
IUnknown **appDomain) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICorRuntimeHost, 0xcb2f6722, 0xab3a, 0x11d2, 0x9c,0x40, 0x00,0xc0,0x4f,0xa3,0x0a,0x3e)
#endif
#else
typedef struct ICorRuntimeHostVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICorRuntimeHost *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICorRuntimeHost *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICorRuntimeHost *This);
/*** ICorRuntimeHost methods ***/
HRESULT (STDMETHODCALLTYPE *CreateLogicalThreadState)(
ICorRuntimeHost *This);
HRESULT (STDMETHODCALLTYPE *DeleteLogicalThreadState)(
ICorRuntimeHost *This);
HRESULT (STDMETHODCALLTYPE *SwitchInLogicalThreadState)(
ICorRuntimeHost *This,
DWORD *fiberCookie);
HRESULT (STDMETHODCALLTYPE *SwitchOutLogicalThreadState)(
ICorRuntimeHost *This,
DWORD **fiberCookie);
HRESULT (STDMETHODCALLTYPE *LocksHeldByLogicalThread)(
ICorRuntimeHost *This,
DWORD *pCount);
HRESULT (STDMETHODCALLTYPE *MapFile)(
ICorRuntimeHost *This,
HANDLE hFile,
HMODULE *mapAddress);
HRESULT (STDMETHODCALLTYPE *GetConfiguration)(
ICorRuntimeHost *This,
ICorConfiguration **pConfiguration);
HRESULT (STDMETHODCALLTYPE *Start)(
ICorRuntimeHost *This);
HRESULT (STDMETHODCALLTYPE *Stop)(
ICorRuntimeHost *This);
HRESULT (STDMETHODCALLTYPE *CreateDomain)(
ICorRuntimeHost *This,
LPCWSTR friendlyName,
IUnknown *identityArray,
IUnknown **appDomain);
HRESULT (STDMETHODCALLTYPE *GetDefaultDomain)(
ICorRuntimeHost *This,
IUnknown **pAppDomain);
HRESULT (STDMETHODCALLTYPE *EnumDomains)(
ICorRuntimeHost *This,
HDOMAINENUM *hEnum);
HRESULT (STDMETHODCALLTYPE *NextDomain)(
ICorRuntimeHost *This,
HDOMAINENUM hEnum,
IUnknown **appDomain);
HRESULT (STDMETHODCALLTYPE *CloseEnum)(
ICorRuntimeHost *This,
HDOMAINENUM hEnum);
HRESULT (STDMETHODCALLTYPE *CreateDomainEx)(
ICorRuntimeHost *This,
LPCWSTR friendlyName,
IUnknown *setup,
IUnknown *evidence,
IUnknown **appDomain);
HRESULT (STDMETHODCALLTYPE *CreateDomainSetup)(
ICorRuntimeHost *This,
IUnknown **appDomainSetup);
HRESULT (STDMETHODCALLTYPE *CreateEvidence)(
ICorRuntimeHost *This,
IUnknown **evidence);
HRESULT (STDMETHODCALLTYPE *UnloadDomain)(
ICorRuntimeHost *This,
IUnknown *appDomain);
HRESULT (STDMETHODCALLTYPE *CurrentDomain)(
ICorRuntimeHost *This,
IUnknown **appDomain);
END_INTERFACE
} ICorRuntimeHostVtbl;
interface ICorRuntimeHost {
CONST_VTBL ICorRuntimeHostVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICorRuntimeHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICorRuntimeHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICorRuntimeHost_Release(This) (This)->lpVtbl->Release(This)
/*** ICorRuntimeHost methods ***/
#define ICorRuntimeHost_CreateLogicalThreadState(This) (This)->lpVtbl->CreateLogicalThreadState(This)
#define ICorRuntimeHost_DeleteLogicalThreadState(This) (This)->lpVtbl->DeleteLogicalThreadState(This)
#define ICorRuntimeHost_SwitchInLogicalThreadState(This,fiberCookie) (This)->lpVtbl->SwitchInLogicalThreadState(This,fiberCookie)
#define ICorRuntimeHost_SwitchOutLogicalThreadState(This,fiberCookie) (This)->lpVtbl->SwitchOutLogicalThreadState(This,fiberCookie)
#define ICorRuntimeHost_LocksHeldByLogicalThread(This,pCount) (This)->lpVtbl->LocksHeldByLogicalThread(This,pCount)
#define ICorRuntimeHost_MapFile(This,hFile,mapAddress) (This)->lpVtbl->MapFile(This,hFile,mapAddress)
#define ICorRuntimeHost_GetConfiguration(This,pConfiguration) (This)->lpVtbl->GetConfiguration(This,pConfiguration)
#define ICorRuntimeHost_Start(This) (This)->lpVtbl->Start(This)
#define ICorRuntimeHost_Stop(This) (This)->lpVtbl->Stop(This)
#define ICorRuntimeHost_CreateDomain(This,friendlyName,identityArray,appDomain) (This)->lpVtbl->CreateDomain(This,friendlyName,identityArray,appDomain)
#define ICorRuntimeHost_GetDefaultDomain(This,pAppDomain) (This)->lpVtbl->GetDefaultDomain(This,pAppDomain)
#define ICorRuntimeHost_EnumDomains(This,hEnum) (This)->lpVtbl->EnumDomains(This,hEnum)
#define ICorRuntimeHost_NextDomain(This,hEnum,appDomain) (This)->lpVtbl->NextDomain(This,hEnum,appDomain)
#define ICorRuntimeHost_CloseEnum(This,hEnum) (This)->lpVtbl->CloseEnum(This,hEnum)
#define ICorRuntimeHost_CreateDomainEx(This,friendlyName,setup,evidence,appDomain) (This)->lpVtbl->CreateDomainEx(This,friendlyName,setup,evidence,appDomain)
#define ICorRuntimeHost_CreateDomainSetup(This,appDomainSetup) (This)->lpVtbl->CreateDomainSetup(This,appDomainSetup)
#define ICorRuntimeHost_CreateEvidence(This,evidence) (This)->lpVtbl->CreateEvidence(This,evidence)
#define ICorRuntimeHost_UnloadDomain(This,appDomain) (This)->lpVtbl->UnloadDomain(This,appDomain)
#define ICorRuntimeHost_CurrentDomain(This,appDomain) (This)->lpVtbl->CurrentDomain(This,appDomain)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICorRuntimeHost_QueryInterface(ICorRuntimeHost* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICorRuntimeHost_AddRef(ICorRuntimeHost* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICorRuntimeHost_Release(ICorRuntimeHost* This) {
return This->lpVtbl->Release(This);
}
/*** ICorRuntimeHost methods ***/
static FORCEINLINE HRESULT ICorRuntimeHost_CreateLogicalThreadState(ICorRuntimeHost* This) {
return This->lpVtbl->CreateLogicalThreadState(This);
}
static FORCEINLINE HRESULT ICorRuntimeHost_DeleteLogicalThreadState(ICorRuntimeHost* This) {
return This->lpVtbl->DeleteLogicalThreadState(This);
}
static FORCEINLINE HRESULT ICorRuntimeHost_SwitchInLogicalThreadState(ICorRuntimeHost* This,DWORD *fiberCookie) {
return This->lpVtbl->SwitchInLogicalThreadState(This,fiberCookie);
}
static FORCEINLINE HRESULT ICorRuntimeHost_SwitchOutLogicalThreadState(ICorRuntimeHost* This,DWORD **fiberCookie) {
return This->lpVtbl->SwitchOutLogicalThreadState(This,fiberCookie);
}
static FORCEINLINE HRESULT ICorRuntimeHost_LocksHeldByLogicalThread(ICorRuntimeHost* This,DWORD *pCount) {
return This->lpVtbl->LocksHeldByLogicalThread(This,pCount);
}
static FORCEINLINE HRESULT ICorRuntimeHost_MapFile(ICorRuntimeHost* This,HANDLE hFile,HMODULE *mapAddress) {
return This->lpVtbl->MapFile(This,hFile,mapAddress);
}
static FORCEINLINE HRESULT ICorRuntimeHost_GetConfiguration(ICorRuntimeHost* This,ICorConfiguration **pConfiguration) {
return This->lpVtbl->GetConfiguration(This,pConfiguration);
}
static FORCEINLINE HRESULT ICorRuntimeHost_Start(ICorRuntimeHost* This) {
return This->lpVtbl->Start(This);
}
static FORCEINLINE HRESULT ICorRuntimeHost_Stop(ICorRuntimeHost* This) {
return This->lpVtbl->Stop(This);
}
static FORCEINLINE HRESULT ICorRuntimeHost_CreateDomain(ICorRuntimeHost* This,LPCWSTR friendlyName,IUnknown *identityArray,IUnknown **appDomain) {
return This->lpVtbl->CreateDomain(This,friendlyName,identityArray,appDomain);
}
static FORCEINLINE HRESULT ICorRuntimeHost_GetDefaultDomain(ICorRuntimeHost* This,IUnknown **pAppDomain) {
return This->lpVtbl->GetDefaultDomain(This,pAppDomain);
}
static FORCEINLINE HRESULT ICorRuntimeHost_EnumDomains(ICorRuntimeHost* This,HDOMAINENUM *hEnum) {
return This->lpVtbl->EnumDomains(This,hEnum);
}
static FORCEINLINE HRESULT ICorRuntimeHost_NextDomain(ICorRuntimeHost* This,HDOMAINENUM hEnum,IUnknown **appDomain) {
return This->lpVtbl->NextDomain(This,hEnum,appDomain);
}
static FORCEINLINE HRESULT ICorRuntimeHost_CloseEnum(ICorRuntimeHost* This,HDOMAINENUM hEnum) {
return This->lpVtbl->CloseEnum(This,hEnum);
}
static FORCEINLINE HRESULT ICorRuntimeHost_CreateDomainEx(ICorRuntimeHost* This,LPCWSTR friendlyName,IUnknown *setup,IUnknown *evidence,IUnknown **appDomain) {
return This->lpVtbl->CreateDomainEx(This,friendlyName,setup,evidence,appDomain);
}
static FORCEINLINE HRESULT ICorRuntimeHost_CreateDomainSetup(ICorRuntimeHost* This,IUnknown **appDomainSetup) {
return This->lpVtbl->CreateDomainSetup(This,appDomainSetup);
}
static FORCEINLINE HRESULT ICorRuntimeHost_CreateEvidence(ICorRuntimeHost* This,IUnknown **evidence) {
return This->lpVtbl->CreateEvidence(This,evidence);
}
static FORCEINLINE HRESULT ICorRuntimeHost_UnloadDomain(ICorRuntimeHost* This,IUnknown *appDomain) {
return This->lpVtbl->UnloadDomain(This,appDomain);
}
static FORCEINLINE HRESULT ICorRuntimeHost_CurrentDomain(ICorRuntimeHost* This,IUnknown **appDomain) {
return This->lpVtbl->CurrentDomain(This,appDomain);
}
#endif
#endif
#endif
#endif /* __ICorRuntimeHost_INTERFACE_DEFINED__ */
DEFINE_GUID(CLSID_CLRRuntimeHost, 0x90f1a06e,0x7712,0x4762,0x86,0xb5,0x7a,0x5e,0xba,0x6b,0xdb,0x02);
/*****************************************************************************
* ICLRRuntimeHost interface
*/
#ifndef __ICLRRuntimeHost_INTERFACE_DEFINED__
#define __ICLRRuntimeHost_INTERFACE_DEFINED__
DEFINE_GUID(IID_ICLRRuntimeHost, 0x90f1a06c, 0x7712, 0x4762, 0x86,0xb5, 0x7a,0x5e,0xba,0x6b,0xdb,0x02);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("90f1a06c-7712-4762-86b5-7a5eba6bdb02")
ICLRRuntimeHost : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Start(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetHostControl(
IHostControl *pHostControl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCLRControl(
ICLRControl **pCLRControl) = 0;
virtual HRESULT STDMETHODCALLTYPE UnloadAppDomain(
DWORD dwAppDomainId,
WINBOOL fWaitUntilDone) = 0;
virtual HRESULT STDMETHODCALLTYPE ExecuteInAppDomain(
DWORD dwAppDomainId,
FExecuteInAppDomainCallback pCallback,
void *cookie) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentAppDomainId(
DWORD *pdwAppDomainId) = 0;
virtual HRESULT STDMETHODCALLTYPE ExecuteApplication(
LPCWSTR pwzAppFullName,
DWORD dwManifestPaths,
LPCWSTR *ppwzManifestPaths,
DWORD dwActivationData,
LPCWSTR *ppwzActivationData,
int *pReturnValue) = 0;
virtual HRESULT STDMETHODCALLTYPE ExecuteInDefaultAppDomain(
LPCWSTR pwzAssemblyPath,
LPCWSTR pwzTypeName,
LPCWSTR pwzMethodName,
LPCWSTR pwzArgument,
DWORD *pReturnValue) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ICLRRuntimeHost, 0x90f1a06c, 0x7712, 0x4762, 0x86,0xb5, 0x7a,0x5e,0xba,0x6b,0xdb,0x02)
#endif
#else
typedef struct ICLRRuntimeHostVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ICLRRuntimeHost *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ICLRRuntimeHost *This);
ULONG (STDMETHODCALLTYPE *Release)(
ICLRRuntimeHost *This);
/*** ICLRRuntimeHost methods ***/
HRESULT (STDMETHODCALLTYPE *Start)(
ICLRRuntimeHost *This);
HRESULT (STDMETHODCALLTYPE *Stop)(
ICLRRuntimeHost *This);
HRESULT (STDMETHODCALLTYPE *SetHostControl)(
ICLRRuntimeHost *This,
IHostControl *pHostControl);
HRESULT (STDMETHODCALLTYPE *GetCLRControl)(
ICLRRuntimeHost *This,
ICLRControl **pCLRControl);
HRESULT (STDMETHODCALLTYPE *UnloadAppDomain)(
ICLRRuntimeHost *This,
DWORD dwAppDomainId,
WINBOOL fWaitUntilDone);
HRESULT (STDMETHODCALLTYPE *ExecuteInAppDomain)(
ICLRRuntimeHost *This,
DWORD dwAppDomainId,
FExecuteInAppDomainCallback pCallback,
void *cookie);
HRESULT (STDMETHODCALLTYPE *GetCurrentAppDomainId)(
ICLRRuntimeHost *This,
DWORD *pdwAppDomainId);
HRESULT (STDMETHODCALLTYPE *ExecuteApplication)(
ICLRRuntimeHost *This,
LPCWSTR pwzAppFullName,
DWORD dwManifestPaths,
LPCWSTR *ppwzManifestPaths,
DWORD dwActivationData,
LPCWSTR *ppwzActivationData,
int *pReturnValue);
HRESULT (STDMETHODCALLTYPE *ExecuteInDefaultAppDomain)(
ICLRRuntimeHost *This,
LPCWSTR pwzAssemblyPath,
LPCWSTR pwzTypeName,
LPCWSTR pwzMethodName,
LPCWSTR pwzArgument,
DWORD *pReturnValue);
END_INTERFACE
} ICLRRuntimeHostVtbl;
interface ICLRRuntimeHost {
CONST_VTBL ICLRRuntimeHostVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ICLRRuntimeHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ICLRRuntimeHost_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ICLRRuntimeHost_Release(This) (This)->lpVtbl->Release(This)
/*** ICLRRuntimeHost methods ***/
#define ICLRRuntimeHost_Start(This) (This)->lpVtbl->Start(This)
#define ICLRRuntimeHost_Stop(This) (This)->lpVtbl->Stop(This)
#define ICLRRuntimeHost_SetHostControl(This,pHostControl) (This)->lpVtbl->SetHostControl(This,pHostControl)
#define ICLRRuntimeHost_GetCLRControl(This,pCLRControl) (This)->lpVtbl->GetCLRControl(This,pCLRControl)
#define ICLRRuntimeHost_UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone) (This)->lpVtbl->UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone)
#define ICLRRuntimeHost_ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie) (This)->lpVtbl->ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie)
#define ICLRRuntimeHost_GetCurrentAppDomainId(This,pdwAppDomainId) (This)->lpVtbl->GetCurrentAppDomainId(This,pdwAppDomainId)
#define ICLRRuntimeHost_ExecuteApplication(This,pwzAppFullName,dwManifestPaths,ppwzManifestPaths,dwActivationData,ppwzActivationData,pReturnValue) (This)->lpVtbl->ExecuteApplication(This,pwzAppFullName,dwManifestPaths,ppwzManifestPaths,dwActivationData,ppwzActivationData,pReturnValue)
#define ICLRRuntimeHost_ExecuteInDefaultAppDomain(This,pwzAssemblyPath,pwzTypeName,pwzMethodName,pwzArgument,pReturnValue) (This)->lpVtbl->ExecuteInDefaultAppDomain(This,pwzAssemblyPath,pwzTypeName,pwzMethodName,pwzArgument,pReturnValue)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ICLRRuntimeHost_QueryInterface(ICLRRuntimeHost* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ICLRRuntimeHost_AddRef(ICLRRuntimeHost* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ICLRRuntimeHost_Release(ICLRRuntimeHost* This) {
return This->lpVtbl->Release(This);
}
/*** ICLRRuntimeHost methods ***/
static FORCEINLINE HRESULT ICLRRuntimeHost_Start(ICLRRuntimeHost* This) {
return This->lpVtbl->Start(This);
}
static FORCEINLINE HRESULT ICLRRuntimeHost_Stop(ICLRRuntimeHost* This) {
return This->lpVtbl->Stop(This);
}
static FORCEINLINE HRESULT ICLRRuntimeHost_SetHostControl(ICLRRuntimeHost* This,IHostControl *pHostControl) {
return This->lpVtbl->SetHostControl(This,pHostControl);
}
static FORCEINLINE HRESULT ICLRRuntimeHost_GetCLRControl(ICLRRuntimeHost* This,ICLRControl **pCLRControl) {
return This->lpVtbl->GetCLRControl(This,pCLRControl);
}
static FORCEINLINE HRESULT ICLRRuntimeHost_UnloadAppDomain(ICLRRuntimeHost* This,DWORD dwAppDomainId,WINBOOL fWaitUntilDone) {
return This->lpVtbl->UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone);
}
static FORCEINLINE HRESULT ICLRRuntimeHost_ExecuteInAppDomain(ICLRRuntimeHost* This,DWORD dwAppDomainId,FExecuteInAppDomainCallback pCallback,void *cookie) {
return This->lpVtbl->ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie);
}
static FORCEINLINE HRESULT ICLRRuntimeHost_GetCurrentAppDomainId(ICLRRuntimeHost* This,DWORD *pdwAppDomainId) {
return This->lpVtbl->GetCurrentAppDomainId(This,pdwAppDomainId);
}
static FORCEINLINE HRESULT ICLRRuntimeHost_ExecuteApplication(ICLRRuntimeHost* This,LPCWSTR pwzAppFullName,DWORD dwManifestPaths,LPCWSTR *ppwzManifestPaths,DWORD dwActivationData,LPCWSTR *ppwzActivationData,int *pReturnValue) {
return This->lpVtbl->ExecuteApplication(This,pwzAppFullName,dwManifestPaths,ppwzManifestPaths,dwActivationData,ppwzActivationData,pReturnValue);
}
static FORCEINLINE HRESULT ICLRRuntimeHost_ExecuteInDefaultAppDomain(ICLRRuntimeHost* This,LPCWSTR pwzAssemblyPath,LPCWSTR pwzTypeName,LPCWSTR pwzMethodName,LPCWSTR pwzArgument,DWORD *pReturnValue) {
return This->lpVtbl->ExecuteInDefaultAppDomain(This,pwzAssemblyPath,pwzTypeName,pwzMethodName,pwzArgument,pReturnValue);
}
#endif
#endif
#endif
#endif /* __ICLRRuntimeHost_INTERFACE_DEFINED__ */
/*****************************************************************************
* IManagedObject interface
*/
#ifndef __IManagedObject_INTERFACE_DEFINED__
#define __IManagedObject_INTERFACE_DEFINED__
DEFINE_GUID(IID_IManagedObject, 0xc3fcc19e, 0xa970, 0x11d2, 0x8b,0x5a, 0x00,0xa0,0xc9,0xb7,0xc9,0xc4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c3fcc19e-a970-11d2-8b5a-00a0c9b7c9c4")
IManagedObject : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetSerializedBuffer(
BSTR *pBSTR) = 0;
virtual HRESULT STDMETHODCALLTYPE GetObjectIdentity(
BSTR *pBSTRGUID,
int *AppDomainID,
int *pCCW) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IManagedObject, 0xc3fcc19e, 0xa970, 0x11d2, 0x8b,0x5a, 0x00,0xa0,0xc9,0xb7,0xc9,0xc4)
#endif
#else
typedef struct IManagedObjectVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IManagedObject *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IManagedObject *This);
ULONG (STDMETHODCALLTYPE *Release)(
IManagedObject *This);
/*** IManagedObject methods ***/
HRESULT (STDMETHODCALLTYPE *GetSerializedBuffer)(
IManagedObject *This,
BSTR *pBSTR);
HRESULT (STDMETHODCALLTYPE *GetObjectIdentity)(
IManagedObject *This,
BSTR *pBSTRGUID,
int *AppDomainID,
int *pCCW);
END_INTERFACE
} IManagedObjectVtbl;
interface IManagedObject {
CONST_VTBL IManagedObjectVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IManagedObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IManagedObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IManagedObject_Release(This) (This)->lpVtbl->Release(This)
/*** IManagedObject methods ***/
#define IManagedObject_GetSerializedBuffer(This,pBSTR) (This)->lpVtbl->GetSerializedBuffer(This,pBSTR)
#define IManagedObject_GetObjectIdentity(This,pBSTRGUID,AppDomainID,pCCW) (This)->lpVtbl->GetObjectIdentity(This,pBSTRGUID,AppDomainID,pCCW)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IManagedObject_QueryInterface(IManagedObject* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IManagedObject_AddRef(IManagedObject* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IManagedObject_Release(IManagedObject* This) {
return This->lpVtbl->Release(This);
}
/*** IManagedObject methods ***/
static FORCEINLINE HRESULT IManagedObject_GetSerializedBuffer(IManagedObject* This,BSTR *pBSTR) {
return This->lpVtbl->GetSerializedBuffer(This,pBSTR);
}
static FORCEINLINE HRESULT IManagedObject_GetObjectIdentity(IManagedObject* This,BSTR *pBSTRGUID,int *AppDomainID,int *pCCW) {
return This->lpVtbl->GetObjectIdentity(This,pBSTRGUID,AppDomainID,pCCW);
}
#endif
#endif
#endif
#endif /* __IManagedObject_INTERFACE_DEFINED__ */
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __mscoree_h__ */