1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4
5
6
7/* this ALWAYS GENERATED file contains the definitions for the interfaces */
8
9
10 /* File created by MIDL compiler version 8.00.0603 */
11/* @@MIDL_FILE_HEADING( ) */
12
13#pragma warning( disable: 4049 ) /* more than 64k source lines */
14
15
16/* verify that the <rpcndr.h> version is high enough to compile this file*/
17#ifndef __REQUIRED_RPCNDR_H_VERSION__
18#define __REQUIRED_RPCNDR_H_VERSION__ 475
19#endif
20
21#include "rpc.h"
22#include "rpcndr.h"
23
24#ifndef __RPCNDR_H_VERSION__
25#error this stub requires an updated version of <rpcndr.h>
26#endif // __RPCNDR_H_VERSION__
27
28#ifndef COM_NO_WINDOWS_H
29#include "windows.h"
30#include "ole2.h"
31#endif /*COM_NO_WINDOWS_H*/
32
33#ifndef __clrinternal_h__
34#define __clrinternal_h__
35
36#if defined(_MSC_VER) && (_MSC_VER >= 1020)
37#pragma once
38#endif
39
40/* Forward Declarations */
41
42#ifndef __IExecutionEngine_FWD_DEFINED__
43#define __IExecutionEngine_FWD_DEFINED__
44typedef interface IExecutionEngine IExecutionEngine;
45
46#endif /* __IExecutionEngine_FWD_DEFINED__ */
47
48
49#ifndef __IEEMemoryManager_FWD_DEFINED__
50#define __IEEMemoryManager_FWD_DEFINED__
51typedef interface IEEMemoryManager IEEMemoryManager;
52
53#endif /* __IEEMemoryManager_FWD_DEFINED__ */
54
55
56#ifndef __IPrivateManagedExceptionReporting_FWD_DEFINED__
57#define __IPrivateManagedExceptionReporting_FWD_DEFINED__
58typedef interface IPrivateManagedExceptionReporting IPrivateManagedExceptionReporting;
59
60#endif /* __IPrivateManagedExceptionReporting_FWD_DEFINED__ */
61
62
63/* header files for imported files */
64#include "unknwn.h"
65#include "mscoree.h"
66
67#ifdef __cplusplus
68extern "C"{
69#endif
70
71
72/* interface __MIDL_itf_clrinternal_0000_0000 */
73/* [local] */
74
75#if 0
76typedef struct _OSVERSIONINFOA
77 {
78 DWORD dwOSVersionInfoSize;
79 DWORD dwMajorVersion;
80 DWORD dwMinorVersion;
81 DWORD dwBuildNumber;
82 DWORD dwPlatformId;
83 CHAR szCSDVersion[ 128 ];
84 } OSVERSIONINFOA;
85
86typedef struct _OSVERSIONINFOA *POSVERSIONINFOA;
87
88typedef struct _OSVERSIONINFOA *LPOSVERSIONINFOA;
89
90typedef struct _OSVERSIONINFOW
91 {
92 DWORD dwOSVersionInfoSize;
93 DWORD dwMajorVersion;
94 DWORD dwMinorVersion;
95 DWORD dwBuildNumber;
96 DWORD dwPlatformId;
97 WCHAR szCSDVersion[ 128 ];
98 } OSVERSIONINFOW;
99
100typedef struct _OSVERSIONINFOW *POSVERSIONINFOW;
101
102typedef struct _OSVERSIONINFOW *LPOSVERSIONINFOW;
103
104typedef struct _OSVERSIONINFOW RTL_OSVERSIONINFOW;
105
106typedef struct _OSVERSIONINFOW *PRTL_OSVERSIONINFOW;
107
108typedef OSVERSIONINFOA OSVERSIONINFO;
109
110typedef POSVERSIONINFOA POSVERSIONINFO;
111
112typedef LPOSVERSIONINFOA LPOSVERSIONINFO;
113
114#endif
115EXTERN_GUID(IID_IExecutionEngine, 0x7AF02DAC, 0x2A33, 0x494b, 0xA0, 0x9F, 0x25, 0xE0, 0x0A, 0x93, 0xC6, 0xF8);
116EXTERN_GUID(IID_IEEMemoryManager, 0x17713b61, 0xb59f, 0x4e13, 0xba, 0xaf, 0x91, 0x62, 0x3d, 0xc8, 0xad, 0xc0);
117EXTERN_GUID(CLR_ID_V4_DESKTOP, 0x267f3989, 0xd786, 0x4b9a, 0x9a, 0xf6, 0xd1, 0x9e, 0x42, 0xd5, 0x57, 0xec);
118EXTERN_GUID(CLR_ID_CORECLR, 0x8CB8E075, 0x0A91, 0x408E, 0x92, 0x28, 0xD6, 0x6E, 0x00, 0xA3, 0xBF, 0xF6 );
119EXTERN_GUID(CLR_ID_PHONE_CLR, 0xE7237E9C, 0x31C0, 0x488C, 0xAD, 0x48, 0x32, 0x4D, 0x3E, 0x7E, 0xD9, 0x2A);
120EXTERN_GUID(CLR_ID_ONECORE_CLR, 0xb1ee760d, 0x6c4a, 0x4533, 0xba, 0x41, 0x6f, 0x4f, 0x66, 0x1f, 0xab, 0xaf);
121EXTERN_GUID(IID_IPrivateManagedExceptionReporting, 0xad76a023, 0x332d, 0x4298, 0x80, 0x01, 0x07, 0xaa, 0x93, 0x50, 0xdc, 0xa4);
122typedef void *CRITSEC_COOKIE;
123
124typedef void *EVENT_COOKIE;
125
126typedef void *SEMAPHORE_COOKIE;
127
128typedef void *MUTEX_COOKIE;
129
130typedef /* [public][public] */
131enum __MIDL___MIDL_itf_clrinternal_0000_0000_0001
132 {
133 CRST_DEFAULT = 0,
134 CRST_REENTRANCY = 0x1,
135 CRST_UNSAFE_SAMELEVEL = 0x2,
136 CRST_UNSAFE_COOPGC = 0x4,
137 CRST_UNSAFE_ANYMODE = 0x8,
138 CRST_DEBUGGER_THREAD = 0x10,
139 CRST_HOST_BREAKABLE = 0x20,
140 CRST_TAKEN_DURING_SHUTDOWN = 0x80,
141 CRST_GC_NOTRIGGER_WHEN_TAKEN = 0x100,
142 CRST_DEBUG_ONLY_CHECK_FORBID_SUSPEND_THREAD = 0x200
143 } CrstFlags;
144
145typedef VOID ( WINAPI *PTLS_CALLBACK_FUNCTION )(
146 PVOID __MIDL____MIDL_itf_clrinternal_0000_00000000);
147
148
149
150extern RPC_IF_HANDLE __MIDL_itf_clrinternal_0000_0000_v0_0_c_ifspec;
151extern RPC_IF_HANDLE __MIDL_itf_clrinternal_0000_0000_v0_0_s_ifspec;
152
153#ifndef __IExecutionEngine_INTERFACE_DEFINED__
154#define __IExecutionEngine_INTERFACE_DEFINED__
155
156/* interface IExecutionEngine */
157/* [object][local][unique][helpstring][uuid] */
158
159
160EXTERN_C const IID IID_IExecutionEngine;
161
162#if defined(__cplusplus) && !defined(CINTERFACE)
163
164 MIDL_INTERFACE("7AF02DAC-2A33-494b-A09F-25E00A93C6F8")
165 IExecutionEngine : public IUnknown
166 {
167 public:
168 virtual void STDMETHODCALLTYPE TLS_AssociateCallback(
169 /* [in] */ DWORD slot,
170 /* [in] */ PTLS_CALLBACK_FUNCTION callback) = 0;
171
172 virtual PVOID *STDMETHODCALLTYPE TLS_GetDataBlock( void) = 0;
173
174 virtual PVOID STDMETHODCALLTYPE TLS_GetValue(
175 /* [in] */ DWORD slot) = 0;
176
177 virtual BOOL STDMETHODCALLTYPE TLS_CheckValue(
178 /* [in] */ DWORD slot,
179 /* [out] */ PVOID *pValue) = 0;
180
181 virtual void STDMETHODCALLTYPE TLS_SetValue(
182 /* [in] */ DWORD slot,
183 /* [in] */ PVOID pData) = 0;
184
185 virtual void STDMETHODCALLTYPE TLS_ThreadDetaching( void) = 0;
186
187 virtual CRITSEC_COOKIE STDMETHODCALLTYPE CreateLock(
188 /* [in] */ LPCSTR szTag,
189 /* [in] */ LPCSTR level,
190 /* [in] */ CrstFlags flags) = 0;
191
192 virtual void STDMETHODCALLTYPE DestroyLock(
193 /* [in] */ CRITSEC_COOKIE lock) = 0;
194
195 virtual void STDMETHODCALLTYPE AcquireLock(
196 /* [in] */ CRITSEC_COOKIE lock) = 0;
197
198 virtual void STDMETHODCALLTYPE ReleaseLock(
199 /* [in] */ CRITSEC_COOKIE lock) = 0;
200
201 virtual EVENT_COOKIE STDMETHODCALLTYPE CreateAutoEvent(
202 /* [in] */ BOOL bInitialState) = 0;
203
204 virtual EVENT_COOKIE STDMETHODCALLTYPE CreateManualEvent(
205 /* [in] */ BOOL bInitialState) = 0;
206
207 virtual void STDMETHODCALLTYPE CloseEvent(
208 /* [in] */ EVENT_COOKIE event) = 0;
209
210 virtual BOOL STDMETHODCALLTYPE ClrSetEvent(
211 /* [in] */ EVENT_COOKIE event) = 0;
212
213 virtual BOOL STDMETHODCALLTYPE ClrResetEvent(
214 /* [in] */ EVENT_COOKIE event) = 0;
215
216 virtual DWORD STDMETHODCALLTYPE WaitForEvent(
217 /* [in] */ EVENT_COOKIE event,
218 /* [in] */ DWORD dwMilliseconds,
219 /* [in] */ BOOL bAlertable) = 0;
220
221 virtual DWORD STDMETHODCALLTYPE WaitForSingleObject(
222 /* [in] */ HANDLE handle,
223 /* [in] */ DWORD dwMilliseconds) = 0;
224
225 virtual SEMAPHORE_COOKIE STDMETHODCALLTYPE ClrCreateSemaphore(
226 /* [in] */ DWORD dwInitial,
227 /* [in] */ DWORD dwMax) = 0;
228
229 virtual void STDMETHODCALLTYPE ClrCloseSemaphore(
230 /* [in] */ SEMAPHORE_COOKIE semaphore) = 0;
231
232 virtual DWORD STDMETHODCALLTYPE ClrWaitForSemaphore(
233 /* [in] */ SEMAPHORE_COOKIE semaphore,
234 /* [in] */ DWORD dwMilliseconds,
235 /* [in] */ BOOL bAlertable) = 0;
236
237 virtual BOOL STDMETHODCALLTYPE ClrReleaseSemaphore(
238 /* [in] */ SEMAPHORE_COOKIE semaphore,
239 /* [in] */ LONG lReleaseCount,
240 /* [in] */ LONG *lpPreviousCount) = 0;
241
242 virtual MUTEX_COOKIE STDMETHODCALLTYPE ClrCreateMutex(
243 /* [in] */ LPSECURITY_ATTRIBUTES lpMutexAttributes,
244 /* [in] */ BOOL bInitialOwner,
245 /* [in] */ LPCTSTR lpName) = 0;
246
247 virtual DWORD STDMETHODCALLTYPE ClrWaitForMutex(
248 /* [in] */ MUTEX_COOKIE mutex,
249 /* [in] */ DWORD dwMilliseconds,
250 /* [in] */ BOOL bAlertable) = 0;
251
252 virtual BOOL STDMETHODCALLTYPE ClrReleaseMutex(
253 /* [in] */ MUTEX_COOKIE mutex) = 0;
254
255 virtual void STDMETHODCALLTYPE ClrCloseMutex(
256 /* [in] */ MUTEX_COOKIE mutex) = 0;
257
258 virtual DWORD STDMETHODCALLTYPE ClrSleepEx(
259 /* [in] */ DWORD dwMilliseconds,
260 /* [in] */ BOOL bAlertable) = 0;
261
262 virtual BOOL STDMETHODCALLTYPE ClrAllocationDisallowed( void) = 0;
263
264 virtual void STDMETHODCALLTYPE GetLastThrownObjectExceptionFromThread(
265 /* [out] */ void **ppvException) = 0;
266
267 };
268
269
270#else /* C style interface */
271
272 typedef struct IExecutionEngineVtbl
273 {
274 BEGIN_INTERFACE
275
276 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
277 IExecutionEngine * This,
278 /* [in] */ REFIID riid,
279 /* [annotation][iid_is][out] */
280 _COM_Outptr_ void **ppvObject);
281
282 ULONG ( STDMETHODCALLTYPE *AddRef )(
283 IExecutionEngine * This);
284
285 ULONG ( STDMETHODCALLTYPE *Release )(
286 IExecutionEngine * This);
287
288 void ( STDMETHODCALLTYPE *TLS_AssociateCallback )(
289 IExecutionEngine * This,
290 /* [in] */ DWORD slot,
291 /* [in] */ PTLS_CALLBACK_FUNCTION callback);
292
293 PVOID *( STDMETHODCALLTYPE *TLS_GetDataBlock )(
294 IExecutionEngine * This);
295
296 PVOID ( STDMETHODCALLTYPE *TLS_GetValue )(
297 IExecutionEngine * This,
298 /* [in] */ DWORD slot);
299
300 BOOL ( STDMETHODCALLTYPE *TLS_CheckValue )(
301 IExecutionEngine * This,
302 /* [in] */ DWORD slot,
303 /* [out] */ PVOID *pValue);
304
305 void ( STDMETHODCALLTYPE *TLS_SetValue )(
306 IExecutionEngine * This,
307 /* [in] */ DWORD slot,
308 /* [in] */ PVOID pData);
309
310 void ( STDMETHODCALLTYPE *TLS_ThreadDetaching )(
311 IExecutionEngine * This);
312
313 CRITSEC_COOKIE ( STDMETHODCALLTYPE *CreateLock )(
314 IExecutionEngine * This,
315 /* [in] */ LPCSTR szTag,
316 /* [in] */ LPCSTR level,
317 /* [in] */ CrstFlags flags);
318
319 void ( STDMETHODCALLTYPE *DestroyLock )(
320 IExecutionEngine * This,
321 /* [in] */ CRITSEC_COOKIE lock);
322
323 void ( STDMETHODCALLTYPE *AcquireLock )(
324 IExecutionEngine * This,
325 /* [in] */ CRITSEC_COOKIE lock);
326
327 void ( STDMETHODCALLTYPE *ReleaseLock )(
328 IExecutionEngine * This,
329 /* [in] */ CRITSEC_COOKIE lock);
330
331 EVENT_COOKIE ( STDMETHODCALLTYPE *CreateAutoEvent )(
332 IExecutionEngine * This,
333 /* [in] */ BOOL bInitialState);
334
335 EVENT_COOKIE ( STDMETHODCALLTYPE *CreateManualEvent )(
336 IExecutionEngine * This,
337 /* [in] */ BOOL bInitialState);
338
339 void ( STDMETHODCALLTYPE *CloseEvent )(
340 IExecutionEngine * This,
341 /* [in] */ EVENT_COOKIE event);
342
343 BOOL ( STDMETHODCALLTYPE *ClrSetEvent )(
344 IExecutionEngine * This,
345 /* [in] */ EVENT_COOKIE event);
346
347 BOOL ( STDMETHODCALLTYPE *ClrResetEvent )(
348 IExecutionEngine * This,
349 /* [in] */ EVENT_COOKIE event);
350
351 DWORD ( STDMETHODCALLTYPE *WaitForEvent )(
352 IExecutionEngine * This,
353 /* [in] */ EVENT_COOKIE event,
354 /* [in] */ DWORD dwMilliseconds,
355 /* [in] */ BOOL bAlertable);
356
357 DWORD ( STDMETHODCALLTYPE *WaitForSingleObject )(
358 IExecutionEngine * This,
359 /* [in] */ HANDLE handle,
360 /* [in] */ DWORD dwMilliseconds);
361
362 SEMAPHORE_COOKIE ( STDMETHODCALLTYPE *ClrCreateSemaphore )(
363 IExecutionEngine * This,
364 /* [in] */ DWORD dwInitial,
365 /* [in] */ DWORD dwMax);
366
367 void ( STDMETHODCALLTYPE *ClrCloseSemaphore )(
368 IExecutionEngine * This,
369 /* [in] */ SEMAPHORE_COOKIE semaphore);
370
371 DWORD ( STDMETHODCALLTYPE *ClrWaitForSemaphore )(
372 IExecutionEngine * This,
373 /* [in] */ SEMAPHORE_COOKIE semaphore,
374 /* [in] */ DWORD dwMilliseconds,
375 /* [in] */ BOOL bAlertable);
376
377 BOOL ( STDMETHODCALLTYPE *ClrReleaseSemaphore )(
378 IExecutionEngine * This,
379 /* [in] */ SEMAPHORE_COOKIE semaphore,
380 /* [in] */ LONG lReleaseCount,
381 /* [in] */ LONG *lpPreviousCount);
382
383 MUTEX_COOKIE ( STDMETHODCALLTYPE *ClrCreateMutex )(
384 IExecutionEngine * This,
385 /* [in] */ LPSECURITY_ATTRIBUTES lpMutexAttributes,
386 /* [in] */ BOOL bInitialOwner,
387 /* [in] */ LPCTSTR lpName);
388
389 DWORD ( STDMETHODCALLTYPE *ClrWaitForMutex )(
390 IExecutionEngine * This,
391 /* [in] */ MUTEX_COOKIE mutex,
392 /* [in] */ DWORD dwMilliseconds,
393 /* [in] */ BOOL bAlertable);
394
395 BOOL ( STDMETHODCALLTYPE *ClrReleaseMutex )(
396 IExecutionEngine * This,
397 /* [in] */ MUTEX_COOKIE mutex);
398
399 void ( STDMETHODCALLTYPE *ClrCloseMutex )(
400 IExecutionEngine * This,
401 /* [in] */ MUTEX_COOKIE mutex);
402
403 DWORD ( STDMETHODCALLTYPE *ClrSleepEx )(
404 IExecutionEngine * This,
405 /* [in] */ DWORD dwMilliseconds,
406 /* [in] */ BOOL bAlertable);
407
408 BOOL ( STDMETHODCALLTYPE *ClrAllocationDisallowed )(
409 IExecutionEngine * This);
410
411 void ( STDMETHODCALLTYPE *GetLastThrownObjectExceptionFromThread )(
412 IExecutionEngine * This,
413 /* [out] */ void **ppvException);
414
415 END_INTERFACE
416 } IExecutionEngineVtbl;
417
418 interface IExecutionEngine
419 {
420 CONST_VTBL struct IExecutionEngineVtbl *lpVtbl;
421 };
422
423
424
425#ifdef COBJMACROS
426
427
428#define IExecutionEngine_QueryInterface(This,riid,ppvObject) \
429 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
430
431#define IExecutionEngine_AddRef(This) \
432 ( (This)->lpVtbl -> AddRef(This) )
433
434#define IExecutionEngine_Release(This) \
435 ( (This)->lpVtbl -> Release(This) )
436
437
438#define IExecutionEngine_TLS_AssociateCallback(This,slot,callback) \
439 ( (This)->lpVtbl -> TLS_AssociateCallback(This,slot,callback) )
440
441#define IExecutionEngine_TLS_GetDataBlock(This) \
442 ( (This)->lpVtbl -> TLS_GetDataBlock(This) )
443
444#define IExecutionEngine_TLS_GetValue(This,slot) \
445 ( (This)->lpVtbl -> TLS_GetValue(This,slot) )
446
447#define IExecutionEngine_TLS_CheckValue(This,slot,pValue) \
448 ( (This)->lpVtbl -> TLS_CheckValue(This,slot,pValue) )
449
450#define IExecutionEngine_TLS_SetValue(This,slot,pData) \
451 ( (This)->lpVtbl -> TLS_SetValue(This,slot,pData) )
452
453#define IExecutionEngine_TLS_ThreadDetaching(This) \
454 ( (This)->lpVtbl -> TLS_ThreadDetaching(This) )
455
456#define IExecutionEngine_CreateLock(This,szTag,level,flags) \
457 ( (This)->lpVtbl -> CreateLock(This,szTag,level,flags) )
458
459#define IExecutionEngine_DestroyLock(This,lock) \
460 ( (This)->lpVtbl -> DestroyLock(This,lock) )
461
462#define IExecutionEngine_AcquireLock(This,lock) \
463 ( (This)->lpVtbl -> AcquireLock(This,lock) )
464
465#define IExecutionEngine_ReleaseLock(This,lock) \
466 ( (This)->lpVtbl -> ReleaseLock(This,lock) )
467
468#define IExecutionEngine_CreateAutoEvent(This,bInitialState) \
469 ( (This)->lpVtbl -> CreateAutoEvent(This,bInitialState) )
470
471#define IExecutionEngine_CreateManualEvent(This,bInitialState) \
472 ( (This)->lpVtbl -> CreateManualEvent(This,bInitialState) )
473
474#define IExecutionEngine_CloseEvent(This,event) \
475 ( (This)->lpVtbl -> CloseEvent(This,event) )
476
477#define IExecutionEngine_ClrSetEvent(This,event) \
478 ( (This)->lpVtbl -> ClrSetEvent(This,event) )
479
480#define IExecutionEngine_ClrResetEvent(This,event) \
481 ( (This)->lpVtbl -> ClrResetEvent(This,event) )
482
483#define IExecutionEngine_WaitForEvent(This,event,dwMilliseconds,bAlertable) \
484 ( (This)->lpVtbl -> WaitForEvent(This,event,dwMilliseconds,bAlertable) )
485
486#define IExecutionEngine_WaitForSingleObject(This,handle,dwMilliseconds) \
487 ( (This)->lpVtbl -> WaitForSingleObject(This,handle,dwMilliseconds) )
488
489#define IExecutionEngine_ClrCreateSemaphore(This,dwInitial,dwMax) \
490 ( (This)->lpVtbl -> ClrCreateSemaphore(This,dwInitial,dwMax) )
491
492#define IExecutionEngine_ClrCloseSemaphore(This,semaphore) \
493 ( (This)->lpVtbl -> ClrCloseSemaphore(This,semaphore) )
494
495#define IExecutionEngine_ClrWaitForSemaphore(This,semaphore,dwMilliseconds,bAlertable) \
496 ( (This)->lpVtbl -> ClrWaitForSemaphore(This,semaphore,dwMilliseconds,bAlertable) )
497
498#define IExecutionEngine_ClrReleaseSemaphore(This,semaphore,lReleaseCount,lpPreviousCount) \
499 ( (This)->lpVtbl -> ClrReleaseSemaphore(This,semaphore,lReleaseCount,lpPreviousCount) )
500
501#define IExecutionEngine_ClrCreateMutex(This,lpMutexAttributes,bInitialOwner,lpName) \
502 ( (This)->lpVtbl -> ClrCreateMutex(This,lpMutexAttributes,bInitialOwner,lpName) )
503
504#define IExecutionEngine_ClrWaitForMutex(This,mutex,dwMilliseconds,bAlertable) \
505 ( (This)->lpVtbl -> ClrWaitForMutex(This,mutex,dwMilliseconds,bAlertable) )
506
507#define IExecutionEngine_ClrReleaseMutex(This,mutex) \
508 ( (This)->lpVtbl -> ClrReleaseMutex(This,mutex) )
509
510#define IExecutionEngine_ClrCloseMutex(This,mutex) \
511 ( (This)->lpVtbl -> ClrCloseMutex(This,mutex) )
512
513#define IExecutionEngine_ClrSleepEx(This,dwMilliseconds,bAlertable) \
514 ( (This)->lpVtbl -> ClrSleepEx(This,dwMilliseconds,bAlertable) )
515
516#define IExecutionEngine_ClrAllocationDisallowed(This) \
517 ( (This)->lpVtbl -> ClrAllocationDisallowed(This) )
518
519#define IExecutionEngine_GetLastThrownObjectExceptionFromThread(This,ppvException) \
520 ( (This)->lpVtbl -> GetLastThrownObjectExceptionFromThread(This,ppvException) )
521
522#endif /* COBJMACROS */
523
524
525#endif /* C style interface */
526
527
528
529
530#endif /* __IExecutionEngine_INTERFACE_DEFINED__ */
531
532
533/* interface __MIDL_itf_clrinternal_0000_0001 */
534/* [local] */
535
536#if !defined(_WINNT_) && !defined(_NTMMAPI_)
537typedef void *PMEMORY_BASIC_INFORMATION;
538
539#endif
540
541
542extern RPC_IF_HANDLE __MIDL_itf_clrinternal_0000_0001_v0_0_c_ifspec;
543extern RPC_IF_HANDLE __MIDL_itf_clrinternal_0000_0001_v0_0_s_ifspec;
544
545#ifndef __IEEMemoryManager_INTERFACE_DEFINED__
546#define __IEEMemoryManager_INTERFACE_DEFINED__
547
548/* interface IEEMemoryManager */
549/* [object][local][unique][helpstring][uuid] */
550
551
552EXTERN_C const IID IID_IEEMemoryManager;
553
554#if defined(__cplusplus) && !defined(CINTERFACE)
555
556 MIDL_INTERFACE("17713B61-B59F-4e13-BAAF-91623DC8ADC0")
557 IEEMemoryManager : public IUnknown
558 {
559 public:
560 virtual LPVOID STDMETHODCALLTYPE ClrVirtualAlloc(
561 /* [in] */ LPVOID lpAddress,
562 /* [in] */ SIZE_T dwSize,
563 /* [in] */ DWORD flAllocationType,
564 /* [in] */ DWORD flProtect) = 0;
565
566 virtual BOOL STDMETHODCALLTYPE ClrVirtualFree(
567 /* [in] */ LPVOID lpAddress,
568 /* [in] */ SIZE_T dwSize,
569 /* [in] */ DWORD dwFreeType) = 0;
570
571 virtual SIZE_T STDMETHODCALLTYPE ClrVirtualQuery(
572 /* [in] */ const void *lpAddress,
573 /* [in] */ PMEMORY_BASIC_INFORMATION lpBuffer,
574 /* [in] */ SIZE_T dwLength) = 0;
575
576 virtual BOOL STDMETHODCALLTYPE ClrVirtualProtect(
577 /* [in] */ LPVOID lpAddress,
578 /* [in] */ SIZE_T dwSize,
579 /* [in] */ DWORD flNewProtect,
580 /* [in] */ DWORD *lpflOldProtect) = 0;
581
582 virtual HANDLE STDMETHODCALLTYPE ClrGetProcessHeap( void) = 0;
583
584 virtual HANDLE STDMETHODCALLTYPE ClrHeapCreate(
585 /* [in] */ DWORD flOptions,
586 /* [in] */ SIZE_T dwInitialSize,
587 /* [in] */ SIZE_T dwMaximumSize) = 0;
588
589 virtual BOOL STDMETHODCALLTYPE ClrHeapDestroy(
590 /* [in] */ HANDLE hHeap) = 0;
591
592 virtual LPVOID STDMETHODCALLTYPE ClrHeapAlloc(
593 /* [in] */ HANDLE hHeap,
594 /* [in] */ DWORD dwFlags,
595 /* [in] */ SIZE_T dwBytes) = 0;
596
597 virtual BOOL STDMETHODCALLTYPE ClrHeapFree(
598 /* [in] */ HANDLE hHeap,
599 /* [in] */ DWORD dwFlags,
600 /* [in] */ LPVOID lpMem) = 0;
601
602 virtual BOOL STDMETHODCALLTYPE ClrHeapValidate(
603 /* [in] */ HANDLE hHeap,
604 /* [in] */ DWORD dwFlags,
605 /* [in] */ const void *lpMem) = 0;
606
607 virtual HANDLE STDMETHODCALLTYPE ClrGetProcessExecutableHeap( void) = 0;
608
609 };
610
611
612#else /* C style interface */
613
614 typedef struct IEEMemoryManagerVtbl
615 {
616 BEGIN_INTERFACE
617
618 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
619 IEEMemoryManager * This,
620 /* [in] */ REFIID riid,
621 /* [annotation][iid_is][out] */
622 _COM_Outptr_ void **ppvObject);
623
624 ULONG ( STDMETHODCALLTYPE *AddRef )(
625 IEEMemoryManager * This);
626
627 ULONG ( STDMETHODCALLTYPE *Release )(
628 IEEMemoryManager * This);
629
630 LPVOID ( STDMETHODCALLTYPE *ClrVirtualAlloc )(
631 IEEMemoryManager * This,
632 /* [in] */ LPVOID lpAddress,
633 /* [in] */ SIZE_T dwSize,
634 /* [in] */ DWORD flAllocationType,
635 /* [in] */ DWORD flProtect);
636
637 BOOL ( STDMETHODCALLTYPE *ClrVirtualFree )(
638 IEEMemoryManager * This,
639 /* [in] */ LPVOID lpAddress,
640 /* [in] */ SIZE_T dwSize,
641 /* [in] */ DWORD dwFreeType);
642
643 SIZE_T ( STDMETHODCALLTYPE *ClrVirtualQuery )(
644 IEEMemoryManager * This,
645 /* [in] */ const void *lpAddress,
646 /* [in] */ PMEMORY_BASIC_INFORMATION lpBuffer,
647 /* [in] */ SIZE_T dwLength);
648
649 BOOL ( STDMETHODCALLTYPE *ClrVirtualProtect )(
650 IEEMemoryManager * This,
651 /* [in] */ LPVOID lpAddress,
652 /* [in] */ SIZE_T dwSize,
653 /* [in] */ DWORD flNewProtect,
654 /* [in] */ DWORD *lpflOldProtect);
655
656 HANDLE ( STDMETHODCALLTYPE *ClrGetProcessHeap )(
657 IEEMemoryManager * This);
658
659 HANDLE ( STDMETHODCALLTYPE *ClrHeapCreate )(
660 IEEMemoryManager * This,
661 /* [in] */ DWORD flOptions,
662 /* [in] */ SIZE_T dwInitialSize,
663 /* [in] */ SIZE_T dwMaximumSize);
664
665 BOOL ( STDMETHODCALLTYPE *ClrHeapDestroy )(
666 IEEMemoryManager * This,
667 /* [in] */ HANDLE hHeap);
668
669 LPVOID ( STDMETHODCALLTYPE *ClrHeapAlloc )(
670 IEEMemoryManager * This,
671 /* [in] */ HANDLE hHeap,
672 /* [in] */ DWORD dwFlags,
673 /* [in] */ SIZE_T dwBytes);
674
675 BOOL ( STDMETHODCALLTYPE *ClrHeapFree )(
676 IEEMemoryManager * This,
677 /* [in] */ HANDLE hHeap,
678 /* [in] */ DWORD dwFlags,
679 /* [in] */ LPVOID lpMem);
680
681 BOOL ( STDMETHODCALLTYPE *ClrHeapValidate )(
682 IEEMemoryManager * This,
683 /* [in] */ HANDLE hHeap,
684 /* [in] */ DWORD dwFlags,
685 /* [in] */ const void *lpMem);
686
687 HANDLE ( STDMETHODCALLTYPE *ClrGetProcessExecutableHeap )(
688 IEEMemoryManager * This);
689
690 END_INTERFACE
691 } IEEMemoryManagerVtbl;
692
693 interface IEEMemoryManager
694 {
695 CONST_VTBL struct IEEMemoryManagerVtbl *lpVtbl;
696 };
697
698
699
700#ifdef COBJMACROS
701
702
703#define IEEMemoryManager_QueryInterface(This,riid,ppvObject) \
704 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
705
706#define IEEMemoryManager_AddRef(This) \
707 ( (This)->lpVtbl -> AddRef(This) )
708
709#define IEEMemoryManager_Release(This) \
710 ( (This)->lpVtbl -> Release(This) )
711
712
713#define IEEMemoryManager_ClrVirtualAlloc(This,lpAddress,dwSize,flAllocationType,flProtect) \
714 ( (This)->lpVtbl -> ClrVirtualAlloc(This,lpAddress,dwSize,flAllocationType,flProtect) )
715
716#define IEEMemoryManager_ClrVirtualFree(This,lpAddress,dwSize,dwFreeType) \
717 ( (This)->lpVtbl -> ClrVirtualFree(This,lpAddress,dwSize,dwFreeType) )
718
719#define IEEMemoryManager_ClrVirtualQuery(This,lpAddress,lpBuffer,dwLength) \
720 ( (This)->lpVtbl -> ClrVirtualQuery(This,lpAddress,lpBuffer,dwLength) )
721
722#define IEEMemoryManager_ClrVirtualProtect(This,lpAddress,dwSize,flNewProtect,lpflOldProtect) \
723 ( (This)->lpVtbl -> ClrVirtualProtect(This,lpAddress,dwSize,flNewProtect,lpflOldProtect) )
724
725#define IEEMemoryManager_ClrGetProcessHeap(This) \
726 ( (This)->lpVtbl -> ClrGetProcessHeap(This) )
727
728#define IEEMemoryManager_ClrHeapCreate(This,flOptions,dwInitialSize,dwMaximumSize) \
729 ( (This)->lpVtbl -> ClrHeapCreate(This,flOptions,dwInitialSize,dwMaximumSize) )
730
731#define IEEMemoryManager_ClrHeapDestroy(This,hHeap) \
732 ( (This)->lpVtbl -> ClrHeapDestroy(This,hHeap) )
733
734#define IEEMemoryManager_ClrHeapAlloc(This,hHeap,dwFlags,dwBytes) \
735 ( (This)->lpVtbl -> ClrHeapAlloc(This,hHeap,dwFlags,dwBytes) )
736
737#define IEEMemoryManager_ClrHeapFree(This,hHeap,dwFlags,lpMem) \
738 ( (This)->lpVtbl -> ClrHeapFree(This,hHeap,dwFlags,lpMem) )
739
740#define IEEMemoryManager_ClrHeapValidate(This,hHeap,dwFlags,lpMem) \
741 ( (This)->lpVtbl -> ClrHeapValidate(This,hHeap,dwFlags,lpMem) )
742
743#define IEEMemoryManager_ClrGetProcessExecutableHeap(This) \
744 ( (This)->lpVtbl -> ClrGetProcessExecutableHeap(This) )
745
746#endif /* COBJMACROS */
747
748
749#endif /* C style interface */
750
751
752
753
754#endif /* __IEEMemoryManager_INTERFACE_DEFINED__ */
755
756
757#ifndef __IPrivateManagedExceptionReporting_INTERFACE_DEFINED__
758#define __IPrivateManagedExceptionReporting_INTERFACE_DEFINED__
759
760/* interface IPrivateManagedExceptionReporting */
761/* [object][local][unique][helpstring][uuid] */
762
763
764EXTERN_C const IID IID_IPrivateManagedExceptionReporting;
765
766#if defined(__cplusplus) && !defined(CINTERFACE)
767
768 MIDL_INTERFACE("AD76A023-332D-4298-8001-07AA9350DCA4")
769 IPrivateManagedExceptionReporting : public IUnknown
770 {
771 public:
772 virtual HRESULT STDMETHODCALLTYPE GetBucketParametersForCurrentException(
773 /* [out] */ BucketParameters *pParams) = 0;
774
775 };
776
777
778#else /* C style interface */
779
780 typedef struct IPrivateManagedExceptionReportingVtbl
781 {
782 BEGIN_INTERFACE
783
784 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
785 IPrivateManagedExceptionReporting * This,
786 /* [in] */ REFIID riid,
787 /* [annotation][iid_is][out] */
788 _COM_Outptr_ void **ppvObject);
789
790 ULONG ( STDMETHODCALLTYPE *AddRef )(
791 IPrivateManagedExceptionReporting * This);
792
793 ULONG ( STDMETHODCALLTYPE *Release )(
794 IPrivateManagedExceptionReporting * This);
795
796 HRESULT ( STDMETHODCALLTYPE *GetBucketParametersForCurrentException )(
797 IPrivateManagedExceptionReporting * This,
798 /* [out] */ BucketParameters *pParams);
799
800 END_INTERFACE
801 } IPrivateManagedExceptionReportingVtbl;
802
803 interface IPrivateManagedExceptionReporting
804 {
805 CONST_VTBL struct IPrivateManagedExceptionReportingVtbl *lpVtbl;
806 };
807
808
809
810#ifdef COBJMACROS
811
812
813#define IPrivateManagedExceptionReporting_QueryInterface(This,riid,ppvObject) \
814 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
815
816#define IPrivateManagedExceptionReporting_AddRef(This) \
817 ( (This)->lpVtbl -> AddRef(This) )
818
819#define IPrivateManagedExceptionReporting_Release(This) \
820 ( (This)->lpVtbl -> Release(This) )
821
822
823#define IPrivateManagedExceptionReporting_GetBucketParametersForCurrentException(This,pParams) \
824 ( (This)->lpVtbl -> GetBucketParametersForCurrentException(This,pParams) )
825
826#endif /* COBJMACROS */
827
828
829#endif /* C style interface */
830
831
832
833
834#endif /* __IPrivateManagedExceptionReporting_INTERFACE_DEFINED__ */
835
836
837/* Additional Prototypes for ALL interfaces */
838
839/* end of Additional Prototypes */
840
841#ifdef __cplusplus
842}
843#endif
844
845#endif
846
847
848