/* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.00.0603 */
+ /* File created by MIDL compiler version 8.00.0613 */
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
-#endif // __RPCNDR_H_VERSION__
+#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#endif /* __ICorProfilerCallback7_FWD_DEFINED__ */
+#ifndef __ICorProfilerCallback8_FWD_DEFINED__
+#define __ICorProfilerCallback8_FWD_DEFINED__
+typedef interface ICorProfilerCallback8 ICorProfilerCallback8;
+
+#endif /* __ICorProfilerCallback8_FWD_DEFINED__ */
+
+
#ifndef __ICorProfilerInfo_FWD_DEFINED__
#define __ICorProfilerInfo_FWD_DEFINED__
typedef interface ICorProfilerInfo ICorProfilerInfo;
#endif /* __ICorProfilerInfo7_FWD_DEFINED__ */
+#ifndef __ICorProfilerInfo8_FWD_DEFINED__
+#define __ICorProfilerInfo8_FWD_DEFINED__
+typedef interface ICorProfilerInfo8 ICorProfilerInfo8;
+
+#endif /* __ICorProfilerInfo8_FWD_DEFINED__ */
+
+
#ifndef __ICorProfilerMethodEnum_FWD_DEFINED__
#define __ICorProfilerMethodEnum_FWD_DEFINED__
typedef interface ICorProfilerMethodEnum ICorProfilerMethodEnum;
typedef BYTE *LPBYTE;
+typedef BYTE COR_SIGNATURE;
+
+typedef COR_SIGNATURE *PCOR_SIGNATURE;
+
+typedef const COR_SIGNATURE *PCCOR_SIGNATURE;
+
#ifndef _COR_IL_MAP
#define _COR_IL_MAP
typedef struct _COR_IL_MAP
#endif /* __ICorProfilerCallback7_INTERFACE_DEFINED__ */
-/* interface __MIDL_itf_corprof_0000_0007 */
-/* [local] */
-
-typedef /* [public] */
-enum __MIDL___MIDL_itf_corprof_0000_0007_0001
- {
- COR_PRF_CODEGEN_DISABLE_INLINING = 0x1,
- COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS = 0x2
- } COR_PRF_CODEGEN_FLAGS;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0007_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0007_v0_0_s_ifspec;
-
-#ifndef __ICorProfilerInfo_INTERFACE_DEFINED__
-#define __ICorProfilerInfo_INTERFACE_DEFINED__
+#ifndef __ICorProfilerCallback8_INTERFACE_DEFINED__
+#define __ICorProfilerCallback8_INTERFACE_DEFINED__
-/* interface ICorProfilerInfo */
+/* interface ICorProfilerCallback8 */
/* [local][unique][uuid][object] */
-EXTERN_C const IID IID_ICorProfilerInfo;
+EXTERN_C const IID IID_ICorProfilerCallback8;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("28B5557D-3F3F-48b4-90B2-5F9EEA2F6C48")
- ICorProfilerInfo : public IUnknown
+ MIDL_INTERFACE("5BED9B15-C079-4D47-BFE2-215A140C07E0")
+ ICorProfilerCallback8 : public ICorProfilerCallback7
{
public:
- virtual HRESULT STDMETHODCALLTYPE GetClassFromObject(
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId) = 0;
+ virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationStarted(
+ FunctionID functionId,
+ LPCBYTE ilHeader) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetClassFromToken(
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId) = 0;
+ virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationFinished(
+ FunctionID functionId) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetCodeInfo(
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize) = 0;
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerCallback8Vtbl
+ {
+ BEGIN_INTERFACE
- virtual HRESULT STDMETHODCALLTYPE GetEventMask(
- /* [out] */ DWORD *pdwEvents) = 0;
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
- virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP(
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId) = 0;
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerCallback8 * This);
- virtual HRESULT STDMETHODCALLTYPE GetFunctionFromToken(
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId) = 0;
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerCallback8 * This);
- virtual HRESULT STDMETHODCALLTYPE GetHandleFromThread(
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread) = 0;
+ HRESULT ( STDMETHODCALLTYPE *Initialize )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ IUnknown *pICorProfilerInfoUnk);
- virtual HRESULT STDMETHODCALLTYPE GetObjectSize(
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize) = 0;
+ HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+ ICorProfilerCallback8 * This);
- virtual HRESULT STDMETHODCALLTYPE IsArrayClass(
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank) = 0;
+ HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ AppDomainID appDomainId);
- virtual HRESULT STDMETHODCALLTYPE GetThreadInfo(
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId) = 0;
+ HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ AppDomainID appDomainId,
+ /* [in] */ HRESULT hrStatus);
- virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadID(
- /* [out] */ ThreadID *pThreadId) = 0;
+ HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ AppDomainID appDomainId);
- virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo(
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken) = 0;
+ HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ AppDomainID appDomainId,
+ /* [in] */ HRESULT hrStatus);
- virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo(
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken) = 0;
+ HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ AssemblyID assemblyId);
- virtual HRESULT STDMETHODCALLTYPE SetEventMask(
- /* [in] */ DWORD dwEvents) = 0;
+ HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ AssemblyID assemblyId,
+ /* [in] */ HRESULT hrStatus);
- virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks(
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall) = 0;
+ HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ AssemblyID assemblyId);
- virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper(
- /* [in] */ FunctionIDMapper *pFunc) = 0;
+ HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ AssemblyID assemblyId,
+ /* [in] */ HRESULT hrStatus);
- virtual HRESULT STDMETHODCALLTYPE GetTokenAndMetaDataFromFunction(
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken) = 0;
+ HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ModuleID moduleId);
- virtual HRESULT STDMETHODCALLTYPE GetModuleInfo(
+ HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+ ICorProfilerCallback8 * This,
/* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [annotation][out] */
- _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId) = 0;
+ /* [in] */ HRESULT hrStatus);
- virtual HRESULT STDMETHODCALLTYPE GetModuleMetaData(
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut) = 0;
+ HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ModuleID moduleId);
- virtual HRESULT STDMETHODCALLTYPE GetILFunctionBody(
+ HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+ ICorProfilerCallback8 * This,
/* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize) = 0;
+ /* [in] */ HRESULT hrStatus);
- virtual HRESULT STDMETHODCALLTYPE GetILFunctionBodyAllocator(
+ HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+ ICorProfilerCallback8 * This,
/* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc) = 0;
+ /* [in] */ AssemblyID AssemblyId);
- virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody(
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader) = 0;
+ HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ClassID classId);
- virtual HRESULT STDMETHODCALLTYPE GetAppDomainInfo(
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [annotation][out] */
- _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId) = 0;
+ HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ HRESULT hrStatus);
- virtual HRESULT STDMETHODCALLTYPE GetAssemblyInfo(
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [annotation][out] */
- _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId) = 0;
+ HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ClassID classId);
- virtual HRESULT STDMETHODCALLTYPE SetFunctionReJIT(
- /* [in] */ FunctionID functionId) = 0;
+ HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ HRESULT hrStatus);
- virtual HRESULT STDMETHODCALLTYPE ForceGC( void) = 0;
+ HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId);
- virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap(
+ HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+ ICorProfilerCallback8 * This,
/* [in] */ FunctionID functionId,
- /* [in] */ BOOL fStartJit,
- /* [in] */ ULONG cILMapEntries,
- /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]) = 0;
+ /* [in] */ BOOL fIsSafeToBlock);
- virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionInterface(
- /* [out] */ IUnknown **ppicd) = 0;
+ HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ HRESULT hrStatus,
+ /* [in] */ BOOL fIsSafeToBlock);
- virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionIThisThread(
- /* [out] */ IUnknown **ppicd) = 0;
+ HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId,
+ /* [out] */ BOOL *pbUseCachedFunction);
- virtual HRESULT STDMETHODCALLTYPE GetThreadContext(
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId) = 0;
+ HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_JIT_CACHE result);
- virtual HRESULT STDMETHODCALLTYPE BeginInprocDebugging(
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext) = 0;
+ HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId);
- virtual HRESULT STDMETHODCALLTYPE EndInprocDebugging(
- /* [in] */ DWORD dwProfilerContext) = 0;
+ HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID callerId,
+ /* [in] */ FunctionID calleeId,
+ /* [out] */ BOOL *pfShouldInline);
- virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping(
- /* [in] */ FunctionID functionId,
- /* [in] */ ULONG32 cMap,
- /* [out] */ ULONG32 *pcMap,
- /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0;
+ HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ThreadID threadId);
- };
-
-
-#else /* C style interface */
-
- typedef struct ICorProfilerInfoVtbl
- {
- BEGIN_INTERFACE
+ HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ThreadID threadId);
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerInfo * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- _COM_Outptr_ void **ppvObject);
+ HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ThreadID managedThreadId,
+ /* [in] */ DWORD osThreadId);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerInfo * This);
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+ ICorProfilerCallback8 * This);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerInfo * This);
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ GUID *pCookie,
+ /* [in] */ BOOL fIsAsync);
- HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
- ICorProfilerInfo * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId);
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ GUID *pCookie,
+ /* [in] */ BOOL fIsAsync);
- HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
- ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId);
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+ ICorProfilerCallback8 * This);
- HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
- ICorProfilerInfo * This,
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ GUID *pCookie,
+ /* [in] */ BOOL fIsAsync);
+
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+ ICorProfilerCallback8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+ ICorProfilerCallback8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ GUID *pCookie,
+ /* [in] */ BOOL fIsAsync);
+
+ HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+ ICorProfilerCallback8 * This,
/* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize);
+ /* [in] */ COR_PRF_TRANSITION_REASON reason);
- HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
- ICorProfilerInfo * This,
- /* [out] */ DWORD *pdwEvents);
+ HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_TRANSITION_REASON reason);
- HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
- ICorProfilerInfo * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId);
+ HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
- HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
- ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId);
+ HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+ ICorProfilerCallback8 * This);
- HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
- ICorProfilerInfo * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread);
+ HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+ ICorProfilerCallback8 * This);
- HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
- ICorProfilerInfo * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize);
+ HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+ ICorProfilerCallback8 * This);
- HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
- ICorProfilerInfo * This,
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank);
+ HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+ ICorProfilerCallback8 * This);
- HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
- ICorProfilerInfo * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId);
+ HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ThreadID threadId);
- HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
- ICorProfilerInfo * This,
- /* [out] */ ThreadID *pThreadId);
+ HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ThreadID threadId);
- HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
- ICorProfilerInfo * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken);
+ HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ULONG cMovedObjectIDRanges,
+ /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ],
+ /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ],
+ /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
- HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
- ICorProfilerInfo * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken);
+ HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ObjectID objectId,
+ /* [in] */ ClassID classId);
- HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
- ICorProfilerInfo * This,
- /* [in] */ DWORD dwEvents);
+ HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ULONG cClassCount,
+ /* [size_is][in] */ ClassID classIds[ ],
+ /* [size_is][in] */ ULONG cObjects[ ]);
- HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
- ICorProfilerInfo * This,
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall);
+ HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ObjectID objectId,
+ /* [in] */ ClassID classId,
+ /* [in] */ ULONG cObjectRefs,
+ /* [size_is][in] */ ObjectID objectRefIds[ ]);
- HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
- ICorProfilerInfo * This,
- /* [in] */ FunctionIDMapper *pFunc);
+ HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ULONG cRootRefs,
+ /* [size_is][in] */ ObjectID rootRefIds[ ]);
- HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
- ICorProfilerInfo * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ObjectID thrownObjectId);
- HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
- ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [annotation][out] */
- _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId);
- HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
- ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+ ICorProfilerCallback8 * This);
- HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
- ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId);
- HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
- ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+ ICorProfilerCallback8 * This);
- HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
- ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId);
- HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
- ICorProfilerInfo * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [annotation][out] */
- _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ UINT_PTR __unused);
- HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
- ICorProfilerInfo * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [annotation][out] */
- _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ UINT_PTR __unused);
- HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
- ICorProfilerInfo * This,
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+ ICorProfilerCallback8 * This,
/* [in] */ FunctionID functionId);
- HRESULT ( STDMETHODCALLTYPE *ForceGC )(
- ICorProfilerInfo * This);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+ ICorProfilerCallback8 * This);
- HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
- ICorProfilerInfo * This,
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId);
+
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+ ICorProfilerCallback8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+ ICorProfilerCallback8 * This,
/* [in] */ FunctionID functionId,
- /* [in] */ BOOL fStartJit,
- /* [in] */ ULONG cILMapEntries,
- /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
+ /* [in] */ ObjectID objectId);
- HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
- ICorProfilerInfo * This,
- /* [out] */ IUnknown **ppicd);
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+ ICorProfilerCallback8 * This);
- HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
- ICorProfilerInfo * This,
- /* [out] */ IUnknown **ppicd);
+ HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ClassID wrappedClassId,
+ /* [in] */ REFGUID implementedIID,
+ /* [in] */ void *pVTable,
+ /* [in] */ ULONG cSlots);
- HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
- ICorProfilerInfo * This,
+ HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ClassID wrappedClassId,
+ /* [in] */ REFGUID implementedIID,
+ /* [in] */ void *pVTable);
+
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+ ICorProfilerCallback8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+ ICorProfilerCallback8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+ ICorProfilerCallback8 * This,
/* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId);
+ /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_reads_opt_(cchName) WCHAR name[ ]);
- HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
- ICorProfilerInfo * This,
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext);
+ HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ int cGenerations,
+ /* [size_is][in] */ BOOL generationCollected[ ],
+ /* [in] */ COR_PRF_GC_REASON reason);
- HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
- ICorProfilerInfo * This,
- /* [in] */ DWORD dwProfilerContext);
+ HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ULONG cSurvivingObjectIDRanges,
+ /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
+ /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
- HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
- ICorProfilerInfo * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ULONG32 cMap,
- /* [out] */ ULONG32 *pcMap,
- /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+ ICorProfilerCallback8 * This);
- END_INTERFACE
- } ICorProfilerInfoVtbl;
-
- interface ICorProfilerInfo
- {
- CONST_VTBL struct ICorProfilerInfoVtbl *lpVtbl;
- };
-
-
+ HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ DWORD finalizerFlags,
+ /* [in] */ ObjectID objectID);
+
+ HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ULONG cRootRefs,
+ /* [size_is][in] */ ObjectID rootRefIds[ ],
+ /* [size_is][in] */ COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [size_is][in] */ COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [size_is][in] */ UINT_PTR rootIds[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ GCHandleID handleId,
+ /* [in] */ ObjectID initialObjectId);
+
+ HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ GCHandleID handleId);
+
+ HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ IUnknown *pCorProfilerInfoUnk,
+ /* [in] */ void *pvClientData,
+ /* [in] */ UINT cbClientData);
+
+ HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+ ICorProfilerCallback8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+ ICorProfilerCallback8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ ReJITID rejitId,
+ /* [in] */ BOOL fIsSafeToBlock);
+
+ HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdMethodDef methodId,
+ /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
+
+ HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ ReJITID rejitId,
+ /* [in] */ HRESULT hrStatus,
+ /* [in] */ BOOL fIsSafeToBlock);
+
+ HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdMethodDef methodId,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ HRESULT hrStatus);
+
+ HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ULONG cMovedObjectIDRanges,
+ /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ],
+ /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ],
+ /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ULONG cSurvivingObjectIDRanges,
+ /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
+ /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+ ICorProfilerCallback8 * This,
+ /* [in] */ ULONG cRootRefs,
+ /* [size_is][in] */ ObjectID keyRefIds[ ],
+ /* [size_is][in] */ ObjectID valueRefIds[ ],
+ /* [size_is][in] */ GCHandleID rootIds[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )(
+ ICorProfilerCallback8 * This,
+ /* [string][in] */ const WCHAR *wszAssemblyPath,
+ /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+
+ HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
+ ICorProfilerCallback8 * This,
+ ModuleID moduleId);
+
+ HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )(
+ ICorProfilerCallback8 * This,
+ FunctionID functionId,
+ LPCBYTE ilHeader);
+
+ HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )(
+ ICorProfilerCallback8 * This,
+ FunctionID functionId);
+
+ END_INTERFACE
+ } ICorProfilerCallback8Vtbl;
+
+ interface ICorProfilerCallback8
+ {
+ CONST_VTBL struct ICorProfilerCallback8Vtbl *lpVtbl;
+ };
+
+
#ifdef COBJMACROS
-#define ICorProfilerInfo_QueryInterface(This,riid,ppvObject) \
+#define ICorProfilerCallback8_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define ICorProfilerInfo_AddRef(This) \
+#define ICorProfilerCallback8_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define ICorProfilerInfo_Release(This) \
+#define ICorProfilerCallback8_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define ICorProfilerInfo_GetClassFromObject(This,objectId,pClassId) \
- ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+#define ICorProfilerCallback8_Initialize(This,pICorProfilerInfoUnk) \
+ ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
-#define ICorProfilerInfo_GetClassFromToken(This,moduleId,typeDef,pClassId) \
- ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+#define ICorProfilerCallback8_Shutdown(This) \
+ ( (This)->lpVtbl -> Shutdown(This) )
-#define ICorProfilerInfo_GetCodeInfo(This,functionId,pStart,pcSize) \
- ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
+#define ICorProfilerCallback8_AppDomainCreationStarted(This,appDomainId) \
+ ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
-#define ICorProfilerInfo_GetEventMask(This,pdwEvents) \
- ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+#define ICorProfilerCallback8_AppDomainCreationFinished(This,appDomainId,hrStatus) \
+ ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
-#define ICorProfilerInfo_GetFunctionFromIP(This,ip,pFunctionId) \
- ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+#define ICorProfilerCallback8_AppDomainShutdownStarted(This,appDomainId) \
+ ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
-#define ICorProfilerInfo_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
- ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+#define ICorProfilerCallback8_AppDomainShutdownFinished(This,appDomainId,hrStatus) \
+ ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
-#define ICorProfilerInfo_GetHandleFromThread(This,threadId,phThread) \
- ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerCallback8_AssemblyLoadStarted(This,assemblyId) \
+ ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
-#define ICorProfilerInfo_GetObjectSize(This,objectId,pcSize) \
- ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+#define ICorProfilerCallback8_AssemblyLoadFinished(This,assemblyId,hrStatus) \
+ ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
-#define ICorProfilerInfo_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
- ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
+#define ICorProfilerCallback8_AssemblyUnloadStarted(This,assemblyId) \
+ ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
-#define ICorProfilerInfo_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
- ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
+#define ICorProfilerCallback8_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+ ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
-#define ICorProfilerInfo_GetCurrentThreadID(This,pThreadId) \
- ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerCallback8_ModuleLoadStarted(This,moduleId) \
+ ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
-#define ICorProfilerInfo_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
- ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+#define ICorProfilerCallback8_ModuleLoadFinished(This,moduleId,hrStatus) \
+ ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
-#define ICorProfilerInfo_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
- ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
+#define ICorProfilerCallback8_ModuleUnloadStarted(This,moduleId) \
+ ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
-#define ICorProfilerInfo_SetEventMask(This,dwEvents) \
- ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+#define ICorProfilerCallback8_ModuleUnloadFinished(This,moduleId,hrStatus) \
+ ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
-#define ICorProfilerInfo_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
- ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerCallback8_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \
+ ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
-#define ICorProfilerInfo_SetFunctionIDMapper(This,pFunc) \
- ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerCallback8_ClassLoadStarted(This,classId) \
+ ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
-#define ICorProfilerInfo_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
- ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+#define ICorProfilerCallback8_ClassLoadFinished(This,classId,hrStatus) \
+ ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
-#define ICorProfilerInfo_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
- ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
+#define ICorProfilerCallback8_ClassUnloadStarted(This,classId) \
+ ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
-#define ICorProfilerInfo_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
- ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
+#define ICorProfilerCallback8_ClassUnloadFinished(This,classId,hrStatus) \
+ ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
-#define ICorProfilerInfo_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
- ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
+#define ICorProfilerCallback8_FunctionUnloadStarted(This,functionId) \
+ ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
-#define ICorProfilerInfo_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
- ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
+#define ICorProfilerCallback8_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
+ ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
-#define ICorProfilerInfo_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
- ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+#define ICorProfilerCallback8_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \
+ ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
-#define ICorProfilerInfo_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
- ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
+#define ICorProfilerCallback8_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \
+ ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
-#define ICorProfilerInfo_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
- ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
+#define ICorProfilerCallback8_JITCachedFunctionSearchFinished(This,functionId,result) \
+ ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
-#define ICorProfilerInfo_SetFunctionReJIT(This,functionId) \
- ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
+#define ICorProfilerCallback8_JITFunctionPitched(This,functionId) \
+ ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
-#define ICorProfilerInfo_ForceGC(This) \
- ( (This)->lpVtbl -> ForceGC(This) )
+#define ICorProfilerCallback8_JITInlining(This,callerId,calleeId,pfShouldInline) \
+ ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
-#define ICorProfilerInfo_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
- ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerCallback8_ThreadCreated(This,threadId) \
+ ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
-#define ICorProfilerInfo_GetInprocInspectionInterface(This,ppicd) \
- ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+#define ICorProfilerCallback8_ThreadDestroyed(This,threadId) \
+ ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
-#define ICorProfilerInfo_GetInprocInspectionIThisThread(This,ppicd) \
- ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+#define ICorProfilerCallback8_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
+ ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
-#define ICorProfilerInfo_GetThreadContext(This,threadId,pContextId) \
- ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+#define ICorProfilerCallback8_RemotingClientInvocationStarted(This) \
+ ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
-#define ICorProfilerInfo_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
- ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+#define ICorProfilerCallback8_RemotingClientSendingMessage(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
-#define ICorProfilerInfo_EndInprocDebugging(This,dwProfilerContext) \
- ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+#define ICorProfilerCallback8_RemotingClientReceivingReply(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
-#define ICorProfilerInfo_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
- ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+#define ICorProfilerCallback8_RemotingClientInvocationFinished(This) \
+ ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
-#endif /* COBJMACROS */
+#define ICorProfilerCallback8_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback8_RemotingServerInvocationStarted(This) \
+ ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
-#endif /* C style interface */
+#define ICorProfilerCallback8_RemotingServerInvocationReturned(This) \
+ ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+#define ICorProfilerCallback8_RemotingServerSendingReply(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+#define ICorProfilerCallback8_UnmanagedToManagedTransition(This,functionId,reason) \
+ ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+#define ICorProfilerCallback8_ManagedToUnmanagedTransition(This,functionId,reason) \
+ ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
-#endif /* __ICorProfilerInfo_INTERFACE_DEFINED__ */
+#define ICorProfilerCallback8_RuntimeSuspendStarted(This,suspendReason) \
+ ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+#define ICorProfilerCallback8_RuntimeSuspendFinished(This) \
+ ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
-#ifndef __ICorProfilerInfo2_INTERFACE_DEFINED__
-#define __ICorProfilerInfo2_INTERFACE_DEFINED__
+#define ICorProfilerCallback8_RuntimeSuspendAborted(This) \
+ ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
-/* interface ICorProfilerInfo2 */
-/* [local][unique][uuid][object] */
+#define ICorProfilerCallback8_RuntimeResumeStarted(This) \
+ ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+#define ICorProfilerCallback8_RuntimeResumeFinished(This) \
+ ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
-EXTERN_C const IID IID_ICorProfilerInfo2;
+#define ICorProfilerCallback8_RuntimeThreadSuspended(This,threadId) \
+ ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("CC0935CD-A518-487d-B0BB-A93214E65478")
- ICorProfilerInfo2 : public ICorProfilerInfo
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE DoStackSnapshot(
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks2(
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo2(
- /* [in] */ FunctionID funcId,
- /* [in] */ COR_PRF_FRAME_INFO frameInfo,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken,
- /* [in] */ ULONG32 cTypeArgs,
- /* [out] */ ULONG32 *pcTypeArgs,
- /* [out] */ ClassID typeArgs[ ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetStringLayout(
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetClassLayout(
- /* [in] */ ClassID classID,
- /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
- /* [in] */ ULONG cFieldOffset,
- /* [out] */ ULONG *pcFieldOffset,
- /* [out] */ ULONG *pulClassSize) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo2(
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCodeInfo2(
- /* [in] */ FunctionID functionID,
- /* [in] */ ULONG32 cCodeInfos,
- /* [out] */ ULONG32 *pcCodeInfos,
- /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]) = 0;
+#define ICorProfilerCallback8_RuntimeThreadResumed(This,threadId) \
+ ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+
+#define ICorProfilerCallback8_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \
+ ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+
+#define ICorProfilerCallback8_ObjectAllocated(This,objectId,classId) \
+ ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) )
+
+#define ICorProfilerCallback8_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \
+ ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) )
+
+#define ICorProfilerCallback8_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \
+ ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) )
+
+#define ICorProfilerCallback8_RootReferences(This,cRootRefs,rootRefIds) \
+ ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) )
+
+#define ICorProfilerCallback8_ExceptionThrown(This,thrownObjectId) \
+ ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+
+#define ICorProfilerCallback8_ExceptionSearchFunctionEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+
+#define ICorProfilerCallback8_ExceptionSearchFunctionLeave(This) \
+ ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+
+#define ICorProfilerCallback8_ExceptionSearchFilterEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+
+#define ICorProfilerCallback8_ExceptionSearchFilterLeave(This) \
+ ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+
+#define ICorProfilerCallback8_ExceptionSearchCatcherFound(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+
+#define ICorProfilerCallback8_ExceptionOSHandlerEnter(This,__unused) \
+ ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+
+#define ICorProfilerCallback8_ExceptionOSHandlerLeave(This,__unused) \
+ ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+
+#define ICorProfilerCallback8_ExceptionUnwindFunctionEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+
+#define ICorProfilerCallback8_ExceptionUnwindFunctionLeave(This) \
+ ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+
+#define ICorProfilerCallback8_ExceptionUnwindFinallyEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+
+#define ICorProfilerCallback8_ExceptionUnwindFinallyLeave(This) \
+ ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+
+#define ICorProfilerCallback8_ExceptionCatcherEnter(This,functionId,objectId) \
+ ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+
+#define ICorProfilerCallback8_ExceptionCatcherLeave(This) \
+ ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+
+#define ICorProfilerCallback8_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \
+ ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) )
+
+#define ICorProfilerCallback8_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \
+ ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) )
+
+#define ICorProfilerCallback8_ExceptionCLRCatcherFound(This) \
+ ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+
+#define ICorProfilerCallback8_ExceptionCLRCatcherExecute(This) \
+ ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+
+
+#define ICorProfilerCallback8_ThreadNameChanged(This,threadId,cchName,name) \
+ ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) )
+
+#define ICorProfilerCallback8_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \
+ ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) )
+
+#define ICorProfilerCallback8_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \
+ ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) )
+
+#define ICorProfilerCallback8_GarbageCollectionFinished(This) \
+ ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+
+#define ICorProfilerCallback8_FinalizeableObjectQueued(This,finalizerFlags,objectID) \
+ ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) )
+
+#define ICorProfilerCallback8_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \
+ ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) )
+
+#define ICorProfilerCallback8_HandleCreated(This,handleId,initialObjectId) \
+ ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) )
+
+#define ICorProfilerCallback8_HandleDestroyed(This,handleId) \
+ ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+
+
+#define ICorProfilerCallback8_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \
+ ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+
+#define ICorProfilerCallback8_ProfilerAttachComplete(This) \
+ ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+
+#define ICorProfilerCallback8_ProfilerDetachSucceeded(This) \
+ ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+
+
+#define ICorProfilerCallback8_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \
+ ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) )
+
+#define ICorProfilerCallback8_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \
+ ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) )
+
+#define ICorProfilerCallback8_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \
+ ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) )
+
+#define ICorProfilerCallback8_ReJITError(This,moduleId,methodId,functionId,hrStatus) \
+ ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) )
+
+#define ICorProfilerCallback8_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \
+ ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) )
+
+#define ICorProfilerCallback8_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \
+ ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) )
+
+
+#define ICorProfilerCallback8_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \
+ ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) )
+
+
+#define ICorProfilerCallback8_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \
+ ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) )
+
+
+#define ICorProfilerCallback8_ModuleInMemorySymbolsUpdated(This,moduleId) \
+ ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) )
+
+
+#define ICorProfilerCallback8_DynamicMethodJITCompilationStarted(This,functionId,ilHeader) \
+ ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,ilHeader) )
+
+#define ICorProfilerCallback8_DynamicMethodJITCompilationFinished(This,functionId) \
+ ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerCallback8_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_corprof_0000_0008 */
+/* [local] */
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_corprof_0000_0008_0001
+ {
+ COR_PRF_CODEGEN_DISABLE_INLINING = 0x1,
+ COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS = 0x2
+ } COR_PRF_CODEGEN_FLAGS;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0008_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0008_v0_0_s_ifspec;
+
+#ifndef __ICorProfilerInfo_INTERFACE_DEFINED__
+#define __ICorProfilerInfo_INTERFACE_DEFINED__
+
+/* interface ICorProfilerInfo */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICorProfilerInfo;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("28B5557D-3F3F-48b4-90B2-5F9EEA2F6C48")
+ ICorProfilerInfo : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetClassFromObject(
+ /* [in] */ ObjectID objectId,
+ /* [out] */ ClassID *pClassId) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetClassFromTokenAndTypeArgs(
- /* [in] */ ModuleID moduleID,
+ virtual HRESULT STDMETHODCALLTYPE GetClassFromToken(
+ /* [in] */ ModuleID moduleId,
/* [in] */ mdTypeDef typeDef,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ ClassID *pClassID) = 0;
+ /* [out] */ ClassID *pClassId) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetFunctionFromTokenAndTypeArgs(
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetCodeInfo(
+ /* [in] */ FunctionID functionId,
+ /* [out] */ LPCBYTE *pStart,
+ /* [out] */ ULONG *pcSize) = 0;
- virtual HRESULT STDMETHODCALLTYPE EnumModuleFrozenObjects(
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetEventMask(
+ /* [out] */ DWORD *pdwEvents) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetArrayObjectInfo(
- /* [in] */ ObjectID objectId,
- /* [in] */ ULONG32 cDimensions,
- /* [size_is][out] */ ULONG32 pDimensionSizes[ ],
- /* [size_is][out] */ int pDimensionLowerBounds[ ],
- /* [out] */ BYTE **ppData) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP(
+ /* [in] */ LPCBYTE ip,
+ /* [out] */ FunctionID *pFunctionId) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetBoxClassLayout(
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionFromToken(
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdToken token,
+ /* [out] */ FunctionID *pFunctionId) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetThreadAppDomain(
+ virtual HRESULT STDMETHODCALLTYPE GetHandleFromThread(
/* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId) = 0;
+ /* [out] */ HANDLE *phThread) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetRVAStaticAddress(
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetObjectSize(
+ /* [in] */ ObjectID objectId,
+ /* [out] */ ULONG *pcSize) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetAppDomainStaticAddress(
+ virtual HRESULT STDMETHODCALLTYPE IsArrayClass(
/* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress) = 0;
+ /* [out] */ CorElementType *pBaseElemType,
+ /* [out] */ ClassID *pBaseClassId,
+ /* [out] */ ULONG *pcRank) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress(
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
+ virtual HRESULT STDMETHODCALLTYPE GetThreadInfo(
/* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress) = 0;
+ /* [out] */ DWORD *pdwWin32ThreadId) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetContextStaticAddress(
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadID(
+ /* [out] */ ThreadID *pThreadId) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetStaticFieldInfo(
+ virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo(
/* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo) = 0;
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdTypeDef *pTypeDefToken) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetGenerationBounds(
- /* [in] */ ULONG cObjectRanges,
- /* [out] */ ULONG *pcObjectRanges,
- /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo(
+ /* [in] */ FunctionID functionId,
+ /* [out] */ ClassID *pClassId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdToken *pToken) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetObjectGeneration(
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetEventMask(
+ /* [in] */ DWORD dwEvents) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetNotifiedExceptionClauseInfo(
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks(
+ /* [in] */ FunctionEnter *pFuncEnter,
+ /* [in] */ FunctionLeave *pFuncLeave,
+ /* [in] */ FunctionTailcall *pFuncTailcall) = 0;
- };
-
-
-#else /* C style interface */
-
- typedef struct ICorProfilerInfo2Vtbl
- {
- BEGIN_INTERFACE
+ virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper(
+ /* [in] */ FunctionIDMapper *pFunc) = 0;
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerInfo2 * This,
+ virtual HRESULT STDMETHODCALLTYPE GetTokenAndMetaDataFromFunction(
+ /* [in] */ FunctionID functionId,
/* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- _COM_Outptr_ void **ppvObject);
+ /* [out] */ IUnknown **ppImport,
+ /* [out] */ mdToken *pToken) = 0;
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerInfo2 * This);
+ virtual HRESULT STDMETHODCALLTYPE GetModuleInfo(
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ LPCBYTE *ppBaseLoadAddress,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ AssemblyID *pAssemblyId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetModuleMetaData(
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ DWORD dwOpenFlags,
+ /* [in] */ REFIID riid,
+ /* [out] */ IUnknown **ppOut) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetILFunctionBody(
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdMethodDef methodId,
+ /* [out] */ LPCBYTE *ppMethodHeader,
+ /* [out] */ ULONG *pcbMethodSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetILFunctionBodyAllocator(
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ IMethodMalloc **ppMalloc) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody(
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdMethodDef methodid,
+ /* [in] */ LPCBYTE pbNewILMethodHeader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAppDomainInfo(
+ /* [in] */ AppDomainID appDomainId,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ ProcessID *pProcessId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAssemblyInfo(
+ /* [in] */ AssemblyID assemblyId,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ AppDomainID *pAppDomainId,
+ /* [out] */ ModuleID *pModuleId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetFunctionReJIT(
+ /* [in] */ FunctionID functionId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ForceGC( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap(
+ /* [in] */ FunctionID functionId,
+ /* [in] */ BOOL fStartJit,
+ /* [in] */ ULONG cILMapEntries,
+ /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionInterface(
+ /* [out] */ IUnknown **ppicd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionIThisThread(
+ /* [out] */ IUnknown **ppicd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetThreadContext(
+ /* [in] */ ThreadID threadId,
+ /* [out] */ ContextID *pContextId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE BeginInprocDebugging(
+ /* [in] */ BOOL fThisThreadOnly,
+ /* [out] */ DWORD *pdwProfilerContext) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EndInprocDebugging(
+ /* [in] */ DWORD dwProfilerContext) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping(
+ /* [in] */ FunctionID functionId,
+ /* [in] */ ULONG32 cMap,
+ /* [out] */ ULONG32 *pcMap,
+ /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerInfoVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerInfo * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerInfo * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerInfo2 * This);
+ ICorProfilerInfo * This);
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ObjectID objectId,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdTypeDef typeDef,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ FunctionID functionId,
/* [out] */ LPCBYTE *pStart,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [out] */ DWORD *pdwEvents);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdToken token,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ThreadID threadId,
/* [out] */ HANDLE *phThread);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ObjectID objectId,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ClassID classId,
/* [out] */ CorElementType *pBaseElemType,
/* [out] */ ClassID *pBaseClassId,
/* [out] */ ULONG *pcRank);
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ThreadID threadId,
/* [out] */ DWORD *pdwWin32ThreadId);
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [out] */ ThreadID *pThreadId);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ FunctionID functionId,
/* [out] */ ClassID *pClassId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ DWORD dwEvents);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ FunctionEnter *pFuncEnter,
/* [in] */ FunctionLeave *pFuncLeave,
/* [in] */ FunctionTailcall *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ FunctionIDMapper *pFunc);
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ FunctionID functionId,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppImport,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ AssemblyID *pAssemblyId);
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ModuleID moduleId,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppOut);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodId,
/* [out] */ LPCBYTE *ppMethodHeader,
/* [out] */ ULONG *pcbMethodSize);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ModuleID moduleId,
/* [out] */ IMethodMalloc **ppMalloc);
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodid,
/* [in] */ LPCBYTE pbNewILMethodHeader);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ AppDomainID appDomainId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ProcessID *pProcessId);
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ AssemblyID assemblyId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ModuleID *pModuleId);
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ FunctionID functionId);
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
- ICorProfilerInfo2 * This);
+ ICorProfilerInfo * This);
HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ FunctionID functionId,
/* [in] */ BOOL fStartJit,
/* [in] */ ULONG cILMapEntries,
/* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ ThreadID threadId,
/* [out] */ ContextID *pContextId);
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ BOOL fThisThreadOnly,
/* [out] */ DWORD *pdwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ DWORD dwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
- ICorProfilerInfo2 * This,
+ ICorProfilerInfo * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG32 cMap,
/* [out] */ ULONG32 *pcMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
- HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
- ICorProfilerInfo2 * This,
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize);
-
- HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
- ICorProfilerInfo2 * This,
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall);
-
- HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
- ICorProfilerInfo2 * This,
- /* [in] */ FunctionID funcId,
- /* [in] */ COR_PRF_FRAME_INFO frameInfo,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken,
- /* [in] */ ULONG32 cTypeArgs,
- /* [out] */ ULONG32 *pcTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
- ICorProfilerInfo2 * This,
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
-
- HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
- ICorProfilerInfo2 * This,
- /* [in] */ ClassID classID,
- /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
- /* [in] */ ULONG cFieldOffset,
- /* [out] */ ULONG *pcFieldOffset,
- /* [out] */ ULONG *pulClassSize);
-
- HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
- ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
- ICorProfilerInfo2 * This,
- /* [in] */ FunctionID functionID,
- /* [in] */ ULONG32 cCodeInfos,
- /* [out] */ ULONG32 *pcCodeInfos,
- /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
- ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdTypeDef typeDef,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ ClassID *pClassID);
-
- HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
- ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID);
-
- HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
- ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
-
- HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
- ICorProfilerInfo2 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ULONG32 cDimensions,
- /* [size_is][out] */ ULONG32 pDimensionSizes[ ],
- /* [size_is][out] */ int pDimensionLowerBounds[ ],
- /* [out] */ BYTE **ppData);
-
- HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
- ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset);
-
- HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
- ICorProfilerInfo2 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId);
-
- HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
- ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress);
-
- HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
- ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress);
-
- HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
- ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
-
- HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
- ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress);
-
- HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
- ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
-
- HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
- ICorProfilerInfo2 * This,
- /* [in] */ ULONG cObjectRanges,
- /* [out] */ ULONG *pcObjectRanges,
- /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
- ICorProfilerInfo2 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
-
- HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
- ICorProfilerInfo2 * This,
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
-
END_INTERFACE
- } ICorProfilerInfo2Vtbl;
+ } ICorProfilerInfoVtbl;
- interface ICorProfilerInfo2
+ interface ICorProfilerInfo
{
- CONST_VTBL struct ICorProfilerInfo2Vtbl *lpVtbl;
+ CONST_VTBL struct ICorProfilerInfoVtbl *lpVtbl;
};
#ifdef COBJMACROS
-#define ICorProfilerInfo2_QueryInterface(This,riid,ppvObject) \
+#define ICorProfilerInfo_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define ICorProfilerInfo2_AddRef(This) \
+#define ICorProfilerInfo_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define ICorProfilerInfo2_Release(This) \
+#define ICorProfilerInfo_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define ICorProfilerInfo2_GetClassFromObject(This,objectId,pClassId) \
+#define ICorProfilerInfo_GetClassFromObject(This,objectId,pClassId) \
( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
-#define ICorProfilerInfo2_GetClassFromToken(This,moduleId,typeDef,pClassId) \
+#define ICorProfilerInfo_GetClassFromToken(This,moduleId,typeDef,pClassId) \
( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
-#define ICorProfilerInfo2_GetCodeInfo(This,functionId,pStart,pcSize) \
+#define ICorProfilerInfo_GetCodeInfo(This,functionId,pStart,pcSize) \
( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
-#define ICorProfilerInfo2_GetEventMask(This,pdwEvents) \
+#define ICorProfilerInfo_GetEventMask(This,pdwEvents) \
( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
-#define ICorProfilerInfo2_GetFunctionFromIP(This,ip,pFunctionId) \
+#define ICorProfilerInfo_GetFunctionFromIP(This,ip,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
-#define ICorProfilerInfo2_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+#define ICorProfilerInfo_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
-#define ICorProfilerInfo2_GetHandleFromThread(This,threadId,phThread) \
+#define ICorProfilerInfo_GetHandleFromThread(This,threadId,phThread) \
( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
-#define ICorProfilerInfo2_GetObjectSize(This,objectId,pcSize) \
+#define ICorProfilerInfo_GetObjectSize(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
-#define ICorProfilerInfo2_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
+#define ICorProfilerInfo_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
-#define ICorProfilerInfo2_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+#define ICorProfilerInfo_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
-#define ICorProfilerInfo2_GetCurrentThreadID(This,pThreadId) \
+#define ICorProfilerInfo_GetCurrentThreadID(This,pThreadId) \
( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
-#define ICorProfilerInfo2_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
+#define ICorProfilerInfo_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
-#define ICorProfilerInfo2_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
+#define ICorProfilerInfo_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
-#define ICorProfilerInfo2_SetEventMask(This,dwEvents) \
+#define ICorProfilerInfo_SetEventMask(This,dwEvents) \
( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
-#define ICorProfilerInfo2_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo2_SetFunctionIDMapper(This,pFunc) \
+#define ICorProfilerInfo_SetFunctionIDMapper(This,pFunc) \
( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
-#define ICorProfilerInfo2_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
+#define ICorProfilerInfo_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
-#define ICorProfilerInfo2_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
+#define ICorProfilerInfo_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
-#define ICorProfilerInfo2_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
+#define ICorProfilerInfo_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
-#define ICorProfilerInfo2_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
+#define ICorProfilerInfo_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
-#define ICorProfilerInfo2_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+#define ICorProfilerInfo_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
-#define ICorProfilerInfo2_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
+#define ICorProfilerInfo_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
-#define ICorProfilerInfo2_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
+#define ICorProfilerInfo_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
-#define ICorProfilerInfo2_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
+#define ICorProfilerInfo_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
-#define ICorProfilerInfo2_SetFunctionReJIT(This,functionId) \
+#define ICorProfilerInfo_SetFunctionReJIT(This,functionId) \
( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
-#define ICorProfilerInfo2_ForceGC(This) \
+#define ICorProfilerInfo_ForceGC(This) \
( (This)->lpVtbl -> ForceGC(This) )
-#define ICorProfilerInfo2_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+#define ICorProfilerInfo_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
-#define ICorProfilerInfo2_GetInprocInspectionInterface(This,ppicd) \
+#define ICorProfilerInfo_GetInprocInspectionInterface(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
-#define ICorProfilerInfo2_GetInprocInspectionIThisThread(This,ppicd) \
+#define ICorProfilerInfo_GetInprocInspectionIThisThread(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
-#define ICorProfilerInfo2_GetThreadContext(This,threadId,pContextId) \
+#define ICorProfilerInfo_GetThreadContext(This,threadId,pContextId) \
( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
-#define ICorProfilerInfo2_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+#define ICorProfilerInfo_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
-#define ICorProfilerInfo2_EndInprocDebugging(This,dwProfilerContext) \
+#define ICorProfilerInfo_EndInprocDebugging(This,dwProfilerContext) \
( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
-#define ICorProfilerInfo2_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
+#define ICorProfilerInfo_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
-
-#define ICorProfilerInfo2_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
- ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) )
-
-#define ICorProfilerInfo2_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
- ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-
-#define ICorProfilerInfo2_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
- ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) )
-
-#define ICorProfilerInfo2_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
- ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) )
-
-#define ICorProfilerInfo2_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
- ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) )
-
-#define ICorProfilerInfo2_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
- ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) )
-
-#define ICorProfilerInfo2_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
- ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) )
-
-#define ICorProfilerInfo2_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
- ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) )
-
-#define ICorProfilerInfo2_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
- ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) )
-
-#define ICorProfilerInfo2_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
- ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) )
-
-#define ICorProfilerInfo2_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
- ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) )
-
-#define ICorProfilerInfo2_GetBoxClassLayout(This,classId,pBufferOffset) \
- ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
-
-#define ICorProfilerInfo2_GetThreadAppDomain(This,threadId,pAppDomainId) \
- ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
-
-#define ICorProfilerInfo2_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
- ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
-
-#define ICorProfilerInfo2_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
- ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) )
-
-#define ICorProfilerInfo2_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
- ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) )
-
-#define ICorProfilerInfo2_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
- ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) )
-
-#define ICorProfilerInfo2_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
- ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) )
-
-#define ICorProfilerInfo2_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
- ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) )
-
-#define ICorProfilerInfo2_GetObjectGeneration(This,objectId,range) \
- ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
-
-#define ICorProfilerInfo2_GetNotifiedExceptionClauseInfo(This,pinfo) \
- ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
-
#endif /* COBJMACROS */
-#endif /* __ICorProfilerInfo2_INTERFACE_DEFINED__ */
+#endif /* __ICorProfilerInfo_INTERFACE_DEFINED__ */
-#ifndef __ICorProfilerInfo3_INTERFACE_DEFINED__
-#define __ICorProfilerInfo3_INTERFACE_DEFINED__
+#ifndef __ICorProfilerInfo2_INTERFACE_DEFINED__
+#define __ICorProfilerInfo2_INTERFACE_DEFINED__
-/* interface ICorProfilerInfo3 */
+/* interface ICorProfilerInfo2 */
/* [local][unique][uuid][object] */
-EXTERN_C const IID IID_ICorProfilerInfo3;
+EXTERN_C const IID IID_ICorProfilerInfo2;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("B555ED4F-452A-4E54-8B39-B5360BAD32A0")
- ICorProfilerInfo3 : public ICorProfilerInfo2
+ MIDL_INTERFACE("CC0935CD-A518-487d-B0BB-A93214E65478")
+ ICorProfilerInfo2 : public ICorProfilerInfo
{
public:
- virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions(
- /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0;
+ virtual HRESULT STDMETHODCALLTYPE DoStackSnapshot(
+ /* [in] */ ThreadID thread,
+ /* [in] */ StackSnapshotCallback *callback,
+ /* [in] */ ULONG32 infoFlags,
+ /* [in] */ void *clientData,
+ /* [size_is][in] */ BYTE context[ ],
+ /* [in] */ ULONG32 contextSize) = 0;
- virtual HRESULT STDMETHODCALLTYPE RequestProfilerDetach(
- /* [in] */ DWORD dwExpectedCompletionMilliseconds) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks2(
+ /* [in] */ FunctionEnter2 *pFuncEnter,
+ /* [in] */ FunctionLeave2 *pFuncLeave,
+ /* [in] */ FunctionTailcall2 *pFuncTailcall) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper2(
- /* [in] */ FunctionIDMapper2 *pFunc,
- /* [in] */ void *clientData) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo2(
+ /* [in] */ FunctionID funcId,
+ /* [in] */ COR_PRF_FRAME_INFO frameInfo,
+ /* [out] */ ClassID *pClassId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdToken *pToken,
+ /* [in] */ ULONG32 cTypeArgs,
+ /* [out] */ ULONG32 *pcTypeArgs,
+ /* [out] */ ClassID typeArgs[ ]) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetStringLayout2(
+ virtual HRESULT STDMETHODCALLTYPE GetStringLayout(
+ /* [out] */ ULONG *pBufferLengthOffset,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3(
- /* [in] */ FunctionEnter3 *pFuncEnter3,
- /* [in] */ FunctionLeave3 *pFuncLeave3,
- /* [in] */ FunctionTailcall3 *pFuncTailcall3) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3WithInfo(
- /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
- /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
- /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetClassLayout(
+ /* [in] */ ClassID classID,
+ /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [in] */ ULONG cFieldOffset,
+ /* [out] */ ULONG *pcFieldOffset,
+ /* [out] */ ULONG *pulClassSize) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetFunctionEnter3Info(
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
- /* [out][in] */ ULONG *pcbArgumentInfo,
- /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo2(
+ /* [in] */ ClassID classId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdTypeDef *pTypeDefToken,
+ /* [out] */ ClassID *pParentClassId,
+ /* [in] */ ULONG32 cNumTypeArgs,
+ /* [out] */ ULONG32 *pcNumTypeArgs,
+ /* [out] */ ClassID typeArgs[ ]) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetFunctionLeave3Info(
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
- /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetCodeInfo2(
+ /* [in] */ FunctionID functionID,
+ /* [in] */ ULONG32 cCodeInfos,
+ /* [out] */ ULONG32 *pcCodeInfos,
+ /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetFunctionTailcall3Info(
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetClassFromTokenAndTypeArgs(
+ /* [in] */ ModuleID moduleID,
+ /* [in] */ mdTypeDef typeDef,
+ /* [in] */ ULONG32 cTypeArgs,
+ /* [size_is][in] */ ClassID typeArgs[ ],
+ /* [out] */ ClassID *pClassID) = 0;
- virtual HRESULT STDMETHODCALLTYPE EnumModules(
- /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionFromTokenAndTypeArgs(
+ /* [in] */ ModuleID moduleID,
+ /* [in] */ mdMethodDef funcDef,
+ /* [in] */ ClassID classId,
+ /* [in] */ ULONG32 cTypeArgs,
+ /* [size_is][in] */ ClassID typeArgs[ ],
+ /* [out] */ FunctionID *pFunctionID) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetRuntimeInformation(
- /* [out] */ USHORT *pClrInstanceId,
- /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
- /* [out] */ USHORT *pMajorVersion,
- /* [out] */ USHORT *pMinorVersion,
- /* [out] */ USHORT *pBuildNumber,
- /* [out] */ USHORT *pQFEVersion,
- /* [in] */ ULONG cchVersionString,
- /* [out] */ ULONG *pcchVersionString,
- /* [annotation][out] */
- _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]) = 0;
+ virtual HRESULT STDMETHODCALLTYPE EnumModuleFrozenObjects(
+ /* [in] */ ModuleID moduleID,
+ /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress2(
+ virtual HRESULT STDMETHODCALLTYPE GetArrayObjectInfo(
+ /* [in] */ ObjectID objectId,
+ /* [in] */ ULONG32 cDimensions,
+ /* [size_is][out] */ ULONG32 pDimensionSizes[ ],
+ /* [size_is][out] */ int pDimensionLowerBounds[ ],
+ /* [out] */ BYTE **ppData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetBoxClassLayout(
+ /* [in] */ ClassID classId,
+ /* [out] */ ULONG32 *pBufferOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetThreadAppDomain(
+ /* [in] */ ThreadID threadId,
+ /* [out] */ AppDomainID *pAppDomainId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRVAStaticAddress(
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [out] */ void **ppAddress) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAppDomainStaticAddress(
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
+ /* [out] */ void **ppAddress) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress(
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
/* [in] */ ThreadID threadId,
/* [out] */ void **ppAddress) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetAppDomainsContainingModule(
- /* [in] */ ModuleID moduleId,
- /* [in] */ ULONG32 cAppDomainIds,
- /* [out] */ ULONG32 *pcAppDomainIds,
- /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetContextStaticAddress(
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ ContextID contextId,
+ /* [out] */ void **ppAddress) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetModuleInfo2(
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [annotation][out] */
- _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId,
- /* [out] */ DWORD *pdwModuleFlags) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetStaticFieldInfo(
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetGenerationBounds(
+ /* [in] */ ULONG cObjectRanges,
+ /* [out] */ ULONG *pcObjectRanges,
+ /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetObjectGeneration(
+ /* [in] */ ObjectID objectId,
+ /* [out] */ COR_PRF_GC_GENERATION_RANGE *range) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNotifiedExceptionClauseInfo(
+ /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo) = 0;
};
#else /* C style interface */
- typedef struct ICorProfilerInfo3Vtbl
+ typedef struct ICorProfilerInfo2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerInfo3 * This);
+ ICorProfilerInfo2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerInfo3 * This);
+ ICorProfilerInfo2 * This);
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdTypeDef typeDef,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionID functionId,
/* [out] */ LPCBYTE *pStart,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [out] */ DWORD *pdwEvents);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdToken token,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ThreadID threadId,
/* [out] */ HANDLE *phThread);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classId,
/* [out] */ CorElementType *pBaseElemType,
/* [out] */ ClassID *pBaseClassId,
/* [out] */ ULONG *pcRank);
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ThreadID threadId,
/* [out] */ DWORD *pdwWin32ThreadId);
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [out] */ ThreadID *pThreadId);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionID functionId,
/* [out] */ ClassID *pClassId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ DWORD dwEvents);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionEnter *pFuncEnter,
/* [in] */ FunctionLeave *pFuncLeave,
/* [in] */ FunctionTailcall *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionIDMapper *pFunc);
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionID functionId,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppImport,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ AssemblyID *pAssemblyId);
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppOut);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodId,
/* [out] */ LPCBYTE *ppMethodHeader,
/* [out] */ ULONG *pcbMethodSize);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ IMethodMalloc **ppMalloc);
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodid,
/* [in] */ LPCBYTE pbNewILMethodHeader);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ AppDomainID appDomainId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ProcessID *pProcessId);
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ AssemblyID assemblyId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ModuleID *pModuleId);
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionID functionId);
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
- ICorProfilerInfo3 * This);
+ ICorProfilerInfo2 * This);
HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionID functionId,
/* [in] */ BOOL fStartJit,
/* [in] */ ULONG cILMapEntries,
/* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ThreadID threadId,
/* [out] */ ContextID *pContextId);
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ BOOL fThisThreadOnly,
/* [out] */ DWORD *pdwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ DWORD dwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG32 cMap,
/* [out] */ ULONG32 *pcMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ThreadID thread,
/* [in] */ StackSnapshotCallback *callback,
/* [in] */ ULONG32 infoFlags,
/* [in] */ ULONG32 contextSize);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionEnter2 *pFuncEnter,
/* [in] */ FunctionLeave2 *pFuncLeave,
/* [in] */ FunctionTailcall2 *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionID funcId,
/* [in] */ COR_PRF_FRAME_INFO frameInfo,
/* [out] */ ClassID *pClassId,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [out] */ ULONG *pBufferLengthOffset,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classID,
/* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
/* [in] */ ULONG cFieldOffset,
/* [out] */ ULONG *pulClassSize);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ FunctionID functionID,
/* [in] */ ULONG32 cCodeInfos,
/* [out] */ ULONG32 *pcCodeInfos,
/* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdTypeDef typeDef,
/* [in] */ ULONG32 cTypeArgs,
/* [out] */ ClassID *pClassID);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdMethodDef funcDef,
/* [in] */ ClassID classId,
/* [out] */ FunctionID *pFunctionID);
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ModuleID moduleID,
/* [out] */ ICorProfilerObjectEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ObjectID objectId,
/* [in] */ ULONG32 cDimensions,
/* [size_is][out] */ ULONG32 pDimensionSizes[ ],
/* [out] */ BYTE **ppData);
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classId,
/* [out] */ ULONG32 *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ThreadID threadId,
/* [out] */ AppDomainID *pAppDomainId);
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ThreadID threadId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ContextID contextId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ULONG cObjectRanges,
/* [out] */ ULONG *pcObjectRanges,
/* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]);
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [in] */ ObjectID objectId,
/* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
- ICorProfilerInfo3 * This,
+ ICorProfilerInfo2 * This,
/* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
- HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
- ICorProfilerInfo3 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
-
- HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
- ICorProfilerInfo3 * This,
- /* [in] */ DWORD dwExpectedCompletionMilliseconds);
-
- HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
- ICorProfilerInfo3 * This,
- /* [in] */ FunctionIDMapper2 *pFunc,
- /* [in] */ void *clientData);
-
- HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
- ICorProfilerInfo3 * This,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
-
- HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
- ICorProfilerInfo3 * This,
- /* [in] */ FunctionEnter3 *pFuncEnter3,
- /* [in] */ FunctionLeave3 *pFuncLeave3,
- /* [in] */ FunctionTailcall3 *pFuncTailcall3);
-
- HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
- ICorProfilerInfo3 * This,
- /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
- /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
- /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
-
- HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
- ICorProfilerInfo3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
- /* [out][in] */ ULONG *pcbArgumentInfo,
- /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
-
- HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
- ICorProfilerInfo3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
- /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
-
- HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
- ICorProfilerInfo3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
-
- HRESULT ( STDMETHODCALLTYPE *EnumModules )(
- ICorProfilerInfo3 * This,
- /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
- HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
- ICorProfilerInfo3 * This,
- /* [out] */ USHORT *pClrInstanceId,
- /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
- /* [out] */ USHORT *pMajorVersion,
- /* [out] */ USHORT *pMinorVersion,
- /* [out] */ USHORT *pBuildNumber,
- /* [out] */ USHORT *pQFEVersion,
- /* [in] */ ULONG cchVersionString,
- /* [out] */ ULONG *pcchVersionString,
- /* [annotation][out] */
- _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
- ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
-
- HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
- ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ ULONG32 cAppDomainIds,
- /* [out] */ ULONG32 *pcAppDomainIds,
- /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]);
-
- HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
- ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [annotation][out] */
- _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId,
- /* [out] */ DWORD *pdwModuleFlags);
-
END_INTERFACE
- } ICorProfilerInfo3Vtbl;
+ } ICorProfilerInfo2Vtbl;
- interface ICorProfilerInfo3
+ interface ICorProfilerInfo2
{
- CONST_VTBL struct ICorProfilerInfo3Vtbl *lpVtbl;
+ CONST_VTBL struct ICorProfilerInfo2Vtbl *lpVtbl;
};
#ifdef COBJMACROS
-#define ICorProfilerInfo3_QueryInterface(This,riid,ppvObject) \
+#define ICorProfilerInfo2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define ICorProfilerInfo3_AddRef(This) \
+#define ICorProfilerInfo2_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define ICorProfilerInfo3_Release(This) \
+#define ICorProfilerInfo2_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define ICorProfilerInfo3_GetClassFromObject(This,objectId,pClassId) \
+#define ICorProfilerInfo2_GetClassFromObject(This,objectId,pClassId) \
( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
-#define ICorProfilerInfo3_GetClassFromToken(This,moduleId,typeDef,pClassId) \
+#define ICorProfilerInfo2_GetClassFromToken(This,moduleId,typeDef,pClassId) \
( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
-#define ICorProfilerInfo3_GetCodeInfo(This,functionId,pStart,pcSize) \
+#define ICorProfilerInfo2_GetCodeInfo(This,functionId,pStart,pcSize) \
( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
-#define ICorProfilerInfo3_GetEventMask(This,pdwEvents) \
+#define ICorProfilerInfo2_GetEventMask(This,pdwEvents) \
( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
-#define ICorProfilerInfo3_GetFunctionFromIP(This,ip,pFunctionId) \
+#define ICorProfilerInfo2_GetFunctionFromIP(This,ip,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
-#define ICorProfilerInfo3_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+#define ICorProfilerInfo2_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
-#define ICorProfilerInfo3_GetHandleFromThread(This,threadId,phThread) \
+#define ICorProfilerInfo2_GetHandleFromThread(This,threadId,phThread) \
( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
-#define ICorProfilerInfo3_GetObjectSize(This,objectId,pcSize) \
+#define ICorProfilerInfo2_GetObjectSize(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
-#define ICorProfilerInfo3_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
+#define ICorProfilerInfo2_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
-#define ICorProfilerInfo3_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+#define ICorProfilerInfo2_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
-#define ICorProfilerInfo3_GetCurrentThreadID(This,pThreadId) \
+#define ICorProfilerInfo2_GetCurrentThreadID(This,pThreadId) \
( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
-#define ICorProfilerInfo3_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
+#define ICorProfilerInfo2_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
-#define ICorProfilerInfo3_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
+#define ICorProfilerInfo2_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
-#define ICorProfilerInfo3_SetEventMask(This,dwEvents) \
+#define ICorProfilerInfo2_SetEventMask(This,dwEvents) \
( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
-#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo2_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo3_SetFunctionIDMapper(This,pFunc) \
+#define ICorProfilerInfo2_SetFunctionIDMapper(This,pFunc) \
( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
-#define ICorProfilerInfo3_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
+#define ICorProfilerInfo2_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
-#define ICorProfilerInfo3_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
+#define ICorProfilerInfo2_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
-#define ICorProfilerInfo3_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
+#define ICorProfilerInfo2_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
-#define ICorProfilerInfo3_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
+#define ICorProfilerInfo2_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
-#define ICorProfilerInfo3_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+#define ICorProfilerInfo2_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
-#define ICorProfilerInfo3_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
+#define ICorProfilerInfo2_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
-#define ICorProfilerInfo3_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
+#define ICorProfilerInfo2_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
-#define ICorProfilerInfo3_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
+#define ICorProfilerInfo2_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
-#define ICorProfilerInfo3_SetFunctionReJIT(This,functionId) \
+#define ICorProfilerInfo2_SetFunctionReJIT(This,functionId) \
( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
-#define ICorProfilerInfo3_ForceGC(This) \
+#define ICorProfilerInfo2_ForceGC(This) \
( (This)->lpVtbl -> ForceGC(This) )
-#define ICorProfilerInfo3_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+#define ICorProfilerInfo2_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
-#define ICorProfilerInfo3_GetInprocInspectionInterface(This,ppicd) \
+#define ICorProfilerInfo2_GetInprocInspectionInterface(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
-#define ICorProfilerInfo3_GetInprocInspectionIThisThread(This,ppicd) \
+#define ICorProfilerInfo2_GetInprocInspectionIThisThread(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
-#define ICorProfilerInfo3_GetThreadContext(This,threadId,pContextId) \
+#define ICorProfilerInfo2_GetThreadContext(This,threadId,pContextId) \
( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
-#define ICorProfilerInfo3_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+#define ICorProfilerInfo2_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
-#define ICorProfilerInfo3_EndInprocDebugging(This,dwProfilerContext) \
+#define ICorProfilerInfo2_EndInprocDebugging(This,dwProfilerContext) \
( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
-#define ICorProfilerInfo3_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
+#define ICorProfilerInfo2_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
-#define ICorProfilerInfo3_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
+#define ICorProfilerInfo2_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) )
-#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo2_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo3_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
+#define ICorProfilerInfo2_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) )
-#define ICorProfilerInfo3_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
+#define ICorProfilerInfo2_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) )
-#define ICorProfilerInfo3_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
+#define ICorProfilerInfo2_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) )
-#define ICorProfilerInfo3_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
+#define ICorProfilerInfo2_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) )
-#define ICorProfilerInfo3_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
+#define ICorProfilerInfo2_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerInfo3_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
+#define ICorProfilerInfo2_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) )
-#define ICorProfilerInfo3_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
+#define ICorProfilerInfo2_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) )
-#define ICorProfilerInfo3_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
+#define ICorProfilerInfo2_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) )
-#define ICorProfilerInfo3_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
+#define ICorProfilerInfo2_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) )
-#define ICorProfilerInfo3_GetBoxClassLayout(This,classId,pBufferOffset) \
+#define ICorProfilerInfo2_GetBoxClassLayout(This,classId,pBufferOffset) \
( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
-#define ICorProfilerInfo3_GetThreadAppDomain(This,threadId,pAppDomainId) \
+#define ICorProfilerInfo2_GetThreadAppDomain(This,threadId,pAppDomainId) \
( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
-#define ICorProfilerInfo3_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
+#define ICorProfilerInfo2_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
-#define ICorProfilerInfo3_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
+#define ICorProfilerInfo2_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) )
-#define ICorProfilerInfo3_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
+#define ICorProfilerInfo2_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) )
-#define ICorProfilerInfo3_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
+#define ICorProfilerInfo2_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) )
-#define ICorProfilerInfo3_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
+#define ICorProfilerInfo2_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) )
-#define ICorProfilerInfo3_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
+#define ICorProfilerInfo2_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) )
-#define ICorProfilerInfo3_GetObjectGeneration(This,objectId,range) \
+#define ICorProfilerInfo2_GetObjectGeneration(This,objectId,range) \
( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
-#define ICorProfilerInfo3_GetNotifiedExceptionClauseInfo(This,pinfo) \
+#define ICorProfilerInfo2_GetNotifiedExceptionClauseInfo(This,pinfo) \
( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
-
-#define ICorProfilerInfo3_EnumJITedFunctions(This,ppEnum) \
- ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
-
-#define ICorProfilerInfo3_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
- ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
-
-#define ICorProfilerInfo3_SetFunctionIDMapper2(This,pFunc,clientData) \
- ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
-
-#define ICorProfilerInfo3_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
- ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
-
-#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
- ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
-
-#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
- ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) )
-
-#define ICorProfilerInfo3_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
- ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) )
-
-#define ICorProfilerInfo3_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
- ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) )
-
-#define ICorProfilerInfo3_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
- ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
-
-#define ICorProfilerInfo3_EnumModules(This,ppEnum) \
- ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
-
-#define ICorProfilerInfo3_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
- ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) )
-
-#define ICorProfilerInfo3_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
- ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
-
-#define ICorProfilerInfo3_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
- ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) )
-
-#define ICorProfilerInfo3_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
- ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) )
-
#endif /* COBJMACROS */
-#endif /* __ICorProfilerInfo3_INTERFACE_DEFINED__ */
+#endif /* __ICorProfilerInfo2_INTERFACE_DEFINED__ */
-#ifndef __ICorProfilerObjectEnum_INTERFACE_DEFINED__
-#define __ICorProfilerObjectEnum_INTERFACE_DEFINED__
+#ifndef __ICorProfilerInfo3_INTERFACE_DEFINED__
+#define __ICorProfilerInfo3_INTERFACE_DEFINED__
-/* interface ICorProfilerObjectEnum */
+/* interface ICorProfilerInfo3 */
/* [local][unique][uuid][object] */
-EXTERN_C const IID IID_ICorProfilerObjectEnum;
+EXTERN_C const IID IID_ICorProfilerInfo3;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("2C6269BD-2D13-4321-AE12-6686365FD6AF")
- ICorProfilerObjectEnum : public IUnknown
+ MIDL_INTERFACE("B555ED4F-452A-4E54-8B39-B5360BAD32A0")
+ ICorProfilerInfo3 : public ICorProfilerInfo2
{
public:
- virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+ virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions(
+ /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0;
- virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0;
+ virtual HRESULT STDMETHODCALLTYPE RequestProfilerDetach(
+ /* [in] */ DWORD dwExpectedCompletionMilliseconds) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetCount(
- /* [out] */ ULONG *pcelt) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper2(
+ /* [in] */ FunctionIDMapper2 *pFunc,
+ /* [in] */ void *clientData) = 0;
- virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ObjectID objects[ ],
- /* [out] */ ULONG *pceltFetched) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetStringLayout2(
+ /* [out] */ ULONG *pStringLengthOffset,
+ /* [out] */ ULONG *pBufferOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3(
+ /* [in] */ FunctionEnter3 *pFuncEnter3,
+ /* [in] */ FunctionLeave3 *pFuncLeave3,
+ /* [in] */ FunctionTailcall3 *pFuncTailcall3) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3WithInfo(
+ /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionEnter3Info(
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_ELT_INFO eltInfo,
+ /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [out][in] */ ULONG *pcbArgumentInfo,
+ /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionLeave3Info(
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_ELT_INFO eltInfo,
+ /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionTailcall3Info(
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_ELT_INFO eltInfo,
+ /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumModules(
+ /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRuntimeInformation(
+ /* [out] */ USHORT *pClrInstanceId,
+ /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [out] */ USHORT *pMajorVersion,
+ /* [out] */ USHORT *pMinorVersion,
+ /* [out] */ USHORT *pBuildNumber,
+ /* [out] */ USHORT *pQFEVersion,
+ /* [in] */ ULONG cchVersionString,
+ /* [out] */ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress2(
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ AppDomainID appDomainId,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ void **ppAddress) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetAppDomainsContainingModule(
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ ULONG32 cAppDomainIds,
+ /* [out] */ ULONG32 *pcAppDomainIds,
+ /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetModuleInfo2(
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ LPCBYTE *ppBaseLoadAddress,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ AssemblyID *pAssemblyId,
+ /* [out] */ DWORD *pdwModuleFlags) = 0;
};
#else /* C style interface */
- typedef struct ICorProfilerObjectEnumVtbl
+ typedef struct ICorProfilerInfo3Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerObjectEnum * This,
+ ICorProfilerInfo3 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerObjectEnum * This);
+ ICorProfilerInfo3 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerObjectEnum * This);
+ ICorProfilerInfo3 * This);
- HRESULT ( STDMETHODCALLTYPE *Skip )(
- ICorProfilerObjectEnum * This,
- /* [in] */ ULONG celt);
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ObjectID objectId,
+ /* [out] */ ClassID *pClassId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdTypeDef typeDef,
+ /* [out] */ ClassID *pClassId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionId,
+ /* [out] */ LPCBYTE *pStart,
+ /* [out] */ ULONG *pcSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ DWORD *pdwEvents);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ LPCBYTE ip,
+ /* [out] */ FunctionID *pFunctionId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdToken token,
+ /* [out] */ FunctionID *pFunctionId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ HANDLE *phThread);
+
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ObjectID objectId,
+ /* [out] */ ULONG *pcSize);
+
+ HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [out] */ CorElementType *pBaseElemType,
+ /* [out] */ ClassID *pBaseClassId,
+ /* [out] */ ULONG *pcRank);
+
+ HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ DWORD *pdwWin32ThreadId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ ThreadID *pThreadId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdTypeDef *pTypeDefToken);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionId,
+ /* [out] */ ClassID *pClassId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdToken *pToken);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ DWORD dwEvents);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionEnter *pFuncEnter,
+ /* [in] */ FunctionLeave *pFuncLeave,
+ /* [in] */ FunctionTailcall *pFuncTailcall);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionIDMapper *pFunc);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ REFIID riid,
+ /* [out] */ IUnknown **ppImport,
+ /* [out] */ mdToken *pToken);
+
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ LPCBYTE *ppBaseLoadAddress,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ AssemblyID *pAssemblyId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ DWORD dwOpenFlags,
+ /* [in] */ REFIID riid,
+ /* [out] */ IUnknown **ppOut);
+
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdMethodDef methodId,
+ /* [out] */ LPCBYTE *ppMethodHeader,
+ /* [out] */ ULONG *pcbMethodSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ IMethodMalloc **ppMalloc);
+
+ HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdMethodDef methodid,
+ /* [in] */ LPCBYTE pbNewILMethodHeader);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ AppDomainID appDomainId,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ ProcessID *pProcessId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ AssemblyID assemblyId,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ AppDomainID *pAppDomainId,
+ /* [out] */ ModuleID *pModuleId);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionId);
+
+ HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+ ICorProfilerInfo3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ BOOL fStartJit,
+ /* [in] */ ULONG cILMapEntries,
+ /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ IUnknown **ppicd);
+
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ IUnknown **ppicd);
+
+ HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ ContextID *pContextId);
+
+ HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ BOOL fThisThreadOnly,
+ /* [out] */ DWORD *pdwProfilerContext);
+
+ HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ DWORD dwProfilerContext);
+
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ ULONG32 cMap,
+ /* [out] */ ULONG32 *pcMap,
+ /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ThreadID thread,
+ /* [in] */ StackSnapshotCallback *callback,
+ /* [in] */ ULONG32 infoFlags,
+ /* [in] */ void *clientData,
+ /* [size_is][in] */ BYTE context[ ],
+ /* [in] */ ULONG32 contextSize);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionEnter2 *pFuncEnter,
+ /* [in] */ FunctionLeave2 *pFuncLeave,
+ /* [in] */ FunctionTailcall2 *pFuncTailcall);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID funcId,
+ /* [in] */ COR_PRF_FRAME_INFO frameInfo,
+ /* [out] */ ClassID *pClassId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdToken *pToken,
+ /* [in] */ ULONG32 cTypeArgs,
+ /* [out] */ ULONG32 *pcTypeArgs,
+ /* [out] */ ClassID typeArgs[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ ULONG *pBufferLengthOffset,
+ /* [out] */ ULONG *pStringLengthOffset,
+ /* [out] */ ULONG *pBufferOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classID,
+ /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [in] */ ULONG cFieldOffset,
+ /* [out] */ ULONG *pcFieldOffset,
+ /* [out] */ ULONG *pulClassSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdTypeDef *pTypeDefToken,
+ /* [out] */ ClassID *pParentClassId,
+ /* [in] */ ULONG32 cNumTypeArgs,
+ /* [out] */ ULONG32 *pcNumTypeArgs,
+ /* [out] */ ClassID typeArgs[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionID,
+ /* [in] */ ULONG32 cCodeInfos,
+ /* [out] */ ULONG32 *pcCodeInfos,
+ /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleID,
+ /* [in] */ mdTypeDef typeDef,
+ /* [in] */ ULONG32 cTypeArgs,
+ /* [size_is][in] */ ClassID typeArgs[ ],
+ /* [out] */ ClassID *pClassID);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleID,
+ /* [in] */ mdMethodDef funcDef,
+ /* [in] */ ClassID classId,
+ /* [in] */ ULONG32 cTypeArgs,
+ /* [size_is][in] */ ClassID typeArgs[ ],
+ /* [out] */ FunctionID *pFunctionID);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleID,
+ /* [out] */ ICorProfilerObjectEnum **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ObjectID objectId,
+ /* [in] */ ULONG32 cDimensions,
+ /* [size_is][out] */ ULONG32 pDimensionSizes[ ],
+ /* [size_is][out] */ int pDimensionLowerBounds[ ],
+ /* [out] */ BYTE **ppData);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [out] */ ULONG32 *pBufferOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ AppDomainID *pAppDomainId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [out] */ void **ppAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ AppDomainID appDomainId,
+ /* [out] */ void **ppAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ void **ppAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ ContextID contextId,
+ /* [out] */ void **ppAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ULONG cObjectRanges,
+ /* [out] */ ULONG *pcObjectRanges,
+ /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ObjectID objectId,
+ /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ DWORD dwExpectedCompletionMilliseconds);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionIDMapper2 *pFunc,
+ /* [in] */ void *clientData);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ ULONG *pStringLengthOffset,
+ /* [out] */ ULONG *pBufferOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionEnter3 *pFuncEnter3,
+ /* [in] */ FunctionLeave3 *pFuncLeave3,
+ /* [in] */ FunctionTailcall3 *pFuncTailcall3);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_ELT_INFO eltInfo,
+ /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [out][in] */ ULONG *pcbArgumentInfo,
+ /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_ELT_INFO eltInfo,
+ /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_ELT_INFO eltInfo,
+ /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ ICorProfilerModuleEnum **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+ ICorProfilerInfo3 * This,
+ /* [out] */ USHORT *pClrInstanceId,
+ /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [out] */ USHORT *pMajorVersion,
+ /* [out] */ USHORT *pMinorVersion,
+ /* [out] */ USHORT *pBuildNumber,
+ /* [out] */ USHORT *pQFEVersion,
+ /* [in] */ ULONG cchVersionString,
+ /* [out] */ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ AppDomainID appDomainId,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ void **ppAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ ULONG32 cAppDomainIds,
+ /* [out] */ ULONG32 *pcAppDomainIds,
+ /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
+ ICorProfilerInfo3 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ LPCBYTE *ppBaseLoadAddress,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ AssemblyID *pAssemblyId,
+ /* [out] */ DWORD *pdwModuleFlags);
+
+ END_INTERFACE
+ } ICorProfilerInfo3Vtbl;
+
+ interface ICorProfilerInfo3
+ {
+ CONST_VTBL struct ICorProfilerInfo3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerInfo3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerInfo3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerInfo3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerInfo3_GetClassFromObject(This,objectId,pClassId) \
+ ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+
+#define ICorProfilerInfo3_GetClassFromToken(This,moduleId,typeDef,pClassId) \
+ ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
+
+#define ICorProfilerInfo3_GetCodeInfo(This,functionId,pStart,pcSize) \
+ ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
+
+#define ICorProfilerInfo3_GetEventMask(This,pdwEvents) \
+ ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+
+#define ICorProfilerInfo3_GetFunctionFromIP(This,ip,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+
+#define ICorProfilerInfo3_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+
+#define ICorProfilerInfo3_GetHandleFromThread(This,threadId,phThread) \
+ ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+
+#define ICorProfilerInfo3_GetObjectSize(This,objectId,pcSize) \
+ ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
+
+#define ICorProfilerInfo3_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
+ ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
+
+#define ICorProfilerInfo3_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+ ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
+
+#define ICorProfilerInfo3_GetCurrentThreadID(This,pThreadId) \
+ ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+
+#define ICorProfilerInfo3_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
+ ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
+
+#define ICorProfilerInfo3_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
+ ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
+
+#define ICorProfilerInfo3_SetEventMask(This,dwEvents) \
+ ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+
+#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+
+#define ICorProfilerInfo3_SetFunctionIDMapper(This,pFunc) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+
+#define ICorProfilerInfo3_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
+ ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
+
+#define ICorProfilerInfo3_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
+ ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
+
+#define ICorProfilerInfo3_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
+ ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
+
+#define ICorProfilerInfo3_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
+ ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
+
+#define ICorProfilerInfo3_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+ ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
+
+#define ICorProfilerInfo3_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
+ ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
+
+#define ICorProfilerInfo3_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
+ ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
+
+#define ICorProfilerInfo3_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
+ ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
+
+#define ICorProfilerInfo3_SetFunctionReJIT(This,functionId) \
+ ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
+
+#define ICorProfilerInfo3_ForceGC(This) \
+ ( (This)->lpVtbl -> ForceGC(This) )
+
+#define ICorProfilerInfo3_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+ ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+
+#define ICorProfilerInfo3_GetInprocInspectionInterface(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+
+#define ICorProfilerInfo3_GetInprocInspectionIThisThread(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+
+#define ICorProfilerInfo3_GetThreadContext(This,threadId,pContextId) \
+ ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+
+#define ICorProfilerInfo3_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+ ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+
+#define ICorProfilerInfo3_EndInprocDebugging(This,dwProfilerContext) \
+ ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+
+#define ICorProfilerInfo3_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
+ ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
+
+
+#define ICorProfilerInfo3_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
+ ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) )
+
+#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+
+#define ICorProfilerInfo3_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
+ ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) )
+
+#define ICorProfilerInfo3_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
+ ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) )
+
+#define ICorProfilerInfo3_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
+ ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) )
+
+#define ICorProfilerInfo3_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
+ ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) )
+
+#define ICorProfilerInfo3_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
+ ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) )
+
+#define ICorProfilerInfo3_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
+ ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) )
+
+#define ICorProfilerInfo3_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
+ ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) )
+
+#define ICorProfilerInfo3_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
+ ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) )
+
+#define ICorProfilerInfo3_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
+ ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) )
+
+#define ICorProfilerInfo3_GetBoxClassLayout(This,classId,pBufferOffset) \
+ ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
+
+#define ICorProfilerInfo3_GetThreadAppDomain(This,threadId,pAppDomainId) \
+ ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+
+#define ICorProfilerInfo3_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
+ ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
+
+#define ICorProfilerInfo3_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
+ ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) )
+
+#define ICorProfilerInfo3_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
+ ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) )
+
+#define ICorProfilerInfo3_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
+ ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) )
+
+#define ICorProfilerInfo3_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
+ ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) )
+
+#define ICorProfilerInfo3_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
+ ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) )
+
+#define ICorProfilerInfo3_GetObjectGeneration(This,objectId,range) \
+ ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+
+#define ICorProfilerInfo3_GetNotifiedExceptionClauseInfo(This,pinfo) \
+ ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+
+
+#define ICorProfilerInfo3_EnumJITedFunctions(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+
+#define ICorProfilerInfo3_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+ ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+
+#define ICorProfilerInfo3_SetFunctionIDMapper2(This,pFunc,clientData) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+
+#define ICorProfilerInfo3_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+ ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+
+#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+
+#define ICorProfilerInfo3_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) )
+
+#define ICorProfilerInfo3_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
+ ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) )
+
+#define ICorProfilerInfo3_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
+ ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) )
+
+#define ICorProfilerInfo3_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+ ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
+
+#define ICorProfilerInfo3_EnumModules(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+
+#define ICorProfilerInfo3_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
+ ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) )
+
+#define ICorProfilerInfo3_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
+ ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
+
+#define ICorProfilerInfo3_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
+ ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) )
+
+#define ICorProfilerInfo3_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
+ ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerInfo3_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerObjectEnum_INTERFACE_DEFINED__
+#define __ICorProfilerObjectEnum_INTERFACE_DEFINED__
+
+/* interface ICorProfilerObjectEnum */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICorProfilerObjectEnum;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("2C6269BD-2D13-4321-AE12-6686365FD6AF")
+ ICorProfilerObjectEnum : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCount(
+ /* [out] */ ULONG *pcelt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ ObjectID objects[ ],
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerObjectEnumVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerObjectEnum * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerObjectEnum * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerObjectEnum * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ ICorProfilerObjectEnum * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ ICorProfilerObjectEnum * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ ICorProfilerObjectEnum * This,
+ /* [out] */ ICorProfilerObjectEnum **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCount )(
+ ICorProfilerObjectEnum * This,
+ /* [out] */ ULONG *pcelt);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ ICorProfilerObjectEnum * This,
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ ObjectID objects[ ],
+ /* [out] */ ULONG *pceltFetched);
+
+ END_INTERFACE
+ } ICorProfilerObjectEnumVtbl;
+
+ interface ICorProfilerObjectEnum
+ {
+ CONST_VTBL struct ICorProfilerObjectEnumVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerObjectEnum_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerObjectEnum_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerObjectEnum_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerObjectEnum_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define ICorProfilerObjectEnum_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define ICorProfilerObjectEnum_Clone(This,ppEnum) \
+ ( (This)->lpVtbl -> Clone(This,ppEnum) )
+
+#define ICorProfilerObjectEnum_GetCount(This,pcelt) \
+ ( (This)->lpVtbl -> GetCount(This,pcelt) )
+
+#define ICorProfilerObjectEnum_Next(This,celt,objects,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerObjectEnum_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerFunctionEnum_INTERFACE_DEFINED__
+#define __ICorProfilerFunctionEnum_INTERFACE_DEFINED__
+
+/* interface ICorProfilerFunctionEnum */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICorProfilerFunctionEnum;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("FF71301A-B994-429D-A10B-B345A65280EF")
+ ICorProfilerFunctionEnum : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCount(
+ /* [out] */ ULONG *pcelt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[ ],
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerFunctionEnumVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerFunctionEnum * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerFunctionEnum * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerFunctionEnum * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ ICorProfilerFunctionEnum * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ ICorProfilerFunctionEnum * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ ICorProfilerFunctionEnum * This,
+ /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCount )(
+ ICorProfilerFunctionEnum * This,
+ /* [out] */ ULONG *pcelt);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ ICorProfilerFunctionEnum * This,
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[ ],
+ /* [out] */ ULONG *pceltFetched);
+
+ END_INTERFACE
+ } ICorProfilerFunctionEnumVtbl;
+
+ interface ICorProfilerFunctionEnum
+ {
+ CONST_VTBL struct ICorProfilerFunctionEnumVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerFunctionEnum_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerFunctionEnum_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerFunctionEnum_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerFunctionEnum_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define ICorProfilerFunctionEnum_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define ICorProfilerFunctionEnum_Clone(This,ppEnum) \
+ ( (This)->lpVtbl -> Clone(This,ppEnum) )
+
+#define ICorProfilerFunctionEnum_GetCount(This,pcelt) \
+ ( (This)->lpVtbl -> GetCount(This,pcelt) )
+
+#define ICorProfilerFunctionEnum_Next(This,celt,ids,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerFunctionEnum_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerModuleEnum_INTERFACE_DEFINED__
+#define __ICorProfilerModuleEnum_INTERFACE_DEFINED__
+
+/* interface ICorProfilerModuleEnum */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICorProfilerModuleEnum;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b0266d75-2081-4493-af7f-028ba34db891")
+ ICorProfilerModuleEnum : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCount(
+ /* [out] */ ULONG *pcelt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ ModuleID ids[ ],
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerModuleEnumVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerModuleEnum * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerModuleEnum * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerModuleEnum * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ ICorProfilerModuleEnum * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ ICorProfilerModuleEnum * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ ICorProfilerModuleEnum * This,
+ /* [out] */ ICorProfilerModuleEnum **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCount )(
+ ICorProfilerModuleEnum * This,
+ /* [out] */ ULONG *pcelt);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ ICorProfilerModuleEnum * This,
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ ModuleID ids[ ],
+ /* [out] */ ULONG *pceltFetched);
+
+ END_INTERFACE
+ } ICorProfilerModuleEnumVtbl;
+
+ interface ICorProfilerModuleEnum
+ {
+ CONST_VTBL struct ICorProfilerModuleEnumVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerModuleEnum_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerModuleEnum_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerModuleEnum_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerModuleEnum_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define ICorProfilerModuleEnum_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define ICorProfilerModuleEnum_Clone(This,ppEnum) \
+ ( (This)->lpVtbl -> Clone(This,ppEnum) )
+
+#define ICorProfilerModuleEnum_GetCount(This,pcelt) \
+ ( (This)->lpVtbl -> GetCount(This,pcelt) )
+
+#define ICorProfilerModuleEnum_Next(This,celt,ids,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerModuleEnum_INTERFACE_DEFINED__ */
+
+
+#ifndef __IMethodMalloc_INTERFACE_DEFINED__
+#define __IMethodMalloc_INTERFACE_DEFINED__
+
+/* interface IMethodMalloc */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_IMethodMalloc;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A0EFB28B-6EE2-4d7b-B983-A75EF7BEEDB8")
+ IMethodMalloc : public IUnknown
+ {
+ public:
+ virtual PVOID STDMETHODCALLTYPE Alloc(
+ /* [in] */ ULONG cb) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IMethodMallocVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IMethodMalloc * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IMethodMalloc * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IMethodMalloc * This);
+
+ PVOID ( STDMETHODCALLTYPE *Alloc )(
+ IMethodMalloc * This,
+ /* [in] */ ULONG cb);
+
+ END_INTERFACE
+ } IMethodMallocVtbl;
+
+ interface IMethodMalloc
+ {
+ CONST_VTBL struct IMethodMallocVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IMethodMalloc_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IMethodMalloc_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IMethodMalloc_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IMethodMalloc_Alloc(This,cb) \
+ ( (This)->lpVtbl -> Alloc(This,cb) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IMethodMalloc_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerFunctionControl_INTERFACE_DEFINED__
+#define __ICorProfilerFunctionControl_INTERFACE_DEFINED__
+
+/* interface ICorProfilerFunctionControl */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICorProfilerFunctionControl;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("F0963021-E1EA-4732-8581-E01B0BD3C0C6")
+ ICorProfilerFunctionControl : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE SetCodegenFlags(
+ /* [in] */ DWORD flags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody(
+ /* [in] */ ULONG cbNewILMethodHeader,
+ /* [size_is][in] */ LPCBYTE pbNewILMethodHeader) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap(
+ /* [in] */ ULONG cILMapEntries,
+ /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerFunctionControlVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerFunctionControl * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerFunctionControl * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerFunctionControl * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetCodegenFlags )(
+ ICorProfilerFunctionControl * This,
+ /* [in] */ DWORD flags);
+
+ HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+ ICorProfilerFunctionControl * This,
+ /* [in] */ ULONG cbNewILMethodHeader,
+ /* [size_is][in] */ LPCBYTE pbNewILMethodHeader);
+
+ HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+ ICorProfilerFunctionControl * This,
+ /* [in] */ ULONG cILMapEntries,
+ /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
+
+ END_INTERFACE
+ } ICorProfilerFunctionControlVtbl;
+
+ interface ICorProfilerFunctionControl
+ {
+ CONST_VTBL struct ICorProfilerFunctionControlVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerFunctionControl_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerFunctionControl_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerFunctionControl_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerFunctionControl_SetCodegenFlags(This,flags) \
+ ( (This)->lpVtbl -> SetCodegenFlags(This,flags) )
+
+#define ICorProfilerFunctionControl_SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) \
+ ( (This)->lpVtbl -> SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) )
+
+#define ICorProfilerFunctionControl_SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) \
+ ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerFunctionControl_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo4_INTERFACE_DEFINED__
+#define __ICorProfilerInfo4_INTERFACE_DEFINED__
+
+/* interface ICorProfilerInfo4 */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICorProfilerInfo4;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("0d8fdcaa-6257-47bf-b1bf-94dac88466ee")
+ ICorProfilerInfo4 : public ICorProfilerInfo3
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE EnumThreads(
+ /* [out] */ ICorProfilerThreadEnum **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE InitializeCurrentThread( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RequestReJIT(
+ /* [in] */ ULONG cFunctions,
+ /* [size_is][in] */ ModuleID moduleIds[ ],
+ /* [size_is][in] */ mdMethodDef methodIds[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RequestRevert(
+ /* [in] */ ULONG cFunctions,
+ /* [size_is][in] */ ModuleID moduleIds[ ],
+ /* [size_is][in] */ mdMethodDef methodIds[ ],
+ /* [size_is][out] */ HRESULT status[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCodeInfo3(
+ /* [in] */ FunctionID functionID,
+ /* [in] */ ReJITID reJitId,
+ /* [in] */ ULONG32 cCodeInfos,
+ /* [out] */ ULONG32 *pcCodeInfos,
+ /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP2(
+ /* [in] */ LPCBYTE ip,
+ /* [out] */ FunctionID *pFunctionId,
+ /* [out] */ ReJITID *pReJitId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetReJITIDs(
+ /* [in] */ FunctionID functionId,
+ /* [in] */ ULONG cReJitIds,
+ /* [out] */ ULONG *pcReJitIds,
+ /* [length_is][size_is][out] */ ReJITID reJitIds[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping2(
+ /* [in] */ FunctionID functionId,
+ /* [in] */ ReJITID reJitId,
+ /* [in] */ ULONG32 cMap,
+ /* [out] */ ULONG32 *pcMap,
+ /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions2(
+ /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetObjectSize2(
+ /* [in] */ ObjectID objectId,
+ /* [out] */ SIZE_T *pcSize) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerInfo4Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerInfo4 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerInfo4 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ObjectID objectId,
+ /* [out] */ ClassID *pClassId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdTypeDef typeDef,
+ /* [out] */ ClassID *pClassId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [out] */ LPCBYTE *pStart,
+ /* [out] */ ULONG *pcSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ DWORD *pdwEvents);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ LPCBYTE ip,
+ /* [out] */ FunctionID *pFunctionId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdToken token,
+ /* [out] */ FunctionID *pFunctionId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ HANDLE *phThread);
+
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ObjectID objectId,
+ /* [out] */ ULONG *pcSize);
+
+ HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [out] */ CorElementType *pBaseElemType,
+ /* [out] */ ClassID *pBaseClassId,
+ /* [out] */ ULONG *pcRank);
+
+ HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ DWORD *pdwWin32ThreadId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ ThreadID *pThreadId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdTypeDef *pTypeDefToken);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [out] */ ClassID *pClassId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdToken *pToken);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ DWORD dwEvents);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionEnter *pFuncEnter,
+ /* [in] */ FunctionLeave *pFuncLeave,
+ /* [in] */ FunctionTailcall *pFuncTailcall);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionIDMapper *pFunc);
+
+ HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ REFIID riid,
+ /* [out] */ IUnknown **ppImport,
+ /* [out] */ mdToken *pToken);
+
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ LPCBYTE *ppBaseLoadAddress,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ AssemblyID *pAssemblyId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ DWORD dwOpenFlags,
+ /* [in] */ REFIID riid,
+ /* [out] */ IUnknown **ppOut);
+
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdMethodDef methodId,
+ /* [out] */ LPCBYTE *ppMethodHeader,
+ /* [out] */ ULONG *pcbMethodSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ IMethodMalloc **ppMalloc);
+
+ HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ mdMethodDef methodid,
+ /* [in] */ LPCBYTE pbNewILMethodHeader);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ AppDomainID appDomainId,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ ProcessID *pProcessId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ AssemblyID assemblyId,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ AppDomainID *pAppDomainId,
+ /* [out] */ ModuleID *pModuleId);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId);
+
+ HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+ ICorProfilerInfo4 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ BOOL fStartJit,
+ /* [in] */ ULONG cILMapEntries,
+ /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ IUnknown **ppicd);
+
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ IUnknown **ppicd);
+
+ HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ ContextID *pContextId);
+
+ HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ BOOL fThisThreadOnly,
+ /* [out] */ DWORD *pdwProfilerContext);
+
+ HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ DWORD dwProfilerContext);
+
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ ULONG32 cMap,
+ /* [out] */ ULONG32 *pcMap,
+ /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ThreadID thread,
+ /* [in] */ StackSnapshotCallback *callback,
+ /* [in] */ ULONG32 infoFlags,
+ /* [in] */ void *clientData,
+ /* [size_is][in] */ BYTE context[ ],
+ /* [in] */ ULONG32 contextSize);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionEnter2 *pFuncEnter,
+ /* [in] */ FunctionLeave2 *pFuncLeave,
+ /* [in] */ FunctionTailcall2 *pFuncTailcall);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID funcId,
+ /* [in] */ COR_PRF_FRAME_INFO frameInfo,
+ /* [out] */ ClassID *pClassId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdToken *pToken,
+ /* [in] */ ULONG32 cTypeArgs,
+ /* [out] */ ULONG32 *pcTypeArgs,
+ /* [out] */ ClassID typeArgs[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ ULONG *pBufferLengthOffset,
+ /* [out] */ ULONG *pStringLengthOffset,
+ /* [out] */ ULONG *pBufferOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classID,
+ /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [in] */ ULONG cFieldOffset,
+ /* [out] */ ULONG *pcFieldOffset,
+ /* [out] */ ULONG *pulClassSize);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [out] */ ModuleID *pModuleId,
+ /* [out] */ mdTypeDef *pTypeDefToken,
+ /* [out] */ ClassID *pParentClassId,
+ /* [in] */ ULONG32 cNumTypeArgs,
+ /* [out] */ ULONG32 *pcNumTypeArgs,
+ /* [out] */ ClassID typeArgs[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionID,
+ /* [in] */ ULONG32 cCodeInfos,
+ /* [out] */ ULONG32 *pcCodeInfos,
+ /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleID,
+ /* [in] */ mdTypeDef typeDef,
+ /* [in] */ ULONG32 cTypeArgs,
+ /* [size_is][in] */ ClassID typeArgs[ ],
+ /* [out] */ ClassID *pClassID);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleID,
+ /* [in] */ mdMethodDef funcDef,
+ /* [in] */ ClassID classId,
+ /* [in] */ ULONG32 cTypeArgs,
+ /* [size_is][in] */ ClassID typeArgs[ ],
+ /* [out] */ FunctionID *pFunctionID);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleID,
+ /* [out] */ ICorProfilerObjectEnum **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ObjectID objectId,
+ /* [in] */ ULONG32 cDimensions,
+ /* [size_is][out] */ ULONG32 pDimensionSizes[ ],
+ /* [size_is][out] */ int pDimensionLowerBounds[ ],
+ /* [out] */ BYTE **ppData);
+
+ HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [out] */ ULONG32 *pBufferOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ AppDomainID *pAppDomainId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [out] */ void **ppAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ AppDomainID appDomainId,
+ /* [out] */ void **ppAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ void **ppAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ ContextID contextId,
+ /* [out] */ void **ppAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ULONG cObjectRanges,
+ /* [out] */ ULONG *pcObjectRanges,
+ /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+
+ HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ObjectID objectId,
+ /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+
+ HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ DWORD dwExpectedCompletionMilliseconds);
+
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionIDMapper2 *pFunc,
+ /* [in] */ void *clientData);
+
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ ULONG *pStringLengthOffset,
+ /* [out] */ ULONG *pBufferOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionEnter3 *pFuncEnter3,
+ /* [in] */ FunctionLeave3 *pFuncLeave3,
+ /* [in] */ FunctionTailcall3 *pFuncTailcall3);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_ELT_INFO eltInfo,
+ /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [out][in] */ ULONG *pcbArgumentInfo,
+ /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ICorProfilerObjectEnum * This);
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_ELT_INFO eltInfo,
+ /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
- HRESULT ( STDMETHODCALLTYPE *Clone )(
- ICorProfilerObjectEnum * This,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ COR_PRF_ELT_INFO eltInfo,
+ /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
- HRESULT ( STDMETHODCALLTYPE *GetCount )(
- ICorProfilerObjectEnum * This,
- /* [out] */ ULONG *pcelt);
+ HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ ICorProfilerModuleEnum **ppEnum);
- HRESULT ( STDMETHODCALLTYPE *Next )(
- ICorProfilerObjectEnum * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ObjectID objects[ ],
- /* [out] */ ULONG *pceltFetched);
+ HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ USHORT *pClrInstanceId,
+ /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [out] */ USHORT *pMajorVersion,
+ /* [out] */ USHORT *pMinorVersion,
+ /* [out] */ USHORT *pBuildNumber,
+ /* [out] */ USHORT *pQFEVersion,
+ /* [in] */ ULONG cchVersionString,
+ /* [out] */ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
- END_INTERFACE
- } ICorProfilerObjectEnumVtbl;
-
- interface ICorProfilerObjectEnum
- {
- CONST_VTBL struct ICorProfilerObjectEnumVtbl *lpVtbl;
- };
-
-
-
-#ifdef COBJMACROS
-
-
-#define ICorProfilerObjectEnum_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-
-#define ICorProfilerObjectEnum_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
-
-#define ICorProfilerObjectEnum_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
-
-
-#define ICorProfilerObjectEnum_Skip(This,celt) \
- ( (This)->lpVtbl -> Skip(This,celt) )
-
-#define ICorProfilerObjectEnum_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
-
-#define ICorProfilerObjectEnum_Clone(This,ppEnum) \
- ( (This)->lpVtbl -> Clone(This,ppEnum) )
-
-#define ICorProfilerObjectEnum_GetCount(This,pcelt) \
- ( (This)->lpVtbl -> GetCount(This,pcelt) )
-
-#define ICorProfilerObjectEnum_Next(This,celt,objects,pceltFetched) \
- ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) )
-
-#endif /* COBJMACROS */
-
-
-#endif /* C style interface */
-
-
-
-
-#endif /* __ICorProfilerObjectEnum_INTERFACE_DEFINED__ */
-
-
-#ifndef __ICorProfilerFunctionEnum_INTERFACE_DEFINED__
-#define __ICorProfilerFunctionEnum_INTERFACE_DEFINED__
-
-/* interface ICorProfilerFunctionEnum */
-/* [local][unique][uuid][object] */
-
-
-EXTERN_C const IID IID_ICorProfilerFunctionEnum;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("FF71301A-B994-429D-A10B-B345A65280EF")
- ICorProfilerFunctionEnum : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt) = 0;
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ClassID classId,
+ /* [in] */ mdFieldDef fieldToken,
+ /* [in] */ AppDomainID appDomainId,
+ /* [in] */ ThreadID threadId,
+ /* [out] */ void **ppAddress);
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ ULONG32 cAppDomainIds,
+ /* [out] */ ULONG32 *pcAppDomainIds,
+ /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]);
- virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0;
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ LPCBYTE *ppBaseLoadAddress,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [out] */ AssemblyID *pAssemblyId,
+ /* [out] */ DWORD *pdwModuleFlags);
- virtual HRESULT STDMETHODCALLTYPE GetCount(
- /* [out] */ ULONG *pcelt) = 0;
+ HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
+ ICorProfilerInfo4 * This,
+ /* [out] */ ICorProfilerThreadEnum **ppEnum);
- virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[ ],
- /* [out] */ ULONG *pceltFetched) = 0;
+ HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+ ICorProfilerInfo4 * This);
- };
-
-
-#else /* C style interface */
-
- typedef struct ICorProfilerFunctionEnumVtbl
- {
- BEGIN_INTERFACE
+ HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ULONG cFunctions,
+ /* [size_is][in] */ ModuleID moduleIds[ ],
+ /* [size_is][in] */ mdMethodDef methodIds[ ]);
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerFunctionEnum * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- _COM_Outptr_ void **ppvObject);
+ HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ULONG cFunctions,
+ /* [size_is][in] */ ModuleID moduleIds[ ],
+ /* [size_is][in] */ mdMethodDef methodIds[ ],
+ /* [size_is][out] */ HRESULT status[ ]);
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerFunctionEnum * This);
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionID,
+ /* [in] */ ReJITID reJitId,
+ /* [in] */ ULONG32 cCodeInfos,
+ /* [out] */ ULONG32 *pcCodeInfos,
+ /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
- ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerFunctionEnum * This);
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ LPCBYTE ip,
+ /* [out] */ FunctionID *pFunctionId,
+ /* [out] */ ReJITID *pReJitId);
- HRESULT ( STDMETHODCALLTYPE *Skip )(
- ICorProfilerFunctionEnum * This,
- /* [in] */ ULONG celt);
+ HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ ULONG cReJitIds,
+ /* [out] */ ULONG *pcReJitIds,
+ /* [length_is][size_is][out] */ ReJITID reJitIds[ ]);
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ICorProfilerFunctionEnum * This);
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ FunctionID functionId,
+ /* [in] */ ReJITID reJitId,
+ /* [in] */ ULONG32 cMap,
+ /* [out] */ ULONG32 *pcMap,
+ /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
- HRESULT ( STDMETHODCALLTYPE *Clone )(
- ICorProfilerFunctionEnum * This,
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
+ ICorProfilerInfo4 * This,
/* [out] */ ICorProfilerFunctionEnum **ppEnum);
- HRESULT ( STDMETHODCALLTYPE *GetCount )(
- ICorProfilerFunctionEnum * This,
- /* [out] */ ULONG *pcelt);
-
- HRESULT ( STDMETHODCALLTYPE *Next )(
- ICorProfilerFunctionEnum * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[ ],
- /* [out] */ ULONG *pceltFetched);
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+ ICorProfilerInfo4 * This,
+ /* [in] */ ObjectID objectId,
+ /* [out] */ SIZE_T *pcSize);
END_INTERFACE
- } ICorProfilerFunctionEnumVtbl;
+ } ICorProfilerInfo4Vtbl;
- interface ICorProfilerFunctionEnum
+ interface ICorProfilerInfo4
{
- CONST_VTBL struct ICorProfilerFunctionEnumVtbl *lpVtbl;
+ CONST_VTBL struct ICorProfilerInfo4Vtbl *lpVtbl;
};
#ifdef COBJMACROS
-#define ICorProfilerFunctionEnum_QueryInterface(This,riid,ppvObject) \
+#define ICorProfilerInfo4_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define ICorProfilerFunctionEnum_AddRef(This) \
+#define ICorProfilerInfo4_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define ICorProfilerFunctionEnum_Release(This) \
+#define ICorProfilerInfo4_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define ICorProfilerFunctionEnum_Skip(This,celt) \
- ( (This)->lpVtbl -> Skip(This,celt) )
+#define ICorProfilerInfo4_GetClassFromObject(This,objectId,pClassId) \
+ ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
-#define ICorProfilerFunctionEnum_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
+#define ICorProfilerInfo4_GetClassFromToken(This,moduleId,typeDef,pClassId) \
+ ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
-#define ICorProfilerFunctionEnum_Clone(This,ppEnum) \
- ( (This)->lpVtbl -> Clone(This,ppEnum) )
+#define ICorProfilerInfo4_GetCodeInfo(This,functionId,pStart,pcSize) \
+ ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
-#define ICorProfilerFunctionEnum_GetCount(This,pcelt) \
- ( (This)->lpVtbl -> GetCount(This,pcelt) )
+#define ICorProfilerInfo4_GetEventMask(This,pdwEvents) \
+ ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
-#define ICorProfilerFunctionEnum_Next(This,celt,ids,pceltFetched) \
- ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) )
+#define ICorProfilerInfo4_GetFunctionFromIP(This,ip,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+
+#define ICorProfilerInfo4_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
-#endif /* COBJMACROS */
+#define ICorProfilerInfo4_GetHandleFromThread(This,threadId,phThread) \
+ ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+#define ICorProfilerInfo4_GetObjectSize(This,objectId,pcSize) \
+ ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
-#endif /* C style interface */
+#define ICorProfilerInfo4_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
+ ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
+#define ICorProfilerInfo4_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+ ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
+#define ICorProfilerInfo4_GetCurrentThreadID(This,pThreadId) \
+ ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+#define ICorProfilerInfo4_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
+ ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
-#endif /* __ICorProfilerFunctionEnum_INTERFACE_DEFINED__ */
+#define ICorProfilerInfo4_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
+ ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
+#define ICorProfilerInfo4_SetEventMask(This,dwEvents) \
+ ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
-#ifndef __ICorProfilerModuleEnum_INTERFACE_DEFINED__
-#define __ICorProfilerModuleEnum_INTERFACE_DEFINED__
+#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-/* interface ICorProfilerModuleEnum */
-/* [local][unique][uuid][object] */
+#define ICorProfilerInfo4_SetFunctionIDMapper(This,pFunc) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+#define ICorProfilerInfo4_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
+ ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
-EXTERN_C const IID IID_ICorProfilerModuleEnum;
+#define ICorProfilerInfo4_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
+ ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("b0266d75-2081-4493-af7f-028ba34db891")
- ICorProfilerModuleEnum : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCount(
- /* [out] */ ULONG *pcelt) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ModuleID ids[ ],
- /* [out] */ ULONG *pceltFetched) = 0;
-
- };
-
-
-#else /* C style interface */
+#define ICorProfilerInfo4_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
+ ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
- typedef struct ICorProfilerModuleEnumVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerModuleEnum * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerModuleEnum * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerModuleEnum * This);
-
- HRESULT ( STDMETHODCALLTYPE *Skip )(
- ICorProfilerModuleEnum * This,
- /* [in] */ ULONG celt);
-
- HRESULT ( STDMETHODCALLTYPE *Reset )(
- ICorProfilerModuleEnum * This);
-
- HRESULT ( STDMETHODCALLTYPE *Clone )(
- ICorProfilerModuleEnum * This,
- /* [out] */ ICorProfilerModuleEnum **ppEnum);
-
- HRESULT ( STDMETHODCALLTYPE *GetCount )(
- ICorProfilerModuleEnum * This,
- /* [out] */ ULONG *pcelt);
-
- HRESULT ( STDMETHODCALLTYPE *Next )(
- ICorProfilerModuleEnum * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ModuleID ids[ ],
- /* [out] */ ULONG *pceltFetched);
-
- END_INTERFACE
- } ICorProfilerModuleEnumVtbl;
+#define ICorProfilerInfo4_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
+ ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
- interface ICorProfilerModuleEnum
- {
- CONST_VTBL struct ICorProfilerModuleEnumVtbl *lpVtbl;
- };
+#define ICorProfilerInfo4_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+ ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
-
+#define ICorProfilerInfo4_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
+ ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
-#ifdef COBJMACROS
+#define ICorProfilerInfo4_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
+ ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
+#define ICorProfilerInfo4_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
+ ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
-#define ICorProfilerModuleEnum_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+#define ICorProfilerInfo4_SetFunctionReJIT(This,functionId) \
+ ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
-#define ICorProfilerModuleEnum_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo4_ForceGC(This) \
+ ( (This)->lpVtbl -> ForceGC(This) )
-#define ICorProfilerModuleEnum_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo4_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+ ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo4_GetInprocInspectionInterface(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
-#define ICorProfilerModuleEnum_Skip(This,celt) \
- ( (This)->lpVtbl -> Skip(This,celt) )
+#define ICorProfilerInfo4_GetInprocInspectionIThisThread(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
-#define ICorProfilerModuleEnum_Reset(This) \
- ( (This)->lpVtbl -> Reset(This) )
+#define ICorProfilerInfo4_GetThreadContext(This,threadId,pContextId) \
+ ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
-#define ICorProfilerModuleEnum_Clone(This,ppEnum) \
- ( (This)->lpVtbl -> Clone(This,ppEnum) )
+#define ICorProfilerInfo4_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+ ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
-#define ICorProfilerModuleEnum_GetCount(This,pcelt) \
- ( (This)->lpVtbl -> GetCount(This,pcelt) )
+#define ICorProfilerInfo4_EndInprocDebugging(This,dwProfilerContext) \
+ ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
-#define ICorProfilerModuleEnum_Next(This,celt,ids,pceltFetched) \
- ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) )
+#define ICorProfilerInfo4_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
+ ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
-#endif /* COBJMACROS */
+#define ICorProfilerInfo4_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
+ ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) )
-#endif /* C style interface */
+#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+#define ICorProfilerInfo4_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
+ ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) )
+#define ICorProfilerInfo4_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
+ ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo4_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
+ ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) )
-#endif /* __ICorProfilerModuleEnum_INTERFACE_DEFINED__ */
+#define ICorProfilerInfo4_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
+ ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) )
+#define ICorProfilerInfo4_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
+ ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) )
-#ifndef __IMethodMalloc_INTERFACE_DEFINED__
-#define __IMethodMalloc_INTERFACE_DEFINED__
+#define ICorProfilerInfo4_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
+ ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) )
-/* interface IMethodMalloc */
-/* [local][unique][uuid][object] */
+#define ICorProfilerInfo4_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
+ ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) )
+#define ICorProfilerInfo4_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
+ ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) )
-EXTERN_C const IID IID_IMethodMalloc;
+#define ICorProfilerInfo4_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
+ ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) )
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("A0EFB28B-6EE2-4d7b-B983-A75EF7BEEDB8")
- IMethodMalloc : public IUnknown
- {
- public:
- virtual PVOID STDMETHODCALLTYPE Alloc(
- /* [in] */ ULONG cb) = 0;
-
- };
-
-
-#else /* C style interface */
+#define ICorProfilerInfo4_GetBoxClassLayout(This,classId,pBufferOffset) \
+ ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
- typedef struct IMethodMallocVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- IMethodMalloc * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- IMethodMalloc * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- IMethodMalloc * This);
-
- PVOID ( STDMETHODCALLTYPE *Alloc )(
- IMethodMalloc * This,
- /* [in] */ ULONG cb);
-
- END_INTERFACE
- } IMethodMallocVtbl;
+#define ICorProfilerInfo4_GetThreadAppDomain(This,threadId,pAppDomainId) \
+ ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
- interface IMethodMalloc
- {
- CONST_VTBL struct IMethodMallocVtbl *lpVtbl;
- };
+#define ICorProfilerInfo4_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
+ ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
-
+#define ICorProfilerInfo4_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
+ ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) )
-#ifdef COBJMACROS
+#define ICorProfilerInfo4_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
+ ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) )
+#define ICorProfilerInfo4_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
+ ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) )
-#define IMethodMalloc_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+#define ICorProfilerInfo4_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
+ ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) )
-#define IMethodMalloc_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo4_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
+ ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) )
-#define IMethodMalloc_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo4_GetObjectGeneration(This,objectId,range) \
+ ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+#define ICorProfilerInfo4_GetNotifiedExceptionClauseInfo(This,pinfo) \
+ ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
-#define IMethodMalloc_Alloc(This,cb) \
- ( (This)->lpVtbl -> Alloc(This,cb) )
-#endif /* COBJMACROS */
+#define ICorProfilerInfo4_EnumJITedFunctions(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+#define ICorProfilerInfo4_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+ ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
-#endif /* C style interface */
+#define ICorProfilerInfo4_SetFunctionIDMapper2(This,pFunc,clientData) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+#define ICorProfilerInfo4_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+ ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
+#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) )
-#endif /* __IMethodMalloc_INTERFACE_DEFINED__ */
+#define ICorProfilerInfo4_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
+ ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) )
+#define ICorProfilerInfo4_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
+ ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) )
-#ifndef __ICorProfilerFunctionControl_INTERFACE_DEFINED__
-#define __ICorProfilerFunctionControl_INTERFACE_DEFINED__
+#define ICorProfilerInfo4_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+ ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
-/* interface ICorProfilerFunctionControl */
-/* [local][unique][uuid][object] */
+#define ICorProfilerInfo4_EnumModules(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumModules(This,ppEnum) )
+#define ICorProfilerInfo4_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
+ ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) )
-EXTERN_C const IID IID_ICorProfilerFunctionControl;
+#define ICorProfilerInfo4_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
+ ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
- MIDL_INTERFACE("F0963021-E1EA-4732-8581-E01B0BD3C0C6")
- ICorProfilerFunctionControl : public IUnknown
- {
- public:
- virtual HRESULT STDMETHODCALLTYPE SetCodegenFlags(
- /* [in] */ DWORD flags) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody(
- /* [in] */ ULONG cbNewILMethodHeader,
- /* [size_is][in] */ LPCBYTE pbNewILMethodHeader) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap(
- /* [in] */ ULONG cILMapEntries,
- /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]) = 0;
-
- };
-
-
-#else /* C style interface */
+#define ICorProfilerInfo4_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
+ ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) )
- typedef struct ICorProfilerFunctionControlVtbl
- {
- BEGIN_INTERFACE
-
- HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerFunctionControl * This,
- /* [in] */ REFIID riid,
- /* [annotation][iid_is][out] */
- _COM_Outptr_ void **ppvObject);
-
- ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerFunctionControl * This);
-
- ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerFunctionControl * This);
-
- HRESULT ( STDMETHODCALLTYPE *SetCodegenFlags )(
- ICorProfilerFunctionControl * This,
- /* [in] */ DWORD flags);
-
- HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
- ICorProfilerFunctionControl * This,
- /* [in] */ ULONG cbNewILMethodHeader,
- /* [size_is][in] */ LPCBYTE pbNewILMethodHeader);
-
- HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
- ICorProfilerFunctionControl * This,
- /* [in] */ ULONG cILMapEntries,
- /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
-
- END_INTERFACE
- } ICorProfilerFunctionControlVtbl;
+#define ICorProfilerInfo4_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
+ ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) )
- interface ICorProfilerFunctionControl
- {
- CONST_VTBL struct ICorProfilerFunctionControlVtbl *lpVtbl;
- };
-
+#define ICorProfilerInfo4_EnumThreads(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumThreads(This,ppEnum) )
-#ifdef COBJMACROS
+#define ICorProfilerInfo4_InitializeCurrentThread(This) \
+ ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+#define ICorProfilerInfo4_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
+ ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
-#define ICorProfilerFunctionControl_QueryInterface(This,riid,ppvObject) \
- ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+#define ICorProfilerInfo4_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \
+ ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) )
-#define ICorProfilerFunctionControl_AddRef(This) \
- ( (This)->lpVtbl -> AddRef(This) )
+#define ICorProfilerInfo4_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \
+ ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerFunctionControl_Release(This) \
- ( (This)->lpVtbl -> Release(This) )
+#define ICorProfilerInfo4_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
+ ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) )
+#define ICorProfilerInfo4_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \
+ ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) )
-#define ICorProfilerFunctionControl_SetCodegenFlags(This,flags) \
- ( (This)->lpVtbl -> SetCodegenFlags(This,flags) )
+#define ICorProfilerInfo4_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \
+ ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) )
-#define ICorProfilerFunctionControl_SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) \
- ( (This)->lpVtbl -> SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) )
+#define ICorProfilerInfo4_EnumJITedFunctions2(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
-#define ICorProfilerFunctionControl_SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) \
- ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) )
+#define ICorProfilerInfo4_GetObjectSize2(This,objectId,pcSize) \
+ ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
#endif /* COBJMACROS */
-#endif /* __ICorProfilerFunctionControl_INTERFACE_DEFINED__ */
+#endif /* __ICorProfilerInfo4_INTERFACE_DEFINED__ */
-#ifndef __ICorProfilerInfo4_INTERFACE_DEFINED__
-#define __ICorProfilerInfo4_INTERFACE_DEFINED__
+#ifndef __ICorProfilerInfo5_INTERFACE_DEFINED__
+#define __ICorProfilerInfo5_INTERFACE_DEFINED__
-/* interface ICorProfilerInfo4 */
+/* interface ICorProfilerInfo5 */
/* [local][unique][uuid][object] */
-EXTERN_C const IID IID_ICorProfilerInfo4;
+EXTERN_C const IID IID_ICorProfilerInfo5;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("0d8fdcaa-6257-47bf-b1bf-94dac88466ee")
- ICorProfilerInfo4 : public ICorProfilerInfo3
+ MIDL_INTERFACE("07602928-CE38-4B83-81E7-74ADAF781214")
+ ICorProfilerInfo5 : public ICorProfilerInfo4
{
public:
- virtual HRESULT STDMETHODCALLTYPE EnumThreads(
- /* [out] */ ICorProfilerThreadEnum **ppEnum) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE InitializeCurrentThread( void) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE RequestReJIT(
- /* [in] */ ULONG cFunctions,
- /* [size_is][in] */ ModuleID moduleIds[ ],
- /* [size_is][in] */ mdMethodDef methodIds[ ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE RequestRevert(
- /* [in] */ ULONG cFunctions,
- /* [size_is][in] */ ModuleID moduleIds[ ],
- /* [size_is][in] */ mdMethodDef methodIds[ ],
- /* [size_is][out] */ HRESULT status[ ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetCodeInfo3(
- /* [in] */ FunctionID functionID,
- /* [in] */ ReJITID reJitId,
- /* [in] */ ULONG32 cCodeInfos,
- /* [out] */ ULONG32 *pcCodeInfos,
- /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP2(
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId,
- /* [out] */ ReJITID *pReJitId) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetReJITIDs(
- /* [in] */ FunctionID functionId,
- /* [in] */ ULONG cReJitIds,
- /* [out] */ ULONG *pcReJitIds,
- /* [length_is][size_is][out] */ ReJITID reJitIds[ ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping2(
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID reJitId,
- /* [in] */ ULONG32 cMap,
- /* [out] */ ULONG32 *pcMap,
- /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions2(
- /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetEventMask2(
+ /* [out] */ DWORD *pdwEventsLow,
+ /* [out] */ DWORD *pdwEventsHigh) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetObjectSize2(
- /* [in] */ ObjectID objectId,
- /* [out] */ SIZE_T *pcSize) = 0;
+ virtual HRESULT STDMETHODCALLTYPE SetEventMask2(
+ /* [in] */ DWORD dwEventsLow,
+ /* [in] */ DWORD dwEventsHigh) = 0;
};
#else /* C style interface */
- typedef struct ICorProfilerInfo4Vtbl
+ typedef struct ICorProfilerInfo5Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerInfo4 * This);
+ ICorProfilerInfo5 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerInfo4 * This);
+ ICorProfilerInfo5 * This);
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdTypeDef typeDef,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [out] */ LPCBYTE *pStart,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ DWORD *pdwEvents);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdToken token,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ThreadID threadId,
/* [out] */ HANDLE *phThread);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [out] */ CorElementType *pBaseElemType,
/* [out] */ ClassID *pBaseClassId,
/* [out] */ ULONG *pcRank);
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ThreadID threadId,
/* [out] */ DWORD *pdwWin32ThreadId);
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ ThreadID *pThreadId);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [out] */ ClassID *pClassId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ DWORD dwEvents);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionEnter *pFuncEnter,
/* [in] */ FunctionLeave *pFuncLeave,
/* [in] */ FunctionTailcall *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionIDMapper *pFunc);
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppImport,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ AssemblyID *pAssemblyId);
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppOut);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodId,
/* [out] */ LPCBYTE *ppMethodHeader,
/* [out] */ ULONG *pcbMethodSize);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ IMethodMalloc **ppMalloc);
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodid,
/* [in] */ LPCBYTE pbNewILMethodHeader);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ AppDomainID appDomainId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ProcessID *pProcessId);
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ AssemblyID assemblyId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ModuleID *pModuleId);
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId);
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
- ICorProfilerInfo4 * This);
+ ICorProfilerInfo5 * This);
HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [in] */ BOOL fStartJit,
/* [in] */ ULONG cILMapEntries,
/* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ThreadID threadId,
/* [out] */ ContextID *pContextId);
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ BOOL fThisThreadOnly,
/* [out] */ DWORD *pdwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ DWORD dwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG32 cMap,
/* [out] */ ULONG32 *pcMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ThreadID thread,
/* [in] */ StackSnapshotCallback *callback,
/* [in] */ ULONG32 infoFlags,
/* [in] */ ULONG32 contextSize);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionEnter2 *pFuncEnter,
/* [in] */ FunctionLeave2 *pFuncLeave,
/* [in] */ FunctionTailcall2 *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID funcId,
/* [in] */ COR_PRF_FRAME_INFO frameInfo,
/* [out] */ ClassID *pClassId,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ ULONG *pBufferLengthOffset,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classID,
/* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
/* [in] */ ULONG cFieldOffset,
/* [out] */ ULONG *pulClassSize);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionID,
/* [in] */ ULONG32 cCodeInfos,
/* [out] */ ULONG32 *pcCodeInfos,
/* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdTypeDef typeDef,
/* [in] */ ULONG32 cTypeArgs,
/* [out] */ ClassID *pClassID);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdMethodDef funcDef,
/* [in] */ ClassID classId,
/* [out] */ FunctionID *pFunctionID);
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleID,
/* [out] */ ICorProfilerObjectEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ObjectID objectId,
/* [in] */ ULONG32 cDimensions,
/* [size_is][out] */ ULONG32 pDimensionSizes[ ],
/* [out] */ BYTE **ppData);
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [out] */ ULONG32 *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ThreadID threadId,
/* [out] */ AppDomainID *pAppDomainId);
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ThreadID threadId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ContextID contextId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ULONG cObjectRanges,
/* [out] */ ULONG *pcObjectRanges,
/* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]);
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ObjectID objectId,
/* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ ICorProfilerFunctionEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ DWORD dwExpectedCompletionMilliseconds);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionIDMapper2 *pFunc,
/* [in] */ void *clientData);
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionEnter3 *pFuncEnter3,
/* [in] */ FunctionLeave3 *pFuncLeave3,
/* [in] */ FunctionTailcall3 *pFuncTailcall3);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
/* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
/* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
/* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
/* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ ICorProfilerModuleEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ USHORT *pClrInstanceId,
/* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
/* [out] */ USHORT *pMajorVersion,
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ ULONG32 cAppDomainIds,
/* [out] */ ULONG32 *pcAppDomainIds,
/* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ DWORD *pdwModuleFlags);
HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ ICorProfilerThreadEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
- ICorProfilerInfo4 * This);
+ ICorProfilerInfo5 * This);
HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ULONG cFunctions,
/* [size_is][in] */ ModuleID moduleIds[ ],
/* [size_is][in] */ mdMethodDef methodIds[ ]);
HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ULONG cFunctions,
/* [size_is][in] */ ModuleID moduleIds[ ],
/* [size_is][in] */ mdMethodDef methodIds[ ],
/* [size_is][out] */ HRESULT status[ ]);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionID,
/* [in] */ ReJITID reJitId,
/* [in] */ ULONG32 cCodeInfos,
/* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId,
/* [out] */ ReJITID *pReJitId);
HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG cReJitIds,
/* [out] */ ULONG *pcReJitIds,
/* [length_is][size_is][out] */ ReJITID reJitIds[ ]);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ReJITID reJitId,
/* [in] */ ULONG32 cMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [out] */ ICorProfilerFunctionEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
- ICorProfilerInfo4 * This,
+ ICorProfilerInfo5 * This,
/* [in] */ ObjectID objectId,
/* [out] */ SIZE_T *pcSize);
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+ ICorProfilerInfo5 * This,
+ /* [out] */ DWORD *pdwEventsLow,
+ /* [out] */ DWORD *pdwEventsHigh);
+
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+ ICorProfilerInfo5 * This,
+ /* [in] */ DWORD dwEventsLow,
+ /* [in] */ DWORD dwEventsHigh);
+
END_INTERFACE
- } ICorProfilerInfo4Vtbl;
+ } ICorProfilerInfo5Vtbl;
- interface ICorProfilerInfo4
+ interface ICorProfilerInfo5
{
- CONST_VTBL struct ICorProfilerInfo4Vtbl *lpVtbl;
+ CONST_VTBL struct ICorProfilerInfo5Vtbl *lpVtbl;
};
#ifdef COBJMACROS
-#define ICorProfilerInfo4_QueryInterface(This,riid,ppvObject) \
+#define ICorProfilerInfo5_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define ICorProfilerInfo4_AddRef(This) \
+#define ICorProfilerInfo5_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define ICorProfilerInfo4_Release(This) \
+#define ICorProfilerInfo5_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define ICorProfilerInfo4_GetClassFromObject(This,objectId,pClassId) \
+#define ICorProfilerInfo5_GetClassFromObject(This,objectId,pClassId) \
( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
-#define ICorProfilerInfo4_GetClassFromToken(This,moduleId,typeDef,pClassId) \
+#define ICorProfilerInfo5_GetClassFromToken(This,moduleId,typeDef,pClassId) \
( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
-#define ICorProfilerInfo4_GetCodeInfo(This,functionId,pStart,pcSize) \
+#define ICorProfilerInfo5_GetCodeInfo(This,functionId,pStart,pcSize) \
( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
-#define ICorProfilerInfo4_GetEventMask(This,pdwEvents) \
+#define ICorProfilerInfo5_GetEventMask(This,pdwEvents) \
( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
-#define ICorProfilerInfo4_GetFunctionFromIP(This,ip,pFunctionId) \
+#define ICorProfilerInfo5_GetFunctionFromIP(This,ip,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
-#define ICorProfilerInfo4_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+#define ICorProfilerInfo5_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
-#define ICorProfilerInfo4_GetHandleFromThread(This,threadId,phThread) \
+#define ICorProfilerInfo5_GetHandleFromThread(This,threadId,phThread) \
( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
-#define ICorProfilerInfo4_GetObjectSize(This,objectId,pcSize) \
+#define ICorProfilerInfo5_GetObjectSize(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
-#define ICorProfilerInfo4_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
+#define ICorProfilerInfo5_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
-#define ICorProfilerInfo4_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+#define ICorProfilerInfo5_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
-#define ICorProfilerInfo4_GetCurrentThreadID(This,pThreadId) \
+#define ICorProfilerInfo5_GetCurrentThreadID(This,pThreadId) \
( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
-#define ICorProfilerInfo4_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
+#define ICorProfilerInfo5_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
-#define ICorProfilerInfo4_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
+#define ICorProfilerInfo5_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
-#define ICorProfilerInfo4_SetEventMask(This,dwEvents) \
+#define ICorProfilerInfo5_SetEventMask(This,dwEvents) \
( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
-#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo4_SetFunctionIDMapper(This,pFunc) \
+#define ICorProfilerInfo5_SetFunctionIDMapper(This,pFunc) \
( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
-#define ICorProfilerInfo4_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
+#define ICorProfilerInfo5_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
-#define ICorProfilerInfo4_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
+#define ICorProfilerInfo5_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
-#define ICorProfilerInfo4_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
+#define ICorProfilerInfo5_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
-#define ICorProfilerInfo4_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
+#define ICorProfilerInfo5_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
-#define ICorProfilerInfo4_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+#define ICorProfilerInfo5_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
-#define ICorProfilerInfo4_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
+#define ICorProfilerInfo5_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
-#define ICorProfilerInfo4_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
+#define ICorProfilerInfo5_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
-#define ICorProfilerInfo4_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
+#define ICorProfilerInfo5_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
-#define ICorProfilerInfo4_SetFunctionReJIT(This,functionId) \
+#define ICorProfilerInfo5_SetFunctionReJIT(This,functionId) \
( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
-#define ICorProfilerInfo4_ForceGC(This) \
+#define ICorProfilerInfo5_ForceGC(This) \
( (This)->lpVtbl -> ForceGC(This) )
-#define ICorProfilerInfo4_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+#define ICorProfilerInfo5_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
-#define ICorProfilerInfo4_GetInprocInspectionInterface(This,ppicd) \
+#define ICorProfilerInfo5_GetInprocInspectionInterface(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
-#define ICorProfilerInfo4_GetInprocInspectionIThisThread(This,ppicd) \
+#define ICorProfilerInfo5_GetInprocInspectionIThisThread(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
-#define ICorProfilerInfo4_GetThreadContext(This,threadId,pContextId) \
+#define ICorProfilerInfo5_GetThreadContext(This,threadId,pContextId) \
( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
-#define ICorProfilerInfo4_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+#define ICorProfilerInfo5_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
-#define ICorProfilerInfo4_EndInprocDebugging(This,dwProfilerContext) \
+#define ICorProfilerInfo5_EndInprocDebugging(This,dwProfilerContext) \
( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
-#define ICorProfilerInfo4_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
+#define ICorProfilerInfo5_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
-#define ICorProfilerInfo4_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
+#define ICorProfilerInfo5_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) )
-#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo4_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
+#define ICorProfilerInfo5_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) )
-#define ICorProfilerInfo4_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
+#define ICorProfilerInfo5_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) )
-#define ICorProfilerInfo4_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
+#define ICorProfilerInfo5_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) )
-#define ICorProfilerInfo4_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
+#define ICorProfilerInfo5_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) )
-#define ICorProfilerInfo4_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
+#define ICorProfilerInfo5_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerInfo4_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
+#define ICorProfilerInfo5_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) )
-#define ICorProfilerInfo4_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
+#define ICorProfilerInfo5_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) )
-#define ICorProfilerInfo4_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
+#define ICorProfilerInfo5_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) )
-#define ICorProfilerInfo4_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
+#define ICorProfilerInfo5_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) )
-#define ICorProfilerInfo4_GetBoxClassLayout(This,classId,pBufferOffset) \
+#define ICorProfilerInfo5_GetBoxClassLayout(This,classId,pBufferOffset) \
( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
-#define ICorProfilerInfo4_GetThreadAppDomain(This,threadId,pAppDomainId) \
+#define ICorProfilerInfo5_GetThreadAppDomain(This,threadId,pAppDomainId) \
( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
-#define ICorProfilerInfo4_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
+#define ICorProfilerInfo5_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
-#define ICorProfilerInfo4_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
+#define ICorProfilerInfo5_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) )
-#define ICorProfilerInfo4_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
+#define ICorProfilerInfo5_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) )
-#define ICorProfilerInfo4_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
+#define ICorProfilerInfo5_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) )
-#define ICorProfilerInfo4_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
+#define ICorProfilerInfo5_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) )
-#define ICorProfilerInfo4_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
+#define ICorProfilerInfo5_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) )
-#define ICorProfilerInfo4_GetObjectGeneration(This,objectId,range) \
+#define ICorProfilerInfo5_GetObjectGeneration(This,objectId,range) \
( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
-#define ICorProfilerInfo4_GetNotifiedExceptionClauseInfo(This,pinfo) \
+#define ICorProfilerInfo5_GetNotifiedExceptionClauseInfo(This,pinfo) \
( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
-#define ICorProfilerInfo4_EnumJITedFunctions(This,ppEnum) \
+#define ICorProfilerInfo5_EnumJITedFunctions(This,ppEnum) \
( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
-#define ICorProfilerInfo4_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+#define ICorProfilerInfo5_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
-#define ICorProfilerInfo4_SetFunctionIDMapper2(This,pFunc,clientData) \
+#define ICorProfilerInfo5_SetFunctionIDMapper2(This,pFunc,clientData) \
( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
-#define ICorProfilerInfo4_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+#define ICorProfilerInfo5_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
-#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
+#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
-#define ICorProfilerInfo4_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
+#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) )
-#define ICorProfilerInfo4_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
+#define ICorProfilerInfo5_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) )
-#define ICorProfilerInfo4_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
+#define ICorProfilerInfo5_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) )
-#define ICorProfilerInfo4_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+#define ICorProfilerInfo5_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
-#define ICorProfilerInfo4_EnumModules(This,ppEnum) \
+#define ICorProfilerInfo5_EnumModules(This,ppEnum) \
( (This)->lpVtbl -> EnumModules(This,ppEnum) )
-#define ICorProfilerInfo4_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
+#define ICorProfilerInfo5_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) )
-#define ICorProfilerInfo4_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
+#define ICorProfilerInfo5_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
-#define ICorProfilerInfo4_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
+#define ICorProfilerInfo5_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) )
-#define ICorProfilerInfo4_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
+#define ICorProfilerInfo5_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) )
-#define ICorProfilerInfo4_EnumThreads(This,ppEnum) \
+#define ICorProfilerInfo5_EnumThreads(This,ppEnum) \
( (This)->lpVtbl -> EnumThreads(This,ppEnum) )
-#define ICorProfilerInfo4_InitializeCurrentThread(This) \
+#define ICorProfilerInfo5_InitializeCurrentThread(This) \
( (This)->lpVtbl -> InitializeCurrentThread(This) )
-#define ICorProfilerInfo4_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
+#define ICorProfilerInfo5_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
-#define ICorProfilerInfo4_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \
+#define ICorProfilerInfo5_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \
( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) )
-#define ICorProfilerInfo4_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \
+#define ICorProfilerInfo5_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \
( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerInfo4_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
+#define ICorProfilerInfo5_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) )
-#define ICorProfilerInfo4_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \
+#define ICorProfilerInfo5_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \
( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) )
-#define ICorProfilerInfo4_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \
+#define ICorProfilerInfo5_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) )
-#define ICorProfilerInfo4_EnumJITedFunctions2(This,ppEnum) \
+#define ICorProfilerInfo5_EnumJITedFunctions2(This,ppEnum) \
( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
-#define ICorProfilerInfo4_GetObjectSize2(This,objectId,pcSize) \
+#define ICorProfilerInfo5_GetObjectSize2(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+
+#define ICorProfilerInfo5_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
+ ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+
+#define ICorProfilerInfo5_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
+ ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+
#endif /* COBJMACROS */
-#endif /* __ICorProfilerInfo4_INTERFACE_DEFINED__ */
+#endif /* __ICorProfilerInfo5_INTERFACE_DEFINED__ */
-#ifndef __ICorProfilerInfo5_INTERFACE_DEFINED__
-#define __ICorProfilerInfo5_INTERFACE_DEFINED__
+#ifndef __ICorProfilerInfo6_INTERFACE_DEFINED__
+#define __ICorProfilerInfo6_INTERFACE_DEFINED__
-/* interface ICorProfilerInfo5 */
+/* interface ICorProfilerInfo6 */
/* [local][unique][uuid][object] */
-EXTERN_C const IID IID_ICorProfilerInfo5;
+EXTERN_C const IID IID_ICorProfilerInfo6;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("07602928-CE38-4B83-81E7-74ADAF781214")
- ICorProfilerInfo5 : public ICorProfilerInfo4
+ MIDL_INTERFACE("F30A070D-BFFB-46A7-B1D8-8781EF7B698A")
+ ICorProfilerInfo6 : public ICorProfilerInfo5
{
public:
- virtual HRESULT STDMETHODCALLTYPE GetEventMask2(
- /* [out] */ DWORD *pdwEventsLow,
- /* [out] */ DWORD *pdwEventsHigh) = 0;
-
- virtual HRESULT STDMETHODCALLTYPE SetEventMask2(
- /* [in] */ DWORD dwEventsLow,
- /* [in] */ DWORD dwEventsHigh) = 0;
+ virtual HRESULT STDMETHODCALLTYPE EnumNgenModuleMethodsInliningThisMethod(
+ /* [in] */ ModuleID inlinersModuleId,
+ /* [in] */ ModuleID inlineeModuleId,
+ /* [in] */ mdMethodDef inlineeMethodId,
+ /* [out] */ BOOL *incompleteData,
+ /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0;
};
#else /* C style interface */
- typedef struct ICorProfilerInfo5Vtbl
+ typedef struct ICorProfilerInfo6Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerInfo5 * This);
+ ICorProfilerInfo6 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerInfo5 * This);
+ ICorProfilerInfo6 * This);
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdTypeDef typeDef,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [out] */ LPCBYTE *pStart,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ DWORD *pdwEvents);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdToken token,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ThreadID threadId,
/* [out] */ HANDLE *phThread);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [out] */ CorElementType *pBaseElemType,
/* [out] */ ClassID *pBaseClassId,
/* [out] */ ULONG *pcRank);
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ThreadID threadId,
/* [out] */ DWORD *pdwWin32ThreadId);
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ ThreadID *pThreadId);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [out] */ ClassID *pClassId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ DWORD dwEvents);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionEnter *pFuncEnter,
/* [in] */ FunctionLeave *pFuncLeave,
/* [in] */ FunctionTailcall *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionIDMapper *pFunc);
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppImport,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ AssemblyID *pAssemblyId);
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppOut);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodId,
/* [out] */ LPCBYTE *ppMethodHeader,
/* [out] */ ULONG *pcbMethodSize);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ IMethodMalloc **ppMalloc);
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodid,
/* [in] */ LPCBYTE pbNewILMethodHeader);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ AppDomainID appDomainId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ProcessID *pProcessId);
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ AssemblyID assemblyId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ModuleID *pModuleId);
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId);
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
- ICorProfilerInfo5 * This);
+ ICorProfilerInfo6 * This);
HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [in] */ BOOL fStartJit,
/* [in] */ ULONG cILMapEntries,
/* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ThreadID threadId,
/* [out] */ ContextID *pContextId);
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ BOOL fThisThreadOnly,
/* [out] */ DWORD *pdwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ DWORD dwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG32 cMap,
/* [out] */ ULONG32 *pcMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ThreadID thread,
/* [in] */ StackSnapshotCallback *callback,
/* [in] */ ULONG32 infoFlags,
/* [in] */ ULONG32 contextSize);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionEnter2 *pFuncEnter,
/* [in] */ FunctionLeave2 *pFuncLeave,
/* [in] */ FunctionTailcall2 *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID funcId,
/* [in] */ COR_PRF_FRAME_INFO frameInfo,
/* [out] */ ClassID *pClassId,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ ULONG *pBufferLengthOffset,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classID,
/* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
/* [in] */ ULONG cFieldOffset,
/* [out] */ ULONG *pulClassSize);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionID,
/* [in] */ ULONG32 cCodeInfos,
/* [out] */ ULONG32 *pcCodeInfos,
/* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdTypeDef typeDef,
/* [in] */ ULONG32 cTypeArgs,
/* [out] */ ClassID *pClassID);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdMethodDef funcDef,
/* [in] */ ClassID classId,
/* [out] */ FunctionID *pFunctionID);
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleID,
/* [out] */ ICorProfilerObjectEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ObjectID objectId,
/* [in] */ ULONG32 cDimensions,
/* [size_is][out] */ ULONG32 pDimensionSizes[ ],
/* [out] */ BYTE **ppData);
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [out] */ ULONG32 *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ThreadID threadId,
/* [out] */ AppDomainID *pAppDomainId);
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ThreadID threadId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ContextID contextId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ULONG cObjectRanges,
/* [out] */ ULONG *pcObjectRanges,
/* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]);
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ObjectID objectId,
/* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ ICorProfilerFunctionEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ DWORD dwExpectedCompletionMilliseconds);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionIDMapper2 *pFunc,
/* [in] */ void *clientData);
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionEnter3 *pFuncEnter3,
/* [in] */ FunctionLeave3 *pFuncLeave3,
/* [in] */ FunctionTailcall3 *pFuncTailcall3);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
/* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
/* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
/* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
/* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ ICorProfilerModuleEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ USHORT *pClrInstanceId,
/* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
/* [out] */ USHORT *pMajorVersion,
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ ULONG32 cAppDomainIds,
/* [out] */ ULONG32 *pcAppDomainIds,
/* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ DWORD *pdwModuleFlags);
HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ ICorProfilerThreadEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
- ICorProfilerInfo5 * This);
+ ICorProfilerInfo6 * This);
HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ULONG cFunctions,
/* [size_is][in] */ ModuleID moduleIds[ ],
/* [size_is][in] */ mdMethodDef methodIds[ ]);
HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ULONG cFunctions,
/* [size_is][in] */ ModuleID moduleIds[ ],
/* [size_is][in] */ mdMethodDef methodIds[ ],
/* [size_is][out] */ HRESULT status[ ]);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionID,
/* [in] */ ReJITID reJitId,
/* [in] */ ULONG32 cCodeInfos,
/* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId,
/* [out] */ ReJITID *pReJitId);
HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG cReJitIds,
/* [out] */ ULONG *pcReJitIds,
/* [length_is][size_is][out] */ ReJITID reJitIds[ ]);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ReJITID reJitId,
/* [in] */ ULONG32 cMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ ICorProfilerFunctionEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ ObjectID objectId,
/* [out] */ SIZE_T *pcSize);
HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [out] */ DWORD *pdwEventsLow,
/* [out] */ DWORD *pdwEventsHigh);
HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
- ICorProfilerInfo5 * This,
+ ICorProfilerInfo6 * This,
/* [in] */ DWORD dwEventsLow,
/* [in] */ DWORD dwEventsHigh);
+ HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+ ICorProfilerInfo6 * This,
+ /* [in] */ ModuleID inlinersModuleId,
+ /* [in] */ ModuleID inlineeModuleId,
+ /* [in] */ mdMethodDef inlineeMethodId,
+ /* [out] */ BOOL *incompleteData,
+ /* [out] */ ICorProfilerMethodEnum **ppEnum);
+
END_INTERFACE
- } ICorProfilerInfo5Vtbl;
+ } ICorProfilerInfo6Vtbl;
- interface ICorProfilerInfo5
+ interface ICorProfilerInfo6
{
- CONST_VTBL struct ICorProfilerInfo5Vtbl *lpVtbl;
+ CONST_VTBL struct ICorProfilerInfo6Vtbl *lpVtbl;
};
#ifdef COBJMACROS
-#define ICorProfilerInfo5_QueryInterface(This,riid,ppvObject) \
+#define ICorProfilerInfo6_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define ICorProfilerInfo5_AddRef(This) \
+#define ICorProfilerInfo6_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define ICorProfilerInfo5_Release(This) \
+#define ICorProfilerInfo6_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define ICorProfilerInfo5_GetClassFromObject(This,objectId,pClassId) \
+#define ICorProfilerInfo6_GetClassFromObject(This,objectId,pClassId) \
( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
-#define ICorProfilerInfo5_GetClassFromToken(This,moduleId,typeDef,pClassId) \
+#define ICorProfilerInfo6_GetClassFromToken(This,moduleId,typeDef,pClassId) \
( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
-#define ICorProfilerInfo5_GetCodeInfo(This,functionId,pStart,pcSize) \
+#define ICorProfilerInfo6_GetCodeInfo(This,functionId,pStart,pcSize) \
( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
-#define ICorProfilerInfo5_GetEventMask(This,pdwEvents) \
+#define ICorProfilerInfo6_GetEventMask(This,pdwEvents) \
( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
-#define ICorProfilerInfo5_GetFunctionFromIP(This,ip,pFunctionId) \
+#define ICorProfilerInfo6_GetFunctionFromIP(This,ip,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
-#define ICorProfilerInfo5_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+#define ICorProfilerInfo6_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
-#define ICorProfilerInfo5_GetHandleFromThread(This,threadId,phThread) \
+#define ICorProfilerInfo6_GetHandleFromThread(This,threadId,phThread) \
( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
-#define ICorProfilerInfo5_GetObjectSize(This,objectId,pcSize) \
+#define ICorProfilerInfo6_GetObjectSize(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
-#define ICorProfilerInfo5_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
+#define ICorProfilerInfo6_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
-#define ICorProfilerInfo5_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+#define ICorProfilerInfo6_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
-#define ICorProfilerInfo5_GetCurrentThreadID(This,pThreadId) \
+#define ICorProfilerInfo6_GetCurrentThreadID(This,pThreadId) \
( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
-#define ICorProfilerInfo5_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
+#define ICorProfilerInfo6_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
-#define ICorProfilerInfo5_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
+#define ICorProfilerInfo6_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
-#define ICorProfilerInfo5_SetEventMask(This,dwEvents) \
+#define ICorProfilerInfo6_SetEventMask(This,dwEvents) \
( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
-#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo5_SetFunctionIDMapper(This,pFunc) \
+#define ICorProfilerInfo6_SetFunctionIDMapper(This,pFunc) \
( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
-#define ICorProfilerInfo5_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
+#define ICorProfilerInfo6_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
-#define ICorProfilerInfo5_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
+#define ICorProfilerInfo6_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
-#define ICorProfilerInfo5_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
+#define ICorProfilerInfo6_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
-#define ICorProfilerInfo5_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
+#define ICorProfilerInfo6_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
-#define ICorProfilerInfo5_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+#define ICorProfilerInfo6_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
-#define ICorProfilerInfo5_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
+#define ICorProfilerInfo6_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
-#define ICorProfilerInfo5_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
+#define ICorProfilerInfo6_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
-#define ICorProfilerInfo5_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
+#define ICorProfilerInfo6_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
-#define ICorProfilerInfo5_SetFunctionReJIT(This,functionId) \
+#define ICorProfilerInfo6_SetFunctionReJIT(This,functionId) \
( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
-#define ICorProfilerInfo5_ForceGC(This) \
+#define ICorProfilerInfo6_ForceGC(This) \
( (This)->lpVtbl -> ForceGC(This) )
-#define ICorProfilerInfo5_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+#define ICorProfilerInfo6_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
-#define ICorProfilerInfo5_GetInprocInspectionInterface(This,ppicd) \
+#define ICorProfilerInfo6_GetInprocInspectionInterface(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
-#define ICorProfilerInfo5_GetInprocInspectionIThisThread(This,ppicd) \
+#define ICorProfilerInfo6_GetInprocInspectionIThisThread(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
-#define ICorProfilerInfo5_GetThreadContext(This,threadId,pContextId) \
+#define ICorProfilerInfo6_GetThreadContext(This,threadId,pContextId) \
( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
-#define ICorProfilerInfo5_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+#define ICorProfilerInfo6_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
-#define ICorProfilerInfo5_EndInprocDebugging(This,dwProfilerContext) \
+#define ICorProfilerInfo6_EndInprocDebugging(This,dwProfilerContext) \
( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
-#define ICorProfilerInfo5_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
+#define ICorProfilerInfo6_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
-#define ICorProfilerInfo5_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
+#define ICorProfilerInfo6_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) )
-#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo5_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
+#define ICorProfilerInfo6_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) )
-#define ICorProfilerInfo5_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
+#define ICorProfilerInfo6_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) )
-#define ICorProfilerInfo5_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
+#define ICorProfilerInfo6_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) )
-#define ICorProfilerInfo5_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
+#define ICorProfilerInfo6_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) )
-#define ICorProfilerInfo5_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
+#define ICorProfilerInfo6_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerInfo5_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
+#define ICorProfilerInfo6_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) )
-#define ICorProfilerInfo5_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
+#define ICorProfilerInfo6_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) )
-#define ICorProfilerInfo5_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
+#define ICorProfilerInfo6_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) )
-#define ICorProfilerInfo5_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
+#define ICorProfilerInfo6_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) )
-#define ICorProfilerInfo5_GetBoxClassLayout(This,classId,pBufferOffset) \
+#define ICorProfilerInfo6_GetBoxClassLayout(This,classId,pBufferOffset) \
( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
-#define ICorProfilerInfo5_GetThreadAppDomain(This,threadId,pAppDomainId) \
+#define ICorProfilerInfo6_GetThreadAppDomain(This,threadId,pAppDomainId) \
( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
-#define ICorProfilerInfo5_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
+#define ICorProfilerInfo6_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
-#define ICorProfilerInfo5_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
+#define ICorProfilerInfo6_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) )
-#define ICorProfilerInfo5_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
+#define ICorProfilerInfo6_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) )
-#define ICorProfilerInfo5_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
+#define ICorProfilerInfo6_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) )
-#define ICorProfilerInfo5_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
+#define ICorProfilerInfo6_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) )
-#define ICorProfilerInfo5_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
+#define ICorProfilerInfo6_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) )
-#define ICorProfilerInfo5_GetObjectGeneration(This,objectId,range) \
+#define ICorProfilerInfo6_GetObjectGeneration(This,objectId,range) \
( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
-#define ICorProfilerInfo5_GetNotifiedExceptionClauseInfo(This,pinfo) \
+#define ICorProfilerInfo6_GetNotifiedExceptionClauseInfo(This,pinfo) \
( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
-#define ICorProfilerInfo5_EnumJITedFunctions(This,ppEnum) \
+#define ICorProfilerInfo6_EnumJITedFunctions(This,ppEnum) \
( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
-#define ICorProfilerInfo5_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+#define ICorProfilerInfo6_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
-#define ICorProfilerInfo5_SetFunctionIDMapper2(This,pFunc,clientData) \
+#define ICorProfilerInfo6_SetFunctionIDMapper2(This,pFunc,clientData) \
( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
-#define ICorProfilerInfo5_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+#define ICorProfilerInfo6_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
-#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
+#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
-#define ICorProfilerInfo5_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
+#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) )
-#define ICorProfilerInfo5_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
+#define ICorProfilerInfo6_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) )
-#define ICorProfilerInfo5_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
+#define ICorProfilerInfo6_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) )
-#define ICorProfilerInfo5_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+#define ICorProfilerInfo6_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
-#define ICorProfilerInfo5_EnumModules(This,ppEnum) \
+#define ICorProfilerInfo6_EnumModules(This,ppEnum) \
( (This)->lpVtbl -> EnumModules(This,ppEnum) )
-#define ICorProfilerInfo5_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
+#define ICorProfilerInfo6_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) )
-#define ICorProfilerInfo5_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
+#define ICorProfilerInfo6_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
-#define ICorProfilerInfo5_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
+#define ICorProfilerInfo6_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) )
-#define ICorProfilerInfo5_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
+#define ICorProfilerInfo6_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) )
-#define ICorProfilerInfo5_EnumThreads(This,ppEnum) \
+#define ICorProfilerInfo6_EnumThreads(This,ppEnum) \
( (This)->lpVtbl -> EnumThreads(This,ppEnum) )
-#define ICorProfilerInfo5_InitializeCurrentThread(This) \
+#define ICorProfilerInfo6_InitializeCurrentThread(This) \
( (This)->lpVtbl -> InitializeCurrentThread(This) )
-#define ICorProfilerInfo5_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
+#define ICorProfilerInfo6_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
-#define ICorProfilerInfo5_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \
+#define ICorProfilerInfo6_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \
( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) )
-#define ICorProfilerInfo5_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \
+#define ICorProfilerInfo6_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \
( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerInfo5_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
+#define ICorProfilerInfo6_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) )
-#define ICorProfilerInfo5_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \
+#define ICorProfilerInfo6_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \
( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) )
-#define ICorProfilerInfo5_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \
+#define ICorProfilerInfo6_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) )
-#define ICorProfilerInfo5_EnumJITedFunctions2(This,ppEnum) \
+#define ICorProfilerInfo6_EnumJITedFunctions2(This,ppEnum) \
( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
-#define ICorProfilerInfo5_GetObjectSize2(This,objectId,pcSize) \
+#define ICorProfilerInfo6_GetObjectSize2(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
-#define ICorProfilerInfo5_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
+#define ICorProfilerInfo6_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
-#define ICorProfilerInfo5_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
+#define ICorProfilerInfo6_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
+
+#define ICorProfilerInfo6_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \
+ ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) )
+
#endif /* COBJMACROS */
-#endif /* __ICorProfilerInfo5_INTERFACE_DEFINED__ */
+#endif /* __ICorProfilerInfo6_INTERFACE_DEFINED__ */
-#ifndef __ICorProfilerInfo6_INTERFACE_DEFINED__
-#define __ICorProfilerInfo6_INTERFACE_DEFINED__
+#ifndef __ICorProfilerInfo7_INTERFACE_DEFINED__
+#define __ICorProfilerInfo7_INTERFACE_DEFINED__
-/* interface ICorProfilerInfo6 */
+/* interface ICorProfilerInfo7 */
/* [local][unique][uuid][object] */
-EXTERN_C const IID IID_ICorProfilerInfo6;
+EXTERN_C const IID IID_ICorProfilerInfo7;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("F30A070D-BFFB-46A7-B1D8-8781EF7B698A")
- ICorProfilerInfo6 : public ICorProfilerInfo5
+ MIDL_INTERFACE("9AEECC0D-63E0-4187-8C00-E312F503F663")
+ ICorProfilerInfo7 : public ICorProfilerInfo6
{
public:
- virtual HRESULT STDMETHODCALLTYPE EnumNgenModuleMethodsInliningThisMethod(
- /* [in] */ ModuleID inlinersModuleId,
- /* [in] */ ModuleID inlineeModuleId,
- /* [in] */ mdMethodDef inlineeMethodId,
- /* [out] */ BOOL *incompleteData,
- /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0;
+ virtual HRESULT STDMETHODCALLTYPE ApplyMetaData(
+ /* [in] */ ModuleID moduleId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetInMemorySymbolsLength(
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ DWORD *pCountSymbolBytes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReadInMemorySymbols(
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ DWORD symbolsReadOffset,
+ /* [out] */ BYTE *pSymbolBytes,
+ /* [in] */ DWORD countSymbolBytes,
+ /* [out] */ DWORD *pCountSymbolBytesRead) = 0;
};
#else /* C style interface */
- typedef struct ICorProfilerInfo6Vtbl
+ typedef struct ICorProfilerInfo7Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerInfo6 * This);
+ ICorProfilerInfo7 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerInfo6 * This);
+ ICorProfilerInfo7 * This);
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdTypeDef typeDef,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [out] */ LPCBYTE *pStart,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ DWORD *pdwEvents);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdToken token,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ThreadID threadId,
/* [out] */ HANDLE *phThread);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [out] */ CorElementType *pBaseElemType,
/* [out] */ ClassID *pBaseClassId,
/* [out] */ ULONG *pcRank);
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ThreadID threadId,
/* [out] */ DWORD *pdwWin32ThreadId);
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ ThreadID *pThreadId);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [out] */ ClassID *pClassId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ DWORD dwEvents);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionEnter *pFuncEnter,
/* [in] */ FunctionLeave *pFuncLeave,
/* [in] */ FunctionTailcall *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionIDMapper *pFunc);
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppImport,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ AssemblyID *pAssemblyId);
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppOut);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodId,
/* [out] */ LPCBYTE *ppMethodHeader,
/* [out] */ ULONG *pcbMethodSize);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ IMethodMalloc **ppMalloc);
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodid,
/* [in] */ LPCBYTE pbNewILMethodHeader);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ AppDomainID appDomainId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ProcessID *pProcessId);
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ AssemblyID assemblyId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ModuleID *pModuleId);
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId);
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
- ICorProfilerInfo6 * This);
+ ICorProfilerInfo7 * This);
HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [in] */ BOOL fStartJit,
/* [in] */ ULONG cILMapEntries,
/* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ThreadID threadId,
/* [out] */ ContextID *pContextId);
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ BOOL fThisThreadOnly,
/* [out] */ DWORD *pdwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ DWORD dwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG32 cMap,
/* [out] */ ULONG32 *pcMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ThreadID thread,
/* [in] */ StackSnapshotCallback *callback,
/* [in] */ ULONG32 infoFlags,
/* [in] */ ULONG32 contextSize);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionEnter2 *pFuncEnter,
/* [in] */ FunctionLeave2 *pFuncLeave,
/* [in] */ FunctionTailcall2 *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID funcId,
/* [in] */ COR_PRF_FRAME_INFO frameInfo,
/* [out] */ ClassID *pClassId,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ ULONG *pBufferLengthOffset,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classID,
/* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
/* [in] */ ULONG cFieldOffset,
/* [out] */ ULONG *pulClassSize);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionID,
/* [in] */ ULONG32 cCodeInfos,
/* [out] */ ULONG32 *pcCodeInfos,
/* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdTypeDef typeDef,
/* [in] */ ULONG32 cTypeArgs,
/* [out] */ ClassID *pClassID);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdMethodDef funcDef,
/* [in] */ ClassID classId,
/* [out] */ FunctionID *pFunctionID);
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleID,
/* [out] */ ICorProfilerObjectEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ObjectID objectId,
/* [in] */ ULONG32 cDimensions,
/* [size_is][out] */ ULONG32 pDimensionSizes[ ],
/* [out] */ BYTE **ppData);
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [out] */ ULONG32 *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ThreadID threadId,
/* [out] */ AppDomainID *pAppDomainId);
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ThreadID threadId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ContextID contextId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ULONG cObjectRanges,
/* [out] */ ULONG *pcObjectRanges,
/* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]);
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ObjectID objectId,
/* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ ICorProfilerFunctionEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ DWORD dwExpectedCompletionMilliseconds);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionIDMapper2 *pFunc,
/* [in] */ void *clientData);
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionEnter3 *pFuncEnter3,
/* [in] */ FunctionLeave3 *pFuncLeave3,
/* [in] */ FunctionTailcall3 *pFuncTailcall3);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
/* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
/* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
/* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
/* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ ICorProfilerModuleEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ USHORT *pClrInstanceId,
/* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
/* [out] */ USHORT *pMajorVersion,
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ ULONG32 cAppDomainIds,
/* [out] */ ULONG32 *pcAppDomainIds,
/* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ DWORD *pdwModuleFlags);
HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ ICorProfilerThreadEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
- ICorProfilerInfo6 * This);
+ ICorProfilerInfo7 * This);
HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ULONG cFunctions,
/* [size_is][in] */ ModuleID moduleIds[ ],
/* [size_is][in] */ mdMethodDef methodIds[ ]);
HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ULONG cFunctions,
/* [size_is][in] */ ModuleID moduleIds[ ],
/* [size_is][in] */ mdMethodDef methodIds[ ],
/* [size_is][out] */ HRESULT status[ ]);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionID,
/* [in] */ ReJITID reJitId,
/* [in] */ ULONG32 cCodeInfos,
/* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId,
/* [out] */ ReJITID *pReJitId);
HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG cReJitIds,
/* [out] */ ULONG *pcReJitIds,
/* [length_is][size_is][out] */ ReJITID reJitIds[ ]);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ReJITID reJitId,
/* [in] */ ULONG32 cMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ ICorProfilerFunctionEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ObjectID objectId,
/* [out] */ SIZE_T *pcSize);
HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [out] */ DWORD *pdwEventsLow,
/* [out] */ DWORD *pdwEventsHigh);
HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ DWORD dwEventsLow,
/* [in] */ DWORD dwEventsHigh);
HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
- ICorProfilerInfo6 * This,
+ ICorProfilerInfo7 * This,
/* [in] */ ModuleID inlinersModuleId,
/* [in] */ ModuleID inlineeModuleId,
/* [in] */ mdMethodDef inlineeMethodId,
/* [out] */ BOOL *incompleteData,
/* [out] */ ICorProfilerMethodEnum **ppEnum);
+ HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+ ICorProfilerInfo7 * This,
+ /* [in] */ ModuleID moduleId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+ ICorProfilerInfo7 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [out] */ DWORD *pCountSymbolBytes);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+ ICorProfilerInfo7 * This,
+ /* [in] */ ModuleID moduleId,
+ /* [in] */ DWORD symbolsReadOffset,
+ /* [out] */ BYTE *pSymbolBytes,
+ /* [in] */ DWORD countSymbolBytes,
+ /* [out] */ DWORD *pCountSymbolBytesRead);
+
END_INTERFACE
- } ICorProfilerInfo6Vtbl;
+ } ICorProfilerInfo7Vtbl;
- interface ICorProfilerInfo6
+ interface ICorProfilerInfo7
{
- CONST_VTBL struct ICorProfilerInfo6Vtbl *lpVtbl;
+ CONST_VTBL struct ICorProfilerInfo7Vtbl *lpVtbl;
};
#ifdef COBJMACROS
-#define ICorProfilerInfo6_QueryInterface(This,riid,ppvObject) \
+#define ICorProfilerInfo7_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define ICorProfilerInfo6_AddRef(This) \
+#define ICorProfilerInfo7_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define ICorProfilerInfo6_Release(This) \
+#define ICorProfilerInfo7_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define ICorProfilerInfo6_GetClassFromObject(This,objectId,pClassId) \
+#define ICorProfilerInfo7_GetClassFromObject(This,objectId,pClassId) \
( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
-#define ICorProfilerInfo6_GetClassFromToken(This,moduleId,typeDef,pClassId) \
+#define ICorProfilerInfo7_GetClassFromToken(This,moduleId,typeDef,pClassId) \
( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
-#define ICorProfilerInfo6_GetCodeInfo(This,functionId,pStart,pcSize) \
+#define ICorProfilerInfo7_GetCodeInfo(This,functionId,pStart,pcSize) \
( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
-#define ICorProfilerInfo6_GetEventMask(This,pdwEvents) \
+#define ICorProfilerInfo7_GetEventMask(This,pdwEvents) \
( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
-#define ICorProfilerInfo6_GetFunctionFromIP(This,ip,pFunctionId) \
+#define ICorProfilerInfo7_GetFunctionFromIP(This,ip,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
-#define ICorProfilerInfo6_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+#define ICorProfilerInfo7_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
-#define ICorProfilerInfo6_GetHandleFromThread(This,threadId,phThread) \
+#define ICorProfilerInfo7_GetHandleFromThread(This,threadId,phThread) \
( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
-#define ICorProfilerInfo6_GetObjectSize(This,objectId,pcSize) \
+#define ICorProfilerInfo7_GetObjectSize(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
-#define ICorProfilerInfo6_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
+#define ICorProfilerInfo7_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
-#define ICorProfilerInfo6_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+#define ICorProfilerInfo7_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
-#define ICorProfilerInfo6_GetCurrentThreadID(This,pThreadId) \
+#define ICorProfilerInfo7_GetCurrentThreadID(This,pThreadId) \
( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
-#define ICorProfilerInfo6_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
+#define ICorProfilerInfo7_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
-#define ICorProfilerInfo6_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
+#define ICorProfilerInfo7_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
-#define ICorProfilerInfo6_SetEventMask(This,dwEvents) \
+#define ICorProfilerInfo7_SetEventMask(This,dwEvents) \
( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
-#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo6_SetFunctionIDMapper(This,pFunc) \
+#define ICorProfilerInfo7_SetFunctionIDMapper(This,pFunc) \
( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
-#define ICorProfilerInfo6_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
+#define ICorProfilerInfo7_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
-#define ICorProfilerInfo6_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
+#define ICorProfilerInfo7_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
-#define ICorProfilerInfo6_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
+#define ICorProfilerInfo7_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
-#define ICorProfilerInfo6_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
+#define ICorProfilerInfo7_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
-#define ICorProfilerInfo6_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+#define ICorProfilerInfo7_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
-#define ICorProfilerInfo6_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
+#define ICorProfilerInfo7_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
-#define ICorProfilerInfo6_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
+#define ICorProfilerInfo7_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
-#define ICorProfilerInfo6_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
+#define ICorProfilerInfo7_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
-#define ICorProfilerInfo6_SetFunctionReJIT(This,functionId) \
+#define ICorProfilerInfo7_SetFunctionReJIT(This,functionId) \
( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
-#define ICorProfilerInfo6_ForceGC(This) \
+#define ICorProfilerInfo7_ForceGC(This) \
( (This)->lpVtbl -> ForceGC(This) )
-#define ICorProfilerInfo6_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+#define ICorProfilerInfo7_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
-#define ICorProfilerInfo6_GetInprocInspectionInterface(This,ppicd) \
+#define ICorProfilerInfo7_GetInprocInspectionInterface(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
-#define ICorProfilerInfo6_GetInprocInspectionIThisThread(This,ppicd) \
+#define ICorProfilerInfo7_GetInprocInspectionIThisThread(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
-#define ICorProfilerInfo6_GetThreadContext(This,threadId,pContextId) \
+#define ICorProfilerInfo7_GetThreadContext(This,threadId,pContextId) \
( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
-#define ICorProfilerInfo6_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+#define ICorProfilerInfo7_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
-#define ICorProfilerInfo6_EndInprocDebugging(This,dwProfilerContext) \
+#define ICorProfilerInfo7_EndInprocDebugging(This,dwProfilerContext) \
( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
-#define ICorProfilerInfo6_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
+#define ICorProfilerInfo7_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
-#define ICorProfilerInfo6_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
+#define ICorProfilerInfo7_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) )
-#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo6_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
+#define ICorProfilerInfo7_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) )
-#define ICorProfilerInfo6_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
+#define ICorProfilerInfo7_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) )
-#define ICorProfilerInfo6_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
+#define ICorProfilerInfo7_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) )
-#define ICorProfilerInfo6_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
+#define ICorProfilerInfo7_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) )
-#define ICorProfilerInfo6_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
+#define ICorProfilerInfo7_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerInfo6_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
+#define ICorProfilerInfo7_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) )
-#define ICorProfilerInfo6_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
+#define ICorProfilerInfo7_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) )
-#define ICorProfilerInfo6_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
+#define ICorProfilerInfo7_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) )
-#define ICorProfilerInfo6_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
+#define ICorProfilerInfo7_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) )
-#define ICorProfilerInfo6_GetBoxClassLayout(This,classId,pBufferOffset) \
+#define ICorProfilerInfo7_GetBoxClassLayout(This,classId,pBufferOffset) \
( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
-#define ICorProfilerInfo6_GetThreadAppDomain(This,threadId,pAppDomainId) \
+#define ICorProfilerInfo7_GetThreadAppDomain(This,threadId,pAppDomainId) \
( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
-#define ICorProfilerInfo6_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
+#define ICorProfilerInfo7_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
-#define ICorProfilerInfo6_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
+#define ICorProfilerInfo7_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) )
-#define ICorProfilerInfo6_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
+#define ICorProfilerInfo7_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) )
-#define ICorProfilerInfo6_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
+#define ICorProfilerInfo7_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) )
-#define ICorProfilerInfo6_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
+#define ICorProfilerInfo7_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) )
-#define ICorProfilerInfo6_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
+#define ICorProfilerInfo7_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) )
-#define ICorProfilerInfo6_GetObjectGeneration(This,objectId,range) \
+#define ICorProfilerInfo7_GetObjectGeneration(This,objectId,range) \
( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
-#define ICorProfilerInfo6_GetNotifiedExceptionClauseInfo(This,pinfo) \
+#define ICorProfilerInfo7_GetNotifiedExceptionClauseInfo(This,pinfo) \
( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
-#define ICorProfilerInfo6_EnumJITedFunctions(This,ppEnum) \
+#define ICorProfilerInfo7_EnumJITedFunctions(This,ppEnum) \
( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
-#define ICorProfilerInfo6_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+#define ICorProfilerInfo7_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
-#define ICorProfilerInfo6_SetFunctionIDMapper2(This,pFunc,clientData) \
+#define ICorProfilerInfo7_SetFunctionIDMapper2(This,pFunc,clientData) \
( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
-#define ICorProfilerInfo6_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+#define ICorProfilerInfo7_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
-#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
+#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
-#define ICorProfilerInfo6_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
+#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) )
-#define ICorProfilerInfo6_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
+#define ICorProfilerInfo7_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) )
-#define ICorProfilerInfo6_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
+#define ICorProfilerInfo7_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) )
-#define ICorProfilerInfo6_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+#define ICorProfilerInfo7_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
-#define ICorProfilerInfo6_EnumModules(This,ppEnum) \
+#define ICorProfilerInfo7_EnumModules(This,ppEnum) \
( (This)->lpVtbl -> EnumModules(This,ppEnum) )
-#define ICorProfilerInfo6_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
+#define ICorProfilerInfo7_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) )
-#define ICorProfilerInfo6_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
+#define ICorProfilerInfo7_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
-#define ICorProfilerInfo6_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
+#define ICorProfilerInfo7_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) )
-#define ICorProfilerInfo6_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
+#define ICorProfilerInfo7_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) )
-#define ICorProfilerInfo6_EnumThreads(This,ppEnum) \
+#define ICorProfilerInfo7_EnumThreads(This,ppEnum) \
( (This)->lpVtbl -> EnumThreads(This,ppEnum) )
-#define ICorProfilerInfo6_InitializeCurrentThread(This) \
+#define ICorProfilerInfo7_InitializeCurrentThread(This) \
( (This)->lpVtbl -> InitializeCurrentThread(This) )
-#define ICorProfilerInfo6_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
+#define ICorProfilerInfo7_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
-#define ICorProfilerInfo6_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \
+#define ICorProfilerInfo7_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \
( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) )
-#define ICorProfilerInfo6_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \
+#define ICorProfilerInfo7_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \
( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerInfo6_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
+#define ICorProfilerInfo7_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) )
-#define ICorProfilerInfo6_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \
+#define ICorProfilerInfo7_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \
( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) )
-#define ICorProfilerInfo6_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \
+#define ICorProfilerInfo7_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) )
-#define ICorProfilerInfo6_EnumJITedFunctions2(This,ppEnum) \
+#define ICorProfilerInfo7_EnumJITedFunctions2(This,ppEnum) \
( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
-#define ICorProfilerInfo6_GetObjectSize2(This,objectId,pcSize) \
+#define ICorProfilerInfo7_GetObjectSize2(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
-#define ICorProfilerInfo6_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
+#define ICorProfilerInfo7_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
-#define ICorProfilerInfo6_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
+#define ICorProfilerInfo7_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
-#define ICorProfilerInfo6_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \
+#define ICorProfilerInfo7_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \
( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) )
+
+#define ICorProfilerInfo7_ApplyMetaData(This,moduleId) \
+ ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) )
+
+#define ICorProfilerInfo7_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \
+ ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) )
+
+#define ICorProfilerInfo7_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \
+ ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) )
+
#endif /* COBJMACROS */
-#endif /* __ICorProfilerInfo6_INTERFACE_DEFINED__ */
+#endif /* __ICorProfilerInfo7_INTERFACE_DEFINED__ */
-#ifndef __ICorProfilerInfo7_INTERFACE_DEFINED__
-#define __ICorProfilerInfo7_INTERFACE_DEFINED__
+#ifndef __ICorProfilerInfo8_INTERFACE_DEFINED__
+#define __ICorProfilerInfo8_INTERFACE_DEFINED__
-/* interface ICorProfilerInfo7 */
+/* interface ICorProfilerInfo8 */
/* [local][unique][uuid][object] */
-EXTERN_C const IID IID_ICorProfilerInfo7;
+EXTERN_C const IID IID_ICorProfilerInfo8;
#if defined(__cplusplus) && !defined(CINTERFACE)
- MIDL_INTERFACE("9AEECC0D-63E0-4187-8C00-E312F503F663")
- ICorProfilerInfo7 : public ICorProfilerInfo6
+ MIDL_INTERFACE("C5AC80A6-782E-4716-8044-39598C60CFBF")
+ ICorProfilerInfo8 : public ICorProfilerInfo7
{
public:
- virtual HRESULT STDMETHODCALLTYPE ApplyMetaData(
- /* [in] */ ModuleID moduleId) = 0;
+ virtual HRESULT STDMETHODCALLTYPE IsFunctionDynamic(
+ /* [in] */ FunctionID functionId,
+ /* [out] */ BOOL *isDynamic) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetInMemorySymbolsLength(
- /* [in] */ ModuleID moduleId,
- /* [out] */ DWORD *pCountSymbolBytes) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP3(
+ /* [in] */ LPCBYTE ip,
+ /* [out] */ FunctionID *functionId,
+ /* [out] */ ReJITID *pReJitId) = 0;
- virtual HRESULT STDMETHODCALLTYPE ReadInMemorySymbols(
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD symbolsReadOffset,
- /* [out] */ BYTE *pSymbolBytes,
- /* [in] */ DWORD countSymbolBytes,
- /* [out] */ DWORD *pCountSymbolBytesRead) = 0;
+ virtual HRESULT STDMETHODCALLTYPE GetDynamicFunctionInfo(
+ /* [in] */ FunctionID functionId,
+ /* [out] */ ModuleID *moduleId,
+ /* [out] */ PCCOR_SIGNATURE *ppvSig,
+ /* [out] */ ULONG *pbSig,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [out] */ WCHAR wszName[ ]) = 0;
};
#else /* C style interface */
- typedef struct ICorProfilerInfo7Vtbl
+ typedef struct ICorProfilerInfo8Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
- ICorProfilerInfo7 * This);
+ ICorProfilerInfo8 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
- ICorProfilerInfo7 * This);
+ ICorProfilerInfo8 * This);
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdTypeDef typeDef,
/* [out] */ ClassID *pClassId);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [out] */ LPCBYTE *pStart,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ DWORD *pdwEvents);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdToken token,
/* [out] */ FunctionID *pFunctionId);
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ThreadID threadId,
/* [out] */ HANDLE *phThread);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ObjectID objectId,
/* [out] */ ULONG *pcSize);
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [out] */ CorElementType *pBaseElemType,
/* [out] */ ClassID *pBaseClassId,
/* [out] */ ULONG *pcRank);
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ThreadID threadId,
/* [out] */ DWORD *pdwWin32ThreadId);
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ ThreadID *pThreadId);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [out] */ ClassID *pClassId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ DWORD dwEvents);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionEnter *pFuncEnter,
/* [in] */ FunctionLeave *pFuncLeave,
/* [in] */ FunctionTailcall *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionIDMapper *pFunc);
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppImport,
/* [out] */ mdToken *pToken);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ AssemblyID *pAssemblyId);
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [out] */ IUnknown **ppOut);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodId,
/* [out] */ LPCBYTE *ppMethodHeader,
/* [out] */ ULONG *pcbMethodSize);
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ IMethodMalloc **ppMalloc);
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ mdMethodDef methodid,
/* [in] */ LPCBYTE pbNewILMethodHeader);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ AppDomainID appDomainId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ProcessID *pProcessId);
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ AssemblyID assemblyId,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcchName,
/* [out] */ ModuleID *pModuleId);
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId);
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
- ICorProfilerInfo7 * This);
+ ICorProfilerInfo8 * This);
HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [in] */ BOOL fStartJit,
/* [in] */ ULONG cILMapEntries,
/* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ IUnknown **ppicd);
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ThreadID threadId,
/* [out] */ ContextID *pContextId);
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ BOOL fThisThreadOnly,
/* [out] */ DWORD *pdwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ DWORD dwProfilerContext);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG32 cMap,
/* [out] */ ULONG32 *pcMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ThreadID thread,
/* [in] */ StackSnapshotCallback *callback,
/* [in] */ ULONG32 infoFlags,
/* [in] */ ULONG32 contextSize);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionEnter2 *pFuncEnter,
/* [in] */ FunctionLeave2 *pFuncLeave,
/* [in] */ FunctionTailcall2 *pFuncTailcall);
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID funcId,
/* [in] */ COR_PRF_FRAME_INFO frameInfo,
/* [out] */ ClassID *pClassId,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ ULONG *pBufferLengthOffset,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classID,
/* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
/* [in] */ ULONG cFieldOffset,
/* [out] */ ULONG *pulClassSize);
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [out] */ ModuleID *pModuleId,
/* [out] */ mdTypeDef *pTypeDefToken,
/* [out] */ ClassID typeArgs[ ]);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionID,
/* [in] */ ULONG32 cCodeInfos,
/* [out] */ ULONG32 *pcCodeInfos,
/* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdTypeDef typeDef,
/* [in] */ ULONG32 cTypeArgs,
/* [out] */ ClassID *pClassID);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleID,
/* [in] */ mdMethodDef funcDef,
/* [in] */ ClassID classId,
/* [out] */ FunctionID *pFunctionID);
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleID,
/* [out] */ ICorProfilerObjectEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ObjectID objectId,
/* [in] */ ULONG32 cDimensions,
/* [size_is][out] */ ULONG32 pDimensionSizes[ ],
/* [out] */ BYTE **ppData);
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [out] */ ULONG32 *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ThreadID threadId,
/* [out] */ AppDomainID *pAppDomainId);
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ThreadID threadId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ ContextID contextId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ULONG cObjectRanges,
/* [out] */ ULONG *pcObjectRanges,
/* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]);
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ObjectID objectId,
/* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ ICorProfilerFunctionEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ DWORD dwExpectedCompletionMilliseconds);
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionIDMapper2 *pFunc,
/* [in] */ void *clientData);
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ ULONG *pStringLengthOffset,
/* [out] */ ULONG *pBufferOffset);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionEnter3 *pFuncEnter3,
/* [in] */ FunctionLeave3 *pFuncLeave3,
/* [in] */ FunctionTailcall3 *pFuncTailcall3);
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
/* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
/* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
/* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
/* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [in] */ COR_PRF_ELT_INFO eltInfo,
/* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ ICorProfilerModuleEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ USHORT *pClrInstanceId,
/* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
/* [out] */ USHORT *pMajorVersion,
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ClassID classId,
/* [in] */ mdFieldDef fieldToken,
/* [in] */ AppDomainID appDomainId,
/* [out] */ void **ppAddress);
HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ ULONG32 cAppDomainIds,
/* [out] */ ULONG32 *pcAppDomainIds,
/* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]);
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ LPCBYTE *ppBaseLoadAddress,
/* [in] */ ULONG cchName,
/* [out] */ DWORD *pdwModuleFlags);
HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ ICorProfilerThreadEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
- ICorProfilerInfo7 * This);
+ ICorProfilerInfo8 * This);
HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ULONG cFunctions,
/* [size_is][in] */ ModuleID moduleIds[ ],
/* [size_is][in] */ mdMethodDef methodIds[ ]);
HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ULONG cFunctions,
/* [size_is][in] */ ModuleID moduleIds[ ],
/* [size_is][in] */ mdMethodDef methodIds[ ],
/* [size_is][out] */ HRESULT status[ ]);
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionID,
/* [in] */ ReJITID reJitId,
/* [in] */ ULONG32 cCodeInfos,
/* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]);
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ LPCBYTE ip,
/* [out] */ FunctionID *pFunctionId,
/* [out] */ ReJITID *pReJitId);
HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ULONG cReJitIds,
/* [out] */ ULONG *pcReJitIds,
/* [length_is][size_is][out] */ ReJITID reJitIds[ ]);
HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ FunctionID functionId,
/* [in] */ ReJITID reJitId,
/* [in] */ ULONG32 cMap,
/* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ ICorProfilerFunctionEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ObjectID objectId,
/* [out] */ SIZE_T *pcSize);
HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [out] */ DWORD *pdwEventsLow,
/* [out] */ DWORD *pdwEventsHigh);
HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ DWORD dwEventsLow,
/* [in] */ DWORD dwEventsHigh);
HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID inlinersModuleId,
/* [in] */ ModuleID inlineeModuleId,
/* [in] */ mdMethodDef inlineeMethodId,
/* [out] */ ICorProfilerMethodEnum **ppEnum);
HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId);
HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [out] */ DWORD *pCountSymbolBytes);
HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
- ICorProfilerInfo7 * This,
+ ICorProfilerInfo8 * This,
/* [in] */ ModuleID moduleId,
/* [in] */ DWORD symbolsReadOffset,
/* [out] */ BYTE *pSymbolBytes,
/* [in] */ DWORD countSymbolBytes,
/* [out] */ DWORD *pCountSymbolBytesRead);
+ HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+ ICorProfilerInfo8 * This,
+ /* [in] */ FunctionID functionId,
+ /* [out] */ BOOL *isDynamic);
+
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+ ICorProfilerInfo8 * This,
+ /* [in] */ LPCBYTE ip,
+ /* [out] */ FunctionID *functionId,
+ /* [out] */ ReJITID *pReJitId);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+ ICorProfilerInfo8 * This,
+ /* [in] */ FunctionID functionId,
+ /* [out] */ ModuleID *moduleId,
+ /* [out] */ PCCOR_SIGNATURE *ppvSig,
+ /* [out] */ ULONG *pbSig,
+ /* [in] */ ULONG cchName,
+ /* [out] */ ULONG *pcchName,
+ /* [out] */ WCHAR wszName[ ]);
+
END_INTERFACE
- } ICorProfilerInfo7Vtbl;
+ } ICorProfilerInfo8Vtbl;
- interface ICorProfilerInfo7
+ interface ICorProfilerInfo8
{
- CONST_VTBL struct ICorProfilerInfo7Vtbl *lpVtbl;
+ CONST_VTBL struct ICorProfilerInfo8Vtbl *lpVtbl;
};
#ifdef COBJMACROS
-#define ICorProfilerInfo7_QueryInterface(This,riid,ppvObject) \
+#define ICorProfilerInfo8_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
-#define ICorProfilerInfo7_AddRef(This) \
+#define ICorProfilerInfo8_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
-#define ICorProfilerInfo7_Release(This) \
+#define ICorProfilerInfo8_Release(This) \
( (This)->lpVtbl -> Release(This) )
-#define ICorProfilerInfo7_GetClassFromObject(This,objectId,pClassId) \
+#define ICorProfilerInfo8_GetClassFromObject(This,objectId,pClassId) \
( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
-#define ICorProfilerInfo7_GetClassFromToken(This,moduleId,typeDef,pClassId) \
+#define ICorProfilerInfo8_GetClassFromToken(This,moduleId,typeDef,pClassId) \
( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) )
-#define ICorProfilerInfo7_GetCodeInfo(This,functionId,pStart,pcSize) \
+#define ICorProfilerInfo8_GetCodeInfo(This,functionId,pStart,pcSize) \
( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) )
-#define ICorProfilerInfo7_GetEventMask(This,pdwEvents) \
+#define ICorProfilerInfo8_GetEventMask(This,pdwEvents) \
( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
-#define ICorProfilerInfo7_GetFunctionFromIP(This,ip,pFunctionId) \
+#define ICorProfilerInfo8_GetFunctionFromIP(This,ip,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
-#define ICorProfilerInfo7_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+#define ICorProfilerInfo8_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
-#define ICorProfilerInfo7_GetHandleFromThread(This,threadId,phThread) \
+#define ICorProfilerInfo8_GetHandleFromThread(This,threadId,phThread) \
( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
-#define ICorProfilerInfo7_GetObjectSize(This,objectId,pcSize) \
+#define ICorProfilerInfo8_GetObjectSize(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) )
-#define ICorProfilerInfo7_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
+#define ICorProfilerInfo8_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \
( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) )
-#define ICorProfilerInfo7_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+#define ICorProfilerInfo8_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
-#define ICorProfilerInfo7_GetCurrentThreadID(This,pThreadId) \
+#define ICorProfilerInfo8_GetCurrentThreadID(This,pThreadId) \
( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
-#define ICorProfilerInfo7_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
+#define ICorProfilerInfo8_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \
( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) )
-#define ICorProfilerInfo7_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
+#define ICorProfilerInfo8_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \
( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) )
-#define ICorProfilerInfo7_SetEventMask(This,dwEvents) \
+#define ICorProfilerInfo8_SetEventMask(This,dwEvents) \
( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
-#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo8_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo7_SetFunctionIDMapper(This,pFunc) \
+#define ICorProfilerInfo8_SetFunctionIDMapper(This,pFunc) \
( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
-#define ICorProfilerInfo7_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
+#define ICorProfilerInfo8_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \
( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) )
-#define ICorProfilerInfo7_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
+#define ICorProfilerInfo8_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \
( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) )
-#define ICorProfilerInfo7_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
+#define ICorProfilerInfo8_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \
( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) )
-#define ICorProfilerInfo7_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
+#define ICorProfilerInfo8_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \
( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) )
-#define ICorProfilerInfo7_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+#define ICorProfilerInfo8_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
-#define ICorProfilerInfo7_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
+#define ICorProfilerInfo8_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \
( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) )
-#define ICorProfilerInfo7_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
+#define ICorProfilerInfo8_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \
( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) )
-#define ICorProfilerInfo7_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
+#define ICorProfilerInfo8_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \
( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) )
-#define ICorProfilerInfo7_SetFunctionReJIT(This,functionId) \
+#define ICorProfilerInfo8_SetFunctionReJIT(This,functionId) \
( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) )
-#define ICorProfilerInfo7_ForceGC(This) \
+#define ICorProfilerInfo8_ForceGC(This) \
( (This)->lpVtbl -> ForceGC(This) )
-#define ICorProfilerInfo7_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+#define ICorProfilerInfo8_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
-#define ICorProfilerInfo7_GetInprocInspectionInterface(This,ppicd) \
+#define ICorProfilerInfo8_GetInprocInspectionInterface(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
-#define ICorProfilerInfo7_GetInprocInspectionIThisThread(This,ppicd) \
+#define ICorProfilerInfo8_GetInprocInspectionIThisThread(This,ppicd) \
( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
-#define ICorProfilerInfo7_GetThreadContext(This,threadId,pContextId) \
+#define ICorProfilerInfo8_GetThreadContext(This,threadId,pContextId) \
( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
-#define ICorProfilerInfo7_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+#define ICorProfilerInfo8_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
-#define ICorProfilerInfo7_EndInprocDebugging(This,dwProfilerContext) \
+#define ICorProfilerInfo8_EndInprocDebugging(This,dwProfilerContext) \
( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
-#define ICorProfilerInfo7_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
+#define ICorProfilerInfo8_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) )
-#define ICorProfilerInfo7_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
+#define ICorProfilerInfo8_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \
( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) )
-#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+#define ICorProfilerInfo8_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
-#define ICorProfilerInfo7_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
+#define ICorProfilerInfo8_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) )
-#define ICorProfilerInfo7_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
+#define ICorProfilerInfo8_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \
( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) )
-#define ICorProfilerInfo7_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
+#define ICorProfilerInfo8_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \
( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) )
-#define ICorProfilerInfo7_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
+#define ICorProfilerInfo8_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \
( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) )
-#define ICorProfilerInfo7_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
+#define ICorProfilerInfo8_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \
( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerInfo7_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
+#define ICorProfilerInfo8_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \
( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) )
-#define ICorProfilerInfo7_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
+#define ICorProfilerInfo8_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \
( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) )
-#define ICorProfilerInfo7_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
+#define ICorProfilerInfo8_EnumModuleFrozenObjects(This,moduleID,ppEnum) \
( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) )
-#define ICorProfilerInfo7_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
+#define ICorProfilerInfo8_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \
( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) )
-#define ICorProfilerInfo7_GetBoxClassLayout(This,classId,pBufferOffset) \
+#define ICorProfilerInfo8_GetBoxClassLayout(This,classId,pBufferOffset) \
( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
-#define ICorProfilerInfo7_GetThreadAppDomain(This,threadId,pAppDomainId) \
+#define ICorProfilerInfo8_GetThreadAppDomain(This,threadId,pAppDomainId) \
( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
-#define ICorProfilerInfo7_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
+#define ICorProfilerInfo8_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \
( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) )
-#define ICorProfilerInfo7_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
+#define ICorProfilerInfo8_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \
( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) )
-#define ICorProfilerInfo7_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
+#define ICorProfilerInfo8_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \
( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) )
-#define ICorProfilerInfo7_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
+#define ICorProfilerInfo8_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \
( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) )
-#define ICorProfilerInfo7_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
+#define ICorProfilerInfo8_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \
( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) )
-#define ICorProfilerInfo7_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
+#define ICorProfilerInfo8_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \
( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) )
-#define ICorProfilerInfo7_GetObjectGeneration(This,objectId,range) \
+#define ICorProfilerInfo8_GetObjectGeneration(This,objectId,range) \
( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
-#define ICorProfilerInfo7_GetNotifiedExceptionClauseInfo(This,pinfo) \
+#define ICorProfilerInfo8_GetNotifiedExceptionClauseInfo(This,pinfo) \
( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
-#define ICorProfilerInfo7_EnumJITedFunctions(This,ppEnum) \
+#define ICorProfilerInfo8_EnumJITedFunctions(This,ppEnum) \
( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
-#define ICorProfilerInfo7_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+#define ICorProfilerInfo8_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
-#define ICorProfilerInfo7_SetFunctionIDMapper2(This,pFunc,clientData) \
+#define ICorProfilerInfo8_SetFunctionIDMapper2(This,pFunc,clientData) \
( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
-#define ICorProfilerInfo7_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+#define ICorProfilerInfo8_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
-#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
+#define ICorProfilerInfo8_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) )
-#define ICorProfilerInfo7_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
+#define ICorProfilerInfo8_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \
( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) )
-#define ICorProfilerInfo7_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
+#define ICorProfilerInfo8_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \
( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) )
-#define ICorProfilerInfo7_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
+#define ICorProfilerInfo8_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \
( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) )
-#define ICorProfilerInfo7_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+#define ICorProfilerInfo8_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
-#define ICorProfilerInfo7_EnumModules(This,ppEnum) \
+#define ICorProfilerInfo8_EnumModules(This,ppEnum) \
( (This)->lpVtbl -> EnumModules(This,ppEnum) )
-#define ICorProfilerInfo7_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
+#define ICorProfilerInfo8_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \
( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) )
-#define ICorProfilerInfo7_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
+#define ICorProfilerInfo8_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \
( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) )
-#define ICorProfilerInfo7_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
+#define ICorProfilerInfo8_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \
( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) )
-#define ICorProfilerInfo7_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
+#define ICorProfilerInfo8_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \
( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) )
-#define ICorProfilerInfo7_EnumThreads(This,ppEnum) \
+#define ICorProfilerInfo8_EnumThreads(This,ppEnum) \
( (This)->lpVtbl -> EnumThreads(This,ppEnum) )
-#define ICorProfilerInfo7_InitializeCurrentThread(This) \
+#define ICorProfilerInfo8_InitializeCurrentThread(This) \
( (This)->lpVtbl -> InitializeCurrentThread(This) )
-#define ICorProfilerInfo7_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
+#define ICorProfilerInfo8_RequestReJIT(This,cFunctions,moduleIds,methodIds) \
( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) )
-#define ICorProfilerInfo7_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \
+#define ICorProfilerInfo8_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \
( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) )
-#define ICorProfilerInfo7_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \
+#define ICorProfilerInfo8_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \
( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) )
-#define ICorProfilerInfo7_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
+#define ICorProfilerInfo8_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \
( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) )
-#define ICorProfilerInfo7_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \
+#define ICorProfilerInfo8_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \
( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) )
-#define ICorProfilerInfo7_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \
+#define ICorProfilerInfo8_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \
( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) )
-#define ICorProfilerInfo7_EnumJITedFunctions2(This,ppEnum) \
+#define ICorProfilerInfo8_EnumJITedFunctions2(This,ppEnum) \
( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
-#define ICorProfilerInfo7_GetObjectSize2(This,objectId,pcSize) \
+#define ICorProfilerInfo8_GetObjectSize2(This,objectId,pcSize) \
( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
-#define ICorProfilerInfo7_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
+#define ICorProfilerInfo8_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
-#define ICorProfilerInfo7_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
+#define ICorProfilerInfo8_SetEventMask2(This,dwEventsLow,dwEventsHigh) \
( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) )
-#define ICorProfilerInfo7_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \
+#define ICorProfilerInfo8_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \
( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) )
-#define ICorProfilerInfo7_ApplyMetaData(This,moduleId) \
+#define ICorProfilerInfo8_ApplyMetaData(This,moduleId) \
( (This)->lpVtbl -> ApplyMetaData(This,moduleId) )
-#define ICorProfilerInfo7_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \
+#define ICorProfilerInfo8_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \
( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) )
-#define ICorProfilerInfo7_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \
+#define ICorProfilerInfo8_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \
( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) )
+
+#define ICorProfilerInfo8_IsFunctionDynamic(This,functionId,isDynamic) \
+ ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) )
+
+#define ICorProfilerInfo8_GetFunctionFromIP3(This,ip,functionId,pReJitId) \
+ ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) )
+
+#define ICorProfilerInfo8_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \
+ ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) )
+
#endif /* COBJMACROS */
-#endif /* __ICorProfilerInfo7_INTERFACE_DEFINED__ */
+#endif /* __ICorProfilerInfo8_INTERFACE_DEFINED__ */
#ifndef __ICorProfilerMethodEnum_INTERFACE_DEFINED__