1 /*** Autogenerated by WIDL 6.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__ 23 typedef interface IGCThreadControl IGCThreadControl; 24 #ifdef __cplusplus 25 interface IGCThreadControl; 26 #endif /* __cplusplus */ 27 #endif 28 29 #ifndef __IGCHostControl_FWD_DEFINED__ 30 #define __IGCHostControl_FWD_DEFINED__ 31 typedef interface IGCHostControl IGCHostControl; 32 #ifdef __cplusplus 33 interface IGCHostControl; 34 #endif /* __cplusplus */ 35 #endif 36 37 #ifndef __IDebuggerThreadControl_FWD_DEFINED__ 38 #define __IDebuggerThreadControl_FWD_DEFINED__ 39 typedef interface IDebuggerThreadControl IDebuggerThreadControl; 40 #ifdef __cplusplus 41 interface IDebuggerThreadControl; 42 #endif /* __cplusplus */ 43 #endif 44 45 #ifndef __ICorConfiguration_FWD_DEFINED__ 46 #define __ICorConfiguration_FWD_DEFINED__ 47 typedef interface ICorConfiguration ICorConfiguration; 48 #ifdef __cplusplus 49 interface ICorConfiguration; 50 #endif /* __cplusplus */ 51 #endif 52 53 #ifndef __ICLRControl_FWD_DEFINED__ 54 #define __ICLRControl_FWD_DEFINED__ 55 typedef interface ICLRControl ICLRControl; 56 #ifdef __cplusplus 57 interface ICLRControl; 58 #endif /* __cplusplus */ 59 #endif 60 61 #ifndef __IHostControl_FWD_DEFINED__ 62 #define __IHostControl_FWD_DEFINED__ 63 typedef interface IHostControl IHostControl; 64 #ifdef __cplusplus 65 interface IHostControl; 66 #endif /* __cplusplus */ 67 #endif 68 69 #ifndef __ICorRuntimeHost_FWD_DEFINED__ 70 #define __ICorRuntimeHost_FWD_DEFINED__ 71 typedef interface ICorRuntimeHost ICorRuntimeHost; 72 #ifdef __cplusplus 73 interface ICorRuntimeHost; 74 #endif /* __cplusplus */ 75 #endif 76 77 #ifndef __ICLRRuntimeHost_FWD_DEFINED__ 78 #define __ICLRRuntimeHost_FWD_DEFINED__ 79 typedef interface ICLRRuntimeHost ICLRRuntimeHost; 80 #ifdef __cplusplus 81 interface ICLRRuntimeHost; 82 #endif /* __cplusplus */ 83 #endif 84 85 #ifndef __IManagedObject_FWD_DEFINED__ 86 #define __IManagedObject_FWD_DEFINED__ 87 typedef interface IManagedObject IManagedObject; 88 #ifdef __cplusplus 89 interface IManagedObject; 90 #endif /* __cplusplus */ 91 #endif 92 93 /* Headers for imported files */ 94 95 #include <unknwn.h> 96 97 #ifdef __cplusplus 98 extern "C" { 99 #endif 100 101 /* FIXME: #include <gcghost.h> */ 102 /* FIXME: #include <ivalidator.h> */ 103 HRESULT WINAPI CorBindToRuntimeHost(LPCWSTR,LPCWSTR,LPCWSTR,VOID*,DWORD,REFCLSID,REFIID,LPVOID*); 104 void WINAPI CorExitProcess(int); 105 HRESULT WINAPI GetCORSystemDirectory(LPWSTR,DWORD,DWORD*); 106 HRESULT WINAPI GetCORVersion(LPWSTR,DWORD,DWORD*); 107 HRESULT WINAPI GetRequestedRuntimeInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,LPWSTR,DWORD,DWORD*,LPWSTR,DWORD,DWORD*); 108 HRESULT WINAPI LoadLibraryShim(LPCWSTR,LPCWSTR,LPVOID,HMODULE*); 109 #ifdef WINE_STRICT_PROTOTYPES 110 typedef HRESULT (__stdcall *FLockClrVersionCallback)(void); 111 #else 112 typedef HRESULT (__stdcall *FLockClrVersionCallback)(); 113 #endif 114 HRESULT WINAPI LockClrVersion(FLockClrVersionCallback,FLockClrVersionCallback*,FLockClrVersionCallback*); 115 typedef void *HDOMAINENUM; 116 typedef 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; 125 typedef HRESULT (__stdcall *FExecuteInAppDomainCallback)(void *cookie); 126 /***************************************************************************** 127 * IGCThreadControl interface 128 */ 129 #ifndef __IGCThreadControl_INTERFACE_DEFINED__ 130 #define __IGCThreadControl_INTERFACE_DEFINED__ 131 132 DEFINE_GUID(IID_IGCThreadControl, 0xf31d1788, 0xc397, 0x4725, 0x87,0xa5, 0x6a,0xf3,0x47,0x2c,0x27,0x91); 133 #if defined(__cplusplus) && !defined(CINTERFACE) 134 MIDL_INTERFACE("f31d1788-c397-4725-87a5-6af3472c2791") 135 IGCThreadControl : 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 151 typedef 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 180 interface 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 ***/ 196 static FORCEINLINE HRESULT IGCThreadControl_QueryInterface(IGCThreadControl* This,REFIID riid,void **ppvObject) { 197 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 198 } 199 static FORCEINLINE ULONG IGCThreadControl_AddRef(IGCThreadControl* This) { 200 return This->lpVtbl->AddRef(This); 201 } 202 static FORCEINLINE ULONG IGCThreadControl_Release(IGCThreadControl* This) { 203 return This->lpVtbl->Release(This); 204 } 205 /*** IGCThreadControl methods ***/ 206 static FORCEINLINE HRESULT IGCThreadControl_ThreadIsBlockingForSuspension(IGCThreadControl* This) { 207 return This->lpVtbl->ThreadIsBlockingForSuspension(This); 208 } 209 static FORCEINLINE HRESULT IGCThreadControl_SuspensionStarting(IGCThreadControl* This) { 210 return This->lpVtbl->SuspensionStarting(This); 211 } 212 static FORCEINLINE 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 229 DEFINE_GUID(IID_IGCHostControl, 0x5513d564, 0x8374, 0x4cb9, 0xae,0xd9, 0x00,0x83,0xf4,0x16,0x0a,0x1d); 230 #if defined(__cplusplus) && !defined(CINTERFACE) 231 MIDL_INTERFACE("5513d564-8374-4cb9-aed9-0083f4160a1d") 232 IGCHostControl : 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 243 typedef 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 267 interface 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 ***/ 281 static FORCEINLINE HRESULT IGCHostControl_QueryInterface(IGCHostControl* This,REFIID riid,void **ppvObject) { 282 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 283 } 284 static FORCEINLINE ULONG IGCHostControl_AddRef(IGCHostControl* This) { 285 return This->lpVtbl->AddRef(This); 286 } 287 static FORCEINLINE ULONG IGCHostControl_Release(IGCHostControl* This) { 288 return This->lpVtbl->Release(This); 289 } 290 /*** IGCHostControl methods ***/ 291 static FORCEINLINE 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 308 DEFINE_GUID(IID_IDebuggerThreadControl, 0x23d86786, 0x0bb5, 0x4774, 0x8f,0xb5, 0xe3,0x52,0x2a,0xdd,0x62,0x46); 309 #if defined(__cplusplus) && !defined(CINTERFACE) 310 MIDL_INTERFACE("23d86786-0bb5-4774-8fb5-e3522add6246") 311 IDebuggerThreadControl : 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 327 typedef 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 356 interface 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 ***/ 372 static FORCEINLINE HRESULT IDebuggerThreadControl_QueryInterface(IDebuggerThreadControl* This,REFIID riid,void **ppvObject) { 373 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 374 } 375 static FORCEINLINE ULONG IDebuggerThreadControl_AddRef(IDebuggerThreadControl* This) { 376 return This->lpVtbl->AddRef(This); 377 } 378 static FORCEINLINE ULONG IDebuggerThreadControl_Release(IDebuggerThreadControl* This) { 379 return This->lpVtbl->Release(This); 380 } 381 /*** IDebuggerThreadControl methods ***/ 382 static FORCEINLINE HRESULT IDebuggerThreadControl_ThreadIsBlockingForDebugger(IDebuggerThreadControl* This) { 383 return This->lpVtbl->ThreadIsBlockingForDebugger(This); 384 } 385 static FORCEINLINE HRESULT IDebuggerThreadControl_ReleaseAllRuntimeThreads(IDebuggerThreadControl* This) { 386 return This->lpVtbl->ReleaseAllRuntimeThreads(This); 387 } 388 static FORCEINLINE 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 405 DEFINE_GUID(IID_ICorConfiguration, 0x5c2b07a5, 0x1e98, 0x11d3, 0x87,0x2f, 0x00,0xc0,0x4f,0x79,0xed,0x0d); 406 #if defined(__cplusplus) && !defined(CINTERFACE) 407 MIDL_INTERFACE("5c2b07a5-1e98-11d3-872f-00c04f79ed0d") 408 ICorConfiguration : 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 427 typedef 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 462 interface 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 ***/ 479 static FORCEINLINE HRESULT ICorConfiguration_QueryInterface(ICorConfiguration* This,REFIID riid,void **ppvObject) { 480 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 481 } 482 static FORCEINLINE ULONG ICorConfiguration_AddRef(ICorConfiguration* This) { 483 return This->lpVtbl->AddRef(This); 484 } 485 static FORCEINLINE ULONG ICorConfiguration_Release(ICorConfiguration* This) { 486 return This->lpVtbl->Release(This); 487 } 488 /*** ICorConfiguration methods ***/ 489 static FORCEINLINE HRESULT ICorConfiguration_SetGCThreadControl(ICorConfiguration* This,IGCThreadControl *GCThreadControl) { 490 return This->lpVtbl->SetGCThreadControl(This,GCThreadControl); 491 } 492 static FORCEINLINE HRESULT ICorConfiguration_SetGCHostControl(ICorConfiguration* This,IGCHostControl *GCHostControl) { 493 return This->lpVtbl->SetGCHostControl(This,GCHostControl); 494 } 495 static FORCEINLINE HRESULT ICorConfiguration_SetDebuggerThreadControl(ICorConfiguration* This,IDebuggerThreadControl *debuggerThreadControl) { 496 return This->lpVtbl->SetDebuggerThreadControl(This,debuggerThreadControl); 497 } 498 static FORCEINLINE 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 515 DEFINE_GUID(IID_ICLRControl, 0x9065597e, 0xd1a1, 0x4fb2, 0xb6,0xba, 0x7e,0x1f,0xce,0x23,0x0f,0x61); 516 #if defined(__cplusplus) && !defined(CINTERFACE) 517 MIDL_INTERFACE("9065597e-d1a1-4fb2-b6ba-7e1fce230f61") 518 ICLRControl : 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 533 typedef 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 562 interface 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 ***/ 577 static FORCEINLINE HRESULT ICLRControl_QueryInterface(ICLRControl* This,REFIID riid,void **ppvObject) { 578 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 579 } 580 static FORCEINLINE ULONG ICLRControl_AddRef(ICLRControl* This) { 581 return This->lpVtbl->AddRef(This); 582 } 583 static FORCEINLINE ULONG ICLRControl_Release(ICLRControl* This) { 584 return This->lpVtbl->Release(This); 585 } 586 /*** ICLRControl methods ***/ 587 static FORCEINLINE HRESULT ICLRControl_GetCLRManager(ICLRControl* This,REFIID riid,void **ppObject) { 588 return This->lpVtbl->GetCLRManager(This,riid,ppObject); 589 } 590 static FORCEINLINE 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 607 DEFINE_GUID(IID_IHostControl, 0x02ca073c, 0x7079, 0x4860, 0x88,0x0a, 0xc2,0xf7,0xa4,0x49,0xc9,0x91); 608 #if defined(__cplusplus) && !defined(CINTERFACE) 609 MIDL_INTERFACE("02ca073c-7079-4860-880a-c2f7a449c991") 610 IHostControl : 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 625 typedef 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 654 interface 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 ***/ 669 static FORCEINLINE HRESULT IHostControl_QueryInterface(IHostControl* This,REFIID riid,void **ppvObject) { 670 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 671 } 672 static FORCEINLINE ULONG IHostControl_AddRef(IHostControl* This) { 673 return This->lpVtbl->AddRef(This); 674 } 675 static FORCEINLINE ULONG IHostControl_Release(IHostControl* This) { 676 return This->lpVtbl->Release(This); 677 } 678 /*** IHostControl methods ***/ 679 static FORCEINLINE HRESULT IHostControl_GetHostManager(IHostControl* This,REFIID riid,void **ppObject) { 680 return This->lpVtbl->GetHostManager(This,riid,ppObject); 681 } 682 static FORCEINLINE 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 693 DEFINE_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 700 DEFINE_GUID(IID_ICorRuntimeHost, 0xcb2f6722, 0xab3a, 0x11d2, 0x9c,0x40, 0x00,0xc0,0x4f,0xa3,0x0a,0x3e); 701 #if defined(__cplusplus) && !defined(CINTERFACE) 702 MIDL_INTERFACE("cb2f6722-ab3a-11d2-9c40-00c04fa30a3e") 703 ICorRuntimeHost : 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 774 typedef 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 872 interface 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 ***/ 904 static FORCEINLINE HRESULT ICorRuntimeHost_QueryInterface(ICorRuntimeHost* This,REFIID riid,void **ppvObject) { 905 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 906 } 907 static FORCEINLINE ULONG ICorRuntimeHost_AddRef(ICorRuntimeHost* This) { 908 return This->lpVtbl->AddRef(This); 909 } 910 static FORCEINLINE ULONG ICorRuntimeHost_Release(ICorRuntimeHost* This) { 911 return This->lpVtbl->Release(This); 912 } 913 /*** ICorRuntimeHost methods ***/ 914 static FORCEINLINE HRESULT ICorRuntimeHost_CreateLogicalThreadState(ICorRuntimeHost* This) { 915 return This->lpVtbl->CreateLogicalThreadState(This); 916 } 917 static FORCEINLINE HRESULT ICorRuntimeHost_DeleteLogicalThreadState(ICorRuntimeHost* This) { 918 return This->lpVtbl->DeleteLogicalThreadState(This); 919 } 920 static FORCEINLINE HRESULT ICorRuntimeHost_SwitchInLogicalThreadState(ICorRuntimeHost* This,DWORD *fiberCookie) { 921 return This->lpVtbl->SwitchInLogicalThreadState(This,fiberCookie); 922 } 923 static FORCEINLINE HRESULT ICorRuntimeHost_SwitchOutLogicalThreadState(ICorRuntimeHost* This,DWORD **fiberCookie) { 924 return This->lpVtbl->SwitchOutLogicalThreadState(This,fiberCookie); 925 } 926 static FORCEINLINE HRESULT ICorRuntimeHost_LocksHeldByLogicalThread(ICorRuntimeHost* This,DWORD *pCount) { 927 return This->lpVtbl->LocksHeldByLogicalThread(This,pCount); 928 } 929 static FORCEINLINE HRESULT ICorRuntimeHost_MapFile(ICorRuntimeHost* This,HANDLE hFile,HMODULE *mapAddress) { 930 return This->lpVtbl->MapFile(This,hFile,mapAddress); 931 } 932 static FORCEINLINE HRESULT ICorRuntimeHost_GetConfiguration(ICorRuntimeHost* This,ICorConfiguration **pConfiguration) { 933 return This->lpVtbl->GetConfiguration(This,pConfiguration); 934 } 935 static FORCEINLINE HRESULT ICorRuntimeHost_Start(ICorRuntimeHost* This) { 936 return This->lpVtbl->Start(This); 937 } 938 static FORCEINLINE HRESULT ICorRuntimeHost_Stop(ICorRuntimeHost* This) { 939 return This->lpVtbl->Stop(This); 940 } 941 static FORCEINLINE HRESULT ICorRuntimeHost_CreateDomain(ICorRuntimeHost* This,LPCWSTR friendlyName,IUnknown *identityArray,IUnknown **appDomain) { 942 return This->lpVtbl->CreateDomain(This,friendlyName,identityArray,appDomain); 943 } 944 static FORCEINLINE HRESULT ICorRuntimeHost_GetDefaultDomain(ICorRuntimeHost* This,IUnknown **pAppDomain) { 945 return This->lpVtbl->GetDefaultDomain(This,pAppDomain); 946 } 947 static FORCEINLINE HRESULT ICorRuntimeHost_EnumDomains(ICorRuntimeHost* This,HDOMAINENUM *hEnum) { 948 return This->lpVtbl->EnumDomains(This,hEnum); 949 } 950 static FORCEINLINE HRESULT ICorRuntimeHost_NextDomain(ICorRuntimeHost* This,HDOMAINENUM hEnum,IUnknown **appDomain) { 951 return This->lpVtbl->NextDomain(This,hEnum,appDomain); 952 } 953 static FORCEINLINE HRESULT ICorRuntimeHost_CloseEnum(ICorRuntimeHost* This,HDOMAINENUM hEnum) { 954 return This->lpVtbl->CloseEnum(This,hEnum); 955 } 956 static FORCEINLINE HRESULT ICorRuntimeHost_CreateDomainEx(ICorRuntimeHost* This,LPCWSTR friendlyName,IUnknown *setup,IUnknown *evidence,IUnknown **appDomain) { 957 return This->lpVtbl->CreateDomainEx(This,friendlyName,setup,evidence,appDomain); 958 } 959 static FORCEINLINE HRESULT ICorRuntimeHost_CreateDomainSetup(ICorRuntimeHost* This,IUnknown **appDomainSetup) { 960 return This->lpVtbl->CreateDomainSetup(This,appDomainSetup); 961 } 962 static FORCEINLINE HRESULT ICorRuntimeHost_CreateEvidence(ICorRuntimeHost* This,IUnknown **evidence) { 963 return This->lpVtbl->CreateEvidence(This,evidence); 964 } 965 static FORCEINLINE HRESULT ICorRuntimeHost_UnloadDomain(ICorRuntimeHost* This,IUnknown *appDomain) { 966 return This->lpVtbl->UnloadDomain(This,appDomain); 967 } 968 static FORCEINLINE 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 979 DEFINE_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 986 DEFINE_GUID(IID_ICLRRuntimeHost, 0x90f1a06c, 0x7712, 0x4762, 0x86,0xb5, 0x7a,0x5e,0xba,0x6b,0xdb,0x02); 987 #if defined(__cplusplus) && !defined(CINTERFACE) 988 MIDL_INTERFACE("90f1a06c-7712-4762-86b5-7a5eba6bdb02") 989 ICLRRuntimeHost : 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 1035 typedef 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 1100 interface 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 ***/ 1122 static FORCEINLINE HRESULT ICLRRuntimeHost_QueryInterface(ICLRRuntimeHost* This,REFIID riid,void **ppvObject) { 1123 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1124 } 1125 static FORCEINLINE ULONG ICLRRuntimeHost_AddRef(ICLRRuntimeHost* This) { 1126 return This->lpVtbl->AddRef(This); 1127 } 1128 static FORCEINLINE ULONG ICLRRuntimeHost_Release(ICLRRuntimeHost* This) { 1129 return This->lpVtbl->Release(This); 1130 } 1131 /*** ICLRRuntimeHost methods ***/ 1132 static FORCEINLINE HRESULT ICLRRuntimeHost_Start(ICLRRuntimeHost* This) { 1133 return This->lpVtbl->Start(This); 1134 } 1135 static FORCEINLINE HRESULT ICLRRuntimeHost_Stop(ICLRRuntimeHost* This) { 1136 return This->lpVtbl->Stop(This); 1137 } 1138 static FORCEINLINE HRESULT ICLRRuntimeHost_SetHostControl(ICLRRuntimeHost* This,IHostControl *pHostControl) { 1139 return This->lpVtbl->SetHostControl(This,pHostControl); 1140 } 1141 static FORCEINLINE HRESULT ICLRRuntimeHost_GetCLRControl(ICLRRuntimeHost* This,ICLRControl **pCLRControl) { 1142 return This->lpVtbl->GetCLRControl(This,pCLRControl); 1143 } 1144 static FORCEINLINE HRESULT ICLRRuntimeHost_UnloadAppDomain(ICLRRuntimeHost* This,DWORD dwAppDomainId,WINBOOL fWaitUntilDone) { 1145 return This->lpVtbl->UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone); 1146 } 1147 static FORCEINLINE HRESULT ICLRRuntimeHost_ExecuteInAppDomain(ICLRRuntimeHost* This,DWORD dwAppDomainId,FExecuteInAppDomainCallback pCallback,void *cookie) { 1148 return This->lpVtbl->ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie); 1149 } 1150 static FORCEINLINE HRESULT ICLRRuntimeHost_GetCurrentAppDomainId(ICLRRuntimeHost* This,DWORD *pdwAppDomainId) { 1151 return This->lpVtbl->GetCurrentAppDomainId(This,pdwAppDomainId); 1152 } 1153 static FORCEINLINE 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 } 1156 static FORCEINLINE 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 1173 DEFINE_GUID(IID_IManagedObject, 0xc3fcc19e, 0xa970, 0x11d2, 0x8b,0x5a, 0x00,0xa0,0xc9,0xb7,0xc9,0xc4); 1174 #if defined(__cplusplus) && !defined(CINTERFACE) 1175 MIDL_INTERFACE("c3fcc19e-a970-11d2-8b5a-00a0c9b7c9c4") 1176 IManagedObject : 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 1191 typedef 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 1220 interface 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 ***/ 1235 static FORCEINLINE HRESULT IManagedObject_QueryInterface(IManagedObject* This,REFIID riid,void **ppvObject) { 1236 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1237 } 1238 static FORCEINLINE ULONG IManagedObject_AddRef(IManagedObject* This) { 1239 return This->lpVtbl->AddRef(This); 1240 } 1241 static FORCEINLINE ULONG IManagedObject_Release(IManagedObject* This) { 1242 return This->lpVtbl->Release(This); 1243 } 1244 /*** IManagedObject methods ***/ 1245 static FORCEINLINE HRESULT IManagedObject_GetSerializedBuffer(IManagedObject* This,BSTR *pBSTR) { 1246 return This->lpVtbl->GetSerializedBuffer(This,pBSTR); 1247 } 1248 static FORCEINLINE 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__ */ 1269