ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mscoree.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years, 6 months ago) by rossy
Content type: text/x-chdr
File size: 46394 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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__ */