source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mscoree.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

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