master
   1/*** Autogenerated by WIDL 10.4 from include/mscoree.idl - Do not edit ***/
   2
   3#ifdef _WIN32
   4#ifndef __REQUIRED_RPCNDR_H_VERSION__
   5#define __REQUIRED_RPCNDR_H_VERSION__ 475
   6#endif
   7#include <rpc.h>
   8#include <rpcndr.h>
   9#endif
  10
  11#ifndef COM_NO_WINDOWS_H
  12#include <windows.h>
  13#include <ole2.h>
  14#endif
  15
  16#ifndef __mscoree_h__
  17#define __mscoree_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __IGCThreadControl_FWD_DEFINED__
  22#define __IGCThreadControl_FWD_DEFINED__
  23typedef interface IGCThreadControl IGCThreadControl;
  24#ifdef __cplusplus
  25interface IGCThreadControl;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IGCHostControl_FWD_DEFINED__
  30#define __IGCHostControl_FWD_DEFINED__
  31typedef interface IGCHostControl IGCHostControl;
  32#ifdef __cplusplus
  33interface IGCHostControl;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IDebuggerThreadControl_FWD_DEFINED__
  38#define __IDebuggerThreadControl_FWD_DEFINED__
  39typedef interface IDebuggerThreadControl IDebuggerThreadControl;
  40#ifdef __cplusplus
  41interface IDebuggerThreadControl;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __ICorConfiguration_FWD_DEFINED__
  46#define __ICorConfiguration_FWD_DEFINED__
  47typedef interface ICorConfiguration ICorConfiguration;
  48#ifdef __cplusplus
  49interface ICorConfiguration;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __ICLRControl_FWD_DEFINED__
  54#define __ICLRControl_FWD_DEFINED__
  55typedef interface ICLRControl ICLRControl;
  56#ifdef __cplusplus
  57interface ICLRControl;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __IHostControl_FWD_DEFINED__
  62#define __IHostControl_FWD_DEFINED__
  63typedef interface IHostControl IHostControl;
  64#ifdef __cplusplus
  65interface IHostControl;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __ICorRuntimeHost_FWD_DEFINED__
  70#define __ICorRuntimeHost_FWD_DEFINED__
  71typedef interface ICorRuntimeHost ICorRuntimeHost;
  72#ifdef __cplusplus
  73interface ICorRuntimeHost;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __ICLRRuntimeHost_FWD_DEFINED__
  78#define __ICLRRuntimeHost_FWD_DEFINED__
  79typedef interface ICLRRuntimeHost ICLRRuntimeHost;
  80#ifdef __cplusplus
  81interface ICLRRuntimeHost;
  82#endif /* __cplusplus */
  83#endif
  84
  85#ifndef __IManagedObject_FWD_DEFINED__
  86#define __IManagedObject_FWD_DEFINED__
  87typedef interface IManagedObject IManagedObject;
  88#ifdef __cplusplus
  89interface IManagedObject;
  90#endif /* __cplusplus */
  91#endif
  92
  93/* Headers for imported files */
  94
  95#include <unknwn.h>
  96
  97#ifdef __cplusplus
  98extern "C" {
  99#endif
 100
 101/* FIXME: #include <gcghost.h> */
 102/* FIXME: #include <ivalidator.h> */
 103HRESULT     WINAPI CorBindToRuntimeHost(LPCWSTR,LPCWSTR,LPCWSTR,VOID*,DWORD,REFCLSID,REFIID,LPVOID*);
 104void        WINAPI CorExitProcess(int);
 105HRESULT     WINAPI GetCORSystemDirectory(LPWSTR,DWORD,DWORD*);
 106HRESULT     WINAPI GetCORVersion(LPWSTR,DWORD,DWORD*);
 107HRESULT     WINAPI GetRequestedRuntimeInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,LPWSTR,DWORD,DWORD*,LPWSTR,DWORD,DWORD*);
 108HRESULT     WINAPI LoadLibraryShim(LPCWSTR,LPCWSTR,LPVOID,HMODULE*);
 109#ifndef WINE_NO_STRICT_PROTOTYPES
 110typedef HRESULT (__stdcall *FLockClrVersionCallback)(void);
 111#else
 112typedef HRESULT (__stdcall *FLockClrVersionCallback)();
 113#endif
 114HRESULT     WINAPI LockClrVersion(FLockClrVersionCallback,FLockClrVersionCallback*,FLockClrVersionCallback*);
 115typedef void *HDOMAINENUM;
 116typedef enum RUNTIME_INFO_FLAGS {
 117    RUNTIME_INFO_UPGRADE_VERSION = 0x1,
 118    RUNTIME_INFO_REQUEST_IA64 = 0x2,
 119    RUNTIME_INFO_REQUEST_AMD64 = 0x4,
 120    RUNTIME_INFO_REQUEST_X86 = 0x8,
 121    RUNTIME_INFO_DONT_RETURN_DIRECTORY = 0x10,
 122    RUNTIME_INFO_DONT_RETURN_VERSION = 0x20,
 123    RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG = 0x40
 124} RUNTIME_INFO_FLAGS;
 125typedef HRESULT (__stdcall *FExecuteInAppDomainCallback)(void *cookie);
 126/*****************************************************************************
 127 * IGCThreadControl interface
 128 */
 129#ifndef __IGCThreadControl_INTERFACE_DEFINED__
 130#define __IGCThreadControl_INTERFACE_DEFINED__
 131
 132DEFINE_GUID(IID_IGCThreadControl, 0xf31d1788, 0xc397, 0x4725, 0x87,0xa5, 0x6a,0xf3,0x47,0x2c,0x27,0x91);
 133#if defined(__cplusplus) && !defined(CINTERFACE)
 134MIDL_INTERFACE("f31d1788-c397-4725-87a5-6af3472c2791")
 135IGCThreadControl : public IUnknown
 136{
 137    virtual HRESULT STDMETHODCALLTYPE ThreadIsBlockingForSuspension(
 138        ) = 0;
 139
 140    virtual HRESULT STDMETHODCALLTYPE SuspensionStarting(
 141        ) = 0;
 142
 143    virtual HRESULT STDMETHODCALLTYPE SuspensionEnding(
 144        DWORD generation) = 0;
 145
 146};
 147#ifdef __CRT_UUID_DECL
 148__CRT_UUID_DECL(IGCThreadControl, 0xf31d1788, 0xc397, 0x4725, 0x87,0xa5, 0x6a,0xf3,0x47,0x2c,0x27,0x91)
 149#endif
 150#else
 151typedef struct IGCThreadControlVtbl {
 152    BEGIN_INTERFACE
 153
 154    /*** IUnknown methods ***/
 155    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 156        IGCThreadControl *This,
 157        REFIID riid,
 158        void **ppvObject);
 159
 160    ULONG (STDMETHODCALLTYPE *AddRef)(
 161        IGCThreadControl *This);
 162
 163    ULONG (STDMETHODCALLTYPE *Release)(
 164        IGCThreadControl *This);
 165
 166    /*** IGCThreadControl methods ***/
 167    HRESULT (STDMETHODCALLTYPE *ThreadIsBlockingForSuspension)(
 168        IGCThreadControl *This);
 169
 170    HRESULT (STDMETHODCALLTYPE *SuspensionStarting)(
 171        IGCThreadControl *This);
 172
 173    HRESULT (STDMETHODCALLTYPE *SuspensionEnding)(
 174        IGCThreadControl *This,
 175        DWORD generation);
 176
 177    END_INTERFACE
 178} IGCThreadControlVtbl;
 179
 180interface IGCThreadControl {
 181    CONST_VTBL IGCThreadControlVtbl* lpVtbl;
 182};
 183
 184#ifdef COBJMACROS
 185#ifndef WIDL_C_INLINE_WRAPPERS
 186/*** IUnknown methods ***/
 187#define IGCThreadControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 188#define IGCThreadControl_AddRef(This) (This)->lpVtbl->AddRef(This)
 189#define IGCThreadControl_Release(This) (This)->lpVtbl->Release(This)
 190/*** IGCThreadControl methods ***/
 191#define IGCThreadControl_ThreadIsBlockingForSuspension(This) (This)->lpVtbl->ThreadIsBlockingForSuspension(This)
 192#define IGCThreadControl_SuspensionStarting(This) (This)->lpVtbl->SuspensionStarting(This)
 193#define IGCThreadControl_SuspensionEnding(This,generation) (This)->lpVtbl->SuspensionEnding(This,generation)
 194#else
 195/*** IUnknown methods ***/
 196static inline HRESULT IGCThreadControl_QueryInterface(IGCThreadControl* This,REFIID riid,void **ppvObject) {
 197    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 198}
 199static inline ULONG IGCThreadControl_AddRef(IGCThreadControl* This) {
 200    return This->lpVtbl->AddRef(This);
 201}
 202static inline ULONG IGCThreadControl_Release(IGCThreadControl* This) {
 203    return This->lpVtbl->Release(This);
 204}
 205/*** IGCThreadControl methods ***/
 206static inline HRESULT IGCThreadControl_ThreadIsBlockingForSuspension(IGCThreadControl* This) {
 207    return This->lpVtbl->ThreadIsBlockingForSuspension(This);
 208}
 209static inline HRESULT IGCThreadControl_SuspensionStarting(IGCThreadControl* This) {
 210    return This->lpVtbl->SuspensionStarting(This);
 211}
 212static inline HRESULT IGCThreadControl_SuspensionEnding(IGCThreadControl* This,DWORD generation) {
 213    return This->lpVtbl->SuspensionEnding(This,generation);
 214}
 215#endif
 216#endif
 217
 218#endif
 219
 220
 221#endif  /* __IGCThreadControl_INTERFACE_DEFINED__ */
 222
 223/*****************************************************************************
 224 * IGCHostControl interface
 225 */
 226#ifndef __IGCHostControl_INTERFACE_DEFINED__
 227#define __IGCHostControl_INTERFACE_DEFINED__
 228
 229DEFINE_GUID(IID_IGCHostControl, 0x5513d564, 0x8374, 0x4cb9, 0xae,0xd9, 0x00,0x83,0xf4,0x16,0x0a,0x1d);
 230#if defined(__cplusplus) && !defined(CINTERFACE)
 231MIDL_INTERFACE("5513d564-8374-4cb9-aed9-0083f4160a1d")
 232IGCHostControl : public IUnknown
 233{
 234    virtual HRESULT STDMETHODCALLTYPE RequestVirtualMemLimit(
 235        SIZE_T nMaxVirtualMemMB,
 236        SIZE_T *nNewMaxVirtualMemMB) = 0;
 237
 238};
 239#ifdef __CRT_UUID_DECL
 240__CRT_UUID_DECL(IGCHostControl, 0x5513d564, 0x8374, 0x4cb9, 0xae,0xd9, 0x00,0x83,0xf4,0x16,0x0a,0x1d)
 241#endif
 242#else
 243typedef struct IGCHostControlVtbl {
 244    BEGIN_INTERFACE
 245
 246    /*** IUnknown methods ***/
 247    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 248        IGCHostControl *This,
 249        REFIID riid,
 250        void **ppvObject);
 251
 252    ULONG (STDMETHODCALLTYPE *AddRef)(
 253        IGCHostControl *This);
 254
 255    ULONG (STDMETHODCALLTYPE *Release)(
 256        IGCHostControl *This);
 257
 258    /*** IGCHostControl methods ***/
 259    HRESULT (STDMETHODCALLTYPE *RequestVirtualMemLimit)(
 260        IGCHostControl *This,
 261        SIZE_T nMaxVirtualMemMB,
 262        SIZE_T *nNewMaxVirtualMemMB);
 263
 264    END_INTERFACE
 265} IGCHostControlVtbl;
 266
 267interface IGCHostControl {
 268    CONST_VTBL IGCHostControlVtbl* lpVtbl;
 269};
 270
 271#ifdef COBJMACROS
 272#ifndef WIDL_C_INLINE_WRAPPERS
 273/*** IUnknown methods ***/
 274#define IGCHostControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 275#define IGCHostControl_AddRef(This) (This)->lpVtbl->AddRef(This)
 276#define IGCHostControl_Release(This) (This)->lpVtbl->Release(This)
 277/*** IGCHostControl methods ***/
 278#define IGCHostControl_RequestVirtualMemLimit(This,nMaxVirtualMemMB,nNewMaxVirtualMemMB) (This)->lpVtbl->RequestVirtualMemLimit(This,nMaxVirtualMemMB,nNewMaxVirtualMemMB)
 279#else
 280/*** IUnknown methods ***/
 281static inline HRESULT IGCHostControl_QueryInterface(IGCHostControl* This,REFIID riid,void **ppvObject) {
 282    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 283}
 284static inline ULONG IGCHostControl_AddRef(IGCHostControl* This) {
 285    return This->lpVtbl->AddRef(This);
 286}
 287static inline ULONG IGCHostControl_Release(IGCHostControl* This) {
 288    return This->lpVtbl->Release(This);
 289}
 290/*** IGCHostControl methods ***/
 291static inline HRESULT IGCHostControl_RequestVirtualMemLimit(IGCHostControl* This,SIZE_T nMaxVirtualMemMB,SIZE_T *nNewMaxVirtualMemMB) {
 292    return This->lpVtbl->RequestVirtualMemLimit(This,nMaxVirtualMemMB,nNewMaxVirtualMemMB);
 293}
 294#endif
 295#endif
 296
 297#endif
 298
 299
 300#endif  /* __IGCHostControl_INTERFACE_DEFINED__ */
 301
 302/*****************************************************************************
 303 * IDebuggerThreadControl interface
 304 */
 305#ifndef __IDebuggerThreadControl_INTERFACE_DEFINED__
 306#define __IDebuggerThreadControl_INTERFACE_DEFINED__
 307
 308DEFINE_GUID(IID_IDebuggerThreadControl, 0x23d86786, 0x0bb5, 0x4774, 0x8f,0xb5, 0xe3,0x52,0x2a,0xdd,0x62,0x46);
 309#if defined(__cplusplus) && !defined(CINTERFACE)
 310MIDL_INTERFACE("23d86786-0bb5-4774-8fb5-e3522add6246")
 311IDebuggerThreadControl : public IUnknown
 312{
 313    virtual HRESULT STDMETHODCALLTYPE ThreadIsBlockingForDebugger(
 314        ) = 0;
 315
 316    virtual HRESULT STDMETHODCALLTYPE ReleaseAllRuntimeThreads(
 317        ) = 0;
 318
 319    virtual HRESULT STDMETHODCALLTYPE StartBlockingForDebugger(
 320        DWORD dwUnused) = 0;
 321
 322};
 323#ifdef __CRT_UUID_DECL
 324__CRT_UUID_DECL(IDebuggerThreadControl, 0x23d86786, 0x0bb5, 0x4774, 0x8f,0xb5, 0xe3,0x52,0x2a,0xdd,0x62,0x46)
 325#endif
 326#else
 327typedef struct IDebuggerThreadControlVtbl {
 328    BEGIN_INTERFACE
 329
 330    /*** IUnknown methods ***/
 331    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 332        IDebuggerThreadControl *This,
 333        REFIID riid,
 334        void **ppvObject);
 335
 336    ULONG (STDMETHODCALLTYPE *AddRef)(
 337        IDebuggerThreadControl *This);
 338
 339    ULONG (STDMETHODCALLTYPE *Release)(
 340        IDebuggerThreadControl *This);
 341
 342    /*** IDebuggerThreadControl methods ***/
 343    HRESULT (STDMETHODCALLTYPE *ThreadIsBlockingForDebugger)(
 344        IDebuggerThreadControl *This);
 345
 346    HRESULT (STDMETHODCALLTYPE *ReleaseAllRuntimeThreads)(
 347        IDebuggerThreadControl *This);
 348
 349    HRESULT (STDMETHODCALLTYPE *StartBlockingForDebugger)(
 350        IDebuggerThreadControl *This,
 351        DWORD dwUnused);
 352
 353    END_INTERFACE
 354} IDebuggerThreadControlVtbl;
 355
 356interface IDebuggerThreadControl {
 357    CONST_VTBL IDebuggerThreadControlVtbl* lpVtbl;
 358};
 359
 360#ifdef COBJMACROS
 361#ifndef WIDL_C_INLINE_WRAPPERS
 362/*** IUnknown methods ***/
 363#define IDebuggerThreadControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 364#define IDebuggerThreadControl_AddRef(This) (This)->lpVtbl->AddRef(This)
 365#define IDebuggerThreadControl_Release(This) (This)->lpVtbl->Release(This)
 366/*** IDebuggerThreadControl methods ***/
 367#define IDebuggerThreadControl_ThreadIsBlockingForDebugger(This) (This)->lpVtbl->ThreadIsBlockingForDebugger(This)
 368#define IDebuggerThreadControl_ReleaseAllRuntimeThreads(This) (This)->lpVtbl->ReleaseAllRuntimeThreads(This)
 369#define IDebuggerThreadControl_StartBlockingForDebugger(This,dwUnused) (This)->lpVtbl->StartBlockingForDebugger(This,dwUnused)
 370#else
 371/*** IUnknown methods ***/
 372static inline HRESULT IDebuggerThreadControl_QueryInterface(IDebuggerThreadControl* This,REFIID riid,void **ppvObject) {
 373    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 374}
 375static inline ULONG IDebuggerThreadControl_AddRef(IDebuggerThreadControl* This) {
 376    return This->lpVtbl->AddRef(This);
 377}
 378static inline ULONG IDebuggerThreadControl_Release(IDebuggerThreadControl* This) {
 379    return This->lpVtbl->Release(This);
 380}
 381/*** IDebuggerThreadControl methods ***/
 382static inline HRESULT IDebuggerThreadControl_ThreadIsBlockingForDebugger(IDebuggerThreadControl* This) {
 383    return This->lpVtbl->ThreadIsBlockingForDebugger(This);
 384}
 385static inline HRESULT IDebuggerThreadControl_ReleaseAllRuntimeThreads(IDebuggerThreadControl* This) {
 386    return This->lpVtbl->ReleaseAllRuntimeThreads(This);
 387}
 388static inline HRESULT IDebuggerThreadControl_StartBlockingForDebugger(IDebuggerThreadControl* This,DWORD dwUnused) {
 389    return This->lpVtbl->StartBlockingForDebugger(This,dwUnused);
 390}
 391#endif
 392#endif
 393
 394#endif
 395
 396
 397#endif  /* __IDebuggerThreadControl_INTERFACE_DEFINED__ */
 398
 399/*****************************************************************************
 400 * ICorConfiguration interface
 401 */
 402#ifndef __ICorConfiguration_INTERFACE_DEFINED__
 403#define __ICorConfiguration_INTERFACE_DEFINED__
 404
 405DEFINE_GUID(IID_ICorConfiguration, 0x5c2b07a5, 0x1e98, 0x11d3, 0x87,0x2f, 0x00,0xc0,0x4f,0x79,0xed,0x0d);
 406#if defined(__cplusplus) && !defined(CINTERFACE)
 407MIDL_INTERFACE("5c2b07a5-1e98-11d3-872f-00c04f79ed0d")
 408ICorConfiguration : public IUnknown
 409{
 410    virtual HRESULT STDMETHODCALLTYPE SetGCThreadControl(
 411        IGCThreadControl *GCThreadControl) = 0;
 412
 413    virtual HRESULT STDMETHODCALLTYPE SetGCHostControl(
 414        IGCHostControl *GCHostControl) = 0;
 415
 416    virtual HRESULT STDMETHODCALLTYPE SetDebuggerThreadControl(
 417        IDebuggerThreadControl *debuggerThreadControl) = 0;
 418
 419    virtual HRESULT STDMETHODCALLTYPE AddDebuggerSpecialThread(
 420        DWORD specialThreadId) = 0;
 421
 422};
 423#ifdef __CRT_UUID_DECL
 424__CRT_UUID_DECL(ICorConfiguration, 0x5c2b07a5, 0x1e98, 0x11d3, 0x87,0x2f, 0x00,0xc0,0x4f,0x79,0xed,0x0d)
 425#endif
 426#else
 427typedef struct ICorConfigurationVtbl {
 428    BEGIN_INTERFACE
 429
 430    /*** IUnknown methods ***/
 431    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 432        ICorConfiguration *This,
 433        REFIID riid,
 434        void **ppvObject);
 435
 436    ULONG (STDMETHODCALLTYPE *AddRef)(
 437        ICorConfiguration *This);
 438
 439    ULONG (STDMETHODCALLTYPE *Release)(
 440        ICorConfiguration *This);
 441
 442    /*** ICorConfiguration methods ***/
 443    HRESULT (STDMETHODCALLTYPE *SetGCThreadControl)(
 444        ICorConfiguration *This,
 445        IGCThreadControl *GCThreadControl);
 446
 447    HRESULT (STDMETHODCALLTYPE *SetGCHostControl)(
 448        ICorConfiguration *This,
 449        IGCHostControl *GCHostControl);
 450
 451    HRESULT (STDMETHODCALLTYPE *SetDebuggerThreadControl)(
 452        ICorConfiguration *This,
 453        IDebuggerThreadControl *debuggerThreadControl);
 454
 455    HRESULT (STDMETHODCALLTYPE *AddDebuggerSpecialThread)(
 456        ICorConfiguration *This,
 457        DWORD specialThreadId);
 458
 459    END_INTERFACE
 460} ICorConfigurationVtbl;
 461
 462interface ICorConfiguration {
 463    CONST_VTBL ICorConfigurationVtbl* lpVtbl;
 464};
 465
 466#ifdef COBJMACROS
 467#ifndef WIDL_C_INLINE_WRAPPERS
 468/*** IUnknown methods ***/
 469#define ICorConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 470#define ICorConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This)
 471#define ICorConfiguration_Release(This) (This)->lpVtbl->Release(This)
 472/*** ICorConfiguration methods ***/
 473#define ICorConfiguration_SetGCThreadControl(This,GCThreadControl) (This)->lpVtbl->SetGCThreadControl(This,GCThreadControl)
 474#define ICorConfiguration_SetGCHostControl(This,GCHostControl) (This)->lpVtbl->SetGCHostControl(This,GCHostControl)
 475#define ICorConfiguration_SetDebuggerThreadControl(This,debuggerThreadControl) (This)->lpVtbl->SetDebuggerThreadControl(This,debuggerThreadControl)
 476#define ICorConfiguration_AddDebuggerSpecialThread(This,specialThreadId) (This)->lpVtbl->AddDebuggerSpecialThread(This,specialThreadId)
 477#else
 478/*** IUnknown methods ***/
 479static inline HRESULT ICorConfiguration_QueryInterface(ICorConfiguration* This,REFIID riid,void **ppvObject) {
 480    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 481}
 482static inline ULONG ICorConfiguration_AddRef(ICorConfiguration* This) {
 483    return This->lpVtbl->AddRef(This);
 484}
 485static inline ULONG ICorConfiguration_Release(ICorConfiguration* This) {
 486    return This->lpVtbl->Release(This);
 487}
 488/*** ICorConfiguration methods ***/
 489static inline HRESULT ICorConfiguration_SetGCThreadControl(ICorConfiguration* This,IGCThreadControl *GCThreadControl) {
 490    return This->lpVtbl->SetGCThreadControl(This,GCThreadControl);
 491}
 492static inline HRESULT ICorConfiguration_SetGCHostControl(ICorConfiguration* This,IGCHostControl *GCHostControl) {
 493    return This->lpVtbl->SetGCHostControl(This,GCHostControl);
 494}
 495static inline HRESULT ICorConfiguration_SetDebuggerThreadControl(ICorConfiguration* This,IDebuggerThreadControl *debuggerThreadControl) {
 496    return This->lpVtbl->SetDebuggerThreadControl(This,debuggerThreadControl);
 497}
 498static inline HRESULT ICorConfiguration_AddDebuggerSpecialThread(ICorConfiguration* This,DWORD specialThreadId) {
 499    return This->lpVtbl->AddDebuggerSpecialThread(This,specialThreadId);
 500}
 501#endif
 502#endif
 503
 504#endif
 505
 506
 507#endif  /* __ICorConfiguration_INTERFACE_DEFINED__ */
 508
 509/*****************************************************************************
 510 * ICLRControl interface
 511 */
 512#ifndef __ICLRControl_INTERFACE_DEFINED__
 513#define __ICLRControl_INTERFACE_DEFINED__
 514
 515DEFINE_GUID(IID_ICLRControl, 0x9065597e, 0xd1a1, 0x4fb2, 0xb6,0xba, 0x7e,0x1f,0xce,0x23,0x0f,0x61);
 516#if defined(__cplusplus) && !defined(CINTERFACE)
 517MIDL_INTERFACE("9065597e-d1a1-4fb2-b6ba-7e1fce230f61")
 518ICLRControl : public IUnknown
 519{
 520    virtual HRESULT STDMETHODCALLTYPE GetCLRManager(
 521        REFIID riid,
 522        void **ppObject) = 0;
 523
 524    virtual HRESULT STDMETHODCALLTYPE SetAppDomainManagerType(
 525        LPCWSTR appDomainManagerAssembly,
 526        LPCWSTR appDomainManagerType) = 0;
 527
 528};
 529#ifdef __CRT_UUID_DECL
 530__CRT_UUID_DECL(ICLRControl, 0x9065597e, 0xd1a1, 0x4fb2, 0xb6,0xba, 0x7e,0x1f,0xce,0x23,0x0f,0x61)
 531#endif
 532#else
 533typedef struct ICLRControlVtbl {
 534    BEGIN_INTERFACE
 535
 536    /*** IUnknown methods ***/
 537    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 538        ICLRControl *This,
 539        REFIID riid,
 540        void **ppvObject);
 541
 542    ULONG (STDMETHODCALLTYPE *AddRef)(
 543        ICLRControl *This);
 544
 545    ULONG (STDMETHODCALLTYPE *Release)(
 546        ICLRControl *This);
 547
 548    /*** ICLRControl methods ***/
 549    HRESULT (STDMETHODCALLTYPE *GetCLRManager)(
 550        ICLRControl *This,
 551        REFIID riid,
 552        void **ppObject);
 553
 554    HRESULT (STDMETHODCALLTYPE *SetAppDomainManagerType)(
 555        ICLRControl *This,
 556        LPCWSTR appDomainManagerAssembly,
 557        LPCWSTR appDomainManagerType);
 558
 559    END_INTERFACE
 560} ICLRControlVtbl;
 561
 562interface ICLRControl {
 563    CONST_VTBL ICLRControlVtbl* lpVtbl;
 564};
 565
 566#ifdef COBJMACROS
 567#ifndef WIDL_C_INLINE_WRAPPERS
 568/*** IUnknown methods ***/
 569#define ICLRControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 570#define ICLRControl_AddRef(This) (This)->lpVtbl->AddRef(This)
 571#define ICLRControl_Release(This) (This)->lpVtbl->Release(This)
 572/*** ICLRControl methods ***/
 573#define ICLRControl_GetCLRManager(This,riid,ppObject) (This)->lpVtbl->GetCLRManager(This,riid,ppObject)
 574#define ICLRControl_SetAppDomainManagerType(This,appDomainManagerAssembly,appDomainManagerType) (This)->lpVtbl->SetAppDomainManagerType(This,appDomainManagerAssembly,appDomainManagerType)
 575#else
 576/*** IUnknown methods ***/
 577static inline HRESULT ICLRControl_QueryInterface(ICLRControl* This,REFIID riid,void **ppvObject) {
 578    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 579}
 580static inline ULONG ICLRControl_AddRef(ICLRControl* This) {
 581    return This->lpVtbl->AddRef(This);
 582}
 583static inline ULONG ICLRControl_Release(ICLRControl* This) {
 584    return This->lpVtbl->Release(This);
 585}
 586/*** ICLRControl methods ***/
 587static inline HRESULT ICLRControl_GetCLRManager(ICLRControl* This,REFIID riid,void **ppObject) {
 588    return This->lpVtbl->GetCLRManager(This,riid,ppObject);
 589}
 590static inline HRESULT ICLRControl_SetAppDomainManagerType(ICLRControl* This,LPCWSTR appDomainManagerAssembly,LPCWSTR appDomainManagerType) {
 591    return This->lpVtbl->SetAppDomainManagerType(This,appDomainManagerAssembly,appDomainManagerType);
 592}
 593#endif
 594#endif
 595
 596#endif
 597
 598
 599#endif  /* __ICLRControl_INTERFACE_DEFINED__ */
 600
 601/*****************************************************************************
 602 * IHostControl interface
 603 */
 604#ifndef __IHostControl_INTERFACE_DEFINED__
 605#define __IHostControl_INTERFACE_DEFINED__
 606
 607DEFINE_GUID(IID_IHostControl, 0x02ca073c, 0x7079, 0x4860, 0x88,0x0a, 0xc2,0xf7,0xa4,0x49,0xc9,0x91);
 608#if defined(__cplusplus) && !defined(CINTERFACE)
 609MIDL_INTERFACE("02ca073c-7079-4860-880a-c2f7a449c991")
 610IHostControl : public IUnknown
 611{
 612    virtual HRESULT STDMETHODCALLTYPE GetHostManager(
 613        REFIID riid,
 614        void **ppObject) = 0;
 615
 616    virtual HRESULT STDMETHODCALLTYPE SetAppDomainManager(
 617        DWORD appDomainID,
 618        IUnknown *appDomainManager) = 0;
 619
 620};
 621#ifdef __CRT_UUID_DECL
 622__CRT_UUID_DECL(IHostControl, 0x02ca073c, 0x7079, 0x4860, 0x88,0x0a, 0xc2,0xf7,0xa4,0x49,0xc9,0x91)
 623#endif
 624#else
 625typedef struct IHostControlVtbl {
 626    BEGIN_INTERFACE
 627
 628    /*** IUnknown methods ***/
 629    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 630        IHostControl *This,
 631        REFIID riid,
 632        void **ppvObject);
 633
 634    ULONG (STDMETHODCALLTYPE *AddRef)(
 635        IHostControl *This);
 636
 637    ULONG (STDMETHODCALLTYPE *Release)(
 638        IHostControl *This);
 639
 640    /*** IHostControl methods ***/
 641    HRESULT (STDMETHODCALLTYPE *GetHostManager)(
 642        IHostControl *This,
 643        REFIID riid,
 644        void **ppObject);
 645
 646    HRESULT (STDMETHODCALLTYPE *SetAppDomainManager)(
 647        IHostControl *This,
 648        DWORD appDomainID,
 649        IUnknown *appDomainManager);
 650
 651    END_INTERFACE
 652} IHostControlVtbl;
 653
 654interface IHostControl {
 655    CONST_VTBL IHostControlVtbl* lpVtbl;
 656};
 657
 658#ifdef COBJMACROS
 659#ifndef WIDL_C_INLINE_WRAPPERS
 660/*** IUnknown methods ***/
 661#define IHostControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 662#define IHostControl_AddRef(This) (This)->lpVtbl->AddRef(This)
 663#define IHostControl_Release(This) (This)->lpVtbl->Release(This)
 664/*** IHostControl methods ***/
 665#define IHostControl_GetHostManager(This,riid,ppObject) (This)->lpVtbl->GetHostManager(This,riid,ppObject)
 666#define IHostControl_SetAppDomainManager(This,appDomainID,appDomainManager) (This)->lpVtbl->SetAppDomainManager(This,appDomainID,appDomainManager)
 667#else
 668/*** IUnknown methods ***/
 669static inline HRESULT IHostControl_QueryInterface(IHostControl* This,REFIID riid,void **ppvObject) {
 670    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 671}
 672static inline ULONG IHostControl_AddRef(IHostControl* This) {
 673    return This->lpVtbl->AddRef(This);
 674}
 675static inline ULONG IHostControl_Release(IHostControl* This) {
 676    return This->lpVtbl->Release(This);
 677}
 678/*** IHostControl methods ***/
 679static inline HRESULT IHostControl_GetHostManager(IHostControl* This,REFIID riid,void **ppObject) {
 680    return This->lpVtbl->GetHostManager(This,riid,ppObject);
 681}
 682static inline HRESULT IHostControl_SetAppDomainManager(IHostControl* This,DWORD appDomainID,IUnknown *appDomainManager) {
 683    return This->lpVtbl->SetAppDomainManager(This,appDomainID,appDomainManager);
 684}
 685#endif
 686#endif
 687
 688#endif
 689
 690
 691#endif  /* __IHostControl_INTERFACE_DEFINED__ */
 692
 693DEFINE_GUID(CLSID_CorRuntimeHost, 0xcb2f6723,0xab3a,0x11d2,0x9c,0x40,0x00,0xc0,0x4f,0xa3,0x0a,0x3e);
 694/*****************************************************************************
 695 * ICorRuntimeHost interface
 696 */
 697#ifndef __ICorRuntimeHost_INTERFACE_DEFINED__
 698#define __ICorRuntimeHost_INTERFACE_DEFINED__
 699
 700DEFINE_GUID(IID_ICorRuntimeHost, 0xcb2f6722, 0xab3a, 0x11d2, 0x9c,0x40, 0x00,0xc0,0x4f,0xa3,0x0a,0x3e);
 701#if defined(__cplusplus) && !defined(CINTERFACE)
 702MIDL_INTERFACE("cb2f6722-ab3a-11d2-9c40-00c04fa30a3e")
 703ICorRuntimeHost : public IUnknown
 704{
 705    virtual HRESULT STDMETHODCALLTYPE CreateLogicalThreadState(
 706        ) = 0;
 707
 708    virtual HRESULT STDMETHODCALLTYPE DeleteLogicalThreadState(
 709        ) = 0;
 710
 711    virtual HRESULT STDMETHODCALLTYPE SwitchInLogicalThreadState(
 712        DWORD *fiberCookie) = 0;
 713
 714    virtual HRESULT STDMETHODCALLTYPE SwitchOutLogicalThreadState(
 715        DWORD **fiberCookie) = 0;
 716
 717    virtual HRESULT STDMETHODCALLTYPE LocksHeldByLogicalThread(
 718        DWORD *pCount) = 0;
 719
 720    virtual HRESULT STDMETHODCALLTYPE MapFile(
 721        HANDLE hFile,
 722        HMODULE *mapAddress) = 0;
 723
 724    virtual HRESULT STDMETHODCALLTYPE GetConfiguration(
 725        ICorConfiguration **pConfiguration) = 0;
 726
 727    virtual HRESULT STDMETHODCALLTYPE Start(
 728        ) = 0;
 729
 730    virtual HRESULT STDMETHODCALLTYPE Stop(
 731        ) = 0;
 732
 733    virtual HRESULT STDMETHODCALLTYPE CreateDomain(
 734        LPCWSTR friendlyName,
 735        IUnknown *identityArray,
 736        IUnknown **appDomain) = 0;
 737
 738    virtual HRESULT STDMETHODCALLTYPE GetDefaultDomain(
 739        IUnknown **pAppDomain) = 0;
 740
 741    virtual HRESULT STDMETHODCALLTYPE EnumDomains(
 742        HDOMAINENUM *hEnum) = 0;
 743
 744    virtual HRESULT STDMETHODCALLTYPE NextDomain(
 745        HDOMAINENUM hEnum,
 746        IUnknown **appDomain) = 0;
 747
 748    virtual HRESULT STDMETHODCALLTYPE CloseEnum(
 749        HDOMAINENUM hEnum) = 0;
 750
 751    virtual HRESULT STDMETHODCALLTYPE CreateDomainEx(
 752        LPCWSTR friendlyName,
 753        IUnknown *setup,
 754        IUnknown *evidence,
 755        IUnknown **appDomain) = 0;
 756
 757    virtual HRESULT STDMETHODCALLTYPE CreateDomainSetup(
 758        IUnknown **appDomainSetup) = 0;
 759
 760    virtual HRESULT STDMETHODCALLTYPE CreateEvidence(
 761        IUnknown **evidence) = 0;
 762
 763    virtual HRESULT STDMETHODCALLTYPE UnloadDomain(
 764        IUnknown *appDomain) = 0;
 765
 766    virtual HRESULT STDMETHODCALLTYPE CurrentDomain(
 767        IUnknown **appDomain) = 0;
 768
 769};
 770#ifdef __CRT_UUID_DECL
 771__CRT_UUID_DECL(ICorRuntimeHost, 0xcb2f6722, 0xab3a, 0x11d2, 0x9c,0x40, 0x00,0xc0,0x4f,0xa3,0x0a,0x3e)
 772#endif
 773#else
 774typedef struct ICorRuntimeHostVtbl {
 775    BEGIN_INTERFACE
 776
 777    /*** IUnknown methods ***/
 778    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 779        ICorRuntimeHost *This,
 780        REFIID riid,
 781        void **ppvObject);
 782
 783    ULONG (STDMETHODCALLTYPE *AddRef)(
 784        ICorRuntimeHost *This);
 785
 786    ULONG (STDMETHODCALLTYPE *Release)(
 787        ICorRuntimeHost *This);
 788
 789    /*** ICorRuntimeHost methods ***/
 790    HRESULT (STDMETHODCALLTYPE *CreateLogicalThreadState)(
 791        ICorRuntimeHost *This);
 792
 793    HRESULT (STDMETHODCALLTYPE *DeleteLogicalThreadState)(
 794        ICorRuntimeHost *This);
 795
 796    HRESULT (STDMETHODCALLTYPE *SwitchInLogicalThreadState)(
 797        ICorRuntimeHost *This,
 798        DWORD *fiberCookie);
 799
 800    HRESULT (STDMETHODCALLTYPE *SwitchOutLogicalThreadState)(
 801        ICorRuntimeHost *This,
 802        DWORD **fiberCookie);
 803
 804    HRESULT (STDMETHODCALLTYPE *LocksHeldByLogicalThread)(
 805        ICorRuntimeHost *This,
 806        DWORD *pCount);
 807
 808    HRESULT (STDMETHODCALLTYPE *MapFile)(
 809        ICorRuntimeHost *This,
 810        HANDLE hFile,
 811        HMODULE *mapAddress);
 812
 813    HRESULT (STDMETHODCALLTYPE *GetConfiguration)(
 814        ICorRuntimeHost *This,
 815        ICorConfiguration **pConfiguration);
 816
 817    HRESULT (STDMETHODCALLTYPE *Start)(
 818        ICorRuntimeHost *This);
 819
 820    HRESULT (STDMETHODCALLTYPE *Stop)(
 821        ICorRuntimeHost *This);
 822
 823    HRESULT (STDMETHODCALLTYPE *CreateDomain)(
 824        ICorRuntimeHost *This,
 825        LPCWSTR friendlyName,
 826        IUnknown *identityArray,
 827        IUnknown **appDomain);
 828
 829    HRESULT (STDMETHODCALLTYPE *GetDefaultDomain)(
 830        ICorRuntimeHost *This,
 831        IUnknown **pAppDomain);
 832
 833    HRESULT (STDMETHODCALLTYPE *EnumDomains)(
 834        ICorRuntimeHost *This,
 835        HDOMAINENUM *hEnum);
 836
 837    HRESULT (STDMETHODCALLTYPE *NextDomain)(
 838        ICorRuntimeHost *This,
 839        HDOMAINENUM hEnum,
 840        IUnknown **appDomain);
 841
 842    HRESULT (STDMETHODCALLTYPE *CloseEnum)(
 843        ICorRuntimeHost *This,
 844        HDOMAINENUM hEnum);
 845
 846    HRESULT (STDMETHODCALLTYPE *CreateDomainEx)(
 847        ICorRuntimeHost *This,
 848        LPCWSTR friendlyName,
 849        IUnknown *setup,
 850        IUnknown *evidence,
 851        IUnknown **appDomain);
 852
 853    HRESULT (STDMETHODCALLTYPE *CreateDomainSetup)(
 854        ICorRuntimeHost *This,
 855        IUnknown **appDomainSetup);
 856
 857    HRESULT (STDMETHODCALLTYPE *CreateEvidence)(
 858        ICorRuntimeHost *This,
 859        IUnknown **evidence);
 860
 861    HRESULT (STDMETHODCALLTYPE *UnloadDomain)(
 862        ICorRuntimeHost *This,
 863        IUnknown *appDomain);
 864
 865    HRESULT (STDMETHODCALLTYPE *CurrentDomain)(
 866        ICorRuntimeHost *This,
 867        IUnknown **appDomain);
 868
 869    END_INTERFACE
 870} ICorRuntimeHostVtbl;
 871
 872interface ICorRuntimeHost {
 873    CONST_VTBL ICorRuntimeHostVtbl* lpVtbl;
 874};
 875
 876#ifdef COBJMACROS
 877#ifndef WIDL_C_INLINE_WRAPPERS
 878/*** IUnknown methods ***/
 879#define ICorRuntimeHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 880#define ICorRuntimeHost_AddRef(This) (This)->lpVtbl->AddRef(This)
 881#define ICorRuntimeHost_Release(This) (This)->lpVtbl->Release(This)
 882/*** ICorRuntimeHost methods ***/
 883#define ICorRuntimeHost_CreateLogicalThreadState(This) (This)->lpVtbl->CreateLogicalThreadState(This)
 884#define ICorRuntimeHost_DeleteLogicalThreadState(This) (This)->lpVtbl->DeleteLogicalThreadState(This)
 885#define ICorRuntimeHost_SwitchInLogicalThreadState(This,fiberCookie) (This)->lpVtbl->SwitchInLogicalThreadState(This,fiberCookie)
 886#define ICorRuntimeHost_SwitchOutLogicalThreadState(This,fiberCookie) (This)->lpVtbl->SwitchOutLogicalThreadState(This,fiberCookie)
 887#define ICorRuntimeHost_LocksHeldByLogicalThread(This,pCount) (This)->lpVtbl->LocksHeldByLogicalThread(This,pCount)
 888#define ICorRuntimeHost_MapFile(This,hFile,mapAddress) (This)->lpVtbl->MapFile(This,hFile,mapAddress)
 889#define ICorRuntimeHost_GetConfiguration(This,pConfiguration) (This)->lpVtbl->GetConfiguration(This,pConfiguration)
 890#define ICorRuntimeHost_Start(This) (This)->lpVtbl->Start(This)
 891#define ICorRuntimeHost_Stop(This) (This)->lpVtbl->Stop(This)
 892#define ICorRuntimeHost_CreateDomain(This,friendlyName,identityArray,appDomain) (This)->lpVtbl->CreateDomain(This,friendlyName,identityArray,appDomain)
 893#define ICorRuntimeHost_GetDefaultDomain(This,pAppDomain) (This)->lpVtbl->GetDefaultDomain(This,pAppDomain)
 894#define ICorRuntimeHost_EnumDomains(This,hEnum) (This)->lpVtbl->EnumDomains(This,hEnum)
 895#define ICorRuntimeHost_NextDomain(This,hEnum,appDomain) (This)->lpVtbl->NextDomain(This,hEnum,appDomain)
 896#define ICorRuntimeHost_CloseEnum(This,hEnum) (This)->lpVtbl->CloseEnum(This,hEnum)
 897#define ICorRuntimeHost_CreateDomainEx(This,friendlyName,setup,evidence,appDomain) (This)->lpVtbl->CreateDomainEx(This,friendlyName,setup,evidence,appDomain)
 898#define ICorRuntimeHost_CreateDomainSetup(This,appDomainSetup) (This)->lpVtbl->CreateDomainSetup(This,appDomainSetup)
 899#define ICorRuntimeHost_CreateEvidence(This,evidence) (This)->lpVtbl->CreateEvidence(This,evidence)
 900#define ICorRuntimeHost_UnloadDomain(This,appDomain) (This)->lpVtbl->UnloadDomain(This,appDomain)
 901#define ICorRuntimeHost_CurrentDomain(This,appDomain) (This)->lpVtbl->CurrentDomain(This,appDomain)
 902#else
 903/*** IUnknown methods ***/
 904static inline HRESULT ICorRuntimeHost_QueryInterface(ICorRuntimeHost* This,REFIID riid,void **ppvObject) {
 905    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 906}
 907static inline ULONG ICorRuntimeHost_AddRef(ICorRuntimeHost* This) {
 908    return This->lpVtbl->AddRef(This);
 909}
 910static inline ULONG ICorRuntimeHost_Release(ICorRuntimeHost* This) {
 911    return This->lpVtbl->Release(This);
 912}
 913/*** ICorRuntimeHost methods ***/
 914static inline HRESULT ICorRuntimeHost_CreateLogicalThreadState(ICorRuntimeHost* This) {
 915    return This->lpVtbl->CreateLogicalThreadState(This);
 916}
 917static inline HRESULT ICorRuntimeHost_DeleteLogicalThreadState(ICorRuntimeHost* This) {
 918    return This->lpVtbl->DeleteLogicalThreadState(This);
 919}
 920static inline HRESULT ICorRuntimeHost_SwitchInLogicalThreadState(ICorRuntimeHost* This,DWORD *fiberCookie) {
 921    return This->lpVtbl->SwitchInLogicalThreadState(This,fiberCookie);
 922}
 923static inline HRESULT ICorRuntimeHost_SwitchOutLogicalThreadState(ICorRuntimeHost* This,DWORD **fiberCookie) {
 924    return This->lpVtbl->SwitchOutLogicalThreadState(This,fiberCookie);
 925}
 926static inline HRESULT ICorRuntimeHost_LocksHeldByLogicalThread(ICorRuntimeHost* This,DWORD *pCount) {
 927    return This->lpVtbl->LocksHeldByLogicalThread(This,pCount);
 928}
 929static inline HRESULT ICorRuntimeHost_MapFile(ICorRuntimeHost* This,HANDLE hFile,HMODULE *mapAddress) {
 930    return This->lpVtbl->MapFile(This,hFile,mapAddress);
 931}
 932static inline HRESULT ICorRuntimeHost_GetConfiguration(ICorRuntimeHost* This,ICorConfiguration **pConfiguration) {
 933    return This->lpVtbl->GetConfiguration(This,pConfiguration);
 934}
 935static inline HRESULT ICorRuntimeHost_Start(ICorRuntimeHost* This) {
 936    return This->lpVtbl->Start(This);
 937}
 938static inline HRESULT ICorRuntimeHost_Stop(ICorRuntimeHost* This) {
 939    return This->lpVtbl->Stop(This);
 940}
 941static inline HRESULT ICorRuntimeHost_CreateDomain(ICorRuntimeHost* This,LPCWSTR friendlyName,IUnknown *identityArray,IUnknown **appDomain) {
 942    return This->lpVtbl->CreateDomain(This,friendlyName,identityArray,appDomain);
 943}
 944static inline HRESULT ICorRuntimeHost_GetDefaultDomain(ICorRuntimeHost* This,IUnknown **pAppDomain) {
 945    return This->lpVtbl->GetDefaultDomain(This,pAppDomain);
 946}
 947static inline HRESULT ICorRuntimeHost_EnumDomains(ICorRuntimeHost* This,HDOMAINENUM *hEnum) {
 948    return This->lpVtbl->EnumDomains(This,hEnum);
 949}
 950static inline HRESULT ICorRuntimeHost_NextDomain(ICorRuntimeHost* This,HDOMAINENUM hEnum,IUnknown **appDomain) {
 951    return This->lpVtbl->NextDomain(This,hEnum,appDomain);
 952}
 953static inline HRESULT ICorRuntimeHost_CloseEnum(ICorRuntimeHost* This,HDOMAINENUM hEnum) {
 954    return This->lpVtbl->CloseEnum(This,hEnum);
 955}
 956static inline HRESULT ICorRuntimeHost_CreateDomainEx(ICorRuntimeHost* This,LPCWSTR friendlyName,IUnknown *setup,IUnknown *evidence,IUnknown **appDomain) {
 957    return This->lpVtbl->CreateDomainEx(This,friendlyName,setup,evidence,appDomain);
 958}
 959static inline HRESULT ICorRuntimeHost_CreateDomainSetup(ICorRuntimeHost* This,IUnknown **appDomainSetup) {
 960    return This->lpVtbl->CreateDomainSetup(This,appDomainSetup);
 961}
 962static inline HRESULT ICorRuntimeHost_CreateEvidence(ICorRuntimeHost* This,IUnknown **evidence) {
 963    return This->lpVtbl->CreateEvidence(This,evidence);
 964}
 965static inline HRESULT ICorRuntimeHost_UnloadDomain(ICorRuntimeHost* This,IUnknown *appDomain) {
 966    return This->lpVtbl->UnloadDomain(This,appDomain);
 967}
 968static inline HRESULT ICorRuntimeHost_CurrentDomain(ICorRuntimeHost* This,IUnknown **appDomain) {
 969    return This->lpVtbl->CurrentDomain(This,appDomain);
 970}
 971#endif
 972#endif
 973
 974#endif
 975
 976
 977#endif  /* __ICorRuntimeHost_INTERFACE_DEFINED__ */
 978
 979DEFINE_GUID(CLSID_CLRRuntimeHost, 0x90f1a06e,0x7712,0x4762,0x86,0xb5,0x7a,0x5e,0xba,0x6b,0xdb,0x02);
 980/*****************************************************************************
 981 * ICLRRuntimeHost interface
 982 */
 983#ifndef __ICLRRuntimeHost_INTERFACE_DEFINED__
 984#define __ICLRRuntimeHost_INTERFACE_DEFINED__
 985
 986DEFINE_GUID(IID_ICLRRuntimeHost, 0x90f1a06c, 0x7712, 0x4762, 0x86,0xb5, 0x7a,0x5e,0xba,0x6b,0xdb,0x02);
 987#if defined(__cplusplus) && !defined(CINTERFACE)
 988MIDL_INTERFACE("90f1a06c-7712-4762-86b5-7a5eba6bdb02")
 989ICLRRuntimeHost : public IUnknown
 990{
 991    virtual HRESULT STDMETHODCALLTYPE Start(
 992        ) = 0;
 993
 994    virtual HRESULT STDMETHODCALLTYPE Stop(
 995        ) = 0;
 996
 997    virtual HRESULT STDMETHODCALLTYPE SetHostControl(
 998        IHostControl *pHostControl) = 0;
 999
1000    virtual HRESULT STDMETHODCALLTYPE GetCLRControl(
1001        ICLRControl **pCLRControl) = 0;
1002
1003    virtual HRESULT STDMETHODCALLTYPE UnloadAppDomain(
1004        DWORD dwAppDomainId,
1005        WINBOOL fWaitUntilDone) = 0;
1006
1007    virtual HRESULT STDMETHODCALLTYPE ExecuteInAppDomain(
1008        DWORD dwAppDomainId,
1009        FExecuteInAppDomainCallback pCallback,
1010        void *cookie) = 0;
1011
1012    virtual HRESULT STDMETHODCALLTYPE GetCurrentAppDomainId(
1013        DWORD *pdwAppDomainId) = 0;
1014
1015    virtual HRESULT STDMETHODCALLTYPE ExecuteApplication(
1016        LPCWSTR pwzAppFullName,
1017        DWORD dwManifestPaths,
1018        LPCWSTR *ppwzManifestPaths,
1019        DWORD dwActivationData,
1020        LPCWSTR *ppwzActivationData,
1021        int *pReturnValue) = 0;
1022
1023    virtual HRESULT STDMETHODCALLTYPE ExecuteInDefaultAppDomain(
1024        LPCWSTR pwzAssemblyPath,
1025        LPCWSTR pwzTypeName,
1026        LPCWSTR pwzMethodName,
1027        LPCWSTR pwzArgument,
1028        DWORD *pReturnValue) = 0;
1029
1030};
1031#ifdef __CRT_UUID_DECL
1032__CRT_UUID_DECL(ICLRRuntimeHost, 0x90f1a06c, 0x7712, 0x4762, 0x86,0xb5, 0x7a,0x5e,0xba,0x6b,0xdb,0x02)
1033#endif
1034#else
1035typedef struct ICLRRuntimeHostVtbl {
1036    BEGIN_INTERFACE
1037
1038    /*** IUnknown methods ***/
1039    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1040        ICLRRuntimeHost *This,
1041        REFIID riid,
1042        void **ppvObject);
1043
1044    ULONG (STDMETHODCALLTYPE *AddRef)(
1045        ICLRRuntimeHost *This);
1046
1047    ULONG (STDMETHODCALLTYPE *Release)(
1048        ICLRRuntimeHost *This);
1049
1050    /*** ICLRRuntimeHost methods ***/
1051    HRESULT (STDMETHODCALLTYPE *Start)(
1052        ICLRRuntimeHost *This);
1053
1054    HRESULT (STDMETHODCALLTYPE *Stop)(
1055        ICLRRuntimeHost *This);
1056
1057    HRESULT (STDMETHODCALLTYPE *SetHostControl)(
1058        ICLRRuntimeHost *This,
1059        IHostControl *pHostControl);
1060
1061    HRESULT (STDMETHODCALLTYPE *GetCLRControl)(
1062        ICLRRuntimeHost *This,
1063        ICLRControl **pCLRControl);
1064
1065    HRESULT (STDMETHODCALLTYPE *UnloadAppDomain)(
1066        ICLRRuntimeHost *This,
1067        DWORD dwAppDomainId,
1068        WINBOOL fWaitUntilDone);
1069
1070    HRESULT (STDMETHODCALLTYPE *ExecuteInAppDomain)(
1071        ICLRRuntimeHost *This,
1072        DWORD dwAppDomainId,
1073        FExecuteInAppDomainCallback pCallback,
1074        void *cookie);
1075
1076    HRESULT (STDMETHODCALLTYPE *GetCurrentAppDomainId)(
1077        ICLRRuntimeHost *This,
1078        DWORD *pdwAppDomainId);
1079
1080    HRESULT (STDMETHODCALLTYPE *ExecuteApplication)(
1081        ICLRRuntimeHost *This,
1082        LPCWSTR pwzAppFullName,
1083        DWORD dwManifestPaths,
1084        LPCWSTR *ppwzManifestPaths,
1085        DWORD dwActivationData,
1086        LPCWSTR *ppwzActivationData,
1087        int *pReturnValue);
1088
1089    HRESULT (STDMETHODCALLTYPE *ExecuteInDefaultAppDomain)(
1090        ICLRRuntimeHost *This,
1091        LPCWSTR pwzAssemblyPath,
1092        LPCWSTR pwzTypeName,
1093        LPCWSTR pwzMethodName,
1094        LPCWSTR pwzArgument,
1095        DWORD *pReturnValue);
1096
1097    END_INTERFACE
1098} ICLRRuntimeHostVtbl;
1099
1100interface ICLRRuntimeHost {
1101    CONST_VTBL ICLRRuntimeHostVtbl* lpVtbl;
1102};
1103
1104#ifdef COBJMACROS
1105#ifndef WIDL_C_INLINE_WRAPPERS
1106/*** IUnknown methods ***/
1107#define ICLRRuntimeHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1108#define ICLRRuntimeHost_AddRef(This) (This)->lpVtbl->AddRef(This)
1109#define ICLRRuntimeHost_Release(This) (This)->lpVtbl->Release(This)
1110/*** ICLRRuntimeHost methods ***/
1111#define ICLRRuntimeHost_Start(This) (This)->lpVtbl->Start(This)
1112#define ICLRRuntimeHost_Stop(This) (This)->lpVtbl->Stop(This)
1113#define ICLRRuntimeHost_SetHostControl(This,pHostControl) (This)->lpVtbl->SetHostControl(This,pHostControl)
1114#define ICLRRuntimeHost_GetCLRControl(This,pCLRControl) (This)->lpVtbl->GetCLRControl(This,pCLRControl)
1115#define ICLRRuntimeHost_UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone) (This)->lpVtbl->UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone)
1116#define ICLRRuntimeHost_ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie) (This)->lpVtbl->ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie)
1117#define ICLRRuntimeHost_GetCurrentAppDomainId(This,pdwAppDomainId) (This)->lpVtbl->GetCurrentAppDomainId(This,pdwAppDomainId)
1118#define ICLRRuntimeHost_ExecuteApplication(This,pwzAppFullName,dwManifestPaths,ppwzManifestPaths,dwActivationData,ppwzActivationData,pReturnValue) (This)->lpVtbl->ExecuteApplication(This,pwzAppFullName,dwManifestPaths,ppwzManifestPaths,dwActivationData,ppwzActivationData,pReturnValue)
1119#define ICLRRuntimeHost_ExecuteInDefaultAppDomain(This,pwzAssemblyPath,pwzTypeName,pwzMethodName,pwzArgument,pReturnValue) (This)->lpVtbl->ExecuteInDefaultAppDomain(This,pwzAssemblyPath,pwzTypeName,pwzMethodName,pwzArgument,pReturnValue)
1120#else
1121/*** IUnknown methods ***/
1122static inline HRESULT ICLRRuntimeHost_QueryInterface(ICLRRuntimeHost* This,REFIID riid,void **ppvObject) {
1123    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1124}
1125static inline ULONG ICLRRuntimeHost_AddRef(ICLRRuntimeHost* This) {
1126    return This->lpVtbl->AddRef(This);
1127}
1128static inline ULONG ICLRRuntimeHost_Release(ICLRRuntimeHost* This) {
1129    return This->lpVtbl->Release(This);
1130}
1131/*** ICLRRuntimeHost methods ***/
1132static inline HRESULT ICLRRuntimeHost_Start(ICLRRuntimeHost* This) {
1133    return This->lpVtbl->Start(This);
1134}
1135static inline HRESULT ICLRRuntimeHost_Stop(ICLRRuntimeHost* This) {
1136    return This->lpVtbl->Stop(This);
1137}
1138static inline HRESULT ICLRRuntimeHost_SetHostControl(ICLRRuntimeHost* This,IHostControl *pHostControl) {
1139    return This->lpVtbl->SetHostControl(This,pHostControl);
1140}
1141static inline HRESULT ICLRRuntimeHost_GetCLRControl(ICLRRuntimeHost* This,ICLRControl **pCLRControl) {
1142    return This->lpVtbl->GetCLRControl(This,pCLRControl);
1143}
1144static inline HRESULT ICLRRuntimeHost_UnloadAppDomain(ICLRRuntimeHost* This,DWORD dwAppDomainId,WINBOOL fWaitUntilDone) {
1145    return This->lpVtbl->UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone);
1146}
1147static inline HRESULT ICLRRuntimeHost_ExecuteInAppDomain(ICLRRuntimeHost* This,DWORD dwAppDomainId,FExecuteInAppDomainCallback pCallback,void *cookie) {
1148    return This->lpVtbl->ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie);
1149}
1150static inline HRESULT ICLRRuntimeHost_GetCurrentAppDomainId(ICLRRuntimeHost* This,DWORD *pdwAppDomainId) {
1151    return This->lpVtbl->GetCurrentAppDomainId(This,pdwAppDomainId);
1152}
1153static inline HRESULT ICLRRuntimeHost_ExecuteApplication(ICLRRuntimeHost* This,LPCWSTR pwzAppFullName,DWORD dwManifestPaths,LPCWSTR *ppwzManifestPaths,DWORD dwActivationData,LPCWSTR *ppwzActivationData,int *pReturnValue) {
1154    return This->lpVtbl->ExecuteApplication(This,pwzAppFullName,dwManifestPaths,ppwzManifestPaths,dwActivationData,ppwzActivationData,pReturnValue);
1155}
1156static inline HRESULT ICLRRuntimeHost_ExecuteInDefaultAppDomain(ICLRRuntimeHost* This,LPCWSTR pwzAssemblyPath,LPCWSTR pwzTypeName,LPCWSTR pwzMethodName,LPCWSTR pwzArgument,DWORD *pReturnValue) {
1157    return This->lpVtbl->ExecuteInDefaultAppDomain(This,pwzAssemblyPath,pwzTypeName,pwzMethodName,pwzArgument,pReturnValue);
1158}
1159#endif
1160#endif
1161
1162#endif
1163
1164
1165#endif  /* __ICLRRuntimeHost_INTERFACE_DEFINED__ */
1166
1167/*****************************************************************************
1168 * IManagedObject interface
1169 */
1170#ifndef __IManagedObject_INTERFACE_DEFINED__
1171#define __IManagedObject_INTERFACE_DEFINED__
1172
1173DEFINE_GUID(IID_IManagedObject, 0xc3fcc19e, 0xa970, 0x11d2, 0x8b,0x5a, 0x00,0xa0,0xc9,0xb7,0xc9,0xc4);
1174#if defined(__cplusplus) && !defined(CINTERFACE)
1175MIDL_INTERFACE("c3fcc19e-a970-11d2-8b5a-00a0c9b7c9c4")
1176IManagedObject : public IUnknown
1177{
1178    virtual HRESULT STDMETHODCALLTYPE GetSerializedBuffer(
1179        BSTR *pBSTR) = 0;
1180
1181    virtual HRESULT STDMETHODCALLTYPE GetObjectIdentity(
1182        BSTR *pBSTRGUID,
1183        int *AppDomainID,
1184        int *pCCW) = 0;
1185
1186};
1187#ifdef __CRT_UUID_DECL
1188__CRT_UUID_DECL(IManagedObject, 0xc3fcc19e, 0xa970, 0x11d2, 0x8b,0x5a, 0x00,0xa0,0xc9,0xb7,0xc9,0xc4)
1189#endif
1190#else
1191typedef struct IManagedObjectVtbl {
1192    BEGIN_INTERFACE
1193
1194    /*** IUnknown methods ***/
1195    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1196        IManagedObject *This,
1197        REFIID riid,
1198        void **ppvObject);
1199
1200    ULONG (STDMETHODCALLTYPE *AddRef)(
1201        IManagedObject *This);
1202
1203    ULONG (STDMETHODCALLTYPE *Release)(
1204        IManagedObject *This);
1205
1206    /*** IManagedObject methods ***/
1207    HRESULT (STDMETHODCALLTYPE *GetSerializedBuffer)(
1208        IManagedObject *This,
1209        BSTR *pBSTR);
1210
1211    HRESULT (STDMETHODCALLTYPE *GetObjectIdentity)(
1212        IManagedObject *This,
1213        BSTR *pBSTRGUID,
1214        int *AppDomainID,
1215        int *pCCW);
1216
1217    END_INTERFACE
1218} IManagedObjectVtbl;
1219
1220interface IManagedObject {
1221    CONST_VTBL IManagedObjectVtbl* lpVtbl;
1222};
1223
1224#ifdef COBJMACROS
1225#ifndef WIDL_C_INLINE_WRAPPERS
1226/*** IUnknown methods ***/
1227#define IManagedObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1228#define IManagedObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1229#define IManagedObject_Release(This) (This)->lpVtbl->Release(This)
1230/*** IManagedObject methods ***/
1231#define IManagedObject_GetSerializedBuffer(This,pBSTR) (This)->lpVtbl->GetSerializedBuffer(This,pBSTR)
1232#define IManagedObject_GetObjectIdentity(This,pBSTRGUID,AppDomainID,pCCW) (This)->lpVtbl->GetObjectIdentity(This,pBSTRGUID,AppDomainID,pCCW)
1233#else
1234/*** IUnknown methods ***/
1235static inline HRESULT IManagedObject_QueryInterface(IManagedObject* This,REFIID riid,void **ppvObject) {
1236    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1237}
1238static inline ULONG IManagedObject_AddRef(IManagedObject* This) {
1239    return This->lpVtbl->AddRef(This);
1240}
1241static inline ULONG IManagedObject_Release(IManagedObject* This) {
1242    return This->lpVtbl->Release(This);
1243}
1244/*** IManagedObject methods ***/
1245static inline HRESULT IManagedObject_GetSerializedBuffer(IManagedObject* This,BSTR *pBSTR) {
1246    return This->lpVtbl->GetSerializedBuffer(This,pBSTR);
1247}
1248static inline HRESULT IManagedObject_GetObjectIdentity(IManagedObject* This,BSTR *pBSTRGUID,int *AppDomainID,int *pCCW) {
1249    return This->lpVtbl->GetObjectIdentity(This,pBSTRGUID,AppDomainID,pCCW);
1250}
1251#endif
1252#endif
1253
1254#endif
1255
1256
1257#endif  /* __IManagedObject_INTERFACE_DEFINED__ */
1258
1259/* Begin additional prototypes for all interfaces */
1260
1261
1262/* End additional prototypes */
1263
1264#ifdef __cplusplus
1265}
1266#endif
1267
1268#endif /* __mscoree_h__ */