1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/include/mscoree.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __mscoree_h__ 16 #define __mscoree_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IGCThreadControl_FWD_DEFINED__ 21 #define __IGCThreadControl_FWD_DEFINED__ 22 typedef interface IGCThreadControl IGCThreadControl; 23 #endif 24 25 #ifndef __IGCHostControl_FWD_DEFINED__ 26 #define __IGCHostControl_FWD_DEFINED__ 27 typedef interface IGCHostControl IGCHostControl; 28 #endif 29 30 #ifndef __IDebuggerThreadControl_FWD_DEFINED__ 31 #define __IDebuggerThreadControl_FWD_DEFINED__ 32 typedef interface IDebuggerThreadControl IDebuggerThreadControl; 33 #endif 34 35 #ifndef __ICorConfiguration_FWD_DEFINED__ 36 #define __ICorConfiguration_FWD_DEFINED__ 37 typedef interface ICorConfiguration ICorConfiguration; 38 #endif 39 40 #ifndef __ICLRControl_FWD_DEFINED__ 41 #define __ICLRControl_FWD_DEFINED__ 42 typedef interface ICLRControl ICLRControl; 43 #endif 44 45 #ifndef __IHostControl_FWD_DEFINED__ 46 #define __IHostControl_FWD_DEFINED__ 47 typedef interface IHostControl IHostControl; 48 #endif 49 50 #ifndef __ICorRuntimeHost_FWD_DEFINED__ 51 #define __ICorRuntimeHost_FWD_DEFINED__ 52 typedef interface ICorRuntimeHost ICorRuntimeHost; 53 #endif 54 55 #ifndef __ICLRRuntimeHost_FWD_DEFINED__ 56 #define __ICLRRuntimeHost_FWD_DEFINED__ 57 typedef interface ICLRRuntimeHost ICLRRuntimeHost; 58 #endif 59 60 #ifndef __IManagedObject_FWD_DEFINED__ 61 #define __IManagedObject_FWD_DEFINED__ 62 typedef interface IManagedObject IManagedObject; 63 #endif 64 65 /* Headers for imported files */ 66 67 #include <unknwn.h> 68 69 #ifdef __cplusplus 70 extern "C" { 71 #endif 72 73 /* FIXME: #include <gcghost.h> */ 74 /* FIXME: #include <ivalidator.h> */ 75 HRESULT WINAPI CorBindToRuntimeHost(LPCWSTR,LPCWSTR,LPCWSTR,VOID*,DWORD,REFCLSID,REFIID,LPVOID*); 76 void WINAPI CorExitProcess(int); 77 HRESULT WINAPI GetCORSystemDirectory(LPWSTR,DWORD,DWORD*); 78 HRESULT WINAPI GetCORVersion(LPWSTR,DWORD,DWORD*); 79 HRESULT WINAPI GetRequestedRuntimeInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,LPWSTR,DWORD,DWORD*,LPWSTR,DWORD,DWORD*); 80 HRESULT WINAPI LoadLibraryShim(LPCWSTR,LPCWSTR,LPVOID,HMODULE*); 81 #ifdef WINE_STRICT_PROTOTYPES 82 typedef HRESULT (__stdcall *FLockClrVersionCallback)(void); 83 #else 84 typedef HRESULT (__stdcall *FLockClrVersionCallback)(); 85 #endif 86 HRESULT WINAPI LockClrVersion(FLockClrVersionCallback,FLockClrVersionCallback*,FLockClrVersionCallback*); 87 typedef void *HDOMAINENUM; 88 typedef enum RUNTIME_INFO_FLAGS { 89 RUNTIME_INFO_UPGRADE_VERSION = 0x1, 90 RUNTIME_INFO_REQUEST_IA64 = 0x2, 91 RUNTIME_INFO_REQUEST_AMD64 = 0x4, 92 RUNTIME_INFO_REQUEST_X86 = 0x8, 93 RUNTIME_INFO_DONT_RETURN_DIRECTORY = 0x10, 94 RUNTIME_INFO_DONT_RETURN_VERSION = 0x20, 95 RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG = 0x40 96 } RUNTIME_INFO_FLAGS; 97 typedef HRESULT (__stdcall *FExecuteInAppDomainCallback)(void *cookie); 98 /***************************************************************************** 99 * IGCThreadControl interface 100 */ 101 #ifndef __IGCThreadControl_INTERFACE_DEFINED__ 102 #define __IGCThreadControl_INTERFACE_DEFINED__ 103 104 DEFINE_GUID(IID_IGCThreadControl, 0xf31d1788, 0xc397, 0x4725, 0x87,0xa5, 0x6a,0xf3,0x47,0x2c,0x27,0x91); 105 #if defined(__cplusplus) && !defined(CINTERFACE) 106 MIDL_INTERFACE("f31d1788-c397-4725-87a5-6af3472c2791") 107 IGCThreadControl : public IUnknown 108 { 109 virtual HRESULT STDMETHODCALLTYPE ThreadIsBlockingForSuspension( 110 ) = 0; 111 112 virtual HRESULT STDMETHODCALLTYPE SuspensionStarting( 113 ) = 0; 114 115 virtual HRESULT STDMETHODCALLTYPE SuspensionEnding( 116 DWORD generation) = 0; 117 118 }; 119 #ifdef __CRT_UUID_DECL 120 __CRT_UUID_DECL(IGCThreadControl, 0xf31d1788, 0xc397, 0x4725, 0x87,0xa5, 0x6a,0xf3,0x47,0x2c,0x27,0x91) 121 #endif 122 #else 123 typedef struct IGCThreadControlVtbl { 124 BEGIN_INTERFACE 125 126 /*** IUnknown methods ***/ 127 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 128 IGCThreadControl* This, 129 REFIID riid, 130 void **ppvObject); 131 132 ULONG (STDMETHODCALLTYPE *AddRef)( 133 IGCThreadControl* This); 134 135 ULONG (STDMETHODCALLTYPE *Release)( 136 IGCThreadControl* This); 137 138 /*** IGCThreadControl methods ***/ 139 HRESULT (STDMETHODCALLTYPE *ThreadIsBlockingForSuspension)( 140 IGCThreadControl* This); 141 142 HRESULT (STDMETHODCALLTYPE *SuspensionStarting)( 143 IGCThreadControl* This); 144 145 HRESULT (STDMETHODCALLTYPE *SuspensionEnding)( 146 IGCThreadControl* This, 147 DWORD generation); 148 149 END_INTERFACE 150 } IGCThreadControlVtbl; 151 interface IGCThreadControl { 152 CONST_VTBL IGCThreadControlVtbl* lpVtbl; 153 }; 154 155 #ifdef COBJMACROS 156 #ifndef WIDL_C_INLINE_WRAPPERS 157 /*** IUnknown methods ***/ 158 #define IGCThreadControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 159 #define IGCThreadControl_AddRef(This) (This)->lpVtbl->AddRef(This) 160 #define IGCThreadControl_Release(This) (This)->lpVtbl->Release(This) 161 /*** IGCThreadControl methods ***/ 162 #define IGCThreadControl_ThreadIsBlockingForSuspension(This) (This)->lpVtbl->ThreadIsBlockingForSuspension(This) 163 #define IGCThreadControl_SuspensionStarting(This) (This)->lpVtbl->SuspensionStarting(This) 164 #define IGCThreadControl_SuspensionEnding(This,generation) (This)->lpVtbl->SuspensionEnding(This,generation) 165 #else 166 /*** IUnknown methods ***/ 167 static FORCEINLINE HRESULT IGCThreadControl_QueryInterface(IGCThreadControl* This,REFIID riid,void **ppvObject) { 168 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 169 } 170 static FORCEINLINE ULONG IGCThreadControl_AddRef(IGCThreadControl* This) { 171 return This->lpVtbl->AddRef(This); 172 } 173 static FORCEINLINE ULONG IGCThreadControl_Release(IGCThreadControl* This) { 174 return This->lpVtbl->Release(This); 175 } 176 /*** IGCThreadControl methods ***/ 177 static FORCEINLINE HRESULT IGCThreadControl_ThreadIsBlockingForSuspension(IGCThreadControl* This) { 178 return This->lpVtbl->ThreadIsBlockingForSuspension(This); 179 } 180 static FORCEINLINE HRESULT IGCThreadControl_SuspensionStarting(IGCThreadControl* This) { 181 return This->lpVtbl->SuspensionStarting(This); 182 } 183 static FORCEINLINE HRESULT IGCThreadControl_SuspensionEnding(IGCThreadControl* This,DWORD generation) { 184 return This->lpVtbl->SuspensionEnding(This,generation); 185 } 186 #endif 187 #endif 188 189 #endif 190 191 HRESULT STDMETHODCALLTYPE IGCThreadControl_ThreadIsBlockingForSuspension_Proxy( 192 IGCThreadControl* This); 193 void __RPC_STUB IGCThreadControl_ThreadIsBlockingForSuspension_Stub( 194 IRpcStubBuffer* This, 195 IRpcChannelBuffer* pRpcChannelBuffer, 196 PRPC_MESSAGE pRpcMessage, 197 DWORD* pdwStubPhase); 198 HRESULT STDMETHODCALLTYPE IGCThreadControl_SuspensionStarting_Proxy( 199 IGCThreadControl* This); 200 void __RPC_STUB IGCThreadControl_SuspensionStarting_Stub( 201 IRpcStubBuffer* This, 202 IRpcChannelBuffer* pRpcChannelBuffer, 203 PRPC_MESSAGE pRpcMessage, 204 DWORD* pdwStubPhase); 205 HRESULT STDMETHODCALLTYPE IGCThreadControl_SuspensionEnding_Proxy( 206 IGCThreadControl* This, 207 DWORD generation); 208 void __RPC_STUB IGCThreadControl_SuspensionEnding_Stub( 209 IRpcStubBuffer* This, 210 IRpcChannelBuffer* pRpcChannelBuffer, 211 PRPC_MESSAGE pRpcMessage, 212 DWORD* pdwStubPhase); 213 214 #endif /* __IGCThreadControl_INTERFACE_DEFINED__ */ 215 216 /***************************************************************************** 217 * IGCHostControl interface 218 */ 219 #ifndef __IGCHostControl_INTERFACE_DEFINED__ 220 #define __IGCHostControl_INTERFACE_DEFINED__ 221 222 DEFINE_GUID(IID_IGCHostControl, 0x5513d564, 0x8374, 0x4cb9, 0xae,0xd9, 0x00,0x83,0xf4,0x16,0x0a,0x1d); 223 #if defined(__cplusplus) && !defined(CINTERFACE) 224 MIDL_INTERFACE("5513d564-8374-4cb9-aed9-0083f4160a1d") 225 IGCHostControl : public IUnknown 226 { 227 virtual HRESULT STDMETHODCALLTYPE RequestVirtualMemLimit( 228 SIZE_T nMaxVirtualMemMB, 229 SIZE_T *nNewMaxVirtualMemMB) = 0; 230 231 }; 232 #ifdef __CRT_UUID_DECL 233 __CRT_UUID_DECL(IGCHostControl, 0x5513d564, 0x8374, 0x4cb9, 0xae,0xd9, 0x00,0x83,0xf4,0x16,0x0a,0x1d) 234 #endif 235 #else 236 typedef struct IGCHostControlVtbl { 237 BEGIN_INTERFACE 238 239 /*** IUnknown methods ***/ 240 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 241 IGCHostControl* This, 242 REFIID riid, 243 void **ppvObject); 244 245 ULONG (STDMETHODCALLTYPE *AddRef)( 246 IGCHostControl* This); 247 248 ULONG (STDMETHODCALLTYPE *Release)( 249 IGCHostControl* This); 250 251 /*** IGCHostControl methods ***/ 252 HRESULT (STDMETHODCALLTYPE *RequestVirtualMemLimit)( 253 IGCHostControl* This, 254 SIZE_T nMaxVirtualMemMB, 255 SIZE_T *nNewMaxVirtualMemMB); 256 257 END_INTERFACE 258 } IGCHostControlVtbl; 259 interface IGCHostControl { 260 CONST_VTBL IGCHostControlVtbl* lpVtbl; 261 }; 262 263 #ifdef COBJMACROS 264 #ifndef WIDL_C_INLINE_WRAPPERS 265 /*** IUnknown methods ***/ 266 #define IGCHostControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 267 #define IGCHostControl_AddRef(This) (This)->lpVtbl->AddRef(This) 268 #define IGCHostControl_Release(This) (This)->lpVtbl->Release(This) 269 /*** IGCHostControl methods ***/ 270 #define IGCHostControl_RequestVirtualMemLimit(This,nMaxVirtualMemMB,nNewMaxVirtualMemMB) (This)->lpVtbl->RequestVirtualMemLimit(This,nMaxVirtualMemMB,nNewMaxVirtualMemMB) 271 #else 272 /*** IUnknown methods ***/ 273 static FORCEINLINE HRESULT IGCHostControl_QueryInterface(IGCHostControl* This,REFIID riid,void **ppvObject) { 274 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 275 } 276 static FORCEINLINE ULONG IGCHostControl_AddRef(IGCHostControl* This) { 277 return This->lpVtbl->AddRef(This); 278 } 279 static FORCEINLINE ULONG IGCHostControl_Release(IGCHostControl* This) { 280 return This->lpVtbl->Release(This); 281 } 282 /*** IGCHostControl methods ***/ 283 static FORCEINLINE HRESULT IGCHostControl_RequestVirtualMemLimit(IGCHostControl* This,SIZE_T nMaxVirtualMemMB,SIZE_T *nNewMaxVirtualMemMB) { 284 return This->lpVtbl->RequestVirtualMemLimit(This,nMaxVirtualMemMB,nNewMaxVirtualMemMB); 285 } 286 #endif 287 #endif 288 289 #endif 290 291 HRESULT STDMETHODCALLTYPE IGCHostControl_RequestVirtualMemLimit_Proxy( 292 IGCHostControl* This, 293 SIZE_T nMaxVirtualMemMB, 294 SIZE_T *nNewMaxVirtualMemMB); 295 void __RPC_STUB IGCHostControl_RequestVirtualMemLimit_Stub( 296 IRpcStubBuffer* This, 297 IRpcChannelBuffer* pRpcChannelBuffer, 298 PRPC_MESSAGE pRpcMessage, 299 DWORD* pdwStubPhase); 300 301 #endif /* __IGCHostControl_INTERFACE_DEFINED__ */ 302 303 /***************************************************************************** 304 * IDebuggerThreadControl interface 305 */ 306 #ifndef __IDebuggerThreadControl_INTERFACE_DEFINED__ 307 #define __IDebuggerThreadControl_INTERFACE_DEFINED__ 308 309 DEFINE_GUID(IID_IDebuggerThreadControl, 0x23d86786, 0x0bb5, 0x4774, 0x8f,0xb5, 0xe3,0x52,0x2a,0xdd,0x62,0x46); 310 #if defined(__cplusplus) && !defined(CINTERFACE) 311 MIDL_INTERFACE("23d86786-0bb5-4774-8fb5-e3522add6246") 312 IDebuggerThreadControl : public IUnknown 313 { 314 virtual HRESULT STDMETHODCALLTYPE ThreadIsBlockingForDebugger( 315 ) = 0; 316 317 virtual HRESULT STDMETHODCALLTYPE ReleaseAllRuntimeThreads( 318 ) = 0; 319 320 virtual HRESULT STDMETHODCALLTYPE StartBlockingForDebugger( 321 DWORD dwUnused) = 0; 322 323 }; 324 #ifdef __CRT_UUID_DECL 325 __CRT_UUID_DECL(IDebuggerThreadControl, 0x23d86786, 0x0bb5, 0x4774, 0x8f,0xb5, 0xe3,0x52,0x2a,0xdd,0x62,0x46) 326 #endif 327 #else 328 typedef struct IDebuggerThreadControlVtbl { 329 BEGIN_INTERFACE 330 331 /*** IUnknown methods ***/ 332 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 333 IDebuggerThreadControl* This, 334 REFIID riid, 335 void **ppvObject); 336 337 ULONG (STDMETHODCALLTYPE *AddRef)( 338 IDebuggerThreadControl* This); 339 340 ULONG (STDMETHODCALLTYPE *Release)( 341 IDebuggerThreadControl* This); 342 343 /*** IDebuggerThreadControl methods ***/ 344 HRESULT (STDMETHODCALLTYPE *ThreadIsBlockingForDebugger)( 345 IDebuggerThreadControl* This); 346 347 HRESULT (STDMETHODCALLTYPE *ReleaseAllRuntimeThreads)( 348 IDebuggerThreadControl* This); 349 350 HRESULT (STDMETHODCALLTYPE *StartBlockingForDebugger)( 351 IDebuggerThreadControl* This, 352 DWORD dwUnused); 353 354 END_INTERFACE 355 } IDebuggerThreadControlVtbl; 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 HRESULT STDMETHODCALLTYPE IDebuggerThreadControl_ThreadIsBlockingForDebugger_Proxy( 397 IDebuggerThreadControl* This); 398 void __RPC_STUB IDebuggerThreadControl_ThreadIsBlockingForDebugger_Stub( 399 IRpcStubBuffer* This, 400 IRpcChannelBuffer* pRpcChannelBuffer, 401 PRPC_MESSAGE pRpcMessage, 402 DWORD* pdwStubPhase); 403 HRESULT STDMETHODCALLTYPE IDebuggerThreadControl_ReleaseAllRuntimeThreads_Proxy( 404 IDebuggerThreadControl* This); 405 void __RPC_STUB IDebuggerThreadControl_ReleaseAllRuntimeThreads_Stub( 406 IRpcStubBuffer* This, 407 IRpcChannelBuffer* pRpcChannelBuffer, 408 PRPC_MESSAGE pRpcMessage, 409 DWORD* pdwStubPhase); 410 HRESULT STDMETHODCALLTYPE IDebuggerThreadControl_StartBlockingForDebugger_Proxy( 411 IDebuggerThreadControl* This, 412 DWORD dwUnused); 413 void __RPC_STUB IDebuggerThreadControl_StartBlockingForDebugger_Stub( 414 IRpcStubBuffer* This, 415 IRpcChannelBuffer* pRpcChannelBuffer, 416 PRPC_MESSAGE pRpcMessage, 417 DWORD* pdwStubPhase); 418 419 #endif /* __IDebuggerThreadControl_INTERFACE_DEFINED__ */ 420 421 /***************************************************************************** 422 * ICorConfiguration interface 423 */ 424 #ifndef __ICorConfiguration_INTERFACE_DEFINED__ 425 #define __ICorConfiguration_INTERFACE_DEFINED__ 426 427 DEFINE_GUID(IID_ICorConfiguration, 0x5c2b07a5, 0x1e98, 0x11d3, 0x87,0x2f, 0x00,0xc0,0x4f,0x79,0xed,0x0d); 428 #if defined(__cplusplus) && !defined(CINTERFACE) 429 MIDL_INTERFACE("5c2b07a5-1e98-11d3-872f-00c04f79ed0d") 430 ICorConfiguration : public IUnknown 431 { 432 virtual HRESULT STDMETHODCALLTYPE SetGCThreadControl( 433 IGCThreadControl *GCThreadControl) = 0; 434 435 virtual HRESULT STDMETHODCALLTYPE SetGCHostControl( 436 IGCHostControl *GCHostControl) = 0; 437 438 virtual HRESULT STDMETHODCALLTYPE SetDebuggerThreadControl( 439 IDebuggerThreadControl *debuggerThreadControl) = 0; 440 441 virtual HRESULT STDMETHODCALLTYPE AddDebuggerSpecialThread( 442 DWORD specialThreadId) = 0; 443 444 }; 445 #ifdef __CRT_UUID_DECL 446 __CRT_UUID_DECL(ICorConfiguration, 0x5c2b07a5, 0x1e98, 0x11d3, 0x87,0x2f, 0x00,0xc0,0x4f,0x79,0xed,0x0d) 447 #endif 448 #else 449 typedef struct ICorConfigurationVtbl { 450 BEGIN_INTERFACE 451 452 /*** IUnknown methods ***/ 453 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 454 ICorConfiguration* This, 455 REFIID riid, 456 void **ppvObject); 457 458 ULONG (STDMETHODCALLTYPE *AddRef)( 459 ICorConfiguration* This); 460 461 ULONG (STDMETHODCALLTYPE *Release)( 462 ICorConfiguration* This); 463 464 /*** ICorConfiguration methods ***/ 465 HRESULT (STDMETHODCALLTYPE *SetGCThreadControl)( 466 ICorConfiguration* This, 467 IGCThreadControl *GCThreadControl); 468 469 HRESULT (STDMETHODCALLTYPE *SetGCHostControl)( 470 ICorConfiguration* This, 471 IGCHostControl *GCHostControl); 472 473 HRESULT (STDMETHODCALLTYPE *SetDebuggerThreadControl)( 474 ICorConfiguration* This, 475 IDebuggerThreadControl *debuggerThreadControl); 476 477 HRESULT (STDMETHODCALLTYPE *AddDebuggerSpecialThread)( 478 ICorConfiguration* This, 479 DWORD specialThreadId); 480 481 END_INTERFACE 482 } ICorConfigurationVtbl; 483 interface ICorConfiguration { 484 CONST_VTBL ICorConfigurationVtbl* lpVtbl; 485 }; 486 487 #ifdef COBJMACROS 488 #ifndef WIDL_C_INLINE_WRAPPERS 489 /*** IUnknown methods ***/ 490 #define ICorConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 491 #define ICorConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This) 492 #define ICorConfiguration_Release(This) (This)->lpVtbl->Release(This) 493 /*** ICorConfiguration methods ***/ 494 #define ICorConfiguration_SetGCThreadControl(This,GCThreadControl) (This)->lpVtbl->SetGCThreadControl(This,GCThreadControl) 495 #define ICorConfiguration_SetGCHostControl(This,GCHostControl) (This)->lpVtbl->SetGCHostControl(This,GCHostControl) 496 #define ICorConfiguration_SetDebuggerThreadControl(This,debuggerThreadControl) (This)->lpVtbl->SetDebuggerThreadControl(This,debuggerThreadControl) 497 #define ICorConfiguration_AddDebuggerSpecialThread(This,specialThreadId) (This)->lpVtbl->AddDebuggerSpecialThread(This,specialThreadId) 498 #else 499 /*** IUnknown methods ***/ 500 static FORCEINLINE HRESULT ICorConfiguration_QueryInterface(ICorConfiguration* This,REFIID riid,void **ppvObject) { 501 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 502 } 503 static FORCEINLINE ULONG ICorConfiguration_AddRef(ICorConfiguration* This) { 504 return This->lpVtbl->AddRef(This); 505 } 506 static FORCEINLINE ULONG ICorConfiguration_Release(ICorConfiguration* This) { 507 return This->lpVtbl->Release(This); 508 } 509 /*** ICorConfiguration methods ***/ 510 static FORCEINLINE HRESULT ICorConfiguration_SetGCThreadControl(ICorConfiguration* This,IGCThreadControl *GCThreadControl) { 511 return This->lpVtbl->SetGCThreadControl(This,GCThreadControl); 512 } 513 static FORCEINLINE HRESULT ICorConfiguration_SetGCHostControl(ICorConfiguration* This,IGCHostControl *GCHostControl) { 514 return This->lpVtbl->SetGCHostControl(This,GCHostControl); 515 } 516 static FORCEINLINE HRESULT ICorConfiguration_SetDebuggerThreadControl(ICorConfiguration* This,IDebuggerThreadControl *debuggerThreadControl) { 517 return This->lpVtbl->SetDebuggerThreadControl(This,debuggerThreadControl); 518 } 519 static FORCEINLINE HRESULT ICorConfiguration_AddDebuggerSpecialThread(ICorConfiguration* This,DWORD specialThreadId) { 520 return This->lpVtbl->AddDebuggerSpecialThread(This,specialThreadId); 521 } 522 #endif 523 #endif 524 525 #endif 526 527 HRESULT STDMETHODCALLTYPE ICorConfiguration_SetGCThreadControl_Proxy( 528 ICorConfiguration* This, 529 IGCThreadControl *GCThreadControl); 530 void __RPC_STUB ICorConfiguration_SetGCThreadControl_Stub( 531 IRpcStubBuffer* This, 532 IRpcChannelBuffer* pRpcChannelBuffer, 533 PRPC_MESSAGE pRpcMessage, 534 DWORD* pdwStubPhase); 535 HRESULT STDMETHODCALLTYPE ICorConfiguration_SetGCHostControl_Proxy( 536 ICorConfiguration* This, 537 IGCHostControl *GCHostControl); 538 void __RPC_STUB ICorConfiguration_SetGCHostControl_Stub( 539 IRpcStubBuffer* This, 540 IRpcChannelBuffer* pRpcChannelBuffer, 541 PRPC_MESSAGE pRpcMessage, 542 DWORD* pdwStubPhase); 543 HRESULT STDMETHODCALLTYPE ICorConfiguration_SetDebuggerThreadControl_Proxy( 544 ICorConfiguration* This, 545 IDebuggerThreadControl *debuggerThreadControl); 546 void __RPC_STUB ICorConfiguration_SetDebuggerThreadControl_Stub( 547 IRpcStubBuffer* This, 548 IRpcChannelBuffer* pRpcChannelBuffer, 549 PRPC_MESSAGE pRpcMessage, 550 DWORD* pdwStubPhase); 551 HRESULT STDMETHODCALLTYPE ICorConfiguration_AddDebuggerSpecialThread_Proxy( 552 ICorConfiguration* This, 553 DWORD specialThreadId); 554 void __RPC_STUB ICorConfiguration_AddDebuggerSpecialThread_Stub( 555 IRpcStubBuffer* This, 556 IRpcChannelBuffer* pRpcChannelBuffer, 557 PRPC_MESSAGE pRpcMessage, 558 DWORD* pdwStubPhase); 559 560 #endif /* __ICorConfiguration_INTERFACE_DEFINED__ */ 561 562 /***************************************************************************** 563 * ICLRControl interface 564 */ 565 #ifndef __ICLRControl_INTERFACE_DEFINED__ 566 #define __ICLRControl_INTERFACE_DEFINED__ 567 568 DEFINE_GUID(IID_ICLRControl, 0x9065597e, 0xd1a1, 0x4fb2, 0xb6,0xba, 0x7e,0x1f,0xce,0x23,0x0f,0x61); 569 #if defined(__cplusplus) && !defined(CINTERFACE) 570 MIDL_INTERFACE("9065597e-d1a1-4fb2-b6ba-7e1fce230f61") 571 ICLRControl : public IUnknown 572 { 573 virtual HRESULT STDMETHODCALLTYPE GetCLRManager( 574 REFIID riid, 575 void **ppObject) = 0; 576 577 virtual HRESULT STDMETHODCALLTYPE SetAppDomainManagerType( 578 LPCWSTR appDomainManagerAssembly, 579 LPCWSTR appDomainManagerType) = 0; 580 581 }; 582 #ifdef __CRT_UUID_DECL 583 __CRT_UUID_DECL(ICLRControl, 0x9065597e, 0xd1a1, 0x4fb2, 0xb6,0xba, 0x7e,0x1f,0xce,0x23,0x0f,0x61) 584 #endif 585 #else 586 typedef struct ICLRControlVtbl { 587 BEGIN_INTERFACE 588 589 /*** IUnknown methods ***/ 590 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 591 ICLRControl* This, 592 REFIID riid, 593 void **ppvObject); 594 595 ULONG (STDMETHODCALLTYPE *AddRef)( 596 ICLRControl* This); 597 598 ULONG (STDMETHODCALLTYPE *Release)( 599 ICLRControl* This); 600 601 /*** ICLRControl methods ***/ 602 HRESULT (STDMETHODCALLTYPE *GetCLRManager)( 603 ICLRControl* This, 604 REFIID riid, 605 void **ppObject); 606 607 HRESULT (STDMETHODCALLTYPE *SetAppDomainManagerType)( 608 ICLRControl* This, 609 LPCWSTR appDomainManagerAssembly, 610 LPCWSTR appDomainManagerType); 611 612 END_INTERFACE 613 } ICLRControlVtbl; 614 interface ICLRControl { 615 CONST_VTBL ICLRControlVtbl* lpVtbl; 616 }; 617 618 #ifdef COBJMACROS 619 #ifndef WIDL_C_INLINE_WRAPPERS 620 /*** IUnknown methods ***/ 621 #define ICLRControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 622 #define ICLRControl_AddRef(This) (This)->lpVtbl->AddRef(This) 623 #define ICLRControl_Release(This) (This)->lpVtbl->Release(This) 624 /*** ICLRControl methods ***/ 625 #define ICLRControl_GetCLRManager(This,riid,ppObject) (This)->lpVtbl->GetCLRManager(This,riid,ppObject) 626 #define ICLRControl_SetAppDomainManagerType(This,appDomainManagerAssembly,appDomainManagerType) (This)->lpVtbl->SetAppDomainManagerType(This,appDomainManagerAssembly,appDomainManagerType) 627 #else 628 /*** IUnknown methods ***/ 629 static FORCEINLINE HRESULT ICLRControl_QueryInterface(ICLRControl* This,REFIID riid,void **ppvObject) { 630 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 631 } 632 static FORCEINLINE ULONG ICLRControl_AddRef(ICLRControl* This) { 633 return This->lpVtbl->AddRef(This); 634 } 635 static FORCEINLINE ULONG ICLRControl_Release(ICLRControl* This) { 636 return This->lpVtbl->Release(This); 637 } 638 /*** ICLRControl methods ***/ 639 static FORCEINLINE HRESULT ICLRControl_GetCLRManager(ICLRControl* This,REFIID riid,void **ppObject) { 640 return This->lpVtbl->GetCLRManager(This,riid,ppObject); 641 } 642 static FORCEINLINE HRESULT ICLRControl_SetAppDomainManagerType(ICLRControl* This,LPCWSTR appDomainManagerAssembly,LPCWSTR appDomainManagerType) { 643 return This->lpVtbl->SetAppDomainManagerType(This,appDomainManagerAssembly,appDomainManagerType); 644 } 645 #endif 646 #endif 647 648 #endif 649 650 HRESULT STDMETHODCALLTYPE ICLRControl_GetCLRManager_Proxy( 651 ICLRControl* This, 652 REFIID riid, 653 void **ppObject); 654 void __RPC_STUB ICLRControl_GetCLRManager_Stub( 655 IRpcStubBuffer* This, 656 IRpcChannelBuffer* pRpcChannelBuffer, 657 PRPC_MESSAGE pRpcMessage, 658 DWORD* pdwStubPhase); 659 HRESULT STDMETHODCALLTYPE ICLRControl_SetAppDomainManagerType_Proxy( 660 ICLRControl* This, 661 LPCWSTR appDomainManagerAssembly, 662 LPCWSTR appDomainManagerType); 663 void __RPC_STUB ICLRControl_SetAppDomainManagerType_Stub( 664 IRpcStubBuffer* This, 665 IRpcChannelBuffer* pRpcChannelBuffer, 666 PRPC_MESSAGE pRpcMessage, 667 DWORD* pdwStubPhase); 668 669 #endif /* __ICLRControl_INTERFACE_DEFINED__ */ 670 671 /***************************************************************************** 672 * IHostControl interface 673 */ 674 #ifndef __IHostControl_INTERFACE_DEFINED__ 675 #define __IHostControl_INTERFACE_DEFINED__ 676 677 DEFINE_GUID(IID_IHostControl, 0x02ca073c, 0x7079, 0x4860, 0x88,0x0a, 0xc2,0xf7,0xa4,0x49,0xc9,0x91); 678 #if defined(__cplusplus) && !defined(CINTERFACE) 679 MIDL_INTERFACE("02ca073c-7079-4860-880a-c2f7a449c991") 680 IHostControl : public IUnknown 681 { 682 virtual HRESULT STDMETHODCALLTYPE GetHostManager( 683 REFIID riid, 684 void **ppObject) = 0; 685 686 virtual HRESULT STDMETHODCALLTYPE SetAppDomainManager( 687 DWORD appDomainID, 688 IUnknown *appDomainManager) = 0; 689 690 }; 691 #ifdef __CRT_UUID_DECL 692 __CRT_UUID_DECL(IHostControl, 0x02ca073c, 0x7079, 0x4860, 0x88,0x0a, 0xc2,0xf7,0xa4,0x49,0xc9,0x91) 693 #endif 694 #else 695 typedef struct IHostControlVtbl { 696 BEGIN_INTERFACE 697 698 /*** IUnknown methods ***/ 699 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 700 IHostControl* This, 701 REFIID riid, 702 void **ppvObject); 703 704 ULONG (STDMETHODCALLTYPE *AddRef)( 705 IHostControl* This); 706 707 ULONG (STDMETHODCALLTYPE *Release)( 708 IHostControl* This); 709 710 /*** IHostControl methods ***/ 711 HRESULT (STDMETHODCALLTYPE *GetHostManager)( 712 IHostControl* This, 713 REFIID riid, 714 void **ppObject); 715 716 HRESULT (STDMETHODCALLTYPE *SetAppDomainManager)( 717 IHostControl* This, 718 DWORD appDomainID, 719 IUnknown *appDomainManager); 720 721 END_INTERFACE 722 } IHostControlVtbl; 723 interface IHostControl { 724 CONST_VTBL IHostControlVtbl* lpVtbl; 725 }; 726 727 #ifdef COBJMACROS 728 #ifndef WIDL_C_INLINE_WRAPPERS 729 /*** IUnknown methods ***/ 730 #define IHostControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 731 #define IHostControl_AddRef(This) (This)->lpVtbl->AddRef(This) 732 #define IHostControl_Release(This) (This)->lpVtbl->Release(This) 733 /*** IHostControl methods ***/ 734 #define IHostControl_GetHostManager(This,riid,ppObject) (This)->lpVtbl->GetHostManager(This,riid,ppObject) 735 #define IHostControl_SetAppDomainManager(This,appDomainID,appDomainManager) (This)->lpVtbl->SetAppDomainManager(This,appDomainID,appDomainManager) 736 #else 737 /*** IUnknown methods ***/ 738 static FORCEINLINE HRESULT IHostControl_QueryInterface(IHostControl* This,REFIID riid,void **ppvObject) { 739 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 740 } 741 static FORCEINLINE ULONG IHostControl_AddRef(IHostControl* This) { 742 return This->lpVtbl->AddRef(This); 743 } 744 static FORCEINLINE ULONG IHostControl_Release(IHostControl* This) { 745 return This->lpVtbl->Release(This); 746 } 747 /*** IHostControl methods ***/ 748 static FORCEINLINE HRESULT IHostControl_GetHostManager(IHostControl* This,REFIID riid,void **ppObject) { 749 return This->lpVtbl->GetHostManager(This,riid,ppObject); 750 } 751 static FORCEINLINE HRESULT IHostControl_SetAppDomainManager(IHostControl* This,DWORD appDomainID,IUnknown *appDomainManager) { 752 return This->lpVtbl->SetAppDomainManager(This,appDomainID,appDomainManager); 753 } 754 #endif 755 #endif 756 757 #endif 758 759 HRESULT STDMETHODCALLTYPE IHostControl_GetHostManager_Proxy( 760 IHostControl* This, 761 REFIID riid, 762 void **ppObject); 763 void __RPC_STUB IHostControl_GetHostManager_Stub( 764 IRpcStubBuffer* This, 765 IRpcChannelBuffer* pRpcChannelBuffer, 766 PRPC_MESSAGE pRpcMessage, 767 DWORD* pdwStubPhase); 768 HRESULT STDMETHODCALLTYPE IHostControl_SetAppDomainManager_Proxy( 769 IHostControl* This, 770 DWORD appDomainID, 771 IUnknown *appDomainManager); 772 void __RPC_STUB IHostControl_SetAppDomainManager_Stub( 773 IRpcStubBuffer* This, 774 IRpcChannelBuffer* pRpcChannelBuffer, 775 PRPC_MESSAGE pRpcMessage, 776 DWORD* pdwStubPhase); 777 778 #endif /* __IHostControl_INTERFACE_DEFINED__ */ 779 780 DEFINE_GUID(CLSID_CorRuntimeHost, 0xcb2f6723,0xab3a,0x11d2,0x9c,0x40,0x00,0xc0,0x4f,0xa3,0x0a,0x3e); 781 /***************************************************************************** 782 * ICorRuntimeHost interface 783 */ 784 #ifndef __ICorRuntimeHost_INTERFACE_DEFINED__ 785 #define __ICorRuntimeHost_INTERFACE_DEFINED__ 786 787 DEFINE_GUID(IID_ICorRuntimeHost, 0xcb2f6722, 0xab3a, 0x11d2, 0x9c,0x40, 0x00,0xc0,0x4f,0xa3,0x0a,0x3e); 788 #if defined(__cplusplus) && !defined(CINTERFACE) 789 MIDL_INTERFACE("cb2f6722-ab3a-11d2-9c40-00c04fa30a3e") 790 ICorRuntimeHost : public IUnknown 791 { 792 virtual HRESULT STDMETHODCALLTYPE CreateLogicalThreadState( 793 ) = 0; 794 795 virtual HRESULT STDMETHODCALLTYPE DeleteLogicalThreadState( 796 ) = 0; 797 798 virtual HRESULT STDMETHODCALLTYPE SwitchInLogicalThreadState( 799 DWORD *fiberCookie) = 0; 800 801 virtual HRESULT STDMETHODCALLTYPE SwitchOutLogicalThreadState( 802 DWORD **fiberCookie) = 0; 803 804 virtual HRESULT STDMETHODCALLTYPE LocksHeldByLogicalThread( 805 DWORD *pCount) = 0; 806 807 virtual HRESULT STDMETHODCALLTYPE MapFile( 808 HANDLE hFile, 809 HMODULE *mapAddress) = 0; 810 811 virtual HRESULT STDMETHODCALLTYPE GetConfiguration( 812 ICorConfiguration **pConfiguration) = 0; 813 814 virtual HRESULT STDMETHODCALLTYPE Start( 815 ) = 0; 816 817 virtual HRESULT STDMETHODCALLTYPE Stop( 818 ) = 0; 819 820 virtual HRESULT STDMETHODCALLTYPE CreateDomain( 821 LPCWSTR friendlyName, 822 IUnknown *identityArray, 823 IUnknown **appDomain) = 0; 824 825 virtual HRESULT STDMETHODCALLTYPE GetDefaultDomain( 826 IUnknown **pAppDomain) = 0; 827 828 virtual HRESULT STDMETHODCALLTYPE EnumDomains( 829 HDOMAINENUM *hEnum) = 0; 830 831 virtual HRESULT STDMETHODCALLTYPE NextDomain( 832 HDOMAINENUM hEnum, 833 IUnknown **appDomain) = 0; 834 835 virtual HRESULT STDMETHODCALLTYPE CloseEnum( 836 HDOMAINENUM hEnum) = 0; 837 838 virtual HRESULT STDMETHODCALLTYPE CreateDomainEx( 839 LPCWSTR friendlyName, 840 IUnknown *setup, 841 IUnknown *evidence, 842 IUnknown **appDomain) = 0; 843 844 virtual HRESULT STDMETHODCALLTYPE CreateDomainSetup( 845 IUnknown **appDomainSetup) = 0; 846 847 virtual HRESULT STDMETHODCALLTYPE CreateEvidence( 848 IUnknown **evidence) = 0; 849 850 virtual HRESULT STDMETHODCALLTYPE UnloadDomain( 851 IUnknown *appDomain) = 0; 852 853 virtual HRESULT STDMETHODCALLTYPE CurrentDomain( 854 IUnknown **appDomain) = 0; 855 856 }; 857 #ifdef __CRT_UUID_DECL 858 __CRT_UUID_DECL(ICorRuntimeHost, 0xcb2f6722, 0xab3a, 0x11d2, 0x9c,0x40, 0x00,0xc0,0x4f,0xa3,0x0a,0x3e) 859 #endif 860 #else 861 typedef struct ICorRuntimeHostVtbl { 862 BEGIN_INTERFACE 863 864 /*** IUnknown methods ***/ 865 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 866 ICorRuntimeHost* This, 867 REFIID riid, 868 void **ppvObject); 869 870 ULONG (STDMETHODCALLTYPE *AddRef)( 871 ICorRuntimeHost* This); 872 873 ULONG (STDMETHODCALLTYPE *Release)( 874 ICorRuntimeHost* This); 875 876 /*** ICorRuntimeHost methods ***/ 877 HRESULT (STDMETHODCALLTYPE *CreateLogicalThreadState)( 878 ICorRuntimeHost* This); 879 880 HRESULT (STDMETHODCALLTYPE *DeleteLogicalThreadState)( 881 ICorRuntimeHost* This); 882 883 HRESULT (STDMETHODCALLTYPE *SwitchInLogicalThreadState)( 884 ICorRuntimeHost* This, 885 DWORD *fiberCookie); 886 887 HRESULT (STDMETHODCALLTYPE *SwitchOutLogicalThreadState)( 888 ICorRuntimeHost* This, 889 DWORD **fiberCookie); 890 891 HRESULT (STDMETHODCALLTYPE *LocksHeldByLogicalThread)( 892 ICorRuntimeHost* This, 893 DWORD *pCount); 894 895 HRESULT (STDMETHODCALLTYPE *MapFile)( 896 ICorRuntimeHost* This, 897 HANDLE hFile, 898 HMODULE *mapAddress); 899 900 HRESULT (STDMETHODCALLTYPE *GetConfiguration)( 901 ICorRuntimeHost* This, 902 ICorConfiguration **pConfiguration); 903 904 HRESULT (STDMETHODCALLTYPE *Start)( 905 ICorRuntimeHost* This); 906 907 HRESULT (STDMETHODCALLTYPE *Stop)( 908 ICorRuntimeHost* This); 909 910 HRESULT (STDMETHODCALLTYPE *CreateDomain)( 911 ICorRuntimeHost* This, 912 LPCWSTR friendlyName, 913 IUnknown *identityArray, 914 IUnknown **appDomain); 915 916 HRESULT (STDMETHODCALLTYPE *GetDefaultDomain)( 917 ICorRuntimeHost* This, 918 IUnknown **pAppDomain); 919 920 HRESULT (STDMETHODCALLTYPE *EnumDomains)( 921 ICorRuntimeHost* This, 922 HDOMAINENUM *hEnum); 923 924 HRESULT (STDMETHODCALLTYPE *NextDomain)( 925 ICorRuntimeHost* This, 926 HDOMAINENUM hEnum, 927 IUnknown **appDomain); 928 929 HRESULT (STDMETHODCALLTYPE *CloseEnum)( 930 ICorRuntimeHost* This, 931 HDOMAINENUM hEnum); 932 933 HRESULT (STDMETHODCALLTYPE *CreateDomainEx)( 934 ICorRuntimeHost* This, 935 LPCWSTR friendlyName, 936 IUnknown *setup, 937 IUnknown *evidence, 938 IUnknown **appDomain); 939 940 HRESULT (STDMETHODCALLTYPE *CreateDomainSetup)( 941 ICorRuntimeHost* This, 942 IUnknown **appDomainSetup); 943 944 HRESULT (STDMETHODCALLTYPE *CreateEvidence)( 945 ICorRuntimeHost* This, 946 IUnknown **evidence); 947 948 HRESULT (STDMETHODCALLTYPE *UnloadDomain)( 949 ICorRuntimeHost* This, 950 IUnknown *appDomain); 951 952 HRESULT (STDMETHODCALLTYPE *CurrentDomain)( 953 ICorRuntimeHost* This, 954 IUnknown **appDomain); 955 956 END_INTERFACE 957 } ICorRuntimeHostVtbl; 958 interface ICorRuntimeHost { 959 CONST_VTBL ICorRuntimeHostVtbl* lpVtbl; 960 }; 961 962 #ifdef COBJMACROS 963 #ifndef WIDL_C_INLINE_WRAPPERS 964 /*** IUnknown methods ***/ 965 #define ICorRuntimeHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 966 #define ICorRuntimeHost_AddRef(This) (This)->lpVtbl->AddRef(This) 967 #define ICorRuntimeHost_Release(This) (This)->lpVtbl->Release(This) 968 /*** ICorRuntimeHost methods ***/ 969 #define ICorRuntimeHost_CreateLogicalThreadState(This) (This)->lpVtbl->CreateLogicalThreadState(This) 970 #define ICorRuntimeHost_DeleteLogicalThreadState(This) (This)->lpVtbl->DeleteLogicalThreadState(This) 971 #define ICorRuntimeHost_SwitchInLogicalThreadState(This,fiberCookie) (This)->lpVtbl->SwitchInLogicalThreadState(This,fiberCookie) 972 #define ICorRuntimeHost_SwitchOutLogicalThreadState(This,fiberCookie) (This)->lpVtbl->SwitchOutLogicalThreadState(This,fiberCookie) 973 #define ICorRuntimeHost_LocksHeldByLogicalThread(This,pCount) (This)->lpVtbl->LocksHeldByLogicalThread(This,pCount) 974 #define ICorRuntimeHost_MapFile(This,hFile,mapAddress) (This)->lpVtbl->MapFile(This,hFile,mapAddress) 975 #define ICorRuntimeHost_GetConfiguration(This,pConfiguration) (This)->lpVtbl->GetConfiguration(This,pConfiguration) 976 #define ICorRuntimeHost_Start(This) (This)->lpVtbl->Start(This) 977 #define ICorRuntimeHost_Stop(This) (This)->lpVtbl->Stop(This) 978 #define ICorRuntimeHost_CreateDomain(This,friendlyName,identityArray,appDomain) (This)->lpVtbl->CreateDomain(This,friendlyName,identityArray,appDomain) 979 #define ICorRuntimeHost_GetDefaultDomain(This,pAppDomain) (This)->lpVtbl->GetDefaultDomain(This,pAppDomain) 980 #define ICorRuntimeHost_EnumDomains(This,hEnum) (This)->lpVtbl->EnumDomains(This,hEnum) 981 #define ICorRuntimeHost_NextDomain(This,hEnum,appDomain) (This)->lpVtbl->NextDomain(This,hEnum,appDomain) 982 #define ICorRuntimeHost_CloseEnum(This,hEnum) (This)->lpVtbl->CloseEnum(This,hEnum) 983 #define ICorRuntimeHost_CreateDomainEx(This,friendlyName,setup,evidence,appDomain) (This)->lpVtbl->CreateDomainEx(This,friendlyName,setup,evidence,appDomain) 984 #define ICorRuntimeHost_CreateDomainSetup(This,appDomainSetup) (This)->lpVtbl->CreateDomainSetup(This,appDomainSetup) 985 #define ICorRuntimeHost_CreateEvidence(This,evidence) (This)->lpVtbl->CreateEvidence(This,evidence) 986 #define ICorRuntimeHost_UnloadDomain(This,appDomain) (This)->lpVtbl->UnloadDomain(This,appDomain) 987 #define ICorRuntimeHost_CurrentDomain(This,appDomain) (This)->lpVtbl->CurrentDomain(This,appDomain) 988 #else 989 /*** IUnknown methods ***/ 990 static FORCEINLINE HRESULT ICorRuntimeHost_QueryInterface(ICorRuntimeHost* This,REFIID riid,void **ppvObject) { 991 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 992 } 993 static FORCEINLINE ULONG ICorRuntimeHost_AddRef(ICorRuntimeHost* This) { 994 return This->lpVtbl->AddRef(This); 995 } 996 static FORCEINLINE ULONG ICorRuntimeHost_Release(ICorRuntimeHost* This) { 997 return This->lpVtbl->Release(This); 998 } 999 /*** ICorRuntimeHost methods ***/ 1000 static FORCEINLINE HRESULT ICorRuntimeHost_CreateLogicalThreadState(ICorRuntimeHost* This) { 1001 return This->lpVtbl->CreateLogicalThreadState(This); 1002 } 1003 static FORCEINLINE HRESULT ICorRuntimeHost_DeleteLogicalThreadState(ICorRuntimeHost* This) { 1004 return This->lpVtbl->DeleteLogicalThreadState(This); 1005 } 1006 static FORCEINLINE HRESULT ICorRuntimeHost_SwitchInLogicalThreadState(ICorRuntimeHost* This,DWORD *fiberCookie) { 1007 return This->lpVtbl->SwitchInLogicalThreadState(This,fiberCookie); 1008 } 1009 static FORCEINLINE HRESULT ICorRuntimeHost_SwitchOutLogicalThreadState(ICorRuntimeHost* This,DWORD **fiberCookie) { 1010 return This->lpVtbl->SwitchOutLogicalThreadState(This,fiberCookie); 1011 } 1012 static FORCEINLINE HRESULT ICorRuntimeHost_LocksHeldByLogicalThread(ICorRuntimeHost* This,DWORD *pCount) { 1013 return This->lpVtbl->LocksHeldByLogicalThread(This,pCount); 1014 } 1015 static FORCEINLINE HRESULT ICorRuntimeHost_MapFile(ICorRuntimeHost* This,HANDLE hFile,HMODULE *mapAddress) { 1016 return This->lpVtbl->MapFile(This,hFile,mapAddress); 1017 } 1018 static FORCEINLINE HRESULT ICorRuntimeHost_GetConfiguration(ICorRuntimeHost* This,ICorConfiguration **pConfiguration) { 1019 return This->lpVtbl->GetConfiguration(This,pConfiguration); 1020 } 1021 static FORCEINLINE HRESULT ICorRuntimeHost_Start(ICorRuntimeHost* This) { 1022 return This->lpVtbl->Start(This); 1023 } 1024 static FORCEINLINE HRESULT ICorRuntimeHost_Stop(ICorRuntimeHost* This) { 1025 return This->lpVtbl->Stop(This); 1026 } 1027 static FORCEINLINE HRESULT ICorRuntimeHost_CreateDomain(ICorRuntimeHost* This,LPCWSTR friendlyName,IUnknown *identityArray,IUnknown **appDomain) { 1028 return This->lpVtbl->CreateDomain(This,friendlyName,identityArray,appDomain); 1029 } 1030 static FORCEINLINE HRESULT ICorRuntimeHost_GetDefaultDomain(ICorRuntimeHost* This,IUnknown **pAppDomain) { 1031 return This->lpVtbl->GetDefaultDomain(This,pAppDomain); 1032 } 1033 static FORCEINLINE HRESULT ICorRuntimeHost_EnumDomains(ICorRuntimeHost* This,HDOMAINENUM *hEnum) { 1034 return This->lpVtbl->EnumDomains(This,hEnum); 1035 } 1036 static FORCEINLINE HRESULT ICorRuntimeHost_NextDomain(ICorRuntimeHost* This,HDOMAINENUM hEnum,IUnknown **appDomain) { 1037 return This->lpVtbl->NextDomain(This,hEnum,appDomain); 1038 } 1039 static FORCEINLINE HRESULT ICorRuntimeHost_CloseEnum(ICorRuntimeHost* This,HDOMAINENUM hEnum) { 1040 return This->lpVtbl->CloseEnum(This,hEnum); 1041 } 1042 static FORCEINLINE HRESULT ICorRuntimeHost_CreateDomainEx(ICorRuntimeHost* This,LPCWSTR friendlyName,IUnknown *setup,IUnknown *evidence,IUnknown **appDomain) { 1043 return This->lpVtbl->CreateDomainEx(This,friendlyName,setup,evidence,appDomain); 1044 } 1045 static FORCEINLINE HRESULT ICorRuntimeHost_CreateDomainSetup(ICorRuntimeHost* This,IUnknown **appDomainSetup) { 1046 return This->lpVtbl->CreateDomainSetup(This,appDomainSetup); 1047 } 1048 static FORCEINLINE HRESULT ICorRuntimeHost_CreateEvidence(ICorRuntimeHost* This,IUnknown **evidence) { 1049 return This->lpVtbl->CreateEvidence(This,evidence); 1050 } 1051 static FORCEINLINE HRESULT ICorRuntimeHost_UnloadDomain(ICorRuntimeHost* This,IUnknown *appDomain) { 1052 return This->lpVtbl->UnloadDomain(This,appDomain); 1053 } 1054 static FORCEINLINE HRESULT ICorRuntimeHost_CurrentDomain(ICorRuntimeHost* This,IUnknown **appDomain) { 1055 return This->lpVtbl->CurrentDomain(This,appDomain); 1056 } 1057 #endif 1058 #endif 1059 1060 #endif 1061 1062 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_CreateLogicalThreadState_Proxy( 1063 ICorRuntimeHost* This); 1064 void __RPC_STUB ICorRuntimeHost_CreateLogicalThreadState_Stub( 1065 IRpcStubBuffer* This, 1066 IRpcChannelBuffer* pRpcChannelBuffer, 1067 PRPC_MESSAGE pRpcMessage, 1068 DWORD* pdwStubPhase); 1069 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_DeleteLogicalThreadState_Proxy( 1070 ICorRuntimeHost* This); 1071 void __RPC_STUB ICorRuntimeHost_DeleteLogicalThreadState_Stub( 1072 IRpcStubBuffer* This, 1073 IRpcChannelBuffer* pRpcChannelBuffer, 1074 PRPC_MESSAGE pRpcMessage, 1075 DWORD* pdwStubPhase); 1076 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_SwitchInLogicalThreadState_Proxy( 1077 ICorRuntimeHost* This, 1078 DWORD *fiberCookie); 1079 void __RPC_STUB ICorRuntimeHost_SwitchInLogicalThreadState_Stub( 1080 IRpcStubBuffer* This, 1081 IRpcChannelBuffer* pRpcChannelBuffer, 1082 PRPC_MESSAGE pRpcMessage, 1083 DWORD* pdwStubPhase); 1084 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_SwitchOutLogicalThreadState_Proxy( 1085 ICorRuntimeHost* This, 1086 DWORD **fiberCookie); 1087 void __RPC_STUB ICorRuntimeHost_SwitchOutLogicalThreadState_Stub( 1088 IRpcStubBuffer* This, 1089 IRpcChannelBuffer* pRpcChannelBuffer, 1090 PRPC_MESSAGE pRpcMessage, 1091 DWORD* pdwStubPhase); 1092 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_LocksHeldByLogicalThread_Proxy( 1093 ICorRuntimeHost* This, 1094 DWORD *pCount); 1095 void __RPC_STUB ICorRuntimeHost_LocksHeldByLogicalThread_Stub( 1096 IRpcStubBuffer* This, 1097 IRpcChannelBuffer* pRpcChannelBuffer, 1098 PRPC_MESSAGE pRpcMessage, 1099 DWORD* pdwStubPhase); 1100 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_MapFile_Proxy( 1101 ICorRuntimeHost* This, 1102 HANDLE hFile, 1103 HMODULE *mapAddress); 1104 void __RPC_STUB ICorRuntimeHost_MapFile_Stub( 1105 IRpcStubBuffer* This, 1106 IRpcChannelBuffer* pRpcChannelBuffer, 1107 PRPC_MESSAGE pRpcMessage, 1108 DWORD* pdwStubPhase); 1109 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_GetConfiguration_Proxy( 1110 ICorRuntimeHost* This, 1111 ICorConfiguration **pConfiguration); 1112 void __RPC_STUB ICorRuntimeHost_GetConfiguration_Stub( 1113 IRpcStubBuffer* This, 1114 IRpcChannelBuffer* pRpcChannelBuffer, 1115 PRPC_MESSAGE pRpcMessage, 1116 DWORD* pdwStubPhase); 1117 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_Start_Proxy( 1118 ICorRuntimeHost* This); 1119 void __RPC_STUB ICorRuntimeHost_Start_Stub( 1120 IRpcStubBuffer* This, 1121 IRpcChannelBuffer* pRpcChannelBuffer, 1122 PRPC_MESSAGE pRpcMessage, 1123 DWORD* pdwStubPhase); 1124 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_Stop_Proxy( 1125 ICorRuntimeHost* This); 1126 void __RPC_STUB ICorRuntimeHost_Stop_Stub( 1127 IRpcStubBuffer* This, 1128 IRpcChannelBuffer* pRpcChannelBuffer, 1129 PRPC_MESSAGE pRpcMessage, 1130 DWORD* pdwStubPhase); 1131 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_CreateDomain_Proxy( 1132 ICorRuntimeHost* This, 1133 LPCWSTR friendlyName, 1134 IUnknown *identityArray, 1135 IUnknown **appDomain); 1136 void __RPC_STUB ICorRuntimeHost_CreateDomain_Stub( 1137 IRpcStubBuffer* This, 1138 IRpcChannelBuffer* pRpcChannelBuffer, 1139 PRPC_MESSAGE pRpcMessage, 1140 DWORD* pdwStubPhase); 1141 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_GetDefaultDomain_Proxy( 1142 ICorRuntimeHost* This, 1143 IUnknown **pAppDomain); 1144 void __RPC_STUB ICorRuntimeHost_GetDefaultDomain_Stub( 1145 IRpcStubBuffer* This, 1146 IRpcChannelBuffer* pRpcChannelBuffer, 1147 PRPC_MESSAGE pRpcMessage, 1148 DWORD* pdwStubPhase); 1149 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_EnumDomains_Proxy( 1150 ICorRuntimeHost* This, 1151 HDOMAINENUM *hEnum); 1152 void __RPC_STUB ICorRuntimeHost_EnumDomains_Stub( 1153 IRpcStubBuffer* This, 1154 IRpcChannelBuffer* pRpcChannelBuffer, 1155 PRPC_MESSAGE pRpcMessage, 1156 DWORD* pdwStubPhase); 1157 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_NextDomain_Proxy( 1158 ICorRuntimeHost* This, 1159 HDOMAINENUM hEnum, 1160 IUnknown **appDomain); 1161 void __RPC_STUB ICorRuntimeHost_NextDomain_Stub( 1162 IRpcStubBuffer* This, 1163 IRpcChannelBuffer* pRpcChannelBuffer, 1164 PRPC_MESSAGE pRpcMessage, 1165 DWORD* pdwStubPhase); 1166 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_CloseEnum_Proxy( 1167 ICorRuntimeHost* This, 1168 HDOMAINENUM hEnum); 1169 void __RPC_STUB ICorRuntimeHost_CloseEnum_Stub( 1170 IRpcStubBuffer* This, 1171 IRpcChannelBuffer* pRpcChannelBuffer, 1172 PRPC_MESSAGE pRpcMessage, 1173 DWORD* pdwStubPhase); 1174 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_CreateDomainEx_Proxy( 1175 ICorRuntimeHost* This, 1176 LPCWSTR friendlyName, 1177 IUnknown *setup, 1178 IUnknown *evidence, 1179 IUnknown **appDomain); 1180 void __RPC_STUB ICorRuntimeHost_CreateDomainEx_Stub( 1181 IRpcStubBuffer* This, 1182 IRpcChannelBuffer* pRpcChannelBuffer, 1183 PRPC_MESSAGE pRpcMessage, 1184 DWORD* pdwStubPhase); 1185 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_CreateDomainSetup_Proxy( 1186 ICorRuntimeHost* This, 1187 IUnknown **appDomainSetup); 1188 void __RPC_STUB ICorRuntimeHost_CreateDomainSetup_Stub( 1189 IRpcStubBuffer* This, 1190 IRpcChannelBuffer* pRpcChannelBuffer, 1191 PRPC_MESSAGE pRpcMessage, 1192 DWORD* pdwStubPhase); 1193 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_CreateEvidence_Proxy( 1194 ICorRuntimeHost* This, 1195 IUnknown **evidence); 1196 void __RPC_STUB ICorRuntimeHost_CreateEvidence_Stub( 1197 IRpcStubBuffer* This, 1198 IRpcChannelBuffer* pRpcChannelBuffer, 1199 PRPC_MESSAGE pRpcMessage, 1200 DWORD* pdwStubPhase); 1201 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_UnloadDomain_Proxy( 1202 ICorRuntimeHost* This, 1203 IUnknown *appDomain); 1204 void __RPC_STUB ICorRuntimeHost_UnloadDomain_Stub( 1205 IRpcStubBuffer* This, 1206 IRpcChannelBuffer* pRpcChannelBuffer, 1207 PRPC_MESSAGE pRpcMessage, 1208 DWORD* pdwStubPhase); 1209 HRESULT STDMETHODCALLTYPE ICorRuntimeHost_CurrentDomain_Proxy( 1210 ICorRuntimeHost* This, 1211 IUnknown **appDomain); 1212 void __RPC_STUB ICorRuntimeHost_CurrentDomain_Stub( 1213 IRpcStubBuffer* This, 1214 IRpcChannelBuffer* pRpcChannelBuffer, 1215 PRPC_MESSAGE pRpcMessage, 1216 DWORD* pdwStubPhase); 1217 1218 #endif /* __ICorRuntimeHost_INTERFACE_DEFINED__ */ 1219 1220 DEFINE_GUID(CLSID_CLRRuntimeHost, 0x90f1a06e,0x7712,0x4762,0x86,0xb5,0x7a,0x5e,0xba,0x6b,0xdb,0x02); 1221 /***************************************************************************** 1222 * ICLRRuntimeHost interface 1223 */ 1224 #ifndef __ICLRRuntimeHost_INTERFACE_DEFINED__ 1225 #define __ICLRRuntimeHost_INTERFACE_DEFINED__ 1226 1227 DEFINE_GUID(IID_ICLRRuntimeHost, 0x90f1a06c, 0x7712, 0x4762, 0x86,0xb5, 0x7a,0x5e,0xba,0x6b,0xdb,0x02); 1228 #if defined(__cplusplus) && !defined(CINTERFACE) 1229 MIDL_INTERFACE("90f1a06c-7712-4762-86b5-7a5eba6bdb02") 1230 ICLRRuntimeHost : public IUnknown 1231 { 1232 virtual HRESULT STDMETHODCALLTYPE Start( 1233 ) = 0; 1234 1235 virtual HRESULT STDMETHODCALLTYPE Stop( 1236 ) = 0; 1237 1238 virtual HRESULT STDMETHODCALLTYPE SetHostControl( 1239 IHostControl *pHostControl) = 0; 1240 1241 virtual HRESULT STDMETHODCALLTYPE GetCLRControl( 1242 ICLRControl **pCLRControl) = 0; 1243 1244 virtual HRESULT STDMETHODCALLTYPE UnloadAppDomain( 1245 DWORD dwAppDomainId, 1246 WINBOOL fWaitUntilDone) = 0; 1247 1248 virtual HRESULT STDMETHODCALLTYPE ExecuteInAppDomain( 1249 DWORD dwAppDomainId, 1250 HRESULT (__stdcall * pCallback)(void *cookie), 1251 void *cookie) = 0; 1252 1253 virtual HRESULT STDMETHODCALLTYPE GetCurrentAppDomainId( 1254 DWORD *pdwAppDomainId) = 0; 1255 1256 virtual HRESULT STDMETHODCALLTYPE ExecuteApplication( 1257 LPCWSTR pwzAppFullName, 1258 DWORD dwManifestPaths, 1259 LPCWSTR *ppwzManifestPaths, 1260 DWORD dwActivationData, 1261 LPCWSTR *ppwzActivationData, 1262 int *pReturnValue) = 0; 1263 1264 virtual HRESULT STDMETHODCALLTYPE ExecuteInDefaultAppDomain( 1265 LPCWSTR pwzAssemblyPath, 1266 LPCWSTR pwzTypeName, 1267 LPCWSTR pwzMethodName, 1268 LPCWSTR pwzArgument, 1269 DWORD *pReturnValue) = 0; 1270 1271 }; 1272 #ifdef __CRT_UUID_DECL 1273 __CRT_UUID_DECL(ICLRRuntimeHost, 0x90f1a06c, 0x7712, 0x4762, 0x86,0xb5, 0x7a,0x5e,0xba,0x6b,0xdb,0x02) 1274 #endif 1275 #else 1276 typedef struct ICLRRuntimeHostVtbl { 1277 BEGIN_INTERFACE 1278 1279 /*** IUnknown methods ***/ 1280 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1281 ICLRRuntimeHost* This, 1282 REFIID riid, 1283 void **ppvObject); 1284 1285 ULONG (STDMETHODCALLTYPE *AddRef)( 1286 ICLRRuntimeHost* This); 1287 1288 ULONG (STDMETHODCALLTYPE *Release)( 1289 ICLRRuntimeHost* This); 1290 1291 /*** ICLRRuntimeHost methods ***/ 1292 HRESULT (STDMETHODCALLTYPE *Start)( 1293 ICLRRuntimeHost* This); 1294 1295 HRESULT (STDMETHODCALLTYPE *Stop)( 1296 ICLRRuntimeHost* This); 1297 1298 HRESULT (STDMETHODCALLTYPE *SetHostControl)( 1299 ICLRRuntimeHost* This, 1300 IHostControl *pHostControl); 1301 1302 HRESULT (STDMETHODCALLTYPE *GetCLRControl)( 1303 ICLRRuntimeHost* This, 1304 ICLRControl **pCLRControl); 1305 1306 HRESULT (STDMETHODCALLTYPE *UnloadAppDomain)( 1307 ICLRRuntimeHost* This, 1308 DWORD dwAppDomainId, 1309 WINBOOL fWaitUntilDone); 1310 1311 HRESULT (STDMETHODCALLTYPE *ExecuteInAppDomain)( 1312 ICLRRuntimeHost* This, 1313 DWORD dwAppDomainId, 1314 HRESULT (__stdcall * pCallback)(void *cookie), 1315 void *cookie); 1316 1317 HRESULT (STDMETHODCALLTYPE *GetCurrentAppDomainId)( 1318 ICLRRuntimeHost* This, 1319 DWORD *pdwAppDomainId); 1320 1321 HRESULT (STDMETHODCALLTYPE *ExecuteApplication)( 1322 ICLRRuntimeHost* This, 1323 LPCWSTR pwzAppFullName, 1324 DWORD dwManifestPaths, 1325 LPCWSTR *ppwzManifestPaths, 1326 DWORD dwActivationData, 1327 LPCWSTR *ppwzActivationData, 1328 int *pReturnValue); 1329 1330 HRESULT (STDMETHODCALLTYPE *ExecuteInDefaultAppDomain)( 1331 ICLRRuntimeHost* This, 1332 LPCWSTR pwzAssemblyPath, 1333 LPCWSTR pwzTypeName, 1334 LPCWSTR pwzMethodName, 1335 LPCWSTR pwzArgument, 1336 DWORD *pReturnValue); 1337 1338 END_INTERFACE 1339 } ICLRRuntimeHostVtbl; 1340 interface ICLRRuntimeHost { 1341 CONST_VTBL ICLRRuntimeHostVtbl* lpVtbl; 1342 }; 1343 1344 #ifdef COBJMACROS 1345 #ifndef WIDL_C_INLINE_WRAPPERS 1346 /*** IUnknown methods ***/ 1347 #define ICLRRuntimeHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1348 #define ICLRRuntimeHost_AddRef(This) (This)->lpVtbl->AddRef(This) 1349 #define ICLRRuntimeHost_Release(This) (This)->lpVtbl->Release(This) 1350 /*** ICLRRuntimeHost methods ***/ 1351 #define ICLRRuntimeHost_Start(This) (This)->lpVtbl->Start(This) 1352 #define ICLRRuntimeHost_Stop(This) (This)->lpVtbl->Stop(This) 1353 #define ICLRRuntimeHost_SetHostControl(This,pHostControl) (This)->lpVtbl->SetHostControl(This,pHostControl) 1354 #define ICLRRuntimeHost_GetCLRControl(This,pCLRControl) (This)->lpVtbl->GetCLRControl(This,pCLRControl) 1355 #define ICLRRuntimeHost_UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone) (This)->lpVtbl->UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone) 1356 #define ICLRRuntimeHost_ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie) (This)->lpVtbl->ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie) 1357 #define ICLRRuntimeHost_GetCurrentAppDomainId(This,pdwAppDomainId) (This)->lpVtbl->GetCurrentAppDomainId(This,pdwAppDomainId) 1358 #define ICLRRuntimeHost_ExecuteApplication(This,pwzAppFullName,dwManifestPaths,ppwzManifestPaths,dwActivationData,ppwzActivationData,pReturnValue) (This)->lpVtbl->ExecuteApplication(This,pwzAppFullName,dwManifestPaths,ppwzManifestPaths,dwActivationData,ppwzActivationData,pReturnValue) 1359 #define ICLRRuntimeHost_ExecuteInDefaultAppDomain(This,pwzAssemblyPath,pwzTypeName,pwzMethodName,pwzArgument,pReturnValue) (This)->lpVtbl->ExecuteInDefaultAppDomain(This,pwzAssemblyPath,pwzTypeName,pwzMethodName,pwzArgument,pReturnValue) 1360 #else 1361 /*** IUnknown methods ***/ 1362 static FORCEINLINE HRESULT ICLRRuntimeHost_QueryInterface(ICLRRuntimeHost* This,REFIID riid,void **ppvObject) { 1363 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1364 } 1365 static FORCEINLINE ULONG ICLRRuntimeHost_AddRef(ICLRRuntimeHost* This) { 1366 return This->lpVtbl->AddRef(This); 1367 } 1368 static FORCEINLINE ULONG ICLRRuntimeHost_Release(ICLRRuntimeHost* This) { 1369 return This->lpVtbl->Release(This); 1370 } 1371 /*** ICLRRuntimeHost methods ***/ 1372 static FORCEINLINE HRESULT ICLRRuntimeHost_Start(ICLRRuntimeHost* This) { 1373 return This->lpVtbl->Start(This); 1374 } 1375 static FORCEINLINE HRESULT ICLRRuntimeHost_Stop(ICLRRuntimeHost* This) { 1376 return This->lpVtbl->Stop(This); 1377 } 1378 static FORCEINLINE HRESULT ICLRRuntimeHost_SetHostControl(ICLRRuntimeHost* This,IHostControl *pHostControl) { 1379 return This->lpVtbl->SetHostControl(This,pHostControl); 1380 } 1381 static FORCEINLINE HRESULT ICLRRuntimeHost_GetCLRControl(ICLRRuntimeHost* This,ICLRControl **pCLRControl) { 1382 return This->lpVtbl->GetCLRControl(This,pCLRControl); 1383 } 1384 static FORCEINLINE HRESULT ICLRRuntimeHost_UnloadAppDomain(ICLRRuntimeHost* This,DWORD dwAppDomainId,WINBOOL fWaitUntilDone) { 1385 return This->lpVtbl->UnloadAppDomain(This,dwAppDomainId,fWaitUntilDone); 1386 } 1387 static FORCEINLINE HRESULT ICLRRuntimeHost_ExecuteInAppDomain(ICLRRuntimeHost* This,DWORD dwAppDomainId,HRESULT (__stdcall * pCallback)(void *cookie),void *cookie) { 1388 return This->lpVtbl->ExecuteInAppDomain(This,dwAppDomainId,pCallback,cookie); 1389 } 1390 static FORCEINLINE HRESULT ICLRRuntimeHost_GetCurrentAppDomainId(ICLRRuntimeHost* This,DWORD *pdwAppDomainId) { 1391 return This->lpVtbl->GetCurrentAppDomainId(This,pdwAppDomainId); 1392 } 1393 static FORCEINLINE HRESULT ICLRRuntimeHost_ExecuteApplication(ICLRRuntimeHost* This,LPCWSTR pwzAppFullName,DWORD dwManifestPaths,LPCWSTR *ppwzManifestPaths,DWORD dwActivationData,LPCWSTR *ppwzActivationData,int *pReturnValue) { 1394 return This->lpVtbl->ExecuteApplication(This,pwzAppFullName,dwManifestPaths,ppwzManifestPaths,dwActivationData,ppwzActivationData,pReturnValue); 1395 } 1396 static FORCEINLINE HRESULT ICLRRuntimeHost_ExecuteInDefaultAppDomain(ICLRRuntimeHost* This,LPCWSTR pwzAssemblyPath,LPCWSTR pwzTypeName,LPCWSTR pwzMethodName,LPCWSTR pwzArgument,DWORD *pReturnValue) { 1397 return This->lpVtbl->ExecuteInDefaultAppDomain(This,pwzAssemblyPath,pwzTypeName,pwzMethodName,pwzArgument,pReturnValue); 1398 } 1399 #endif 1400 #endif 1401 1402 #endif 1403 1404 HRESULT STDMETHODCALLTYPE ICLRRuntimeHost_Start_Proxy( 1405 ICLRRuntimeHost* This); 1406 void __RPC_STUB ICLRRuntimeHost_Start_Stub( 1407 IRpcStubBuffer* This, 1408 IRpcChannelBuffer* pRpcChannelBuffer, 1409 PRPC_MESSAGE pRpcMessage, 1410 DWORD* pdwStubPhase); 1411 HRESULT STDMETHODCALLTYPE ICLRRuntimeHost_Stop_Proxy( 1412 ICLRRuntimeHost* This); 1413 void __RPC_STUB ICLRRuntimeHost_Stop_Stub( 1414 IRpcStubBuffer* This, 1415 IRpcChannelBuffer* pRpcChannelBuffer, 1416 PRPC_MESSAGE pRpcMessage, 1417 DWORD* pdwStubPhase); 1418 HRESULT STDMETHODCALLTYPE ICLRRuntimeHost_SetHostControl_Proxy( 1419 ICLRRuntimeHost* This, 1420 IHostControl *pHostControl); 1421 void __RPC_STUB ICLRRuntimeHost_SetHostControl_Stub( 1422 IRpcStubBuffer* This, 1423 IRpcChannelBuffer* pRpcChannelBuffer, 1424 PRPC_MESSAGE pRpcMessage, 1425 DWORD* pdwStubPhase); 1426 HRESULT STDMETHODCALLTYPE ICLRRuntimeHost_GetCLRControl_Proxy( 1427 ICLRRuntimeHost* This, 1428 ICLRControl **pCLRControl); 1429 void __RPC_STUB ICLRRuntimeHost_GetCLRControl_Stub( 1430 IRpcStubBuffer* This, 1431 IRpcChannelBuffer* pRpcChannelBuffer, 1432 PRPC_MESSAGE pRpcMessage, 1433 DWORD* pdwStubPhase); 1434 HRESULT STDMETHODCALLTYPE ICLRRuntimeHost_UnloadAppDomain_Proxy( 1435 ICLRRuntimeHost* This, 1436 DWORD dwAppDomainId, 1437 WINBOOL fWaitUntilDone); 1438 void __RPC_STUB ICLRRuntimeHost_UnloadAppDomain_Stub( 1439 IRpcStubBuffer* This, 1440 IRpcChannelBuffer* pRpcChannelBuffer, 1441 PRPC_MESSAGE pRpcMessage, 1442 DWORD* pdwStubPhase); 1443 HRESULT STDMETHODCALLTYPE ICLRRuntimeHost_ExecuteInAppDomain_Proxy( 1444 ICLRRuntimeHost* This, 1445 DWORD dwAppDomainId, 1446 HRESULT (__stdcall * pCallback)(void *cookie), 1447 void *cookie); 1448 void __RPC_STUB ICLRRuntimeHost_ExecuteInAppDomain_Stub( 1449 IRpcStubBuffer* This, 1450 IRpcChannelBuffer* pRpcChannelBuffer, 1451 PRPC_MESSAGE pRpcMessage, 1452 DWORD* pdwStubPhase); 1453 HRESULT STDMETHODCALLTYPE ICLRRuntimeHost_GetCurrentAppDomainId_Proxy( 1454 ICLRRuntimeHost* This, 1455 DWORD *pdwAppDomainId); 1456 void __RPC_STUB ICLRRuntimeHost_GetCurrentAppDomainId_Stub( 1457 IRpcStubBuffer* This, 1458 IRpcChannelBuffer* pRpcChannelBuffer, 1459 PRPC_MESSAGE pRpcMessage, 1460 DWORD* pdwStubPhase); 1461 HRESULT STDMETHODCALLTYPE ICLRRuntimeHost_ExecuteApplication_Proxy( 1462 ICLRRuntimeHost* This, 1463 LPCWSTR pwzAppFullName, 1464 DWORD dwManifestPaths, 1465 LPCWSTR *ppwzManifestPaths, 1466 DWORD dwActivationData, 1467 LPCWSTR *ppwzActivationData, 1468 int *pReturnValue); 1469 void __RPC_STUB ICLRRuntimeHost_ExecuteApplication_Stub( 1470 IRpcStubBuffer* This, 1471 IRpcChannelBuffer* pRpcChannelBuffer, 1472 PRPC_MESSAGE pRpcMessage, 1473 DWORD* pdwStubPhase); 1474 HRESULT STDMETHODCALLTYPE ICLRRuntimeHost_ExecuteInDefaultAppDomain_Proxy( 1475 ICLRRuntimeHost* This, 1476 LPCWSTR pwzAssemblyPath, 1477 LPCWSTR pwzTypeName, 1478 LPCWSTR pwzMethodName, 1479 LPCWSTR pwzArgument, 1480 DWORD *pReturnValue); 1481 void __RPC_STUB ICLRRuntimeHost_ExecuteInDefaultAppDomain_Stub( 1482 IRpcStubBuffer* This, 1483 IRpcChannelBuffer* pRpcChannelBuffer, 1484 PRPC_MESSAGE pRpcMessage, 1485 DWORD* pdwStubPhase); 1486 1487 #endif /* __ICLRRuntimeHost_INTERFACE_DEFINED__ */ 1488 1489 /***************************************************************************** 1490 * IManagedObject interface 1491 */ 1492 #ifndef __IManagedObject_INTERFACE_DEFINED__ 1493 #define __IManagedObject_INTERFACE_DEFINED__ 1494 1495 DEFINE_GUID(IID_IManagedObject, 0xc3fcc19e, 0xa970, 0x11d2, 0x8b,0x5a, 0x00,0xa0,0xc9,0xb7,0xc9,0xc4); 1496 #if defined(__cplusplus) && !defined(CINTERFACE) 1497 MIDL_INTERFACE("c3fcc19e-a970-11d2-8b5a-00a0c9b7c9c4") 1498 IManagedObject : public IUnknown 1499 { 1500 virtual HRESULT STDMETHODCALLTYPE GetSerializedBuffer( 1501 BSTR *pBSTR) = 0; 1502 1503 virtual HRESULT STDMETHODCALLTYPE GetObjectIdentity( 1504 BSTR *pBSTRGUID, 1505 int *AppDomainID, 1506 int *pCCW) = 0; 1507 1508 }; 1509 #ifdef __CRT_UUID_DECL 1510 __CRT_UUID_DECL(IManagedObject, 0xc3fcc19e, 0xa970, 0x11d2, 0x8b,0x5a, 0x00,0xa0,0xc9,0xb7,0xc9,0xc4) 1511 #endif 1512 #else 1513 typedef struct IManagedObjectVtbl { 1514 BEGIN_INTERFACE 1515 1516 /*** IUnknown methods ***/ 1517 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 1518 IManagedObject* This, 1519 REFIID riid, 1520 void **ppvObject); 1521 1522 ULONG (STDMETHODCALLTYPE *AddRef)( 1523 IManagedObject* This); 1524 1525 ULONG (STDMETHODCALLTYPE *Release)( 1526 IManagedObject* This); 1527 1528 /*** IManagedObject methods ***/ 1529 HRESULT (STDMETHODCALLTYPE *GetSerializedBuffer)( 1530 IManagedObject* This, 1531 BSTR *pBSTR); 1532 1533 HRESULT (STDMETHODCALLTYPE *GetObjectIdentity)( 1534 IManagedObject* This, 1535 BSTR *pBSTRGUID, 1536 int *AppDomainID, 1537 int *pCCW); 1538 1539 END_INTERFACE 1540 } IManagedObjectVtbl; 1541 interface IManagedObject { 1542 CONST_VTBL IManagedObjectVtbl* lpVtbl; 1543 }; 1544 1545 #ifdef COBJMACROS 1546 #ifndef WIDL_C_INLINE_WRAPPERS 1547 /*** IUnknown methods ***/ 1548 #define IManagedObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 1549 #define IManagedObject_AddRef(This) (This)->lpVtbl->AddRef(This) 1550 #define IManagedObject_Release(This) (This)->lpVtbl->Release(This) 1551 /*** IManagedObject methods ***/ 1552 #define IManagedObject_GetSerializedBuffer(This,pBSTR) (This)->lpVtbl->GetSerializedBuffer(This,pBSTR) 1553 #define IManagedObject_GetObjectIdentity(This,pBSTRGUID,AppDomainID,pCCW) (This)->lpVtbl->GetObjectIdentity(This,pBSTRGUID,AppDomainID,pCCW) 1554 #else 1555 /*** IUnknown methods ***/ 1556 static FORCEINLINE HRESULT IManagedObject_QueryInterface(IManagedObject* This,REFIID riid,void **ppvObject) { 1557 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 1558 } 1559 static FORCEINLINE ULONG IManagedObject_AddRef(IManagedObject* This) { 1560 return This->lpVtbl->AddRef(This); 1561 } 1562 static FORCEINLINE ULONG IManagedObject_Release(IManagedObject* This) { 1563 return This->lpVtbl->Release(This); 1564 } 1565 /*** IManagedObject methods ***/ 1566 static FORCEINLINE HRESULT IManagedObject_GetSerializedBuffer(IManagedObject* This,BSTR *pBSTR) { 1567 return This->lpVtbl->GetSerializedBuffer(This,pBSTR); 1568 } 1569 static FORCEINLINE HRESULT IManagedObject_GetObjectIdentity(IManagedObject* This,BSTR *pBSTRGUID,int *AppDomainID,int *pCCW) { 1570 return This->lpVtbl->GetObjectIdentity(This,pBSTRGUID,AppDomainID,pCCW); 1571 } 1572 #endif 1573 #endif 1574 1575 #endif 1576 1577 HRESULT STDMETHODCALLTYPE IManagedObject_GetSerializedBuffer_Proxy( 1578 IManagedObject* This, 1579 BSTR *pBSTR); 1580 void __RPC_STUB IManagedObject_GetSerializedBuffer_Stub( 1581 IRpcStubBuffer* This, 1582 IRpcChannelBuffer* pRpcChannelBuffer, 1583 PRPC_MESSAGE pRpcMessage, 1584 DWORD* pdwStubPhase); 1585 HRESULT STDMETHODCALLTYPE IManagedObject_GetObjectIdentity_Proxy( 1586 IManagedObject* This, 1587 BSTR *pBSTRGUID, 1588 int *AppDomainID, 1589 int *pCCW); 1590 void __RPC_STUB IManagedObject_GetObjectIdentity_Stub( 1591 IRpcStubBuffer* This, 1592 IRpcChannelBuffer* pRpcChannelBuffer, 1593 PRPC_MESSAGE pRpcMessage, 1594 DWORD* pdwStubPhase); 1595 1596 #endif /* __IManagedObject_INTERFACE_DEFINED__ */ 1597 1598 /* Begin additional prototypes for all interfaces */ 1599 1600 1601 /* End additional prototypes */ 1602 1603 #ifdef __cplusplus 1604 } 1605 #endif 1606 1607 #endif /* __mscoree_h__ */ 1608