diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/README.md b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/README.md index 634d877a57..3d0601228b 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/README.md +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/README.md @@ -1,22 +1,6 @@ # Info The files here were copied from -. +. This is to allow using the runtime's Platform Adaptation Layer. - -Manual changes: -in `\inc\corhlpr.cpp:L143`, -assert surrounded by `_DEBUG` conditional compilation - -```cpp -+#ifdef _DEBUG - assert(&origBuff[size] == outBuff); -+#endif -``` - -in `pal\sal.h:2610` commented ouf `#define __valid` - -```cpp - // #define __valid -``` diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/CrstTypeTool.cs b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/CrstTypeTool.cs index f41dc12006..b161d13f72 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/CrstTypeTool.cs +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/CrstTypeTool.cs @@ -46,8 +46,8 @@ using System; using System.Collections.Generic; -using System.IO; using System.Text; +using System.IO; using System.Text.RegularExpressions; // The main application class containing the program entry point. @@ -64,9 +64,9 @@ public static int Main() { // Calculate the filenames of the input and output files. string inputFile = "CrstTypes.def"; - string outputFile = "crsttypes.h"; + string outputFile = "crsttypes_generated.h"; - // A common error is to forget to check out the CrstTypes.h file first. Handle this case specially + // A common error is to forget to check out the crsttypes_generated.h file first. Handle this case specially // so we can give a good error message. if (File.Exists(outputFile) && (File.GetAttributes(outputFile) & FileAttributes.ReadOnly) != 0) { @@ -113,7 +113,7 @@ public static int Main() } } - // Emit the CrstTypes.h output file. + // Emit the crsttypes_generated.h output file. void WriteHeaderFile(string fileName) { FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None); @@ -476,16 +476,16 @@ static bool Unleveled(CrstType crst) class TypeFileParser { // Remember the input file name and the dictionary we're meant to populate. - string m_typeFileName; - Dictionary m_crsts; + string m_typeFileName; + Dictionary m_crsts; // Compile regular expressions for detecting comments and tokens in the parser input. - Regex m_commentRegex = new Regex(@"//.*"); - Regex m_tokenRegex = new Regex(@"^(\s*(\S+)\s*)*"); + Regex m_commentRegex = new Regex(@"//.*"); + Regex m_tokenRegex = new Regex(@"^(\s*(\S+)\s*)*"); // Input is lexed into an array of tokens. We record the index of the token being currently parsed. - Token[] m_tokens; - int m_currToken; + Token[] m_tokens; + int m_currToken; // Parse the given file into Crst type definitions and place these definitions in the dictionary provided. // Syntax errors are signalled via ParseError derived exceptions. @@ -553,46 +553,46 @@ void ParseCrst() switch (token.Id) { - case KeywordId.AcquiredBefore: - // Simply parse the following list of Crst types into the current type's AcquiredBefore list. - ParseList(crst.AcquiredBeforeList); - break; - - case KeywordId.AcquiredAfter: - // AcquiredAfter is trickier. To make the ranking algorithm's life easier we actually - // normalize all rules to the AcquiredBefore form (see LevelCrsts() for the reasoning). So we - // capture the list of Crst types that follow the AcquiredAfter keyword and then append the - // current type to the AcquiredBefore list of each type found. - list = new List(); - ParseList(list); - foreach (CrstType priorCrst in list) - priorCrst.AcquiredBeforeList.Add(crst); - break; - - case KeywordId.SameLevelAs: - // Parse the following list of Crst types them let the CrstTypeGroup class handle the - // resulting updates to the type groups we're currently maintaining. See the comments for the - // CrstTypeGroup class for more details. - list = new List(); - ParseList(list); - foreach (CrstType sameLevelCrst in list) - CrstTypeGroup.Join(crst, sameLevelCrst); - break; - - case KeywordId.Unordered: - crst.Level = CrstType.CrstUnordered; - break; - - case KeywordId.End: - parsingCrst = false; - break; - - default: - throw new UnexpectedTokenError(token, - KeywordId.AcquiredBefore, - KeywordId.AcquiredAfter, - KeywordId.SameLevelAs, - KeywordId.Unordered); + case KeywordId.AcquiredBefore: + // Simply parse the following list of Crst types into the current type's AcquiredBefore list. + ParseList(crst.AcquiredBeforeList); + break; + + case KeywordId.AcquiredAfter: + // AcquiredAfter is trickier. To make the ranking algorithm's life easier we actually + // normalize all rules to the AcquiredBefore form (see LevelCrsts() for the reasoning). So we + // capture the list of Crst types that follow the AcquiredAfter keyword and then append the + // current type to the AcquiredBefore list of each type found. + list = new List(); + ParseList(list); + foreach (CrstType priorCrst in list) + priorCrst.AcquiredBeforeList.Add(crst); + break; + + case KeywordId.SameLevelAs: + // Parse the following list of Crst types them let the CrstTypeGroup class handle the + // resulting updates to the type groups we're currently maintaining. See the comments for the + // CrstTypeGroup class for more details. + list = new List(); + ParseList(list); + foreach (CrstType sameLevelCrst in list) + CrstTypeGroup.Join(crst, sameLevelCrst); + break; + + case KeywordId.Unordered: + crst.Level = CrstType.CrstUnordered; + break; + + case KeywordId.End: + parsingCrst = false; + break; + + default: + throw new UnexpectedTokenError(token, + KeywordId.AcquiredBefore, + KeywordId.AcquiredAfter, + KeywordId.SameLevelAs, + KeywordId.Unordered); } } } @@ -632,9 +632,9 @@ void ParseList(List list) // Lex the input file into an array of tokens. void InitTokenStream() { - StreamReader file = new StreamReader(m_typeFileName); - int lineNumber = 1; - List tokenList = new List(); + StreamReader file = new StreamReader(m_typeFileName); + int lineNumber = 1; + List tokenList = new List(); // Read the file a line at a time. string line; @@ -706,15 +706,15 @@ internal class Token static Dictionary s_keywords; // The characters comprising the text of the token from the input file. - string m_text; + string m_text; // Where the token was found (for error messages). - string m_file; - int m_line; - int m_column; + string m_file; + int m_line; + int m_column; // The ID of the keyword this token represents (or KeywordId.Id). - KeywordId m_id; + KeywordId m_id; // Static class initialization. static Token() @@ -747,9 +747,9 @@ public Token(string file, string text, int line, int column) m_id = KeywordId.Id; } - public string Text { get { return m_text; } } - public string Location { get { return String.Format("{0} line {1}, column {2}", m_file, m_line, m_column); } } - public KeywordId Id { get { return m_id; } } + public string Text {get { return m_text; }} + public string Location {get { return String.Format("{0} line {1}, column {2}", m_file, m_line, m_column); }} + public KeywordId Id {get { return m_id; }} } // Base class for all syntax errors reported by the parser. @@ -758,12 +758,12 @@ internal class ParseError : Exception // A raw error message. public ParseError(string message) : base(message) - { } + {} // An error message tagged with a file, line and column (coming from an error token). public ParseError(string message, Token errorToken) : base(String.Format("{0}: {1}", errorToken.Location, message)) - { } + {} // Produce a textual name for the given keyword type. protected static string IdToName(KeywordId id) @@ -782,7 +782,7 @@ internal class UnexpectedTokenError : ParseError // optionally the names of zero or more tokens that would have been accepted. public UnexpectedTokenError(Token errorToken, params KeywordId[] expected) : base(FormatErrorMessage(errorToken, expected)) - { } + {} static string FormatErrorMessage(Token errorToken, KeywordId[] expected) { @@ -813,7 +813,7 @@ internal class UnexpectedEofError : ParseError { public UnexpectedEofError() : base("Unexpected end of file") - { } + {} } } @@ -827,24 +827,24 @@ class CrstType : IComparable public static readonly int CrstUnassigned = -2; // Name of the type, e.g. "AppDomainCache" for the CrstAppDomainCache type. - string m_name; + string m_name; // The numeric ranking assigned to this type. Starts as CrstUnassigned and then becomes either // CrstUnordered (while parsing the input file) or a number >= 0 (during LevelCrsts()). - int m_level; + int m_level; // List of Crst types that can be legally acquired while this one is held. (AcquiredAfter relationships // are by switching the terms and adding to the second type's AcquiredBefore list). - List m_acquiredBeforeCrsts; + List m_acquiredBeforeCrsts; // Either null if this Crst type is not in (or has not yet been determined to be in) a SameLevelAs // relationship or points to a CrstTypeGroup that records all the sibling types at the same level (that // have been discovered thus far during parsing). - CrstTypeGroup m_group; + CrstTypeGroup m_group; // Set once a definition for this type has been discovered. Used to detect double definitions and types // referenced without definitions. - bool m_defined; + bool m_defined; public CrstType(string name) { @@ -855,11 +855,11 @@ public CrstType(string name) m_defined = false; } - public string Name { get { return m_name; } } - public int Level { get { return m_level; } set { m_level = value; } } - public List AcquiredBeforeList { get { return m_acquiredBeforeCrsts; } set { m_acquiredBeforeCrsts = value; } } - public CrstTypeGroup Group { get { return m_group; } set { m_group = value; } } - public bool Defined { get { return m_defined; } set { m_defined = value; } } + public string Name {get { return m_name; }} + public int Level {get { return m_level; } set { m_level = value; }} + public List AcquiredBeforeList {get { return m_acquiredBeforeCrsts; } set { m_acquiredBeforeCrsts = value; }} + public CrstTypeGroup Group {get { return m_group; } set { m_group = value; }} + public bool Defined {get {return m_defined; } set { m_defined = value; }} // Helper used to sort CrstTypes. The sort order is lexical based on the type name. public int CompareTo(object other) @@ -882,10 +882,10 @@ public int CompareTo(object other) class CrstTypeGroup { // We record every group that has been formed so far. This makes normalizing all groups easier. - static List s_groups = new List(); + static List s_groups = new List(); // Crst types that are members of the current group. There are no duplicates in this list. - List m_members = new List(); + List m_members = new List(); // Declare a SameLevelAs relationship between the two Crst types given. Groups will be assigned, created // or merged as required to maintain our guarantees (each CrstType is a member of at most one group and @@ -988,5 +988,5 @@ void NormalizeRules() crst.AcquiredBeforeList = acquiredBeforeList.GetRange(0, acquiredBeforeList.Count); } - public List Members { get { return m_members; } } + public List Members {get { return m_members; }} } diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/CrstTypes.def b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/CrstTypes.def index 3d2cdcf820..3bccb73e03 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/CrstTypes.def +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/CrstTypes.def @@ -14,7 +14,7 @@ // acquired and which other types may be subsequently acquired. You can then add a Crst definition to this // file and annotate it with those dependencies. Running CrstTypeTool will check to see if this introduces a // potential deadlock problem and if everything checks out will generate a new version of -// file:CrstTypes.h (be sure to check this file out from TFS/SD before running CrstTypeTool). +// file:crsttypes_generated.h. // // The format of this file is a very simple language. Comments are introduced with '//' and continue to the // end of the line. Keywords are case insensitive (Crst type names, however, are case sensitive since they'll @@ -159,6 +159,7 @@ End Crst DebuggerMutex AcquiredBefore AvailableParamTypes DynamicIL LoaderHeap ModuleLookupTable + MethodDescBackpatchInfoTracker JitInlineTrackingMap CodeVersioning // Disabled per bug 581892 // AcquiredBefore DebuggerController @@ -202,7 +203,7 @@ Crst Exception End Crst ExecutableAllocatorLock - AcquiredAfter LoaderHeap ArgBasedStubCache UMEntryThunkFreeListLock + AcquiredAfter LoaderHeap ArgBasedStubCache UMEntryThunkFreeListLock COMCallWrapper End Crst ExecuteManRangeLock @@ -213,6 +214,14 @@ Crst FCall AcquiredBefore LoaderHeap End +Crst FrozenObjectHeap + Unordered +End + +Crst MethodTableExposedObject + Unordered +End + Crst RetThunkCache AcquiredBefore LoaderHeap End @@ -292,7 +301,7 @@ End Crst JumpStubCache AcquiredBefore ExecuteManRangeLock LoaderHeap SingleUseLock AcquiredAfter AppDomainCache - ILStubGen ThreadpoolTimerQueue ThreadpoolWaitThreads + ILStubGen TypeIDMap BaseDomain AssemblyLoader End @@ -385,18 +394,15 @@ End Crst RCWCleanupList End -Crst ExternalObjectContextCache -End - Crst Reflection AcquiredBefore LoaderHeap UnresolvedClassLock End // Used to synchronize all rejit information stored in a given AppDomain. Crst CodeVersioning - AcquiredBefore LoaderHeap SingleUseLock DeadlockDetection JumpStubCache DebuggerController FuncPtrStubs + AcquiredBefore LoaderHeap SingleUseLock DeadlockDetection JumpStubCache DebuggerController FuncPtrStubs PerfMap AcquiredAfter ReJITGlobalRequest ThreadStore GlobalStrLiteralMap SystemDomain DebuggerMutex MethodDescBackpatchInfoTracker - ReadyToRunEntryPointToMethodDescMap ClassInit AppDomainCache TypeIDMap FusionAppCtx + ReadyToRunEntryPointToMethodDescMap ClassInit AppDomainCache TypeIDMap FusionAppCtx COMWrapperCache InteropData End // Used to synchronize all global requests (which may span multiple AppDomains) which add @@ -476,23 +482,12 @@ End Crst ThreadIdDispenser End -Crst ThreadpoolTimerQueue - AcquiredBefore UniqueStack -End - -Crst ThreadpoolWaitThreads - AcquiredBefore UniqueStack -End - -Crst ThreadpoolWorker - AcquiredBefore ThreadIdDispenser ThreadStore -End - Crst ThreadStore AcquiredBefore AvailableParamTypes DeadlockDetection DebuggerController DebuggerHeapLock DebuggerJitInfo DynamicIL ExecuteManRangeLock HandleTable IbcProfile JitGenericHandleCache JumpStubCache LoaderHeap ModuleLookupTable ProfilerGCRefDataFreeList SingleUseLock SyncBlockCache SystemDomainDelayedUnloadList ThreadIdDispenser DebuggerMutex + JitInlineTrackingMap End Crst TypeIDMap @@ -544,7 +539,7 @@ Crst InlineTrackingMap End Crst JitInlineTrackingMap - AcquiredBefore CodeVersioning ThreadStore MethodDescBackpatchInfoTracker + AcquiredBefore CodeVersioning MethodDescBackpatchInfoTracker End Crst EventPipe @@ -561,7 +556,7 @@ End Crst TieredCompilation AcquiredAfter CodeVersioning - AcquiredBefore ThreadpoolTimerQueue + AcquiredBefore FuncPtrStubs End Crst COMCallWrapper @@ -581,3 +576,11 @@ End Crst PgoData AcquiredBefore LoaderHeap End + +Crst StaticBoxInit + AcquiredBefore LoaderHeap FrozenObjectHeap AssemblyLoader +End + +Crst PerfMap + AcquiredAfter CodeVersioning AssemblyList +End diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/arraylist.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/arraylist.h index e4e008214a..f2ffe29d26 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/arraylist.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/arraylist.h @@ -226,14 +226,16 @@ class ArrayListBase return m_block != NULL; } +#ifndef DACCESS_COMPILE void ClearUnusedMemory() { if (m_remaining < m_block->m_blockSize) - ZeroMemory(&(m_block->m_array[m_remaining]), (m_block->m_blockSize - m_remaining) * sizeof(void*)); + ZeroMemory(m_block->m_array + m_remaining, (m_block->m_blockSize - m_remaining) * sizeof(void*)); #ifdef HOST_64BIT m_block->m_padding = 0; -#endif +#endif // HOST_64BIT } +#endif // DACCESS_COMPILE void **GetNextPtr() { diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceefilegenwriter.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceefilegenwriter.h index 06e20a6bd1..0364767cd5 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceefilegenwriter.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceefilegenwriter.h @@ -69,11 +69,8 @@ class CeeFileGenWriter : public CCeeGen HRESULT allocateIAT(); public: // Create with one of these two methods, not operator new - static HRESULT CreateNewInstance(CCeeGen *pCeeFileGenFrom, CeeFileGenWriter* & pGenWriter, - DWORD createFlags = ICEE_CREATE_FILE_PURE_IL); - // See ICeeFileGen.h for the definition of the bits used in createFlags - static HRESULT CreateNewInstanceEx(CCeeGen *pCeeFileGenFrom, CeeFileGenWriter* & pGenWriter, - DWORD createFlags, LPCWSTR seedFileName = NULL); + static HRESULT CreateNewInstance(CeeFileGenWriter* & pGenWriter, + DWORD createFlags = ICEE_CREATE_FILE_PURE_IL); virtual HRESULT Cleanup(); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceegen.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceegen.h index cb86a18c3f..67cb10d646 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceegen.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceegen.h @@ -185,7 +185,6 @@ class CCeeGen : public ICeeGenInternal { CeeGenTokenMapper *m_pTokenMap; BOOLEAN m_fTokenMapSupported; // temporary to support both models - IMapToken *m_pRemapHandler; CeeSection **m_sections; short m_numSections; @@ -238,9 +237,6 @@ class CCeeGen : public ICeeGenInternal { ULONG RVA, UCHAR **lpBuffer); - STDMETHODIMP GetIMapTokenIface ( - IUnknown **pIMapToken); - STDMETHODIMP GenerateCeeFile (); STDMETHODIMP GetIlSection ( @@ -276,8 +272,6 @@ class CCeeGen : public ICeeGenInternal { UCHAR **lpBuffer); // [OUT] Returned buffer - STDMETHODIMP AddNotificationHandler(IUnknown *pHandler); - // Write the metadata in "emitter" to the default metadata section is "section" is 0 // If 'section != 0, it will put the data in 'buffer'. This // buffer is assumed to be in 'section' at 'offset' and of size 'buffLen' @@ -307,14 +301,6 @@ class CCeeGen : public ICeeGenInternal { LIMITED_METHOD_CONTRACT; return m_pTokenMap; } - - virtual HRESULT addNotificationHandler(IUnknown *pHandler); - - //Clone is actually a misnomer here. This method will copy all of the - //instance variables and then do a deep copy (as necessary) of the sections. - //Section data will be appended onto any information already in the section. - //This is done to support the DynamicIL -> PersistedIL transform. - virtual HRESULT cloneInstance(CCeeGen *destination); }; // ***** CeeSection inline methods diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceegentokenmapper.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceegentokenmapper.h index a1bb9b7ef4..02d98c92d5 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceegentokenmapper.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceegentokenmapper.h @@ -48,7 +48,7 @@ friend class PESectionMan; static int IndexForType(mdToken tk); - CeeGenTokenMapper() : m_pIImport(0), m_cRefs(1), m_pIMapToken(NULL) { LIMITED_METHOD_CONTRACT; } + CeeGenTokenMapper() : m_pIImport(0), m_cRefs(1) { LIMITED_METHOD_CONTRACT; } virtual ~CeeGenTokenMapper() {} //***************************************************************************** @@ -66,12 +66,6 @@ friend class PESectionMan; ULONG cRefs = --m_cRefs; if (cRefs == 0) { - if (m_pIMapToken) - { - m_pIMapToken->Release(); - m_pIMapToken = NULL; - } - delete this; } return cRefs; @@ -104,28 +98,6 @@ friend class PESectionMan; //***************************************************************************** virtual HRESULT GetMetaData(IMetaDataImport **ppIImport); -//***************************************************************************** -// Add another token mapper. -//***************************************************************************** - virtual HRESULT AddTokenMapper(IMapToken *pIMapToken) - { - STATIC_CONTRACT_NOTHROW; - STATIC_CONTRACT_FORBID_FAULT; - - // Add the token mapper, if there isn't already one. - if (m_pIMapToken == NULL) - { - m_pIMapToken = pIMapToken; - m_pIMapToken->AddRef(); - return S_OK; - } - else - { - _ASSERTE(!"Token mapper already set!"); - return E_FAIL; - } - } - protected: // m_rgMap is an array indexed by token type. For each type, an array of // tokens is kept, indexed by from rid. To see if a token has been moved, @@ -134,8 +106,6 @@ friend class PESectionMan; TOKENMAP m_rgMap[MAX_TOKENMAP]; IMetaDataImport *m_pIImport; ULONG m_cRefs; // Ref count. - IMapToken *m_pIMapToken; - }; #endif // __CeeGenTokenMapper_h__ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceesectionstring.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceesectionstring.h index ed1d41d1c5..273804362d 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceesectionstring.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ceesectionstring.h @@ -39,10 +39,6 @@ class CeeSectionString : public CeeSection { StringTableEntry *findStringInsert( StringTableEntry *&entry, _In_z_ LPWSTR targetValue, ULONG hashId); void deleteEntries(StringTableEntry *e); -#ifdef RDATA_STATS - int dumpEntries(StringTableEntry *e); - void dumpTable(); -#endif public: ~CeeSectionString(); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/check.inl b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/check.inl index f234e988fa..9296c48f7a 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/check.inl +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/check.inl @@ -220,6 +220,14 @@ inline CHECK CheckOverflow(const void *address, UINT64 offset) CHECK_OK; } +#ifdef __APPLE__ +inline CHECK CheckOverflow(const void *address, SIZE_T offset) +{ + CHECK((UINT64) address + offset >= (UINT64) address); + + CHECK_OK; +} +#endif // __APPLE__ inline CHECK CheckUnderflow(UINT value1, UINT value2) { diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clr_std/vector b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clr_std/vector index c10ecf6ba5..c2d1caba89 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clr_std/vector +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clr_std/vector @@ -215,6 +215,33 @@ namespace std } } + vector(const vector&) = delete; + vector& operator=(const vector&) = delete; + + vector(vector&& v) noexcept + : m_size(v.m_size) + , m_capacity(v.m_capacity) + , m_pelements(v.m_pelements) + , m_isBufferOwner(v.m_isBufferOwner) + { + v.m_isBufferOwner = false; + } + + vector& operator=(vector&& v) noexcept + { + if (m_isBufferOwner) + { + erase(m_pelements, 0, m_size); + delete [] (BYTE*)m_pelements; + } + + m_size = v.m_size; + m_capacity = v.m_capacity; + m_pelements = v.m_pelements; + m_isBufferOwner = v.m_isBufferOwner; + v.m_isBufferOwner = false; + return *this; + } size_t size() const { diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrconfigvalues.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrconfigvalues.h index ce7d1836a3..7b356b0744 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrconfigvalues.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrconfigvalues.h @@ -15,7 +15,7 @@ // -------------------- // | // V -// You can set an environment variable COMPlus_LogEnable=1 to enable it. +// You can set an environment variable DOTNET_LogEnable=1 to enable it. // // See below for more details // @@ -43,7 +43,7 @@ // CONFIG_DWORD_INFO(symbol, name, defaultValue, description) // -------------------------------------------------------------------------- // Use this macro to define a basic DWORD value. CLRConfig will look in environment variables (adding -// COMPlus_ to the name) for this value. To customize +// DOTNET_ to the name) for this value. To customize // where CLRConfig looks, use the extended version of the macro below. IMPORTANT: please follow the // code:#NamingConventions for the symbol and the name! // @@ -130,6 +130,11 @@ RETAIL_CONFIG_DWORD_INFO(INTERNAL_JitPitchMaxVal, W("JitPitchMaxVal"), (DWORD)0x /// CONFIG_DWORD_INFO(INTERNAL_GetAssemblyIfLoadedIgnoreRidMap, W("GetAssemblyIfLoadedIgnoreRidMap"), 0, "Used to force loader to ignore assemblies cached in the rid-map") +/// +/// PE Loader +/// +RETAIL_CONFIG_DWORD_INFO(INTERNAL_PELoader_DisableMapping, W("PELoader_DisableMapping"), 0, "Disable file mapping when performing non-OS layout.") + /// /// Conditional breakpoints /// @@ -157,9 +162,13 @@ CONFIG_DWORD_INFO(INTERNAL_BreakOnUEF, W("BreakOnUEF"), 0, "") CONFIG_DWORD_INFO(INTERNAL_BreakOnUncaughtException, W("BreakOnUncaughtException"), 0, "") /// -/// Debugger +/// Debugger, Profiler, Diagnostics IPC Ports /// -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableDiagnostics, W("EnableDiagnostics"), 1, "Allows the debugger, profiler, and EventPipe diagnostics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableDiagnostics, W("EnableDiagnostics"), 1, "Allows the debugger, profiler, and diagnostic IPC service ports to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableDiagnostics_IPC, W("EnableDiagnostics_IPC"), 1, "Allows the diagnostic IPC service ports to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableDiagnostics_Debugger, W("EnableDiagnostics_Debugger"), 1, "Allows the debugger to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableDiagnostics_Profiler, W("EnableDiagnostics_Profiler"), 1, "Allows the profiler to be disabled") + CONFIG_DWORD_INFO(INTERNAL_D__FCE, W("D::FCE"), 0, "Allows an assert when crawling the managed stack for an exception handler") CONFIG_DWORD_INFO(INTERNAL_DbgBreakIfLocksUnavailable, W("DbgBreakIfLocksUnavailable"), 0, "Allows an assert when the debugger can't take a lock ") CONFIG_DWORD_INFO(INTERNAL_DbgBreakOnErr, W("DbgBreakOnErr"), 0, "Allows an assert when we get a failing hresult") @@ -188,11 +197,6 @@ CONFIG_DWORD_INFO(INTERNAL_DbgNoOpenMDByFile, W("DbgNoOpenMDByFile"), 0, "Allows CONFIG_DWORD_INFO(INTERNAL_DbgOOBinFEEE, W("DbgOOBinFEEE"), 0, "Allows forcing oob breakpoints when a fatal error occurs") CONFIG_DWORD_INFO(INTERNAL_DbgPingInterop, W("DbgPingInterop"), 0, "Allows checking for deadlocks in interop debugging") CONFIG_DWORD_INFO(INTERNAL_DbgRace, W("DbgRace"), 0, "Allows pausing for native debug events to get hijicked") -RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_DbgRedirect, W("DbgRedirect"), 0, "Allows for redirecting the event pipeline") -RETAIL_CONFIG_STRING_INFO(EXTERNAL_DbgRedirectApplication, W("DbgRedirectApplication"), "Specifies the auxiliary debugger application to launch.") -RETAIL_CONFIG_STRING_INFO(EXTERNAL_DbgRedirectAttachCmd, W("DbgRedirectAttachCmd"), "Specifies command parameters for attaching the auxiliary debugger.") -RETAIL_CONFIG_STRING_INFO(EXTERNAL_DbgRedirectCommonCmd, W("DbgRedirectCommonCmd"), "Specifies a command line format string for the auxiliary debugger.") -RETAIL_CONFIG_STRING_INFO(EXTERNAL_DbgRedirectCreateCmd, W("DbgRedirectCreateCmd"), "Specifies command parameters when creating the auxiliary debugger.") CONFIG_DWORD_INFO(INTERNAL_DbgShortcutCanary, W("DbgShortcutCanary"), 0, "Allows a way to force canary to fail to be able to test failure paths") CONFIG_DWORD_INFO(INTERNAL_DbgSkipMEOnStep, W("DbgSkipMEOnStep"), 0, "Turns off MethodEnter checks") CONFIG_DWORD_INFO(INTERNAL_DbgSkipVerCheck, W("DbgSkipVerCheck"), 0, "Allows different RS and LS versions (for servicing work)") @@ -277,7 +281,6 @@ RETAIL_CONFIG_DWORD_INFO(EXTERNAL_gcAllowVeryLargeObjects, W("gcAllowVeryLargeOb RETAIL_CONFIG_DWORD_INFO(EXTERNAL_GCStress, W("GCStress"), 0, "Trigger GCs at regular intervals") CONFIG_DWORD_INFO(INTERNAL_GcStressOnDirectCalls, W("GcStressOnDirectCalls"), 0, "Whether to trigger a GC on direct calls") RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_HeapVerify, W("HeapVerify"), 0, "When set verifies the integrity of the managed heap on entry and exit of each GC") -RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_GCNumaAware, W("GCNumaAware"), 1, "Specifies if to enable GC NUMA aware") RETAIL_CONFIG_DWORD_INFO(EXTERNAL_GCCpuGroup, W("GCCpuGroup"), 0, "Specifies if to enable GC to support CPU groups") RETAIL_CONFIG_STRING_INFO(EXTERNAL_GCName, W("GCName"), "") /** @@ -299,12 +302,22 @@ CONFIG_DWORD_INFO(INTERNAL_JitDebuggable, W("JitDebuggable"), 0, "") #define INTERNAL_JitEnableNoWayAssert_Default 1 #endif RETAIL_CONFIG_DWORD_INFO(INTERNAL_JitEnableNoWayAssert, W("JitEnableNoWayAssert"), INTERNAL_JitEnableNoWayAssert_Default, "") + +#if defined(TARGET_RISCV64) +// TODO-RISCV64-CQ: In RISCV64, currently jitc always generates JitFramed codes. +RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_JitFramed, W("JitFramed"), 1, "Forces EBP frames") +#else RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_JitFramed, W("JitFramed"), 0, "Forces EBP frames") +#endif // TARGET_RISCV64 CONFIG_DWORD_INFO(INTERNAL_JitThrowOnAssertionFailure, W("JitThrowOnAssertionFailure"), 0, "Throw managed exception on assertion failures during JIT instead of failfast") CONFIG_DWORD_INFO(INTERNAL_JitGCStress, W("JitGCStress"), 0, "GC stress mode for jit") CONFIG_DWORD_INFO(INTERNAL_JitHeartbeat, W("JitHeartbeat"), 0, "") CONFIG_DWORD_INFO(INTERNAL_JitHelperLogging, W("JitHelperLogging"), 0, "") RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_JITMinOpts, W("JITMinOpts"), 0, "Forces MinOpts") + +// *Some* relocs are just opportunistic optimizations and can be non-deterministic - it might produce +// noise for jit-diff like tools. +RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_JitEnableOptionalRelocs, W("JitEnableOptionalRelocs"), 1, "Allow optional relocs") RETAIL_CONFIG_STRING_INFO(EXTERNAL_JitName, W("JitName"), "Primary jit to use") CONFIG_STRING_INFO(INTERNAL_JitPath, W("JitPath"), "Full path to primary jit to use") #if defined(ALLOW_SXS_JIT) @@ -315,17 +328,6 @@ RETAIL_CONFIG_STRING_INFO(EXTERNAL_AltJitOs, W("AltJitOS"), "Sets target OS for RETAIL_CONFIG_STRING_INFO(EXTERNAL_AltJitExcludeAssemblies, W("AltJitExcludeAssemblies"), "Do not use AltJit on this semicolon-delimited list of assemblies.") #endif // defined(ALLOW_SXS_JIT) -#if defined(FEATURE_STACK_SAMPLING) -RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_StackSamplingEnabled, W("StackSamplingEnabled"), 0, "Is stack sampling based tracking of evolving hot methods enabled.") -RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_StackSamplingAfter, W("StackSamplingAfter"), 0, "When to start sampling (for some sort of app steady state), i.e., initial delay for sampling start in milliseconds.") -RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_StackSamplingEvery, W("StackSamplingEvery"), 100, "How frequent should thread stacks be sampled in milliseconds.") -RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_StackSamplingNumMethods, W("StackSamplingNumMethods"), 32, "Number of evolving methods to track as hot and JIT them in the background at a given point of execution.") -#endif // defined(FEATURE_JIT_SAMPLING) - -#if defined(ALLOW_SXS_JIT_NGEN) -RETAIL_CONFIG_STRING_INFO(INTERNAL_AltJitNgen, W("AltJitNgen"), "Enables AltJit for NGEN and selectively limits it to the specified methods.") -#endif // defined(ALLOW_SXS_JIT_NGEN) - RETAIL_CONFIG_DWORD_INFO(EXTERNAL_JitHostMaxSlabCache, W("JitHostMaxSlabCache"), 0x1000000, "Sets jit host max slab cache size, 16MB default") RETAIL_CONFIG_DWORD_INFO(EXTERNAL_JitOptimizeType, W("JitOptimizeType"), 0 /* OPT_DEFAULT */, "") @@ -352,12 +354,6 @@ RETAIL_CONFIG_DWORD_INFO(EXTERNAL_JitRegisterFP, W("JitRegisterFP"), 3, "Control RETAIL_CONFIG_DWORD_INFO(INTERNAL_JitELTHookEnabled, W("JitELTHookEnabled"), 0, "On ARM, setting this will emit Enter/Leave/TailCall callbacks") RETAIL_CONFIG_DWORD_INFO(INTERNAL_JitMemStats, W("JitMemStats"), 0, "Display JIT memory usage statistics") RETAIL_CONFIG_DWORD_INFO(INTERNAL_JitVNMapSelBudget, W("JitVNMapSelBudget"), 100, "Max # of MapSelect's considered for a particular top-level invocation.") -#if defined(TARGET_AMD64) || defined(TARGET_X86) || defined(TARGET_ARM64) -#define EXTERNAL_FeatureSIMD_Default 1 -#else // !(defined(TARGET_AMD64) || defined(TARGET_X86) || defined(TARGET_ARM64)) -#define EXTERNAL_FeatureSIMD_Default 0 -#endif // !(defined(TARGET_AMD64) || defined(TARGET_X86) || defined(TARGET_ARM64)) -RETAIL_CONFIG_DWORD_INFO(INTERNAL_SIMD16ByteOnly, W("SIMD16ByteOnly"), 0, "Limit maximum SIMD vector length to 16 bytes (used by x64_arm64_altjit)") RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_TrackDynamicMethodDebugInfo, W("TrackDynamicMethodDebugInfo"), 0, "Specifies whether debug info should be generated and tracked for dynamic methods") #ifdef FEATURE_MULTICOREJIT @@ -402,7 +398,6 @@ RETAIL_CONFIG_DWORD_INFO(INTERNAL_InterpreterFallback, W("InterpreterFallback"), /// CONFIG_DWORD_INFO(INTERNAL_LoaderHeapCallTracing, W("LoaderHeapCallTracing"), 0, "Loader heap troubleshooting") RETAIL_CONFIG_DWORD_INFO(INTERNAL_CodeHeapReserveForJumpStubs, W("CodeHeapReserveForJumpStubs"), 1, "Percentage of code heap to reserve for jump stubs") -RETAIL_CONFIG_DWORD_INFO(INTERNAL_NGenReserveForJumpStubs, W("NGenReserveForJumpStubs"), 0, "Percentage of ngen image size to reserve for jump stubs") RETAIL_CONFIG_DWORD_INFO(INTERNAL_BreakOnOutOfMemoryWithinRange, W("BreakOnOutOfMemoryWithinRange"), 0, "Break before out of memory within range exception is thrown") /// @@ -490,10 +485,9 @@ RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_ProfAPI_ValidateNGENInstrumentation, W("Pro #ifdef FEATURE_PERFMAP RETAIL_CONFIG_DWORD_INFO(EXTERNAL_PerfMapEnabled, W("PerfMapEnabled"), 0, "This flag is used on Linux to enable writing /tmp/perf-$pid.map. It is disabled by default") -RETAIL_CONFIG_STRING_INFO(EXTERNAL_PerfMapJitDumpPath, W("PerfMapJitDumpPath"), "Specifies a path to write the perf jitdump file. Defaults to GetTempPathA()") +RETAIL_CONFIG_STRING_INFO_EX(EXTERNAL_PerfMapJitDumpPath, W("PerfMapJitDumpPath"), "Specifies a path to write the perf jitdump file. Defaults to /tmp", CLRConfig::LookupOptions::TrimWhiteSpaceFromStringValue) RETAIL_CONFIG_DWORD_INFO(EXTERNAL_PerfMapIgnoreSignal, W("PerfMapIgnoreSignal"), 0, "When perf map is enabled, this option will configure the specified signal to be accepted and ignored as a marker in the perf logs. It is disabled by default") RETAIL_CONFIG_DWORD_INFO(EXTERNAL_PerfMapShowOptimizationTiers, W("PerfMapShowOptimizationTiers"), 1, "Shows optimization tiers in the perf map for methods, as part of the symbol name. Useful for seeing separate stack frames for different optimization tiers of each method.") -RETAIL_CONFIG_STRING_INFO(EXTERNAL_NativeImagePerfMapFormat, W("NativeImagePerfMapFormat"), "Specifies the format of native image perfmap files generated by crossgen. Valid options are RVA or OFFSET.") #endif RETAIL_CONFIG_STRING_INFO(EXTERNAL_StartupDelayMS, W("StartupDelayMS"), "") @@ -529,15 +523,13 @@ RETAIL_CONFIG_DWORD_INFO_EX(EXTERNAL_ProcessorCount, W("PROCESSOR_COUNT"), 0, "S /// /// Threadpool /// -RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_UsePortableThreadPool, W("ThreadPool_UsePortableThreadPool"), 1, "Uses the managed portable thread pool implementation instead of the unmanaged one.") -RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_UsePortableThreadPoolForIO, W("ThreadPool_UsePortableThreadPoolForIO"), 1, "Uses the managed portable thread pool implementation instead of the unmanaged one for async IO.") RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_ForceMinWorkerThreads, W("ThreadPool_ForceMinWorkerThreads"), 0, "Overrides the MinThreads setting for the ThreadPool worker pool") RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_ForceMaxWorkerThreads, W("ThreadPool_ForceMaxWorkerThreads"), 0, "Overrides the MaxThreads setting for the ThreadPool worker pool") RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_DisableStarvationDetection, W("ThreadPool_DisableStarvationDetection"), 0, "Disables the ThreadPool feature that forces new threads to be added when workitems run for too long") RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_DebugBreakOnWorkerStarvation, W("ThreadPool_DebugBreakOnWorkerStarvation"), 0, "Breaks into the debugger if the ThreadPool detects work queue starvation") RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_EnableWorkerTracking, W("ThreadPool_EnableWorkerTracking"), 0, "Enables extra expensive tracking of how many workers threads are working simultaneously") #ifdef TARGET_ARM64 -// Spinning scheme is currently different on ARM64, see CLRLifoSemaphore::Wait(DWORD, UINT32, UINT32) +// Spinning scheme is currently different on ARM64 RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_UnfairSemaphoreSpinLimit, W("ThreadPool_UnfairSemaphoreSpinLimit"), 0x32, "Maximum number of spins per processor a thread pool worker thread performs before waiting for work") #else // !TARGET_ARM64 RETAIL_CONFIG_DWORD_INFO(INTERNAL_ThreadPool_UnfairSemaphoreSpinLimit, W("ThreadPool_UnfairSemaphoreSpinLimit"), 0x46, "Maximum number of spins a thread pool worker thread performs before waiting for work") @@ -576,15 +568,16 @@ RETAIL_CONFIG_DWORD_INFO(INTERNAL_HillClimbing_GainExponent, #endif // _DEBUG RETAIL_CONFIG_DWORD_INFO(EXTERNAL_TieredCompilation, W("TieredCompilation"), 1, "Enables tiered compilation") RETAIL_CONFIG_DWORD_INFO(EXTERNAL_TC_QuickJit, W("TC_QuickJit"), 1, "For methods that would be jitted, enable using quick JIT when appropriate.") -#if defined(TARGET_AMD64) || defined(TARGET_ARM64) +#if defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_TC_QuickJitForLoops, W("TC_QuickJitForLoops"), 1, "When quick JIT is enabled, quick JIT may also be used for methods that contain loops.") -#else // !(defined(TARGET_AMD64) || defined(TARGET_ARM64)) +#else // !(defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64)) RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_TC_QuickJitForLoops, W("TC_QuickJitForLoops"), 0, "When quick JIT is enabled, quick JIT may also be used for methods that contain loops.") -#endif // defined(TARGET_AMD64) || defined(TARGET_ARM64) +#endif // defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) RETAIL_CONFIG_DWORD_INFO(EXTERNAL_TC_AggressiveTiering, W("TC_AggressiveTiering"), 0, "Transition through tiers aggressively.") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_TC_CallCountThreshold, W("TC_CallCountThreshold"), TC_CallCountThreshold, "Number of times a method must be called in tier 0 after which it is promoted to the next tier.") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_TC_CallCountingDelayMs, W("TC_CallCountingDelayMs"), TC_CallCountingDelayMs, "A perpetual delay in milliseconds that is applied to call counting in tier 0 and jitting at higher tiers, while there is startup-like activity.") + RETAIL_CONFIG_DWORD_INFO(INTERNAL_TC_BackgroundWorkerTimeoutMs, W("TC_BackgroundWorkerTimeoutMs"), TC_BackgroundWorkerTimeoutMs, "How long in milliseconds the background worker thread may remain idle before exiting.") -RETAIL_CONFIG_DWORD_INFO(INTERNAL_TC_CallCountThreshold, W("TC_CallCountThreshold"), TC_CallCountThreshold, "Number of times a method must be called in tier 0 after which it is promoted to the next tier.") -RETAIL_CONFIG_DWORD_INFO(INTERNAL_TC_CallCountingDelayMs, W("TC_CallCountingDelayMs"), TC_CallCountingDelayMs, "A perpetual delay in milliseconds that is applied to call counting in tier 0 and jitting at higher tiers, while there is startup-like activity.") RETAIL_CONFIG_DWORD_INFO(INTERNAL_TC_DelaySingleProcMultiplier, W("TC_DelaySingleProcMultiplier"), TC_DelaySingleProcMultiplier, "Multiplier for TC_CallCountingDelayMs that is applied on a single-processor machine or when the process is affinitized to a single processor.") RETAIL_CONFIG_DWORD_INFO(INTERNAL_TC_CallCounting, W("TC_CallCounting"), 1, "Enabled by default (only activates when TieredCompilation is also enabled). If disabled immediately backpatches prestub, and likely prevents any promotion to higher tiers") RETAIL_CONFIG_DWORD_INFO(INTERNAL_TC_UseCallCountingStubs, W("TC_UseCallCountingStubs"), 1, "Uses call counting stubs for faster call counting.") @@ -613,7 +606,16 @@ CONFIG_DWORD_INFO(INTERNAL_OSR_HighId, W("OSR_HighId"), 10000000, "High end of e RETAIL_CONFIG_STRING_INFO(INTERNAL_PGODataPath, W("PGODataPath"), "Read/Write PGO data from/to the indicated file.") RETAIL_CONFIG_DWORD_INFO(INTERNAL_ReadPGOData, W("ReadPGOData"), 0, "Read PGO data") RETAIL_CONFIG_DWORD_INFO(INTERNAL_WritePGOData, W("WritePGOData"), 0, "Write PGO data") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_TieredPGO, W("TieredPGO"), 0, "Instrument Tier0 code and make counts available to Tier1") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_TieredPGO, W("TieredPGO"), 1, "Instrument Tier0 code and make counts available to Tier1") + +// TieredPGO_InstrumentOnlyHotCode values: +// +// 0) Instrument all IL-only code, R2R'd code is never instrumented +// 1) Instrument only hot IL-only and hot R2R code (use optimizations in the instrumented tier for hot R2R and no optimizations for hot IL-only) +RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_TieredPGO_InstrumentOnlyHotCode, W("TieredPGO_InstrumentOnlyHotCode"), 1, "Strategy for TieredPGO, see comments in clrconfigvalues.h") + +// By default, we only use optimizations in instrumented tiers for hot R2R code only. +RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_TieredPGO_InstrumentedTierAlwaysOptimized, W("TieredPGO_InstrumentedTierAlwaysOptimized"), 0, "Always use optimizations inside instrumented tiers") #endif /// @@ -673,7 +675,6 @@ RETAIL_CONFIG_STRING_INFO(INTERNAL_EventNameFilter, W("EventNameFilter"), "") /// /// Interop /// -CONFIG_DWORD_INFO(INTERNAL_ExposeExceptionsInCOM, W("ExposeExceptionsInCOM"), 0, "") RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_InteropValidatePinnedObjects, W("InteropValidatePinnedObjects"), 0, "After returning from a managed-to-unmanaged interop call, validate GC heap around objects pinned by IL stubs.") RETAIL_CONFIG_DWORD_INFO(EXTERNAL_InteropLogArguments, W("InteropLogArguments"), 0, "Log all pinned arguments passed to an interop call") RETAIL_CONFIG_STRING_INFO(UNSUPPORTED_LogCCWRefCountChange, W("LogCCWRefCountChange"), "Outputs debug information and calls LogCCWRefCountChange_BREAKPOINT when AddRef or Release is called on a CCW.") @@ -684,12 +685,13 @@ RETAIL_CONFIG_DWORD_INFO(INTERNAL_EnableRCWCleanupOnSTAShutdown, W("EnableRCWCle // RETAIL_CONFIG_DWORD_INFO(INTERNAL_EnableEventPipe, W("EnableEventPipe"), 0, "Enable/disable event pipe. Non-zero values enable tracing.") RETAIL_CONFIG_DWORD_INFO(INTERNAL_EventPipeNetTraceFormat, W("EventPipeNetTraceFormat"), 1, "Enable/disable using the newer nettrace file format.") -RETAIL_CONFIG_STRING_INFO(INTERNAL_EventPipeOutputPath, W("EventPipeOutputPath"), "The full path excluding file name for the trace file that will be written when COMPlus_EnableEventPipe=1") +RETAIL_CONFIG_STRING_INFO(INTERNAL_EventPipeOutputPath, W("EventPipeOutputPath"), "The full path excluding file name for the trace file that will be written when DOTNET_EnableEventPipe=1") RETAIL_CONFIG_STRING_INFO(INTERNAL_EventPipeConfig, W("EventPipeConfig"), "Configuration for EventPipe.") RETAIL_CONFIG_DWORD_INFO(INTERNAL_EventPipeRundown, W("EventPipeRundown"), 1, "Enable/disable eventpipe rundown.") RETAIL_CONFIG_DWORD_INFO(INTERNAL_EventPipeCircularMB, W("EventPipeCircularMB"), 1024, "The EventPipe circular buffer size in megabytes.") RETAIL_CONFIG_DWORD_INFO(INTERNAL_EventPipeProcNumbers, W("EventPipeProcNumbers"), 0, "Enable/disable capturing processor numbers in EventPipe event headers") -RETAIL_CONFIG_DWORD_INFO(INTERNAL_EventPipeOutputStreaming, W("EventPipeOutputStreaming"), 0, "Enable/disable streaming for trace file set in COMPlus_EventPipeOutputPath. Non-zero values enable streaming.") +RETAIL_CONFIG_DWORD_INFO(INTERNAL_EventPipeOutputStreaming, W("EventPipeOutputStreaming"), 0, "Enable/disable streaming for trace file set in DOTNET_EventPipeOutputPath. Non-zero values enable streaming.") +RETAIL_CONFIG_DWORD_INFO(INTERNAL_EventPipeEnableStackwalk, W("EventPipeEnableStackwalk"), 1, "Set to 0 to disable collecting stacks for EventPipe events.") #ifdef FEATURE_AUTO_TRACE RETAIL_CONFIG_DWORD_INFO_EX(INTERNAL_AutoTrace_N_Tracers, W("AutoTrace_N_Tracers"), 0, "", CLRConfig::LookupOptions::ParseIntegerAsBase10) @@ -718,7 +720,7 @@ RETAIL_CONFIG_STRING_INFO(EXTERNAL_DOTNET_DiagnosticPorts, W("DiagnosticPorts"), // LTTng // RETAIL_CONFIG_STRING_INFO(INTERNAL_LTTngConfig, W("LTTngConfig"), "Configuration for LTTng.") -RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_LTTng, W("LTTng"), 1, "If COMPlus_LTTng is set to 0, this will prevent the LTTng library from being loaded at runtime") +RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_LTTng, W("LTTng"), 1, "If DOTNET_LTTng is set to 0, this will prevent the LTTng library from being loaded at runtime") // // Executable code @@ -735,47 +737,60 @@ RETAIL_CONFIG_DWORD_INFO(INTERNAL_GDBJitEmitDebugFrame, W("GDBJitEmitDebugFrame" #endif #endif +RETAIL_CONFIG_DWORD_INFO_EX(EXTERNAL_MaxVectorTBitWidth, W("MaxVectorTBitWidth"), 0, "The maximum decimal width, in bits, that Vector is allowed to be. A value less than 128 is treated as the system default.", CLRConfig::LookupOptions::ParseIntegerAsBase10) + // // Hardware Intrinsic ISAs; keep in sync with jitconfigvalues.h // -#if defined(TARGET_LOONGARCH64) +#if defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) //TODO: should implement LoongArch64's features. -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableHWIntrinsic, W("EnableHWIntrinsic"), 0, "Allows Base+ hardware intrinsics to be disabled") +//TODO-RISCV64-CQ: should implement RISCV64's features. +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableHWIntrinsic, W("EnableHWIntrinsic"), 0, "Allows Base+ hardware intrinsics to be disabled") #else -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableHWIntrinsic, W("EnableHWIntrinsic"), 1, "Allows Base+ hardware intrinsics to be disabled") -#endif // defined(TARGET_LOONGARCH64) +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableHWIntrinsic, W("EnableHWIntrinsic"), 1, "Allows Base+ hardware intrinsics to be disabled") +#endif // defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) #if defined(TARGET_AMD64) || defined(TARGET_X86) -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAES, W("EnableAES"), 1, "Allows AES+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX, W("EnableAVX"), 1, "Allows AVX+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX2, W("EnableAVX2"), 1, "Allows AVX2+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVXVNNI, W("EnableAVXVNNI"), 1, "Allows AVX VNNI+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableBMI1, W("EnableBMI1"), 1, "Allows BMI1+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableBMI2, W("EnableBMI2"), 1, "Allows BMI2+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableFMA, W("EnableFMA"), 1, "Allows FMA+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableLZCNT, W("EnableLZCNT"), 1, "Allows LZCNT+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnablePCLMULQDQ, W("EnablePCLMULQDQ"), 1, "Allows PCLMULQDQ+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableMOVBE, W("EnableMOVBE"), 1, "Allows MOVBE+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnablePOPCNT, W("EnablePOPCNT"), 1, "Allows POPCNT+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE, W("EnableSSE"), 1, "Allows SSE+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE2, W("EnableSSE2"), 1, "Allows SSE2+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE3, W("EnableSSE3"), 1, "Allows SSE3+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE3_4, W("EnableSSE3_4"), 1, "Allows SSE3+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE41, W("EnableSSE41"), 1, "Allows SSE4.1+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE42, W("EnableSSE42"), 1, "Allows SSE4.2+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSSE3, W("EnableSSSE3"), 1, "Allows SSSE3+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableX86Serialize, W("EnableX86Serialize"), 1, "Allows X86Serialize+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAES, W("EnableAES"), 1, "Allows AES+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX, W("EnableAVX"), 1, "Allows AVX+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX2, W("EnableAVX2"), 1, "Allows AVX2+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512BW, W("EnableAVX512BW"), 1, "Allows AVX512BW+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512BW_VL, W("EnableAVX512BW_VL"), 1, "Allows AVX512BW_VL+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512CD, W("EnableAVX512CD"), 1, "Allows AVX512CD+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512CD_VL, W("EnableAVX512CD_VL"), 1, "Allows AVX512CD_VL+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512DQ, W("EnableAVX512DQ"), 1, "Allows AVX512DQ+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512DQ_VL, W("EnableAVX512DQ_VL"), 1, "Allows AVX512DQ_VL+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512F, W("EnableAVX512F"), 1, "Allows AVX512F+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512F_VL, W("EnableAVX512F_VL"), 1, "Allows AVX512F_VL+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512VBMI, W("EnableAVX512VBMI"), 1, "Allows AVX512VBMI+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVX512VBMI_VL, W("EnableAVX512VBMI_VL"), 1, "Allows AVX512VBMI_VL+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableAVXVNNI, W("EnableAVXVNNI"), 1, "Allows AVXVNNI+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableBMI1, W("EnableBMI1"), 1, "Allows BMI1+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableBMI2, W("EnableBMI2"), 1, "Allows BMI2+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableFMA, W("EnableFMA"), 1, "Allows FMA+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableLZCNT, W("EnableLZCNT"), 1, "Allows LZCNT+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnablePCLMULQDQ, W("EnablePCLMULQDQ"), 1, "Allows PCLMULQDQ+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableMOVBE, W("EnableMOVBE"), 1, "Allows MOVBE+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnablePOPCNT, W("EnablePOPCNT"), 1, "Allows POPCNT+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE, W("EnableSSE"), 1, "Allows SSE+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE2, W("EnableSSE2"), 1, "Allows SSE2+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE3, W("EnableSSE3"), 1, "Allows SSE3+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE3_4, W("EnableSSE3_4"), 1, "Allows SSE3+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE41, W("EnableSSE41"), 1, "Allows SSE4.1+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSE42, W("EnableSSE42"), 1, "Allows SSE4.2+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableSSSE3, W("EnableSSSE3"), 1, "Allows SSSE3+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableX86Serialize, W("EnableX86Serialize"), 1, "Allows X86Serialize+ hardware intrinsics to be disabled") #elif defined(TARGET_ARM64) -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64AdvSimd, W("EnableArm64AdvSimd"), 1, "Allows Arm64 AdvSimd+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Aes, W("EnableArm64Aes"), 1, "Allows Arm64 Aes+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Atomics, W("EnableArm64Atomics"), 1, "Allows Arm64 Atomics+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Crc32, W("EnableArm64Crc32"), 1, "Allows Arm64 Crc32+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Dczva, W("EnableArm64Dczva"), 1, "Allows Arm64 Dczva+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Dp, W("EnableArm64Dp"), 1, "Allows Arm64 Dp+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Rdm, W("EnableArm64Rdm"), 1, "Allows Arm64 Rdm+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Sha1, W("EnableArm64Sha1"), 1, "Allows Arm64 Sha1+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Sha256, W("EnableArm64Sha256"), 1, "Allows Arm64 Sha256+ hardware intrinsics to be disabled") -RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Rcpc, W("EnableArm64Rcpc"), 1, "Allows Arm64 Rcpc+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64AdvSimd, W("EnableArm64AdvSimd"), 1, "Allows Arm64 AdvSimd+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Aes, W("EnableArm64Aes"), 1, "Allows Arm64 Aes+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Atomics, W("EnableArm64Atomics"), 1, "Allows Arm64 Atomics+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Crc32, W("EnableArm64Crc32"), 1, "Allows Arm64 Crc32+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Dczva, W("EnableArm64Dczva"), 1, "Allows Arm64 Dczva+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Dp, W("EnableArm64Dp"), 1, "Allows Arm64 Dp+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Rdm, W("EnableArm64Rdm"), 1, "Allows Arm64 Rdm+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Sha1, W("EnableArm64Sha1"), 1, "Allows Arm64 Sha1+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Sha256, W("EnableArm64Sha256"), 1, "Allows Arm64 Sha256+ hardware intrinsics to be disabled") +RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableArm64Rcpc, W("EnableArm64Rcpc"), 1, "Allows Arm64 Rcpc+ hardware intrinsics to be disabled") #endif /// @@ -794,7 +809,6 @@ CONFIG_DWORD_INFO(INTERNAL_ActivatePatchSkip, W("ActivatePatchSkip"), 0, "Allows CONFIG_DWORD_INFO(INTERNAL_AlwaysUseMetadataInterfaceMapLayout, W("AlwaysUseMetadataInterfaceMapLayout"), 0, "Used for debugging generic interface map layout.") CONFIG_DWORD_INFO(INTERNAL_AssertOnUnneededThis, W("AssertOnUnneededThis"), 0, "While the ConfigDWORD is unnecessary, the contained ASSERT should be kept. This may result in some work tracking down violating MethodDescCallSites.") CONFIG_DWORD_INFO(INTERNAL_AssertStacktrace, W("AssertStacktrace"), 1, "") -CONFIG_DWORD_INFO(INTERNAL_clearNativeImageStress, W("clearNativeImageStress"), 0, "") CONFIG_DWORD_INFO(INTERNAL_CPUFamily, W("CPUFamily"), 0xFFFFFFFF, "") CONFIG_DWORD_INFO(INTERNAL_CPUFeatures, W("CPUFeatures"), 0xFFFFFFFF, "") RETAIL_CONFIG_DWORD_INFO(EXTERNAL_DisableConfigCache, W("DisableConfigCache"), 0, "Used to disable the \"probabilistic\" config cache, which walks through the appropriate config registry keys on init and probabilistically keeps track of which exist.") diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrhost.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrhost.h index 08721c3b5e..393e6996fe 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrhost.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrhost.h @@ -72,7 +72,7 @@ extern int RFS_HashStack(); // Critical section support for CLR DLLs other than the EE. // Include the header defining each Crst type and its corresponding level (relative rank). This is // auto-generated from a tool that takes a high-level description of each Crst type and its dependencies. -#include "crsttypes.h" +#include "crsttypes_generated.h" // critical section api CRITSEC_COOKIE ClrCreateCriticalSection(CrstType type, CrstFlags flags); @@ -92,6 +92,14 @@ typedef Holder, VoidClrDeleteCriticalSection, NULL> CRITSEC_AllocationHolder; +#ifndef DACCESS_COMPILE +// Suspend/resume APIs that fail-fast on errors +#ifdef TARGET_WINDOWS +DWORD ClrSuspendThread(HANDLE hThread); +#endif // TARGET_WINDOWS +DWORD ClrResumeThread(HANDLE hThread); +#endif // !DACCESS_COMPILE + DWORD GetClrModulePathName(SString& buffer); extern thread_local int t_CantAllocCount; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrnt.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrnt.h index 0bba92c7e3..8aa6b54982 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrnt.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrnt.h @@ -1084,4 +1084,61 @@ RtlVirtualUnwind( #endif // TARGET_LOONGARCH64 +#ifdef TARGET_RISCV64 +#include "daccess.h" + +#define UNW_FLAG_NHANDLER 0x0 /* any handler */ +#define UNW_FLAG_EHANDLER 0x1 /* filter handler */ +#define UNW_FLAG_UHANDLER 0x2 /* unwind handler */ + +// This function returns the RVA of the end of the function (exclusive, so one byte after the actual end) +// using the unwind info on ARM64. (see ExternalAPIs\Win9CoreSystem\inc\winnt.h) +FORCEINLINE +ULONG64 +RtlpGetFunctionEndAddress ( + _In_ PT_RUNTIME_FUNCTION FunctionEntry, + _In_ ULONG64 ImageBase + ) +{ + ULONG64 FunctionLength; + + FunctionLength = FunctionEntry->UnwindData; + if ((FunctionLength & 3) != 0) { + FunctionLength = (FunctionLength >> 2) & 0x7ff; + } else { + memcpy(&FunctionLength, (void*)(ImageBase + FunctionLength), sizeof(UINT32)); + FunctionLength &= 0x3ffff; + } + + return FunctionEntry->BeginAddress + 4 * FunctionLength; +} + +#define RUNTIME_FUNCTION__BeginAddress(FunctionEntry) ((FunctionEntry)->BeginAddress) +#define RUNTIME_FUNCTION__SetBeginAddress(FunctionEntry,address) ((FunctionEntry)->BeginAddress = (address)) + +#define RUNTIME_FUNCTION__EndAddress(FunctionEntry, ImageBase) (RtlpGetFunctionEndAddress(FunctionEntry, (ULONG64)(ImageBase))) + +#define RUNTIME_FUNCTION__SetUnwindInfoAddress(prf,address) do { (prf)->UnwindData = (address); } while (0) + +typedef struct _UNWIND_INFO { + // dummy +} UNWIND_INFO, *PUNWIND_INFO; + +EXTERN_C +NTSYSAPI +PEXCEPTION_ROUTINE +NTAPI +RtlVirtualUnwind( + IN ULONG HandlerType, + IN ULONG64 ImageBase, + IN ULONG64 ControlPc, + IN PRUNTIME_FUNCTION FunctionEntry, + IN OUT PCONTEXT ContextRecord, + OUT PVOID *HandlerData, + OUT PULONG64 EstablisherFrame, + IN OUT PKNONVOLATILE_CONTEXT_POINTERS ContextPointers OPTIONAL + ); + +#endif // TARGET_RISCV64 + #endif // CLRNT_H_ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrtypes.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrtypes.h index 5e83573e7a..19e9720b34 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrtypes.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrtypes.h @@ -338,6 +338,15 @@ inline UINT64 AlignUp(UINT64 value, UINT alignment) return (value+alignment-1)&~(UINT64)(alignment-1); } +#ifdef __APPLE__ +inline SIZE_T AlignUp(SIZE_T value, UINT alignment) +{ + STATIC_CONTRACT_LEAF; + STATIC_CONTRACT_SUPPORTS_DAC; + return (value+alignment-1)&~(SIZE_T)(alignment-1); +} +#endif // __APPLE__ + inline UINT AlignDown(UINT value, UINT alignment) { STATIC_CONTRACT_LEAF; @@ -381,6 +390,14 @@ inline UINT AlignmentPad(UINT64 value, UINT alignment) return (UINT) (AlignUp(value, alignment) - value); } +#ifdef __APPLE__ +inline UINT AlignmentPad(SIZE_T value, UINT alignment) +{ + STATIC_CONTRACT_WRAPPER; + return (UINT) (AlignUp(value, alignment) - value); +} +#endif // __APPLE__ + inline UINT AlignmentTrim(UINT value, UINT alignment) { STATIC_CONTRACT_LEAF; @@ -406,4 +423,13 @@ inline UINT AlignmentTrim(UINT64 value, UINT alignment) return ((UINT)value)&(alignment-1); } +#ifdef __APPLE__ +inline UINT AlignmentTrim(SIZE_T value, UINT alignment) +{ + STATIC_CONTRACT_LEAF; + STATIC_CONTRACT_SUPPORTS_DAC; + return ((UINT)value)&(alignment-1); +} +#endif // __APPLE__ + #endif // CLRTYPES_H_ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrversion.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrversion.h index 5058a47d6d..841fb24f12 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrversion.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/clrversion.h @@ -26,4 +26,3 @@ #define VER_FILEVERSION_STR_L QUOTE_MACRO_L(RuntimeFileMajorVersion.RuntimeFileMinorVersion.RuntimeFileBuildVersion.RuntimeFileRevisionVersion) #define VER_LEGALCOPYRIGHT_LOGO_STR "Copyright (c) Microsoft Corporation. All rights reserved." -#define VER_LEGALCOPYRIGHT_LOGO_STR_L L"Copyright (c) Microsoft Corporation. All rights reserved." diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/configuration.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/configuration.h index cfc7dcd581..eac7fb7212 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/configuration.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/configuration.h @@ -21,12 +21,12 @@ class Configuration // Returns (in priority order): // - The value of the ConfigDWORDInfo if it's set - // - The value of the ConfigurationKnob (searched by name) if it's set (performs a wcstoul). + // - The value of the ConfigurationKnob (searched by name) if it's set (performs a u16_strtoul). // - The default set in the ConfigDWORDInfo static DWORD GetKnobDWORDValue(LPCWSTR name, const CLRConfig::ConfigDWORDInfo& dwordInfo); // Returns (in priority order): - // - The value of the ConfigurationKnob (searched by name) if it's set (performs a wcstoul) + // - The value of the ConfigurationKnob (searched by name) if it's set (performs a u16_strtoul) // - The default value passed in static DWORD GetKnobDWORDValue(LPCWSTR name, DWORD defaultValue); @@ -34,7 +34,7 @@ class Configuration // in the traditional way separately if you need to. // // Returns (in priority order): - // - The value of the ConfigurationKnob (searched by name) if it's set (performs a _wcstoui64) + // - The value of the ConfigurationKnob (searched by name) if it's set (performs a u16_strtoui64) // - The default value passed in static ULONGLONG GetKnobULONGLONGValue(LPCWSTR name, ULONGLONG defaultValue); @@ -51,18 +51,18 @@ class Configuration // Returns (in priority order): // - The value of the ConfigDWORDInfo if it's set (0 is false, anything else is true) - // - The value of the ConfigurationKnob (searched by name) if it's set (performs a wcscmp with "true"). + // - The value of the ConfigurationKnob (searched by name) if it's set (performs a u16_strcmp with "true"). // - The default set in the ConfigDWORDInfo (0 is false, anything else is true) static bool GetKnobBooleanValue(LPCWSTR name, const CLRConfig::ConfigDWORDInfo& dwordInfo); // Returns (in priority order): // - The value of the ConfigDWORDInfo if it's set (0 is false, anything else is true) - // - The value of the ConfigurationKnob (searched by name) if it's set (performs a wcscmp with "true"). + // - The value of the ConfigurationKnob (searched by name) if it's set (performs a u16_strcmp with "true"). // - The default value passed in static bool GetKnobBooleanValue(LPCWSTR name, const CLRConfig::ConfigDWORDInfo& dwordInfo, bool defaultValue); // Returns (in priority order): - // - The value of the ConfigurationKnob (searched by name) if it's set (performs a wcscmp with "true"). + // - The value of the ConfigurationKnob (searched by name) if it's set (performs a u16_strcmp with "true"). // - The default value passed in static bool GetKnobBooleanValue(LPCWSTR name, bool defaultValue); }; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corcompile.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corcompile.h index 9887133db0..e4baf3423f 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corcompile.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corcompile.h @@ -163,7 +163,6 @@ enum CORCOMPILE_FIXUP_BLOB_KIND ENCODE_VERIFY_IL_BODY, /* Verify an IL body is defined the same at compile time and runtime. A failed match will cause a hard runtime failure. */ ENCODE_MODULE_HANDLE = 0x50, /* Module token */ - ENCODE_STATIC_FIELD_ADDRESS, /* For accessing a static field */ ENCODE_MODULE_ID_FOR_GENERIC_STATICS, /* For accessing static fields */ ENCODE_CLASS_ID_FOR_STATICS, /* For accessing static fields */ ENCODE_SYNC_LOCK, /* For synchronizing access to a type */ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cordebug.idl b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cordebug.idl index 5d8c5e1fa0..af3f6eb81c 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cordebug.idl +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cordebug.idl @@ -286,7 +286,8 @@ interface ICorDebugDataTarget : IUnknown CORDB_PLATFORM_POSIX_X86, // Posix supporting OS on Intel x86 CORDB_PLATFORM_POSIX_ARM, // Posix supporting OS on ARM32 CORDB_PLATFORM_POSIX_ARM64, // Posix supporting OS on ARM64 - CORDB_PLATFORM_POSIX_LOONGARCH64 // Posix supporting OS on LoongArch64 + CORDB_PLATFORM_POSIX_LOONGARCH64, // Posix supporting OS on LoongArch64 + CORDB_PLATFORM_POSIX_RISCV64 // Posix supporting OS on RISC64 } CorDebugPlatform; HRESULT GetPlatform([out] CorDebugPlatform * pTargetPlatform); @@ -2512,6 +2513,7 @@ typedef enum CorDebugGenerationTypes CorDebug_Gen2 = 2, CorDebug_LOH = 3, CorDebug_POH = 4, + CorDebug_NonGC = 0x7FFFFFFF, } CorDebugGenerationTypes; typedef struct _COR_SEGMENT @@ -3985,6 +3987,72 @@ interface ICorDebugRegisterSet : IUnknown REGISTER_LOONGARCH64_F30, REGISTER_LOONGARCH64_F31, + REGISTER_RISCV64_PC = 0, + REGISTER_RISCV64_RA, + REGISTER_RISCV64_SP, + REGISTER_RISCV64_GP, + REGISTER_RISCV64_TP, + REGISTER_RISCV64_T0, + REGISTER_RISCV64_T1, + REGISTER_RISCV64_T2, + REGISTER_RISCV64_FP, + REGISTER_RISCV64_S1, + REGISTER_RISCV64_A0, + REGISTER_RISCV64_A1, + REGISTER_RISCV64_A2, + REGISTER_RISCV64_A3, + REGISTER_RISCV64_A4, + REGISTER_RISCV64_A5, + REGISTER_RISCV64_A6, + REGISTER_RISCV64_A7, + REGISTER_RISCV64_S2, + REGISTER_RISCV64_S3, + REGISTER_RISCV64_S4, + REGISTER_RISCV64_S5, + REGISTER_RISCV64_S6, + REGISTER_RISCV64_S7, + REGISTER_RISCV64_S8, + REGISTER_RISCV64_S9, + REGISTER_RISCV64_S10, + REGISTER_RISCV64_S11, + REGISTER_RISCV64_T3, + REGISTER_RISCV64_T4, + REGISTER_RISCV64_T5, + REGISTER_RISCV64_T6, + REGISTER_RISCV64_F0, + REGISTER_RISCV64_F1, + REGISTER_RISCV64_F2, + REGISTER_RISCV64_F3, + REGISTER_RISCV64_F4, + REGISTER_RISCV64_F5, + REGISTER_RISCV64_F6, + REGISTER_RISCV64_F7, + REGISTER_RISCV64_F8, + REGISTER_RISCV64_F9, + REGISTER_RISCV64_F10, + REGISTER_RISCV64_F11, + REGISTER_RISCV64_F12, + REGISTER_RISCV64_F13, + REGISTER_RISCV64_F14, + REGISTER_RISCV64_F15, + REGISTER_RISCV64_F16, + REGISTER_RISCV64_F17, + REGISTER_RISCV64_F18, + REGISTER_RISCV64_F19, + REGISTER_RISCV64_F20, + REGISTER_RISCV64_F21, + REGISTER_RISCV64_F22, + REGISTER_RISCV64_F23, + REGISTER_RISCV64_F24, + REGISTER_RISCV64_F25, + REGISTER_RISCV64_F26, + REGISTER_RISCV64_F27, + REGISTER_RISCV64_F28, + REGISTER_RISCV64_F29, + REGISTER_RISCV64_F30, + REGISTER_RISCV64_F31, + REGISTER_RISCV64_X0, // TODO-RISCV64-CQ: Add X0 for an use in debug. Need to check. + // other architectures here } CorDebugRegister; @@ -5706,6 +5774,29 @@ interface ICorDebugFunction4 : IUnknown HRESULT CreateNativeBreakpoint(ICorDebugFunctionBreakpoint **ppBreakpoint); }; +/* +ICorDebugFunction5 is a logical extension to ICorDebugFunction. +*/ +[ + object, + local, + uuid(9D4DAB7B-3401-4F37-BD08-CA09F3FDF10F), + pointer_default(unique) +] +interface ICorDebugFunction5 : IUnknown +{ + /* + * Triggers a new JIT so the next time the function is called, it will be unoptimized. Will + * trigger a JIT even for R2R code. + */ + HRESULT DisableOptimizations(); + + /* + * Indicates whether this method had optimizations disabled already. + */ + HRESULT AreOptimizationsDisabled(BOOL *pOptimizationsDisabled); +}; + /* ICorDebugCode represents an IL or native code blob. diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cordebuginfo.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cordebuginfo.h index 35e0eca6fd..09fb19f4bb 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cordebuginfo.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cordebuginfo.h @@ -179,6 +179,40 @@ class ICorDebugInfo REGNUM_S7, REGNUM_S8, REGNUM_PC, +#elif TARGET_RISCV64 + REGNUM_R0, + REGNUM_RA, + REGNUM_SP, + REGNUM_GP, + REGNUM_TP, + REGNUM_T0, + REGNUM_T1, + REGNUM_T2, + REGNUM_FP, + REGNUM_S1, + REGNUM_A0, + REGNUM_A1, + REGNUM_A2, + REGNUM_A3, + REGNUM_A4, + REGNUM_A5, + REGNUM_A6, + REGNUM_A7, + REGNUM_S2, + REGNUM_S3, + REGNUM_S4, + REGNUM_S5, + REGNUM_S6, + REGNUM_S7, + REGNUM_S8, + REGNUM_S9, + REGNUM_S10, + REGNUM_S11, + REGNUM_T3, + REGNUM_T4, + REGNUM_T5, + REGNUM_T6, + REGNUM_PC, #else PORTABILITY_WARNING("Register numbers not defined on this platform") #endif @@ -192,15 +226,13 @@ class ICorDebugInfo #elif TARGET_AMD64 REGNUM_SP = REGNUM_RSP, #elif TARGET_ARM -#ifdef REDHAWK - REGNUM_FP = REGNUM_R7, -#else REGNUM_FP = REGNUM_R11, -#endif //REDHAWK #elif TARGET_ARM64 //Nothing to do here. FP is already alloted. #elif TARGET_LOONGARCH64 //Nothing to do here. FP is already alloted. +#elif TARGET_RISCV64 + //Nothing to do here. FP is already alloted. #else // RegNum values should be properly defined for this platform REGNUM_FP = 0, diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corerror.xml b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corerror.xml index df8fae9b74..7c0c3852e1 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corerror.xml +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corerror.xml @@ -184,12 +184,6 @@ The given assembly name was invalid. - - FUSION_E_CACHEFILE_FAILED - "Failed to add file to AppDomain cache." - Failed to add file to AppDomain cache - - FUSION_E_APP_DOMAIN_LOCKED "The requested assembly version conflicts with what is already bound in the app domain or specified in the manifest." @@ -198,8 +192,8 @@ COR_E_LOADING_REFERENCE_ASSEMBLY - "Reference assemblies cannot not be loaded for execution." - Reference assemblies cannot not be loaded for execution. + "Reference assemblies cannot be loaded for execution." + Reference assemblies cannot be loaded for execution @@ -1182,6 +1176,12 @@ The runtime cannot be suspened since a suspension is already in progress. + + CORPROF_E_NOT_GC_OBJECT + "This object belongs to a non-gc heap." + This object belongs to a non-gc heap + + CORSEC_E_POLICY_EXCEPTION "PolicyException thrown." @@ -1597,7 +1597,7 @@ COR_E_TARGET "Attempt to invoke non-static method with a null Object." - - If you attempt to invoke a non-static method with a null Object - If you atte + If you attempt to invoke a non-static method with a null Object @@ -1788,8 +1788,8 @@ CORDBG_E_NGEN_NOT_SUPPORTED - "NGEN must be supported to perform the requested operation." - NGEN must be supported to perform the requested operation + "NGEN is not supported." + NGEN is not supported @@ -2133,6 +2133,12 @@ During a GC initialization, GC large page support requires hard limit settings. + + CLR_E_GC_BAD_REGION_SIZE + "GC Region Size must be less than 2GB." + During a GC initialization, GC Region Size must be less than 2GB. + + COR_E_UNAUTHORIZEDACCESS 0x80070005 // Access is denied. diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhdr.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhdr.h index 069648812a..5c645000ce 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhdr.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhdr.h @@ -439,9 +439,9 @@ typedef enum CorMethodAttr #define IsMdRTSpecialName(x) ((x) & mdRTSpecialName) #define IsMdInstanceInitializer(x, str) (((x) & mdRTSpecialName) && !strcmp((str), COR_CTOR_METHOD_NAME)) -#define IsMdInstanceInitializerW(x, str) (((x) & mdRTSpecialName) && !wcscmp((str), COR_CTOR_METHOD_NAME_W)) +#define IsMdInstanceInitializerW(x, str) (((x) & mdRTSpecialName) && !u16_strcmp((str), COR_CTOR_METHOD_NAME_W)) #define IsMdClassConstructor(x, str) (((x) & mdRTSpecialName) && !strcmp((str), COR_CCTOR_METHOD_NAME)) -#define IsMdClassConstructorW(x, str) (((x) & mdRTSpecialName) && !wcscmp((str), COR_CCTOR_METHOD_NAME_W)) +#define IsMdClassConstructorW(x, str) (((x) & mdRTSpecialName) && !u16_strcmp((str), COR_CCTOR_METHOD_NAME_W)) #define IsMdHasSecurity(x) ((x) & mdHasSecurity) #define IsMdRequireSecObject(x) ((x) & mdRequireSecObject) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhlpr.cpp b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhlpr.cpp index ee8b98041e..f4dc78d4f3 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhlpr.cpp +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhlpr.cpp @@ -32,9 +32,9 @@ extern "C" { void __stdcall DecoderInit(void *pThis, COR_ILMETHOD *header) { + memset(pThis, 0, sizeof(COR_ILMETHOD_DECODER)); COR_ILMETHOD_DECODER *decoder = (COR_ILMETHOD_DECODER *)pThis; - memset(decoder, 0, sizeof(COR_ILMETHOD_DECODER)); if (header->Tiny.IsTiny()) { decoder->SetMaxStack(header->Tiny.GetMaxStack()); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhlpr.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhlpr.h index a26676eda1..3cc0a36701 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhlpr.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corhlpr.h @@ -626,9 +626,7 @@ extern "C" { class COR_ILMETHOD_DECODER : public COR_ILMETHOD_FAT { public: - // This returns an uninitialized decoder, suitable for placement new but nothing - // else. Use with caution. - COR_ILMETHOD_DECODER() {} + COR_ILMETHOD_DECODER() = default; // Typically the ONLY way you should access COR_ILMETHOD is through // this constructor so format changes are easier. diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corinfo.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corinfo.h index 374fb7b8ab..4941bf56f7 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corinfo.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corinfo.h @@ -141,7 +141,7 @@ The first 4 options are mutually exclusive have managed thread local statics, which work through the HELPER. Support for this is considered legacy, and going forward, the EE should - * This is a normal static field. Its address in memory is determined by getFieldAddress. (see + * This is a normal static field. Its address in memory is determined by getFieldInfo. (see also CORINFO_FLG_STATIC_IN_HEAP). @@ -317,8 +317,8 @@ struct SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR } }; -// StructFloadFieldInfoFlags: used on LoongArch64 architecture by `getLoongArch64PassStructInRegisterFlags` API -// to convey struct argument passing information. +// StructFloadFieldInfoFlags: used on LoongArch64 architecture by `getLoongArch64PassStructInRegisterFlags` and +// `getRISCV64PassStructInRegisterFlags` API to convey struct argument passing information. // // `STRUCT_NO_FLOAT_FIELD` means structs are not passed using the float register(s). // @@ -404,19 +404,21 @@ enum CorInfoHelpFunc which is the right helper to use to allocate an object of a given type. */ CORINFO_HELP_NEWFAST, + CORINFO_HELP_NEWFAST_MAYBEFROZEN, // allocator for objects that *might* allocate them on a frozen segment CORINFO_HELP_NEWSFAST, // allocator for small, non-finalizer, non-array object CORINFO_HELP_NEWSFAST_FINALIZE, // allocator for small, finalizable, non-array object CORINFO_HELP_NEWSFAST_ALIGN8, // allocator for small, non-finalizer, non-array object, 8 byte aligned CORINFO_HELP_NEWSFAST_ALIGN8_VC,// allocator for small, value class, 8 byte aligned CORINFO_HELP_NEWSFAST_ALIGN8_FINALIZE, // allocator for small, finalizable, non-array object, 8 byte aligned - CORINFO_HELP_NEW_MDARR,// multi-dim array helper (with or without lower bounds - dimensions passed in as unmanaged array) + CORINFO_HELP_NEW_MDARR,// multi-dim array helper for arrays Rank != 1 (with or without lower bounds - dimensions passed in as unmanaged array) + CORINFO_HELP_NEW_MDARR_RARE,// rare multi-dim array helper (Rank == 1) CORINFO_HELP_NEWARR_1_DIRECT, // helper for any one dimensional array creation + CORINFO_HELP_NEWARR_1_MAYBEFROZEN, // allocator for arrays that *might* allocate them on a frozen segment CORINFO_HELP_NEWARR_1_OBJ, // optimized 1-D object arrays CORINFO_HELP_NEWARR_1_VC, // optimized 1-D value class arrays CORINFO_HELP_NEWARR_1_ALIGN8, // like VC, but aligns the array start CORINFO_HELP_STRCNS, // create a new string literal - CORINFO_HELP_STRCNS_CURRENT_MODULE, // create a new string literal from the current module (used by NGen code) /* Object model */ @@ -519,7 +521,7 @@ enum CorInfoHelpFunc CORINFO_HELP_SETFIELDDOUBLE, CORINFO_HELP_GETFIELDADDR, - + CORINFO_HELP_GETSTATICFIELDADDR, CORINFO_HELP_GETSTATICFIELDADDR_TLS, // Helper for PE TLS fields // There are a variety of specialized helpers for accessing static fields. The JIT should use @@ -546,6 +548,8 @@ enum CorInfoHelpFunc CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR, CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_DYNAMICCLASS, CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_DYNAMICCLASS, + CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED, + CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED, /* Debugger */ @@ -582,8 +586,6 @@ enum CorInfoHelpFunc CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE, // Convert from a TypeHandle (native structure pointer) to RuntimeTypeHandle at run-time CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE_MAYBENULL, // Convert from a TypeHandle (native structure pointer) to RuntimeTypeHandle at run-time, handle might point to a null type - CORINFO_HELP_ARE_TYPES_EQUIVALENT, // Check whether two TypeHandles (native structure pointers) are equivalent - CORINFO_HELP_VIRTUAL_FUNC_PTR, // look up a virtual method at run-time // Not a real helpers. Instead of taking handle arguments, these helpers point to a small stub that loads the handle argument and calls the static helper. @@ -591,7 +593,10 @@ enum CorInfoHelpFunc CORINFO_HELP_READYTORUN_NEWARR_1, CORINFO_HELP_READYTORUN_ISINSTANCEOF, CORINFO_HELP_READYTORUN_CHKCAST, - CORINFO_HELP_READYTORUN_STATIC_BASE, + CORINFO_HELP_READYTORUN_GCSTATIC_BASE, // static gc field access + CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE, // static non gc field access + CORINFO_HELP_READYTORUN_THREADSTATIC_BASE, + CORINFO_HELP_READYTORUN_NONGCTHREADSTATIC_BASE, CORINFO_HELP_READYTORUN_VIRTUAL_FUNC_PTR, CORINFO_HELP_READYTORUN_GENERIC_HANDLE, CORINFO_HELP_READYTORUN_DELEGATE_CTOR, @@ -628,6 +633,7 @@ enum CorInfoHelpFunc CORINFO_HELP_THROW_PLATFORM_NOT_SUPPORTED, // throw PlatformNotSupportedException CORINFO_HELP_THROW_TYPE_NOT_SUPPORTED, // throw TypeNotSupportedException CORINFO_HELP_THROW_AMBIGUOUS_RESOLUTION_EXCEPTION, // throw AmbiguousResolutionException for failed static virtual method resolution + CORINFO_HELP_THROW_ENTRYPOINT_NOT_FOUND_EXCEPTION, // throw EntryPointNotFoundException for failed static virtual method resolution CORINFO_HELP_JIT_PINVOKE_BEGIN, // Transition to preemptive mode before a P/Invoke, frame is the first argument CORINFO_HELP_JIT_PINVOKE_END, // Transition to cooperative mode after a P/Invoke, frame is the first argument @@ -650,6 +656,8 @@ enum CorInfoHelpFunc CORINFO_HELP_DELEGATEPROFILE64, // Update 64-bit method profile for a delegate call site CORINFO_HELP_VTABLEPROFILE32, // Update 32-bit method profile for a vtable call site CORINFO_HELP_VTABLEPROFILE64, // Update 64-bit method profile for a vtable call site + CORINFO_HELP_COUNTPROFILE32, // Update 32-bit block or edge count profile + CORINFO_HELP_COUNTPROFILE64, // Update 64-bit block or edge count profile CORINFO_HELP_VALIDATE_INDIRECT_CALL, // CFG: Validate function pointer CORINFO_HELP_DISPATCH_INDIRECT_CALL, // CFG: Validate and dispatch to pointer @@ -850,11 +858,9 @@ enum CorInfoFlag CORINFO_FLG_ARRAY = 0x00080000, // class is an array class (initialized differently) CORINFO_FLG_OVERLAPPING_FIELDS = 0x00100000, // struct or class has fields that overlap (aka union) CORINFO_FLG_INTERFACE = 0x00200000, // it is an interface - CORINFO_FLG_DONT_DIG_FIELDS = 0x00400000, // don't ask field info, AOT can't rely on it (used for types outside of AOT compilation version bubble) - CORINFO_FLG_CUSTOMLAYOUT = 0x00800000, // does this struct have custom layout? CORINFO_FLG_CONTAINS_GC_PTR = 0x01000000, // does the class contain a gc ptr ? CORINFO_FLG_DELEGATE = 0x02000000, // is this a subclass of delegate or multicast delegate ? - // CORINFO_FLG_UNUSED = 0x04000000, + CORINFO_FLG_INDEXABLE_FIELDS = 0x04000000, // struct fields may be accessed via indexing (used for inline arrays) CORINFO_FLG_BYREF_LIKE = 0x08000000, // it is byref-like value type CORINFO_FLG_VARIANCE = 0x10000000, // MethodTable::HasVariance (sealed does *not* mean uncast-able) CORINFO_FLG_BEFOREFIELDINIT = 0x20000000, // Additional flexibility for when to run .cctor (see code:#ClassConstructionFlags) @@ -900,7 +906,7 @@ enum CORINFO_EH_CLAUSE_FLAGS CORINFO_EH_CLAUSE_FINALLY = 0x0002, // This clause is a finally clause CORINFO_EH_CLAUSE_FAULT = 0x0004, // This clause is a fault clause CORINFO_EH_CLAUSE_DUPLICATE = 0x0008, // Duplicated clause. This clause was duplicated to a funclet which was pulled out of line - CORINFO_EH_CLAUSE_SAMETRY = 0x0010, // This clause covers same try block as the previous one. (Used by NativeAOT ABI.) + CORINFO_EH_CLAUSE_SAMETRY = 0x0010, // This clause covers same try block as the previous one }; // This enumeration is passed to InternalThrow @@ -1056,6 +1062,7 @@ typedef struct CORINFO_DEPENDENCY_STRUCT_* CORINFO_DEPENDENCY_HANDLE; typedef struct CORINFO_CLASS_STRUCT_* CORINFO_CLASS_HANDLE; typedef struct CORINFO_METHOD_STRUCT_* CORINFO_METHOD_HANDLE; typedef struct CORINFO_FIELD_STRUCT_* CORINFO_FIELD_HANDLE; +typedef struct CORINFO_OBJECT_STRUCT_* CORINFO_OBJECT_HANDLE; typedef struct CORINFO_ARG_LIST_STRUCT_* CORINFO_ARG_LIST_HANDLE; // represents a list of argument types typedef struct CORINFO_JUST_MY_CODE_HANDLE_*CORINFO_JUST_MY_CODE_HANDLE; typedef struct CORINFO_PROFILING_STRUCT_* CORINFO_PROFILING_HANDLE; // a handle guaranteed to be unique per process @@ -1126,7 +1133,8 @@ struct CORINFO_SIG_INFO CorInfoCallConv getCallConv() { return CorInfoCallConv((callConv & CORINFO_CALLCONV_MASK)); } bool hasThis() { return ((callConv & CORINFO_CALLCONV_HASTHIS) != 0); } bool hasExplicitThis() { return ((callConv & CORINFO_CALLCONV_EXPLICITTHIS) != 0); } - unsigned totalILArgs() { return (numArgs + (hasThis() ? 1 : 0)); } + bool hasImplicitThis() { return ((callConv & (CORINFO_CALLCONV_HASTHIS | CORINFO_CALLCONV_EXPLICITTHIS)) == CORINFO_CALLCONV_HASTHIS); } + unsigned totalILArgs() { return (numArgs + (hasImplicitThis() ? 1 : 0)); } bool isVarArg() { return ((getCallConv() == CORINFO_CALLCONV_VARARG) || (getCallConv() == CORINFO_CALLCONV_NATIVEVARARG)); } bool hasTypeArg() { return ((callConv & CORINFO_CALLCONV_PARAMTYPE) != 0); } }; @@ -1243,6 +1251,7 @@ struct CORINFO_LOOKUP_KIND // #define CORINFO_MAXINDIRECTIONS 4 #define CORINFO_USEHELPER ((uint16_t) 0xffff) +#define CORINFO_USENULL ((uint16_t) 0xfffe) #define CORINFO_NO_SIZE_CHECK ((uint16_t) 0xffff) struct CORINFO_RUNTIME_LOOKUP @@ -1255,6 +1264,7 @@ struct CORINFO_RUNTIME_LOOKUP // Number of indirections to get there // CORINFO_USEHELPER = don't know how to get it, so use helper function at run-time instead + // CORINFO_USENULL = the context should be null because the callee doesn't actually use it // 0 = use the this pointer itself (e.g. token is C inside code in sealed class C) // or method desc itself (e.g. token is method void M::mymeth() inside code in M::mymeth) // Otherwise, follow each byte-offset stored in the "offsets[]" array (may be negative) @@ -1263,9 +1273,6 @@ struct CORINFO_RUNTIME_LOOKUP // If set, test for null and branch to helper if null bool testForNull; - // If set, test the lowest bit and dereference if set (see code:FixupPointer) - bool testForFixup; - uint16_t sizeOffset; size_t offsets[CORINFO_MAXINDIRECTIONS]; @@ -1488,8 +1495,8 @@ enum CORINFO_CALLINFO_FLAGS CORINFO_CALLINFO_NONE = 0x0000, CORINFO_CALLINFO_ALLOWINSTPARAM = 0x0001, // Can the compiler generate code to pass an instantiation parameters? Simple compilers should not use this flag CORINFO_CALLINFO_CALLVIRT = 0x0002, // Is it a virtual call? - CORINFO_CALLINFO_KINDONLY = 0x0004, // This is set to only query the kind of call to perform, without getting any other information - CORINFO_CALLINFO_VERIFICATION = 0x0008, // Gets extra verification information. + // UNUSED = 0x0004, + // UNUSED = 0x0008, CORINFO_CALLINFO_SECURITYCHECKS = 0x0010, // Perform security checks. CORINFO_CALLINFO_LDFTN = 0x0020, // Resolving target of LDFTN // UNUSED = 0x0040, @@ -1576,12 +1583,6 @@ struct CORINFO_CALL_INFO CORINFO_SIG_INFO sig; - //Verification information - unsigned verMethodFlags; // flags for CORINFO_RESOLVED_TOKEN::hMethod - CORINFO_SIG_INFO verSig; - //All of the regular method data is the same... hMethod might not be the same as CORINFO_RESOLVED_TOKEN::hMethod - - //If set to: // - CORINFO_ACCESS_ALLOWED - The access is allowed. // - CORINFO_ACCESS_ILLEGAL - This access cannot be allowed (i.e. it is public calling private). The @@ -1610,7 +1611,7 @@ struct CORINFO_CALL_INFO CORINFO_LOOKUP codePointerLookup; }; - CORINFO_CONST_LOOKUP instParamLookup; // Used by Ready-to-Run + CORINFO_CONST_LOOKUP instParamLookup; bool wrapperDelegateInvoke; }; @@ -1634,6 +1635,7 @@ enum CORINFO_DEVIRTUALIZATION_DETAIL CORINFO_DEVIRTUALIZATION_FAILED_BUBBLE_IMPL_NOT_REFERENCEABLE, // object class cannot be referenced from R2R code due to missing tokens CORINFO_DEVIRTUALIZATION_FAILED_DUPLICATE_INTERFACE, // crossgen2 virtual method algorithm and runtime algorithm differ in the presence of duplicate interface implementations CORINFO_DEVIRTUALIZATION_FAILED_DECL_NOT_REPRESENTABLE, // Decl method cannot be represented in R2R image + CORINFO_DEVIRTUALIZATION_FAILED_TYPE_EQUIVALENCE, // Support for type equivalence in devirtualization is not yet implemented in crossgen2 CORINFO_DEVIRTUALIZATION_COUNT, // sentinel for maximum value }; @@ -1681,8 +1683,9 @@ enum CORINFO_FIELD_ACCESSOR CORINFO_FIELD_STATIC_GENERICS_STATIC_HELPER, // static field access using the "generic static" helper (argument is MethodTable *) CORINFO_FIELD_STATIC_ADDR_HELPER, // static field accessed using address-of helper (argument is FieldDesc *) CORINFO_FIELD_STATIC_TLS, // unmanaged TLS access + CORINFO_FIELD_STATIC_TLS_MANAGED, // managed TLS access CORINFO_FIELD_STATIC_READYTORUN_HELPER, // static field access using a runtime lookup helper - + CORINFO_FIELD_STATIC_RELOCATABLE, // static field access using relocation (used in AOT) CORINFO_FIELD_INTRINSIC_ZERO, // intrinsic zero (IntPtr.Zero, UIntPtr.Zero) CORINFO_FIELD_INTRINSIC_EMPTY_STRING, // intrinsic emptry string (String.Empty) CORINFO_FIELD_INTRINSIC_ISLITTLEENDIAN, // intrinsic BitConverter.IsLittleEndian @@ -1695,7 +1698,6 @@ enum CORINFO_FIELD_FLAGS CORINFO_FLG_FIELD_UNMANAGED = 0x00000002, // RVA field CORINFO_FLG_FIELD_FINAL = 0x00000004, CORINFO_FLG_FIELD_STATIC_IN_HEAP = 0x00000008, // See code:#StaticFields. This static field is in the GC heap as a boxed object - CORINFO_FLG_FIELD_SAFESTATIC_BYREF_RETURN = 0x00000010, // Field can be returned safely (has GC heap lifetime) CORINFO_FLG_FIELD_INITCLASS = 0x00000020, // initClass has to be called before accessing the field CORINFO_FLG_FIELD_PROTECTED = 0x00000040, }; @@ -1721,6 +1723,21 @@ struct CORINFO_FIELD_INFO CORINFO_CONST_LOOKUP fieldLookup; // Used by Ready-to-Run }; +//---------------------------------------------------------------------------- +// getThreadLocalStaticBlocksInfo and CORINFO_THREAD_STATIC_BLOCKS_INFO: The EE instructs the JIT about how to access a thread local field + +struct CORINFO_THREAD_STATIC_BLOCKS_INFO +{ + CORINFO_CONST_LOOKUP tlsIndex; // windows specific + void* tlsGetAddrFtnPtr; // linux/x64 specific - address of __tls_get_addr() function + void* tlsIndexObject; // linux/x64 specific - address of tls_index object + void* threadVarsSection; // osx x64/arm64 specific - address of __thread_vars section of `t_ThreadStatics` + uint32_t offsetOfThreadLocalStoragePointer; // windows specific + uint32_t offsetOfMaxThreadStaticBlocks; + uint32_t offsetOfThreadStaticBlocks; + uint32_t offsetOfGCDataPointer; +}; + //---------------------------------------------------------------------------- // Exception handling @@ -1745,16 +1762,8 @@ enum CORINFO_OS CORINFO_MACOS, }; -struct CORINFO_CPU -{ - uint32_t dwCPUType; - uint32_t dwFeatures; - uint32_t dwExtendedFeatures; -}; - enum CORINFO_RUNTIME_ABI { - CORINFO_DESKTOP_ABI = 0x100, CORINFO_CORECLR_ABI = 0x200, CORINFO_NATIVEAOT_ABI = 0x300, }; @@ -1928,9 +1937,50 @@ struct CORINFO_VarArgInfo // (The CORINFO_VARARGS_HANDLE counts as an arg) }; +struct CORINFO_TYPE_LAYOUT_NODE +{ + // Type handle if this is a SIMD type, i.e. for intrinsic types in + // System.Numerics and System.Runtime.Intrinsics namespaces. This handle + // should be used for SIMD type recognition ONLY. During prejitting the + // returned handle cannot safely be used for arbitrary JIT-EE calls. The + // safe operations on this handle are: + // - getClassNameFromMetadata + // - getClassSize + // - getHfaType + // - getTypeInstantiationArgument, but only under the assumption that the returned type handle + // is used for primitive type recognition via getTypeForPrimitiveNumericClass + CORINFO_CLASS_HANDLE simdTypeHnd; + // Field handle that should only be used for diagnostic purposes. During + // prejit we cannot allow arbitrary JIT-EE calls with this field handle, but it can be used + // for diagnostic purposes (e.g. to obtain the field name). + CORINFO_FIELD_HANDLE diagFieldHnd; + // Index of parent node in the tree + unsigned parent; + // Offset into the root type of the field + unsigned offset; + // Size of the type. + unsigned size; + // Number of fields for type == CORINFO_TYPE_VALUECLASS. This is the number of nodes added. + unsigned numFields; + // Type of the field. + CorInfoType type; + // For type == CORINFO_TYPE_VALUECLASS indicates whether the type has significant padding. + // That is, whether or not the JIT always needs to preserve data stored in + // the parts that are not covered by fields. + bool hasSignificantPadding; +}; + +enum class GetTypeLayoutResult +{ + Success, + Partial, + Failure, +}; + #define SIZEOF__CORINFO_Object TARGET_POINTER_SIZE /* methTable */ #define CORINFO_Array_MaxLength 0x7FFFFFC7 +#define CORINFO_String_MaxLength 0x3FFFFFDF #define OFFSETOF__CORINFO_Array__length SIZEOF__CORINFO_Object #ifdef TARGET_64BIT @@ -1947,6 +1997,10 @@ struct CORINFO_VarArgInfo #define OFFSETOF__CORINFO_NullableOfT__hasValue 0 +#define OFFSETOF__CORINFO_Span__reference 0 +#define OFFSETOF__CORINFO_Span__length TARGET_POINTER_SIZE + + /* data to optimize delegate construction */ struct DelegateCtorArgs { @@ -2015,7 +2069,7 @@ class ICorStaticInfo virtual void getMethodSig ( CORINFO_METHOD_HANDLE ftn, /* IN */ CORINFO_SIG_INFO *sig, /* OUT */ - CORINFO_CLASS_HANDLE memberParent = NULL /* IN */ + CORINFO_CLASS_HANDLE memberParent = NULL /* IN */ ) = 0; /********************************************************************* @@ -2029,15 +2083,33 @@ class ICorStaticInfo // This method is used to fetch data needed to inline functions virtual bool getMethodInfo ( CORINFO_METHOD_HANDLE ftn, /* IN */ - CORINFO_METHOD_INFO* info /* OUT */ + CORINFO_METHOD_INFO* info, /* OUT */ + CORINFO_CONTEXT_HANDLE context = NULL /* IN */ ) = 0; + //------------------------------------------------------------------------------ + // haveSameMethodDefinition: Check if two method handles have the same + // method definition. + // + // Arguments: + // meth1 - First method handle + // meth2 - Second method handle + // + // Return Value: + // True if the methods share definitions. + // + // Remarks: + // For example, Foo and Foo have different method handles but + // share the same method definition. + // + virtual bool haveSameMethodDefinition( + CORINFO_METHOD_HANDLE meth1Hnd, + CORINFO_METHOD_HANDLE meth2Hnd) = 0; + // Decides if you have any limitations for inlining. If everything's OK, it will return // INLINE_PASS. // // The callerHnd must be the immediate caller (i.e. when we have a chain of inlined calls) - // - // The inlined method need not be verified virtual CorInfoInline canInline ( CORINFO_METHOD_HANDLE callerHnd, /* IN */ @@ -2053,9 +2125,9 @@ class ICorStaticInfo // inlining results when it returns INLINE_FAIL and INLINE_NEVER. All other results are reported by the // JIT. virtual void reportInliningDecision (CORINFO_METHOD_HANDLE inlinerHnd, - CORINFO_METHOD_HANDLE inlineeHnd, - CorInfoInline inlineResult, - const char * reason) = 0; + CORINFO_METHOD_HANDLE inlineeHnd, + CorInfoInline inlineResult, + const char * reason) = 0; // Returns false if the call is across security boundaries thus we cannot tailcall @@ -2065,23 +2137,23 @@ class ICorStaticInfo CORINFO_METHOD_HANDLE callerHnd, /* IN */ CORINFO_METHOD_HANDLE declaredCalleeHnd, /* IN */ CORINFO_METHOD_HANDLE exactCalleeHnd, /* IN */ - bool fIsTailPrefix /* IN */ + bool fIsTailPrefix /* IN */ ) = 0; // Reports whether or not a method can be tail called, and why. // canTailCall is responsible for reporting all results when it returns // false. All other results are reported by the JIT. virtual void reportTailCallDecision (CORINFO_METHOD_HANDLE callerHnd, - CORINFO_METHOD_HANDLE calleeHnd, - bool fIsTailPrefix, - CorInfoTailCall tailCallResult, - const char * reason) = 0; + CORINFO_METHOD_HANDLE calleeHnd, + bool fIsTailPrefix, + CorInfoTailCall tailCallResult, + const char * reason) = 0; // get individual exception handler virtual void getEHinfo( CORINFO_METHOD_HANDLE ftn, /* IN */ - unsigned EHnumber, /* IN */ - CORINFO_EH_CLAUSE* clause /* OUT */ + unsigned EHnumber, /* IN */ + CORINFO_EH_CLAUSE* clause /* OUT */ ) = 0; // return class it belongs to @@ -2089,11 +2161,6 @@ class ICorStaticInfo CORINFO_METHOD_HANDLE method ) = 0; - // return module it belongs to - virtual CORINFO_MODULE_HANDLE getMethodModule ( - CORINFO_METHOD_HANDLE method - ) = 0; - // This function returns the offset of the specified method in the // vtable of it's owning class or interface. virtual void getMethodVTableOffset ( @@ -2113,7 +2180,7 @@ class ICorStaticInfo // Get the unboxed entry point for a method, if possible. virtual CORINFO_METHOD_HANDLE getUnboxedEntry( CORINFO_METHOD_HANDLE ftn, - bool* requiresInstMethodTableArg + bool* requiresInstMethodTableArg ) = 0; // Given T, return the type of the default Comparer. @@ -2162,23 +2229,11 @@ class ICorStaticInfo ) = 0; // Check constraints on method type arguments (only). - // The parent class should be checked separately using satisfiesClassConstraints(parent). virtual bool satisfiesMethodConstraints( CORINFO_CLASS_HANDLE parent, // the exact parent of the method CORINFO_METHOD_HANDLE method ) = 0; - // Given a delegate target class, a target method parent class, a target method, - // a delegate class, check if the method signature is compatible with the Invoke method of the delegate - // (under the typical instantiation of any free type variables in the memberref signatures). - virtual bool isCompatibleDelegate( - CORINFO_CLASS_HANDLE objCls, /* type of the delegate target, if any */ - CORINFO_CLASS_HANDLE methodParentCls, /* exact parent of the target method, if any */ - CORINFO_METHOD_HANDLE method, /* (representative) target method, if any */ - CORINFO_CLASS_HANDLE delegateCls, /* exact type of the delegate */ - bool *pfIsOpenDelegate /* is the delegate open */ - ) = 0; - // load and restore the method virtual void methodMustBeLoadedBeforeCodeIsRun( CORINFO_METHOD_HANDLE method @@ -2191,7 +2246,7 @@ class ICorStaticInfo // Returns the global cookie for the /GS unsafe buffer checks // The cookie might be a constant value (JIT), or a handle to memory location (Ngen) virtual void getGSCookie( - GSCookie * pCookieVal, // OUT + GSCookie * pCookieVal, // OUT GSCookie ** ppCookieVal // OUT ) = 0; @@ -2216,12 +2271,6 @@ class ICorStaticInfo // failures during token resolution. virtual void resolveToken(/* IN, OUT */ CORINFO_RESOLVED_TOKEN * pResolvedToken) = 0; - // Attempt to resolve a metadata token into a runtime method handle. Returns true - // if resolution succeeded and false otherwise (e.g. if it encounters invalid metadata - // during token reoslution). This method should be used instead of `resolveToken` in - // situations that need to be resilient to invalid metadata. - virtual bool tryResolveToken(/* IN, OUT */ CORINFO_RESOLVED_TOKEN * pResolvedToken) = 0; - // Signature information about the call sig virtual void findSig ( CORINFO_MODULE_HANDLE module, /* IN */ @@ -2243,25 +2292,47 @@ class ICorStaticInfo virtual CORINFO_CLASS_HANDLE getTokenTypeAsHandle ( CORINFO_RESOLVED_TOKEN * pResolvedToken /* IN */) = 0; - // Checks if the given metadata token is valid - virtual bool isValidToken ( - CORINFO_MODULE_HANDLE module, /* IN */ - unsigned metaTOK /* IN */ - ) = 0; - - // Checks if the given metadata token is valid StringRef - virtual bool isValidStringRef ( - CORINFO_MODULE_HANDLE module, /* IN */ - unsigned metaTOK /* IN */ - ) = 0; - - // Returns string length and content (can be null for dynamic context) + // Returns (sub)string length and content (can be null for dynamic context) // for given metaTOK and module, length `-1` means input is incorrect virtual int getStringLiteral ( CORINFO_MODULE_HANDLE module, /* IN */ unsigned metaTOK, /* IN */ char16_t* buffer, /* OUT */ - int bufferSize /* IN */ + int bufferSize, /* IN */ + int startIndex = 0 /* IN */ + ) = 0; + + + //------------------------------------------------------------------------------ + // printObjectDescription: Prints a (possibly truncated) textual UTF8 representation of the given + // object to a preallocated buffer. It's intended to be used only for debug/diagnostic + // purposes such as JitDisasm. The buffer is null-terminated (even if truncated). + // + // Arguments: + // handle - Direct object handle + // buffer - Pointer to buffer. Can be nullptr. + // bufferSize - Buffer size (in bytes). + // pRequiredBufferSize - Full length of the textual UTF8 representation, in bytes. + // Includes the null terminator, so the value is always at least 1, + // where 1 indicates an empty string. + // Can be used to call this API again with a bigger buffer to get the full + // string. + // + // Return Value: + // Bytes written to the buffer, excluding the null terminator. The range is [0..bufferSize). + // If bufferSize is 0, returns 0. + // + // Remarks: + // buffer and bufferSize can be respectively nullptr and 0 to query just the required buffer size. + // + // If the return value is less than bufferSize - 1 then the full string was written. In this case + // it is guaranteed that return value == *pRequiredBufferSize - 1. + // + virtual size_t printObjectDescription ( + CORINFO_OBJECT_HANDLE handle, /* IN */ + char* buffer, /* OUT */ + size_t bufferSize, /* IN */ + size_t* pRequiredBufferSize = nullptr /* OUT */ ) = 0; /**********************************************************************************/ @@ -2276,11 +2347,6 @@ class ICorStaticInfo CORINFO_CLASS_HANDLE cls ) = 0; - // for completeness - virtual const char* getClassName ( - CORINFO_CLASS_HANDLE cls - ) = 0; - // Return class name as in metadata, or nullptr if there is none. // Suitable for non-debugging use. virtual const char* getClassNameFromMetadata ( @@ -2295,40 +2361,14 @@ class ICorStaticInfo unsigned index ) = 0; - // Append a (possibly truncated) textual representation of the type `cls` to a preallocated buffer. - // - // Arguments: - // ppBuf - Pointer to buffer pointer. See below for details. - // pnBufLen - Pointer to buffer length. Must not be nullptr. See below for details. - // fNamespace - If true, include the namespace/enclosing classes. - // fFullInst - If true (regardless of fNamespace and fAssembly), include namespace and assembly for any type parameters. - // fAssembly - If true, suffix with a comma and the full assembly qualification. - // - // Returns the length of the representation, as a count of characters (but not including a terminating null character). - // Note that this will always be the actual number of characters required by the representation, even if the string - // was truncated when copied to the buffer. - // - // Operation: - // - // On entry, `*pnBufLen` specifies the size of the buffer pointed to by `*ppBuf` as a count of characters. - // There are two cases: - // 1. If the size is zero, the function computes the length of the representation and returns that. - // `ppBuf` is ignored (and may be nullptr) and `*ppBuf` and `*pnBufLen` are not updated. - // 2. If the size is non-zero, the buffer pointed to by `*ppBuf` is (at least) that size. The class name - // representation is copied to the buffer pointed to by `*ppBuf`. As many characters of the name as will fit in the - // buffer are copied. Thus, if the name is larger than the size of the buffer, the name will be truncated in the buffer. - // The buffer is guaranteed to be null terminated. Thus, the size must be large enough to include a terminating null - // character, or the string will be truncated to include one. On exit, `*pnBufLen` is updated by subtracting the - // number of characters that were actually copied to the buffer. Also, `*ppBuf` is updated to point at the null - // character that was added to the end of the name. - // - virtual int appendClassName( - _Outptr_opt_result_buffer_(*pnBufLen) char16_t** ppBuf, /* IN OUT */ - int* pnBufLen, /* IN OUT */ - CORINFO_CLASS_HANDLE cls, - bool fNamespace, - bool fFullInst, - bool fAssembly + // Prints the name for a specified class including namespaces and enclosing + // classes. + // See printObjectDescription for documentation for the parameters. + virtual size_t printClassName( + CORINFO_CLASS_HANDLE cls, /* IN */ + char* buffer, /* OUT */ + size_t bufferSize, /* IN */ + size_t* pRequiredBufferSize = nullptr /* OUT */ ) = 0; // Quick check whether the type is a value class. Returns the same value as getClassAttribs(cls) & CORINFO_FLG_VALUECLASS, except faster. @@ -2367,23 +2407,35 @@ class ICorStaticInfo virtual size_t getClassModuleIdForStatics ( CORINFO_CLASS_HANDLE cls, - CORINFO_MODULE_HANDLE *pModule, - void **ppIndirection + CORINFO_MODULE_HANDLE * pModule, + void ** ppIndirection + ) = 0; + + virtual bool getIsClassInitedFlagAddress( + CORINFO_CLASS_HANDLE cls, + CORINFO_CONST_LOOKUP* addr, + int* offset + ) = 0; + + virtual bool getStaticBaseAddress( + CORINFO_CLASS_HANDLE cls, + bool isGc, + CORINFO_CONST_LOOKUP* addr ) = 0; // return the number of bytes needed by an instance of the class virtual unsigned getClassSize ( - CORINFO_CLASS_HANDLE cls + CORINFO_CLASS_HANDLE cls ) = 0; // return the number of bytes needed by an instance of the class allocated on the heap virtual unsigned getHeapClassSize( - CORINFO_CLASS_HANDLE cls - ) = 0; + CORINFO_CLASS_HANDLE cls + ) = 0; virtual bool canAllocateOnStack( - CORINFO_CLASS_HANDLE cls - ) = 0; + CORINFO_CLASS_HANDLE cls + ) = 0; virtual unsigned getClassAlignmentRequirement ( CORINFO_CLASS_HANDLE cls, @@ -2410,21 +2462,70 @@ class ICorStaticInfo ) = 0; virtual CORINFO_FIELD_HANDLE getFieldInClass( - CORINFO_CLASS_HANDLE clsHnd, - int32_t num + CORINFO_CLASS_HANDLE clsHnd, + int32_t num ) = 0; + //------------------------------------------------------------------------------ + // getTypeLayout: Obtain a tree describing the layout of a type. + // + // Parameters: + // typeHnd - Handle of the type. + // treeNodes - [in, out] Pointer to tree node entries to write. + // numTreeNodes - [in, out] Size of 'treeNodes' on entry. Updated to contain + // the number of entries written in 'treeNodes'. + // + // Returns: + // A result indicating whether the type layout was successfully + // retrieved and whether the result is partial or not. + // + // Remarks: + // The type layout should be stored in preorder in 'treeNodes': the root + // node is always at index 0, and the first child of any node is at its + // own index + 1. The fields returned are NOT guaranteed to be ordered + // by offset. + // + // SIMD and HW SIMD types are returned as a single entry without any + // children. For those, CORINFO_TYPE_LAYOUT_NODE::simdTypeHnd is set, but + // can only be used in a very restricted capacity, see + // CORINFO_TYPE_LAYOUT_NODE. Note that this special treatment is only for + // fields; if typeHnd itself is a SIMD type this function will treat it + // like a normal struct type and expand its fields. + // + // IMPORTANT: except for GC pointers the fields returned to the JIT by + // this function should be considered as a hint only. The JIT CANNOT make + // assumptions in its codegen that the specified fields are actually part + // of the type when the code finally runs. This means the JIT should not + // make optimizations based on the field information returned by this + // function that would break if those fields were removed or shifted + // around. + // + virtual GetTypeLayoutResult getTypeLayout( + CORINFO_CLASS_HANDLE typeHnd, + CORINFO_TYPE_LAYOUT_NODE* treeNodes, + size_t* numTreeNodes) = 0; + virtual bool checkMethodModifier( - CORINFO_METHOD_HANDLE hMethod, - const char * modifier, - bool fOptional + CORINFO_METHOD_HANDLE hMethod, + const char * modifier, + bool fOptional ) = 0; - // returns the "NEW" helper optimized for "newCls." + //------------------------------------------------------------------------------ + // getNewHelper: Returns the allocation helper optimized for a specific class. + // + // Parameters: + // classHandle - Handle of the type. + // pHasSideEffects - [out] Whether or not the allocation of the specified + // type can have user-visible side effects; for example, + // because a finalizer may run as a result. + // + // Returns: + // Helper to call to allocate the specified type. + // virtual CorInfoHelpFunc getNewHelper( - CORINFO_RESOLVED_TOKEN * pResolvedToken, - CORINFO_METHOD_HANDLE callerHandle, - bool * pHasSideEffects + CORINFO_CLASS_HANDLE classHandle, + bool* pHasSideEffects ) = 0; // returns the newArr (1-Dim array) helper optimized for "arrayCls." @@ -2434,20 +2535,17 @@ class ICorStaticInfo // returns the optimized "IsInstanceOf" or "ChkCast" helper virtual CorInfoHelpFunc getCastingHelper( - CORINFO_RESOLVED_TOKEN * pResolvedToken, - bool fThrowing + CORINFO_RESOLVED_TOKEN * pResolvedToken, + bool fThrowing ) = 0; // returns helper to trigger static constructor virtual CorInfoHelpFunc getSharedCCtorHelper( - CORINFO_CLASS_HANDLE clsHnd + CORINFO_CLASS_HANDLE clsHnd ) = 0; - // This is not pretty. Boxing nullable actually returns - // a boxed not a boxed Nullable. This call allows the verifier - // to call back to the EE on the 'box' instruction and get the transformed - // type to use for verification. - virtual CORINFO_CLASS_HANDLE getTypeForBox( + // Boxing nullable actually returns a boxed not a boxed Nullable. + virtual CORINFO_CLASS_HANDLE getTypeForBox( CORINFO_CLASS_HANDLE cls ) = 0; @@ -2474,6 +2572,54 @@ class ICorStaticInfo CORINFO_CLASS_HANDLE cls ) = 0; + virtual CORINFO_OBJECT_HANDLE getRuntimeTypePointer( + CORINFO_CLASS_HANDLE cls + ) = 0; + + //------------------------------------------------------------------------------ + // isObjectImmutable: checks whether given object is known to be immutable or not + // + // Arguments: + // objPtr - Direct object handle + // + // Return Value: + // Returns true if object is known to be immutable + // + virtual bool isObjectImmutable( + CORINFO_OBJECT_HANDLE objPtr + ) = 0; + + //------------------------------------------------------------------------------ + // getStringChar: returns char at the given index if the given object handle + // represents String and index is not out of bounds. + // + // Arguments: + // strObj - object handle + // index - index of the char to return + // value - output char + // + // Return Value: + // Returns true if value was successfully obtained + // + virtual bool getStringChar( + CORINFO_OBJECT_HANDLE strObj, + int index, + uint16_t* value + ) = 0; + + //------------------------------------------------------------------------------ + // getObjectType: obtains type handle for given object + // + // Arguments: + // objPtr - Direct object handle + // + // Return Value: + // Returns CORINFO_CLASS_HANDLE handle that represents given object's type + // + virtual CORINFO_CLASS_HANDLE getObjectType( + CORINFO_OBJECT_HANDLE objPtr + ) = 0; + virtual bool getReadyToRunHelper( CORINFO_RESOLVED_TOKEN * pResolvedToken, CORINFO_LOOKUP_KIND * pGenericLookupKind, @@ -2482,14 +2628,10 @@ class ICorStaticInfo ) = 0; virtual void getReadyToRunDelegateCtorHelper( - CORINFO_RESOLVED_TOKEN * pTargetMethod, - mdToken targetConstraint, - CORINFO_CLASS_HANDLE delegateType, - CORINFO_LOOKUP * pLookup - ) = 0; - - virtual const char* getHelperName( - CorInfoHelpFunc + CORINFO_RESOLVED_TOKEN * pTargetMethod, + mdToken targetConstraint, + CORINFO_CLASS_HANDLE delegateType, + CORINFO_LOOKUP * pLookup ) = 0; // This function tries to initialize the class (run the class constructor). @@ -2535,19 +2677,13 @@ class ICorStaticInfo CORINFO_CLASS_HANDLE cls ) = 0; - // TRUE if child is a subtype of parent + // `true` if child is a subtype of parent // if parent is an interface, then does child implement / extend parent virtual bool canCast( CORINFO_CLASS_HANDLE child, // subtype (extends parent) CORINFO_CLASS_HANDLE parent // base type ) = 0; - // TRUE if cls1 and cls2 are considered equivalent types. - virtual bool areTypesEquivalent( - CORINFO_CLASS_HANDLE cls1, - CORINFO_CLASS_HANDLE cls2 - ) = 0; - // See if a cast from fromClass to toClass will succeed, fail, or needs // to be resolved at runtime. virtual TypeCompareState compareTypesForCast( @@ -2562,12 +2698,6 @@ class ICorStaticInfo CORINFO_CLASS_HANDLE cls2 ) = 0; - // Returns the intersection of cls1 and cls2. - virtual CORINFO_CLASS_HANDLE mergeClasses( - CORINFO_CLASS_HANDLE cls1, - CORINFO_CLASS_HANDLE cls2 - ) = 0; - // Returns true if cls2 is known to be a more specific type // than cls1 (a subtype or more restrictive shared type) // for purposes of jit type tracking. This is a hint to the @@ -2578,6 +2708,16 @@ class ICorStaticInfo CORINFO_CLASS_HANDLE cls2 ) = 0; + // Returns TypeCompareState::Must if cls is known to be an enum. + // For enums with known exact type returns the underlying + // type in underlyingType when the provided pointer is + // non-NULL. + // Returns TypeCompareState::May when a runtime check is required. + virtual TypeCompareState isEnum( + CORINFO_CLASS_HANDLE cls, + CORINFO_CLASS_HANDLE* underlyingType + ) = 0; + // Given a class handle, returns the Parent type. // For COMObjectType, it returns Class Handle of System.Object. // Returns 0 if System.Object is passed in. @@ -2590,13 +2730,8 @@ class ICorStaticInfo // Given an Array of Type Foo, returns Foo. // Given BYREF Foo, returns Foo virtual CorInfoType getChildType ( - CORINFO_CLASS_HANDLE clsHnd, - CORINFO_CLASS_HANDLE *clsRet - ) = 0; - - // Check constraints on type arguments of this class and parent classes - virtual bool satisfiesClassConstraints( - CORINFO_CLASS_HANDLE cls + CORINFO_CLASS_HANDLE clsHnd, + CORINFO_CLASS_HANDLE* clsRet ) = 0; // Check if this is a single dimensional array type @@ -2604,14 +2739,14 @@ class ICorStaticInfo CORINFO_CLASS_HANDLE cls ) = 0; - // Get the numbmer of dimensions in an array + // Get the number of dimensions in an array virtual unsigned getArrayRank( CORINFO_CLASS_HANDLE cls ) = 0; // Get the index of runtime provided array method virtual CorInfoArrayIntrinsic getArrayIntrinsicID( - CORINFO_METHOD_HANDLE ftn + CORINFO_METHOD_HANDLE ftn ) = 0; // Get static field data for an array @@ -2622,11 +2757,11 @@ class ICorStaticInfo // Check Visibility rules. virtual CorInfoIsAccessAllowedResult canAccessClass( - CORINFO_RESOLVED_TOKEN * pResolvedToken, - CORINFO_METHOD_HANDLE callerHandle, - CORINFO_HELPER_DESC *pAccessHelper /* If canAccessMethod returns something other - than ALLOWED, then this is filled in. */ - ) = 0; + CORINFO_RESOLVED_TOKEN * pResolvedToken, + CORINFO_METHOD_HANDLE callerHandle, + CORINFO_HELPER_DESC * pAccessHelper /* If canAccessMethod returns something other + than ALLOWED, then this is filled in. */ + ) = 0; /**********************************************************************************/ // @@ -2634,12 +2769,12 @@ class ICorStaticInfo // /**********************************************************************************/ - // this function is for debugging only. It returns the field name - // and if 'moduleName' is non-null, it sets it to something that will - // says which method (a class name, or a module name) - virtual const char* getFieldName ( - CORINFO_FIELD_HANDLE ftn, /* IN */ - const char **moduleName /* OUT */ + // Prints the name of a field into a buffer. See printObjectDescription for more documentation. + virtual size_t printFieldName( + CORINFO_FIELD_HANDLE field, + char* buffer, + size_t bufferSize, + size_t* pRequiredBufferSize = nullptr ) = 0; // return class it belongs to @@ -2654,25 +2789,42 @@ class ICorStaticInfo // 'memberParent' is typically only set when verifying. It should be the // result of calling getMemberParent. virtual CorInfoType getFieldType( - CORINFO_FIELD_HANDLE field, - CORINFO_CLASS_HANDLE *structType = NULL, - CORINFO_CLASS_HANDLE memberParent = NULL /* IN */ - ) = 0; + CORINFO_FIELD_HANDLE field, + CORINFO_CLASS_HANDLE * structType = NULL, + CORINFO_CLASS_HANDLE memberParent = NULL /* IN */ + ) = 0; // return the data member's instance offset virtual unsigned getFieldOffset( - CORINFO_FIELD_HANDLE field - ) = 0; + CORINFO_FIELD_HANDLE field + ) = 0; - virtual void getFieldInfo (CORINFO_RESOLVED_TOKEN * pResolvedToken, - CORINFO_METHOD_HANDLE callerHandle, - CORINFO_ACCESS_FLAGS flags, - CORINFO_FIELD_INFO *pResult - ) = 0; + virtual void getFieldInfo( + CORINFO_RESOLVED_TOKEN * pResolvedToken, + CORINFO_METHOD_HANDLE callerHandle, + CORINFO_ACCESS_FLAGS flags, + CORINFO_FIELD_INFO * pResult + ) = 0; + + // Returns the index against which the field's thread static block in stored in TLS. + virtual uint32_t getThreadLocalFieldInfo ( + CORINFO_FIELD_HANDLE field, + bool isGCType + ) = 0; + + // Returns the thread static block information like offsets, etc. from current TLS. + virtual void getThreadLocalStaticBlocksInfo ( + CORINFO_THREAD_STATIC_BLOCKS_INFO* pInfo, + bool isGCType + ) = 0; // Returns true iff "fldHnd" represents a static field. virtual bool isFieldStatic(CORINFO_FIELD_HANDLE fldHnd) = 0; + // Returns Length of an Array or of a String object, otherwise -1. + // objHnd must not be null. + virtual int getArrayOrStringLength(CORINFO_OBJECT_HANDLE objHnd) = 0; + /*********************************************************************************/ // // ICorDebugInfo @@ -2687,12 +2839,12 @@ class ICorStaticInfo // be used only as a hint and the native compiler should not change its // code generation. virtual void getBoundaries( - CORINFO_METHOD_HANDLE ftn, // [IN] method of interest - unsigned int *cILOffsets, // [OUT] size of pILOffsets - uint32_t **pILOffsets, // [OUT] IL offsets of interest - // jit MUST free with freeArray! - ICorDebugInfo::BoundaryTypes *implicitBoundaries // [OUT] tell jit, all boundaries of this type - ) = 0; + CORINFO_METHOD_HANDLE ftn, // [IN] method of interest + unsigned int *cILOffsets, // [OUT] size of pILOffsets + uint32_t **pILOffsets, // [OUT] IL offsets of interest + // jit MUST free with freeArray! + ICorDebugInfo::BoundaryTypes *implicitBoundaries // [OUT] tell jit, all boundaries of this type + ) = 0; // Report back the mapping from IL to native code, // this map should include all boundaries that 'getBoundaries' @@ -2702,11 +2854,11 @@ class ICorStaticInfo // offsets form a contiguous block of memory, and that the // OffsetMapping is sorted in order of increasing native offset. virtual void setBoundaries( - CORINFO_METHOD_HANDLE ftn, // [IN] method of interest - uint32_t cMap, // [IN] size of pMap - ICorDebugInfo::OffsetMapping *pMap // [IN] map including all points of interest. - // jit allocated with allocateArray, EE frees - ) = 0; + CORINFO_METHOD_HANDLE ftn, // [IN] method of interest + uint32_t cMap, // [IN] size of pMap + ICorDebugInfo::OffsetMapping *pMap // [IN] map including all points of interest. + // jit allocated with allocateArray, EE frees + ) = 0; // Query the EE to find out the scope of local variables. // normally the JIT would trash variables after last use, but @@ -2719,16 +2871,15 @@ class ICorStaticInfo virtual void getVars( CORINFO_METHOD_HANDLE ftn, // [IN] method of interest uint32_t *cVars, // [OUT] size of 'vars' - ICorDebugInfo::ILVarInfo **vars, // [OUT] scopes of variables of interest + ICorDebugInfo::ILVarInfo **vars, // [OUT] scopes of variables of interest // jit MUST free with freeArray! - bool *extendOthers // [OUT] it TRUE, then assume the scope + bool *extendOthers // [OUT] if `true`, then assume the scope // of unmentioned vars is entire method ) = 0; // Report back to the EE the location of every variable. // note that the JIT might split lifetimes into different // locations etc. - virtual void setVars( CORINFO_METHOD_HANDLE ftn, // [IN] method of interest uint32_t cVars, // [IN] size of 'vars' @@ -2752,15 +2903,15 @@ class ICorStaticInfo // For eg, use this to allocated memory for reporting debug info, // which will be handed to the EE by setVars() and setBoundaries() virtual void * allocateArray( - size_t cBytes - ) = 0; + size_t cBytes + ) = 0; // JitCompiler will free arrays passed by the EE using this // For eg, The EE returns memory in getVars() and getBoundaries() // to the JitCompiler, which the JitCompiler should release using // freeArray() virtual void freeArray( - void *array + void * array ) = 0; /*********************************************************************************/ @@ -2787,17 +2938,17 @@ class ICorStaticInfo virtual CorInfoTypeWithMod getArgType ( CORINFO_SIG_INFO* sig, /* IN */ CORINFO_ARG_LIST_HANDLE args, /* IN */ - CORINFO_CLASS_HANDLE *vcTypeRet /* OUT */ + CORINFO_CLASS_HANDLE* vcTypeRet /* OUT */ ) = 0; - // Obtains a list of exact classes for a given base type. Returns 0 if the number of + // Obtains a list of exact classes for a given base type. Returns 0 if the number of // the exact classes is greater than maxExactClasses or if more types might be loaded // in future. virtual int getExactClasses( - CORINFO_CLASS_HANDLE baseType, /* IN */ - int maxExactClasses, /* IN */ - CORINFO_CLASS_HANDLE* exactClsRet /* OUT */ - ) = 0; + CORINFO_CLASS_HANDLE baseType, /* IN */ + int maxExactClasses, /* IN */ + CORINFO_CLASS_HANDLE* exactClsRet /* OUT */ + ) = 0; // If the Arg is a CORINFO_TYPE_CLASS fetch the class handle associated with it virtual CORINFO_CLASS_HANDLE getArgClass ( @@ -2807,64 +2958,27 @@ class ICorStaticInfo // Returns type of HFA for valuetype virtual CorInfoHFAElemType getHFAType ( - CORINFO_CLASS_HANDLE hClass + CORINFO_CLASS_HANDLE hClass ) = 0; - /***************************************************************************** - * ICorErrorInfo contains methods to deal with SEH exceptions being thrown - * from the corinfo interface. These methods may be called when an exception - * with code EXCEPTION_COMPLUS is caught. - *****************************************************************************/ - - // Returns the HRESULT of the current exception - virtual JITINTERFACE_HRESULT GetErrorHRESULT( - struct _EXCEPTION_POINTERS *pExceptionPointers - ) = 0; - - // Fetches the message of the current exception - // Returns the size of the message (including terminating null). This can be - // greater than bufferLength if the buffer is insufficient. - virtual uint32_t GetErrorMessage( - _Inout_updates_(bufferLength) char16_t *buffer, - uint32_t bufferLength - ) = 0; - - // returns EXCEPTION_EXECUTE_HANDLER if it is OK for the compile to handle the - // exception, abort some work (like the inlining) and continue compilation - // returns EXCEPTION_CONTINUE_SEARCH if exception must always be handled by the EE - // things like ThreadStoppedException ... - // returns EXCEPTION_CONTINUE_EXECUTION if exception is fixed up by the EE - // Only used as a contract between the Zapper and the VM. - virtual int FilterException( - struct _EXCEPTION_POINTERS *pExceptionPointers - ) = 0; - - - virtual void ThrowExceptionForJitResult( - JITINTERFACE_HRESULT result) = 0; - - //Throws an exception defined by the given throw helper. - virtual void ThrowExceptionForHelper( - const CORINFO_HELPER_DESC * throwHelper) = 0; - // Runs the given function under an error trap. This allows the JIT to make calls // to interface functions that may throw exceptions without needing to be aware of // the EH ABI, exception types, etc. Returns true if the given function completed // successfully and false otherwise. typedef void (*errorTrapFunction)(void*); virtual bool runWithErrorTrap( - errorTrapFunction function, // The function to run - void* parameter // The context parameter that will be passed to the function and the handler - ) = 0; + errorTrapFunction function, // The function to run + void* parameter // The context parameter that will be passed to the function and the handler + ) = 0; // Runs the given function under an error trap. This allows the JIT to make calls // to interface functions that may throw exceptions without needing to be aware of // the EH ABI, exception types, etc. Returns true if the given function completed // successfully and false otherwise. This error trap checks for SuperPMI exceptions virtual bool runWithSPMIErrorTrap( - errorTrapFunction function, // The function to run - void* parameter // The context parameter that will be passed to the function and the handler - ) = 0; + errorTrapFunction function, // The function to run + void* parameter // The context parameter that will be passed to the function and the handler + ) = 0; /***************************************************************************** * ICorStaticInfo contains EE interface methods which return values that are @@ -2875,8 +2989,8 @@ class ICorStaticInfo // Return details about EE internal data structures virtual void getEEInfo( - CORINFO_EE_INFO *pEEInfoOut - ) = 0; + CORINFO_EE_INFO *pEEInfoOut + ) = 0; // Returns name of the JIT timer log virtual const char16_t *getJitTimeLogFilename() = 0; @@ -2893,18 +3007,14 @@ class ICorStaticInfo CORINFO_METHOD_HANDLE hMethod ) = 0; - // This function returns the method name and if 'moduleName' is non-null, - // it sets it to something that contains the method (a class - // name, or a module name). Note that the moduleName parameter is for - // diagnostics only. - // - // The method name returned is the same as getMethodNameFromMetadata except - // in the case of functions without metadata (e.g. IL stubs), where this - // function still returns a reasonable name while getMethodNameFromMetadata - // returns null. - virtual const char* getMethodName ( - CORINFO_METHOD_HANDLE ftn, /* IN */ - const char **moduleName /* OUT */ + // This is similar to getMethodNameFromMetadata except that it also returns + // reasonable names for functions without metadata. + // See printObjectDescription for documentation of parameters. + virtual size_t printMethodName( + CORINFO_METHOD_HANDLE ftn, + char* buffer, + size_t bufferSize, + size_t* pRequiredBufferSize = nullptr ) = 0; // Return method name as in metadata, or nullptr if there is none, @@ -2915,7 +3025,7 @@ class ICorStaticInfo CORINFO_METHOD_HANDLE ftn, /* IN */ const char **className, /* OUT */ const char **namespaceName, /* OUT */ - const char **enclosingClassName /* OUT */ + const char **enclosingClassName /* OUT */ ) = 0; // this function is for debugging only. It returns a value that @@ -2925,21 +3035,14 @@ class ICorStaticInfo CORINFO_METHOD_HANDLE ftn /* IN */ ) = 0; - // this function is for debugging only. - virtual size_t findNameOfToken ( - CORINFO_MODULE_HANDLE module, /* IN */ - mdToken metaTOK, /* IN */ - _Out_writes_ (FQNameCapacity) char * szFQName, /* OUT */ - size_t FQNameCapacity /* IN */ - ) = 0; - // returns whether the struct is enregisterable. Only valid on a System V VM. Returns true on success, false on failure. virtual bool getSystemVAmd64PassStructInRegisterDescriptor( - /* IN */ CORINFO_CLASS_HANDLE structHnd, - /* OUT */ SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR* structPassInRegDescPtr - ) = 0; + CORINFO_CLASS_HANDLE structHnd, /* IN */ + SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR* structPassInRegDescPtr /* OUT */ + ) = 0; virtual uint32_t getLoongArch64PassStructInRegisterFlags(CORINFO_CLASS_HANDLE cls) = 0; + virtual uint32_t getRISCV64PassStructInRegisterFlags(CORINFO_CLASS_HANDLE cls) = 0; }; /***************************************************************************** @@ -2975,70 +3078,68 @@ class ICorDynamicInfo : public ICorStaticInfo // Return details about EE internal data structures virtual uint32_t getThreadTLSIndex( - void **ppIndirection = NULL - ) = 0; - - virtual const void * getInlinedCallFrameVptr( - void **ppIndirection = NULL - ) = 0; + void **ppIndirection = NULL + ) = 0; virtual int32_t * getAddrOfCaptureThreadGlobal( - void **ppIndirection = NULL - ) = 0; + void **ppIndirection = NULL + ) = 0; // return the native entry point to an EE helper (see CorInfoHelpFunc) virtual void* getHelperFtn ( - CorInfoHelpFunc ftnNum, - void **ppIndirection = NULL - ) = 0; + CorInfoHelpFunc ftnNum, + void **ppIndirection = NULL + ) = 0; // return a callable address of the function (native code). This function // may return a different value (depending on whether the method has // been JITed or not. virtual void getFunctionEntryPoint( - CORINFO_METHOD_HANDLE ftn, /* IN */ - CORINFO_CONST_LOOKUP * pResult, /* OUT */ - CORINFO_ACCESS_FLAGS accessFlags = CORINFO_ACCESS_ANY) = 0; + CORINFO_METHOD_HANDLE ftn, /* IN */ + CORINFO_CONST_LOOKUP * pResult, /* OUT */ + CORINFO_ACCESS_FLAGS accessFlags = CORINFO_ACCESS_ANY + ) = 0; // return a directly callable address. This can be used similarly to the // value returned by getFunctionEntryPoint() except that it is // guaranteed to be multi callable entrypoint. virtual void getFunctionFixedEntryPoint( - CORINFO_METHOD_HANDLE ftn, - bool isUnsafeFunctionPointer, - CORINFO_CONST_LOOKUP * pResult) = 0; + CORINFO_METHOD_HANDLE ftn, + bool isUnsafeFunctionPointer, + CORINFO_CONST_LOOKUP * pResult + ) = 0; // get the synchronization handle that is passed to monXstatic function virtual void* getMethodSync( - CORINFO_METHOD_HANDLE ftn, - void **ppIndirection = NULL - ) = 0; + CORINFO_METHOD_HANDLE ftn, + void** ppIndirection = NULL + ) = 0; // get slow lazy string literal helper to use (CORINFO_HELP_STRCNS*). // Returns CORINFO_HELP_UNDEF if lazy string literal helper cannot be used. virtual CorInfoHelpFunc getLazyStringLiteralHelper( - CORINFO_MODULE_HANDLE handle - ) = 0; + CORINFO_MODULE_HANDLE handle + ) = 0; virtual CORINFO_MODULE_HANDLE embedModuleHandle( - CORINFO_MODULE_HANDLE handle, - void **ppIndirection = NULL - ) = 0; + CORINFO_MODULE_HANDLE handle, + void **ppIndirection = NULL + ) = 0; virtual CORINFO_CLASS_HANDLE embedClassHandle( - CORINFO_CLASS_HANDLE handle, - void **ppIndirection = NULL - ) = 0; + CORINFO_CLASS_HANDLE handle, + void **ppIndirection = NULL + ) = 0; virtual CORINFO_METHOD_HANDLE embedMethodHandle( - CORINFO_METHOD_HANDLE handle, - void **ppIndirection = NULL - ) = 0; + CORINFO_METHOD_HANDLE handle, + void **ppIndirection = NULL + ) = 0; virtual CORINFO_FIELD_HANDLE embedFieldHandle( - CORINFO_FIELD_HANDLE handle, - void **ppIndirection = NULL - ) = 0; + CORINFO_FIELD_HANDLE handle, + void **ppIndirection = NULL + ) = 0; // Given a module scope (module), a method handle (context) and // a metadata token (metaTOK), fetch the handle @@ -3048,9 +3149,10 @@ class ICorDynamicInfo : public ICorStaticInfo // then indicate how the handle should be looked up at run-time. // virtual void embedGenericHandle( - CORINFO_RESOLVED_TOKEN * pResolvedToken, - bool fEmbedParent, // TRUE - embeds parent type handle of the field/method handle - CORINFO_GENERICHANDLE_RESULT * pResult) = 0; + CORINFO_RESOLVED_TOKEN * pResolvedToken, + bool fEmbedParent, // `true` - embeds parent type handle of the field/method handle + CORINFO_GENERICHANDLE_RESULT * pResult + ) = 0; // Return information used to locate the exact enclosing type of the current method. // Used only to invoke .cctor method from code shared across generic instantiations @@ -3060,83 +3162,97 @@ class ICorDynamicInfo : public ICorStaticInfo // CORINFO_LOOKUP_CLASSPARAM use vtable hidden param // CORINFO_LOOKUP_METHODPARAM use enclosing type of method-desc hidden param virtual void getLocationOfThisType( - CORINFO_METHOD_HANDLE context, - CORINFO_LOOKUP_KIND* pLookupKind - ) = 0; + CORINFO_METHOD_HANDLE context, + CORINFO_LOOKUP_KIND* pLookupKind + ) = 0; // return the address of the PInvoke target. May be a fixup area in the // case of late-bound PInvoke calls. virtual void getAddressOfPInvokeTarget( - CORINFO_METHOD_HANDLE method, - CORINFO_CONST_LOOKUP *pLookup - ) = 0; + CORINFO_METHOD_HANDLE method, + CORINFO_CONST_LOOKUP * pLookup + ) = 0; // Generate a cookie based on the signature that would needs to be passed // to CORINFO_HELP_PINVOKE_CALLI virtual void* GetCookieForPInvokeCalliSig( - CORINFO_SIG_INFO* szMetaSig, - void ** ppIndirection = NULL + CORINFO_SIG_INFO* szMetaSig, + void** ppIndirection = NULL ) = 0; // returns true if a VM cookie can be generated for it (might be false due to cross-module // inlining, in which case the inlining should be aborted) virtual bool canGetCookieForPInvokeCalliSig( - CORINFO_SIG_INFO* szMetaSig - ) = 0; + CORINFO_SIG_INFO* szMetaSig + ) = 0; // Gets a handle that is checked to see if the current method is // included in "JustMyCode" virtual CORINFO_JUST_MY_CODE_HANDLE getJustMyCodeHandle( - CORINFO_METHOD_HANDLE method, - CORINFO_JUST_MY_CODE_HANDLE**ppIndirection = NULL - ) = 0; + CORINFO_METHOD_HANDLE method, + CORINFO_JUST_MY_CODE_HANDLE** ppIndirection = NULL + ) = 0; // Gets a method handle that can be used to correlate profiling data. // This is the IP of a native method, or the address of the descriptor struct // for IL. Always guaranteed to be unique per process, and not to move. */ virtual void GetProfilingHandle( - bool *pbHookFunction, - void **pProfilerHandle, - bool *pbIndirectedHandles - ) = 0; + bool *pbHookFunction, + void **pProfilerHandle, + bool *pbIndirectedHandles + ) = 0; // Returns instructions on how to make the call. See code:CORINFO_CALL_INFO for possible return values. virtual void getCallInfo( - // Token info - CORINFO_RESOLVED_TOKEN * pResolvedToken, - - //Generics info - CORINFO_RESOLVED_TOKEN * pConstrainedResolvedToken, + // Token info (in) + CORINFO_RESOLVED_TOKEN * pResolvedToken, - //Security info - CORINFO_METHOD_HANDLE callerHandle, + // Generics info (in) + CORINFO_RESOLVED_TOKEN * pConstrainedResolvedToken, - //Jit info - CORINFO_CALLINFO_FLAGS flags, + // Security info (in) + CORINFO_METHOD_HANDLE callerHandle, - //out params - CORINFO_CALL_INFO *pResult - ) = 0; + // Jit info (in) + CORINFO_CALLINFO_FLAGS flags, - virtual bool canAccessFamily(CORINFO_METHOD_HANDLE hCaller, - CORINFO_CLASS_HANDLE hInstanceType) = 0; - - // Returns TRUE if the Class Domain ID is the RID of the class (currently true for every class - // except reflection emitted classes and generics) - virtual bool isRIDClassDomainID(CORINFO_CLASS_HANDLE cls) = 0; + // out params + CORINFO_CALL_INFO *pResult + ) = 0; - // returns the class's domain ID for accessing shared statics + // Returns the class's domain ID for accessing shared statics virtual unsigned getClassDomainID ( - CORINFO_CLASS_HANDLE cls, - void **ppIndirection = NULL - ) = 0; + CORINFO_CLASS_HANDLE cls, + void **ppIndirection = NULL + ) = 0; + //------------------------------------------------------------------------------ + // getStaticFieldContent: returns true and the actual field's value if the given + // field represents a statically initialized readonly field of any type. + // + // Arguments: + // field - field handle + // buffer - buffer field's value will be stored to + // bufferSize - size of buffer + // ignoreMovableObjects - ignore movable reference types or not + // + // Return Value: + // Returns true if field's constant value was available and successfully copied to buffer + // + virtual bool getStaticFieldContent( + CORINFO_FIELD_HANDLE field, + uint8_t *buffer, + int bufferSize, + int valueOffset = 0, + bool ignoreMovableObjects = true + ) = 0; - // return the data's address (for static fields only) - virtual void* getFieldAddress( - CORINFO_FIELD_HANDLE field, - void **ppIndirection = NULL - ) = 0; + virtual bool getObjectContent( + CORINFO_OBJECT_HANDLE obj, + uint8_t* buffer, + int bufferSize, + int valueOffset + ) = 0; // If pIsSpeculative is NULL, return the class handle for the value of ref-class typed // static readonly fields, if there is a unique location for the static and the class @@ -3150,47 +3266,40 @@ class ICorDynamicInfo : public ICorStaticInfo // is readonly but class has not yet finished initialization). Set *pIsSpeculative false // if this type will not change. virtual CORINFO_CLASS_HANDLE getStaticFieldCurrentClass( - CORINFO_FIELD_HANDLE field, - bool *pIsSpeculative = NULL - ) = 0; + CORINFO_FIELD_HANDLE field, + bool *pIsSpeculative = NULL + ) = 0; // registers a vararg sig & returns a VM cookie for it (which can contain other stuff) virtual CORINFO_VARARGS_HANDLE getVarArgsHandle( - CORINFO_SIG_INFO *pSig, - void **ppIndirection = NULL - ) = 0; + CORINFO_SIG_INFO *pSig, + void **ppIndirection = NULL + ) = 0; // returns true if a VM cookie can be generated for it (might be false due to cross-module // inlining, in which case the inlining should be aborted) virtual bool canGetVarArgsHandle( - CORINFO_SIG_INFO *pSig - ) = 0; + CORINFO_SIG_INFO *pSig + ) = 0; // Allocate a string literal on the heap and return a handle to it virtual InfoAccessType constructStringLiteral( - CORINFO_MODULE_HANDLE module, - mdToken metaTok, - void **ppValue - ) = 0; + CORINFO_MODULE_HANDLE module, + mdToken metaTok, + void **ppValue + ) = 0; virtual InfoAccessType emptyStringLiteral( - void **ppValue - ) = 0; + void **ppValue + ) = 0; // (static fields only) given that 'field' refers to thread local store, // return the ID (TLS index), which is used to find the beginning of the // TLS data area for the particular DLL 'field' is associated with. virtual uint32_t getFieldThreadLocalStoreID ( - CORINFO_FIELD_HANDLE field, - void **ppIndirection = NULL - ) = 0; - - // Adds an active dependency from the context method's module to the given module - // This is internal callback for the EE. JIT should not call it directly. - virtual void addActiveDependency( - CORINFO_MODULE_HANDLE moduleFrom, - CORINFO_MODULE_HANDLE moduleTo - ) = 0; + CORINFO_FIELD_HANDLE field, + void **ppIndirection = NULL + ) = 0; virtual CORINFO_METHOD_HANDLE GetDelegateCtor( CORINFO_METHOD_HANDLE methHnd, @@ -3200,34 +3309,34 @@ class ICorDynamicInfo : public ICorStaticInfo ) = 0; virtual void MethodCompileComplete( - CORINFO_METHOD_HANDLE methHnd - ) = 0; + CORINFO_METHOD_HANDLE methHnd + ) = 0; // Obtain tailcall help for the specified call site. virtual bool getTailCallHelpers( + // The resolved token for the call. Can be null for calli. + CORINFO_RESOLVED_TOKEN* callToken, - // The resolved token for the call. Can be null for calli. - CORINFO_RESOLVED_TOKEN* callToken, - - // The signature at the callsite. - CORINFO_SIG_INFO* sig, + // The signature at the callsite. + CORINFO_SIG_INFO* sig, - // Flags for the tailcall site. - CORINFO_GET_TAILCALL_HELPERS_FLAGS flags, + // Flags for the tailcall site. + CORINFO_GET_TAILCALL_HELPERS_FLAGS flags, - // The resulting help. - CORINFO_TAILCALL_HELPERS* pResult) = 0; + // The resulting help. + CORINFO_TAILCALL_HELPERS* pResult + ) = 0; // Optionally, convert calli to regular method call. This is for PInvoke argument marshalling. virtual bool convertPInvokeCalliToCall( - CORINFO_RESOLVED_TOKEN * pResolvedToken, - bool fMustConvert - ) = 0; + CORINFO_RESOLVED_TOKEN * pResolvedToken, + bool fMustConvert + ) = 0; // Notify EE about intent to use or not to use instruction set in the method. Returns true if the instruction set is supported unconditionally. virtual bool notifyInstructionSetUsage( - CORINFO_InstructionSet instructionSet, - bool supportEnabled + CORINFO_InstructionSet instructionSet, + bool supportEnabled ) = 0; // Notify EE that JIT needs an entry-point that is tail-callable. @@ -3259,4 +3368,9 @@ class ICorDynamicInfo : public ICorStaticInfo // #define IMAGE_REL_BASED_REL_THUMB_MOV32_PCREL 0x14 +/**********************************************************************************/ +#ifdef TARGET_64BIT +#define USE_PER_FRAME_PINVOKE_INIT +#endif + #endif // _COR_INFO_H_ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corinfoinstructionset.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corinfoinstructionset.h index 3a818a8722..5aecf46bf3 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corinfoinstructionset.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corinfoinstructionset.h @@ -14,7 +14,7 @@ enum CORINFO_InstructionSet { InstructionSet_ILLEGAL = 0, - InstructionSet_NONE = 63, + InstructionSet_NONE = 127, #ifdef TARGET_ARM64 InstructionSet_ArmBase=1, InstructionSet_AdvSimd=2, @@ -29,14 +29,15 @@ enum CORINFO_InstructionSet InstructionSet_Vector128=11, InstructionSet_Dczva=12, InstructionSet_Rcpc=13, - InstructionSet_ArmBase_Arm64=14, - InstructionSet_AdvSimd_Arm64=15, - InstructionSet_Aes_Arm64=16, - InstructionSet_Crc32_Arm64=17, - InstructionSet_Dp_Arm64=18, - InstructionSet_Rdm_Arm64=19, - InstructionSet_Sha1_Arm64=20, - InstructionSet_Sha256_Arm64=21, + InstructionSet_VectorT128=14, + InstructionSet_ArmBase_Arm64=15, + InstructionSet_AdvSimd_Arm64=16, + InstructionSet_Aes_Arm64=17, + InstructionSet_Crc32_Arm64=18, + InstructionSet_Dp_Arm64=19, + InstructionSet_Rdm_Arm64=20, + InstructionSet_Sha1_Arm64=21, + InstructionSet_Sha256_Arm64=22, #endif // TARGET_ARM64 #ifdef TARGET_AMD64 InstructionSet_X86Base=1, @@ -57,28 +58,52 @@ enum CORINFO_InstructionSet InstructionSet_POPCNT=16, InstructionSet_Vector128=17, InstructionSet_Vector256=18, - InstructionSet_AVXVNNI=19, - InstructionSet_MOVBE=20, - InstructionSet_X86Serialize=21, - InstructionSet_X86Base_X64=22, - InstructionSet_SSE_X64=23, - InstructionSet_SSE2_X64=24, - InstructionSet_SSE3_X64=25, - InstructionSet_SSSE3_X64=26, - InstructionSet_SSE41_X64=27, - InstructionSet_SSE42_X64=28, - InstructionSet_AVX_X64=29, - InstructionSet_AVX2_X64=30, - InstructionSet_AES_X64=31, - InstructionSet_BMI1_X64=32, - InstructionSet_BMI2_X64=33, - InstructionSet_FMA_X64=34, - InstructionSet_LZCNT_X64=35, - InstructionSet_PCLMULQDQ_X64=36, - InstructionSet_POPCNT_X64=37, - InstructionSet_AVXVNNI_X64=38, - InstructionSet_MOVBE_X64=39, - InstructionSet_X86Serialize_X64=40, + InstructionSet_Vector512=19, + InstructionSet_AVXVNNI=20, + InstructionSet_MOVBE=21, + InstructionSet_X86Serialize=22, + InstructionSet_AVX512F=23, + InstructionSet_AVX512F_VL=24, + InstructionSet_AVX512BW=25, + InstructionSet_AVX512BW_VL=26, + InstructionSet_AVX512CD=27, + InstructionSet_AVX512CD_VL=28, + InstructionSet_AVX512DQ=29, + InstructionSet_AVX512DQ_VL=30, + InstructionSet_AVX512VBMI=31, + InstructionSet_AVX512VBMI_VL=32, + InstructionSet_VectorT128=33, + InstructionSet_VectorT256=34, + InstructionSet_VectorT512=35, + InstructionSet_X86Base_X64=36, + InstructionSet_SSE_X64=37, + InstructionSet_SSE2_X64=38, + InstructionSet_SSE3_X64=39, + InstructionSet_SSSE3_X64=40, + InstructionSet_SSE41_X64=41, + InstructionSet_SSE42_X64=42, + InstructionSet_AVX_X64=43, + InstructionSet_AVX2_X64=44, + InstructionSet_AES_X64=45, + InstructionSet_BMI1_X64=46, + InstructionSet_BMI2_X64=47, + InstructionSet_FMA_X64=48, + InstructionSet_LZCNT_X64=49, + InstructionSet_PCLMULQDQ_X64=50, + InstructionSet_POPCNT_X64=51, + InstructionSet_AVXVNNI_X64=52, + InstructionSet_MOVBE_X64=53, + InstructionSet_X86Serialize_X64=54, + InstructionSet_AVX512F_X64=55, + InstructionSet_AVX512F_VL_X64=56, + InstructionSet_AVX512BW_X64=57, + InstructionSet_AVX512BW_VL_X64=58, + InstructionSet_AVX512CD_X64=59, + InstructionSet_AVX512CD_VL_X64=60, + InstructionSet_AVX512DQ_X64=61, + InstructionSet_AVX512DQ_VL_X64=62, + InstructionSet_AVX512VBMI_X64=63, + InstructionSet_AVX512VBMI_VL_X64=64, #endif // TARGET_AMD64 #ifdef TARGET_X86 InstructionSet_X86Base=1, @@ -99,28 +124,52 @@ enum CORINFO_InstructionSet InstructionSet_POPCNT=16, InstructionSet_Vector128=17, InstructionSet_Vector256=18, - InstructionSet_AVXVNNI=19, - InstructionSet_MOVBE=20, - InstructionSet_X86Serialize=21, - InstructionSet_X86Base_X64=22, - InstructionSet_SSE_X64=23, - InstructionSet_SSE2_X64=24, - InstructionSet_SSE3_X64=25, - InstructionSet_SSSE3_X64=26, - InstructionSet_SSE41_X64=27, - InstructionSet_SSE42_X64=28, - InstructionSet_AVX_X64=29, - InstructionSet_AVX2_X64=30, - InstructionSet_AES_X64=31, - InstructionSet_BMI1_X64=32, - InstructionSet_BMI2_X64=33, - InstructionSet_FMA_X64=34, - InstructionSet_LZCNT_X64=35, - InstructionSet_PCLMULQDQ_X64=36, - InstructionSet_POPCNT_X64=37, - InstructionSet_AVXVNNI_X64=38, - InstructionSet_MOVBE_X64=39, - InstructionSet_X86Serialize_X64=40, + InstructionSet_Vector512=19, + InstructionSet_AVXVNNI=20, + InstructionSet_MOVBE=21, + InstructionSet_X86Serialize=22, + InstructionSet_AVX512F=23, + InstructionSet_AVX512F_VL=24, + InstructionSet_AVX512BW=25, + InstructionSet_AVX512BW_VL=26, + InstructionSet_AVX512CD=27, + InstructionSet_AVX512CD_VL=28, + InstructionSet_AVX512DQ=29, + InstructionSet_AVX512DQ_VL=30, + InstructionSet_AVX512VBMI=31, + InstructionSet_AVX512VBMI_VL=32, + InstructionSet_VectorT128=33, + InstructionSet_VectorT256=34, + InstructionSet_VectorT512=35, + InstructionSet_X86Base_X64=36, + InstructionSet_SSE_X64=37, + InstructionSet_SSE2_X64=38, + InstructionSet_SSE3_X64=39, + InstructionSet_SSSE3_X64=40, + InstructionSet_SSE41_X64=41, + InstructionSet_SSE42_X64=42, + InstructionSet_AVX_X64=43, + InstructionSet_AVX2_X64=44, + InstructionSet_AES_X64=45, + InstructionSet_BMI1_X64=46, + InstructionSet_BMI2_X64=47, + InstructionSet_FMA_X64=48, + InstructionSet_LZCNT_X64=49, + InstructionSet_PCLMULQDQ_X64=50, + InstructionSet_POPCNT_X64=51, + InstructionSet_AVXVNNI_X64=52, + InstructionSet_MOVBE_X64=53, + InstructionSet_X86Serialize_X64=54, + InstructionSet_AVX512F_X64=55, + InstructionSet_AVX512F_VL_X64=56, + InstructionSet_AVX512BW_X64=57, + InstructionSet_AVX512BW_VL_X64=58, + InstructionSet_AVX512CD_X64=59, + InstructionSet_AVX512CD_VL_X64=60, + InstructionSet_AVX512DQ_X64=61, + InstructionSet_AVX512DQ_VL_X64=62, + InstructionSet_AVX512VBMI_X64=63, + InstructionSet_AVX512VBMI_VL_X64=64, #endif // TARGET_X86 }; @@ -128,41 +177,89 @@ enum CORINFO_InstructionSet struct CORINFO_InstructionSetFlags { private: - uint64_t _flags = 0; + static const int32_t FlagsFieldCount = 2; + static const int32_t BitsPerFlagsField = sizeof(uint64_t) * 8; + uint64_t _flags[FlagsFieldCount] = { }; + + + static uint32_t GetFlagsFieldIndex(CORINFO_InstructionSet instructionSet) + { + uint32_t bitIndex = (uint32_t)instructionSet; + return (uint32_t)(bitIndex / (uint32_t)BitsPerFlagsField); + } + + static uint64_t GetRelativeBitMask(CORINFO_InstructionSet instructionSet) + { + return ((uint64_t)1) << (instructionSet & 0x3F); + } + public: + + const int GetInstructionFlagsFieldCount() const + { + return FlagsFieldCount; + } + void AddInstructionSet(CORINFO_InstructionSet instructionSet) { - _flags = _flags | (((uint64_t)1) << instructionSet); + uint32_t index = GetFlagsFieldIndex(instructionSet); + _flags[index] |= GetRelativeBitMask(instructionSet); } void RemoveInstructionSet(CORINFO_InstructionSet instructionSet) { - _flags = _flags & ~(((uint64_t)1) << instructionSet); + uint32_t index = GetFlagsFieldIndex(instructionSet); + uint64_t bitIndex = GetRelativeBitMask(instructionSet); + _flags[index] &= ~bitIndex; } bool HasInstructionSet(CORINFO_InstructionSet instructionSet) const { - return _flags & (((uint64_t)1) << instructionSet); + uint32_t index = GetFlagsFieldIndex(instructionSet); + uint64_t bitIndex = GetRelativeBitMask(instructionSet); + return ((_flags[index] & bitIndex) != 0); } bool Equals(CORINFO_InstructionSetFlags other) const { - return _flags == other._flags; + for (int i = 0; i < FlagsFieldCount; i++) + { + if (_flags[i] != other._flags[i]) + { + return false; + } + + } + return true; } void Add(CORINFO_InstructionSetFlags other) { - _flags |= other._flags; + for (int i = 0; i < FlagsFieldCount; i++) + { + _flags[i] |= other._flags[i]; + } } bool IsEmpty() const { - return _flags == 0; + for (int i = 0; i < FlagsFieldCount; i++) + { + if (_flags[i] != 0) + { + return false; + } + + } + return true; } void Reset() { - _flags = 0; + for (int i = 0; i < FlagsFieldCount; i++) + { + _flags[i] = 0; + } } void Set64BitInstructionSetVariants() @@ -224,21 +321,36 @@ struct CORINFO_InstructionSetFlags AddInstructionSet(InstructionSet_MOVBE_X64); if (HasInstructionSet(InstructionSet_X86Serialize)) AddInstructionSet(InstructionSet_X86Serialize_X64); + if (HasInstructionSet(InstructionSet_AVX512F)) + AddInstructionSet(InstructionSet_AVX512F_X64); + if (HasInstructionSet(InstructionSet_AVX512F_VL)) + AddInstructionSet(InstructionSet_AVX512F_VL_X64); + if (HasInstructionSet(InstructionSet_AVX512BW)) + AddInstructionSet(InstructionSet_AVX512BW_X64); + if (HasInstructionSet(InstructionSet_AVX512BW_VL)) + AddInstructionSet(InstructionSet_AVX512BW_VL_X64); + if (HasInstructionSet(InstructionSet_AVX512CD)) + AddInstructionSet(InstructionSet_AVX512CD_X64); + if (HasInstructionSet(InstructionSet_AVX512CD_VL)) + AddInstructionSet(InstructionSet_AVX512CD_VL_X64); + if (HasInstructionSet(InstructionSet_AVX512DQ)) + AddInstructionSet(InstructionSet_AVX512DQ_X64); + if (HasInstructionSet(InstructionSet_AVX512DQ_VL)) + AddInstructionSet(InstructionSet_AVX512DQ_VL_X64); + if (HasInstructionSet(InstructionSet_AVX512VBMI)) + AddInstructionSet(InstructionSet_AVX512VBMI_X64); + if (HasInstructionSet(InstructionSet_AVX512VBMI_VL)) + AddInstructionSet(InstructionSet_AVX512VBMI_VL_X64); #endif // TARGET_AMD64 #ifdef TARGET_X86 #endif // TARGET_X86 } - uint64_t GetFlagsRaw() + uint64_t* GetFlagsRaw() { return _flags; } - - void SetFromFlagsRaw(uint64_t flags) - { - _flags = flags; - } }; inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_InstructionSetFlags input) @@ -299,6 +411,8 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins resultflags.RemoveInstructionSet(InstructionSet_Vector64); if (resultflags.HasInstructionSet(InstructionSet_Vector128) && !resultflags.HasInstructionSet(InstructionSet_AdvSimd)) resultflags.RemoveInstructionSet(InstructionSet_Vector128); + if (resultflags.HasInstructionSet(InstructionSet_VectorT128) && !resultflags.HasInstructionSet(InstructionSet_AdvSimd)) + resultflags.RemoveInstructionSet(InstructionSet_VectorT128); #endif // TARGET_ARM64 #ifdef TARGET_AMD64 if (resultflags.HasInstructionSet(InstructionSet_X86Base) && !resultflags.HasInstructionSet(InstructionSet_X86Base_X64)) @@ -377,6 +491,46 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins resultflags.RemoveInstructionSet(InstructionSet_X86Serialize); if (resultflags.HasInstructionSet(InstructionSet_X86Serialize_X64) && !resultflags.HasInstructionSet(InstructionSet_X86Serialize)) resultflags.RemoveInstructionSet(InstructionSet_X86Serialize_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F_VL_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F_VL_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW_VL_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD_VL_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ_VL_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI_X64); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL_X64)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI_VL_X64); if (resultflags.HasInstructionSet(InstructionSet_SSE) && !resultflags.HasInstructionSet(InstructionSet_X86Base)) resultflags.RemoveInstructionSet(InstructionSet_SSE); if (resultflags.HasInstructionSet(InstructionSet_SSE2) && !resultflags.HasInstructionSet(InstructionSet_SSE)) @@ -411,12 +565,56 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins resultflags.RemoveInstructionSet(InstructionSet_Vector128); if (resultflags.HasInstructionSet(InstructionSet_Vector256) && !resultflags.HasInstructionSet(InstructionSet_AVX)) resultflags.RemoveInstructionSet(InstructionSet_Vector256); + if (resultflags.HasInstructionSet(InstructionSet_Vector512) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_Vector512); if (resultflags.HasInstructionSet(InstructionSet_AVXVNNI) && !resultflags.HasInstructionSet(InstructionSet_AVX2)) resultflags.RemoveInstructionSet(InstructionSet_AVXVNNI); if (resultflags.HasInstructionSet(InstructionSet_MOVBE) && !resultflags.HasInstructionSet(InstructionSet_SSE42)) resultflags.RemoveInstructionSet(InstructionSet_MOVBE); if (resultflags.HasInstructionSet(InstructionSet_X86Serialize) && !resultflags.HasInstructionSet(InstructionSet_X86Base)) resultflags.RemoveInstructionSet(InstructionSet_X86Serialize); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_AVX2)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_FMA)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI_VL); + if (resultflags.HasInstructionSet(InstructionSet_VectorT128) && !resultflags.HasInstructionSet(InstructionSet_SSE2)) + resultflags.RemoveInstructionSet(InstructionSet_VectorT128); + if (resultflags.HasInstructionSet(InstructionSet_VectorT256) && !resultflags.HasInstructionSet(InstructionSet_AVX2)) + resultflags.RemoveInstructionSet(InstructionSet_VectorT256); + if (resultflags.HasInstructionSet(InstructionSet_VectorT512) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_VectorT512); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); #endif // TARGET_AMD64 #ifdef TARGET_X86 if (resultflags.HasInstructionSet(InstructionSet_SSE) && !resultflags.HasInstructionSet(InstructionSet_X86Base)) @@ -453,12 +651,56 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins resultflags.RemoveInstructionSet(InstructionSet_Vector128); if (resultflags.HasInstructionSet(InstructionSet_Vector256) && !resultflags.HasInstructionSet(InstructionSet_AVX)) resultflags.RemoveInstructionSet(InstructionSet_Vector256); + if (resultflags.HasInstructionSet(InstructionSet_Vector512) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_Vector512); if (resultflags.HasInstructionSet(InstructionSet_AVXVNNI) && !resultflags.HasInstructionSet(InstructionSet_AVX2)) resultflags.RemoveInstructionSet(InstructionSet_AVXVNNI); if (resultflags.HasInstructionSet(InstructionSet_MOVBE) && !resultflags.HasInstructionSet(InstructionSet_SSE42)) resultflags.RemoveInstructionSet(InstructionSet_MOVBE); if (resultflags.HasInstructionSet(InstructionSet_X86Serialize) && !resultflags.HasInstructionSet(InstructionSet_X86Base)) resultflags.RemoveInstructionSet(InstructionSet_X86Serialize); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_AVX2)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_FMA)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512CD_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512BW_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512DQ_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI_VL); + if (resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI_VL); + if (resultflags.HasInstructionSet(InstructionSet_VectorT128) && !resultflags.HasInstructionSet(InstructionSet_SSE2)) + resultflags.RemoveInstructionSet(InstructionSet_VectorT128); + if (resultflags.HasInstructionSet(InstructionSet_VectorT256) && !resultflags.HasInstructionSet(InstructionSet_AVX2)) + resultflags.RemoveInstructionSet(InstructionSet_VectorT256); + if (resultflags.HasInstructionSet(InstructionSet_VectorT512) && !resultflags.HasInstructionSet(InstructionSet_AVX512F)) + resultflags.RemoveInstructionSet(InstructionSet_VectorT512); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); + if (resultflags.HasInstructionSet(InstructionSet_AVX512F) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL)) + resultflags.RemoveInstructionSet(InstructionSet_AVX512F); #endif // TARGET_X86 } while (!oldflags.Equals(resultflags)); @@ -517,6 +759,8 @@ inline const char *InstructionSetToString(CORINFO_InstructionSet instructionSet) return "Dczva"; case InstructionSet_Rcpc : return "Rcpc"; + case InstructionSet_VectorT128 : + return "VectorT128"; #endif // TARGET_ARM64 #ifdef TARGET_AMD64 case InstructionSet_X86Base : @@ -587,6 +831,8 @@ inline const char *InstructionSetToString(CORINFO_InstructionSet instructionSet) return "Vector128"; case InstructionSet_Vector256 : return "Vector256"; + case InstructionSet_Vector512 : + return "Vector512"; case InstructionSet_AVXVNNI : return "AVXVNNI"; case InstructionSet_AVXVNNI_X64 : @@ -599,6 +845,52 @@ inline const char *InstructionSetToString(CORINFO_InstructionSet instructionSet) return "X86Serialize"; case InstructionSet_X86Serialize_X64 : return "X86Serialize_X64"; + case InstructionSet_AVX512F : + return "AVX512F"; + case InstructionSet_AVX512F_X64 : + return "AVX512F_X64"; + case InstructionSet_AVX512F_VL : + return "AVX512F_VL"; + case InstructionSet_AVX512F_VL_X64 : + return "AVX512F_VL_X64"; + case InstructionSet_AVX512BW : + return "AVX512BW"; + case InstructionSet_AVX512BW_X64 : + return "AVX512BW_X64"; + case InstructionSet_AVX512BW_VL : + return "AVX512BW_VL"; + case InstructionSet_AVX512BW_VL_X64 : + return "AVX512BW_VL_X64"; + case InstructionSet_AVX512CD : + return "AVX512CD"; + case InstructionSet_AVX512CD_X64 : + return "AVX512CD_X64"; + case InstructionSet_AVX512CD_VL : + return "AVX512CD_VL"; + case InstructionSet_AVX512CD_VL_X64 : + return "AVX512CD_VL_X64"; + case InstructionSet_AVX512DQ : + return "AVX512DQ"; + case InstructionSet_AVX512DQ_X64 : + return "AVX512DQ_X64"; + case InstructionSet_AVX512DQ_VL : + return "AVX512DQ_VL"; + case InstructionSet_AVX512DQ_VL_X64 : + return "AVX512DQ_VL_X64"; + case InstructionSet_AVX512VBMI : + return "AVX512VBMI"; + case InstructionSet_AVX512VBMI_X64 : + return "AVX512VBMI_X64"; + case InstructionSet_AVX512VBMI_VL : + return "AVX512VBMI_VL"; + case InstructionSet_AVX512VBMI_VL_X64 : + return "AVX512VBMI_VL_X64"; + case InstructionSet_VectorT128 : + return "VectorT128"; + case InstructionSet_VectorT256 : + return "VectorT256"; + case InstructionSet_VectorT512 : + return "VectorT512"; #endif // TARGET_AMD64 #ifdef TARGET_X86 case InstructionSet_X86Base : @@ -637,12 +929,40 @@ inline const char *InstructionSetToString(CORINFO_InstructionSet instructionSet) return "Vector128"; case InstructionSet_Vector256 : return "Vector256"; + case InstructionSet_Vector512 : + return "Vector512"; case InstructionSet_AVXVNNI : return "AVXVNNI"; case InstructionSet_MOVBE : return "MOVBE"; case InstructionSet_X86Serialize : return "X86Serialize"; + case InstructionSet_AVX512F : + return "AVX512F"; + case InstructionSet_AVX512F_VL : + return "AVX512F_VL"; + case InstructionSet_AVX512BW : + return "AVX512BW"; + case InstructionSet_AVX512BW_VL : + return "AVX512BW_VL"; + case InstructionSet_AVX512CD : + return "AVX512CD"; + case InstructionSet_AVX512CD_VL : + return "AVX512CD_VL"; + case InstructionSet_AVX512DQ : + return "AVX512DQ"; + case InstructionSet_AVX512DQ_VL : + return "AVX512DQ_VL"; + case InstructionSet_AVX512VBMI : + return "AVX512VBMI"; + case InstructionSet_AVX512VBMI_VL : + return "AVX512VBMI_VL"; + case InstructionSet_VectorT128 : + return "VectorT128"; + case InstructionSet_VectorT256 : + return "VectorT256"; + case InstructionSet_VectorT512 : + return "VectorT512"; #endif // TARGET_X86 default: @@ -673,6 +993,7 @@ inline CORINFO_InstructionSet InstructionSetFromR2RInstructionSet(ReadyToRunInst case READYTORUN_INSTRUCTION_Sha256: return InstructionSet_Sha256; case READYTORUN_INSTRUCTION_Atomics: return InstructionSet_Atomics; case READYTORUN_INSTRUCTION_Rcpc: return InstructionSet_Rcpc; + case READYTORUN_INSTRUCTION_VectorT128: return InstructionSet_VectorT128; #endif // TARGET_ARM64 #ifdef TARGET_AMD64 case READYTORUN_INSTRUCTION_X86Base: return InstructionSet_X86Base; @@ -694,6 +1015,19 @@ inline CORINFO_InstructionSet InstructionSetFromR2RInstructionSet(ReadyToRunInst case READYTORUN_INSTRUCTION_AvxVnni: return InstructionSet_AVXVNNI; case READYTORUN_INSTRUCTION_Movbe: return InstructionSet_MOVBE; case READYTORUN_INSTRUCTION_X86Serialize: return InstructionSet_X86Serialize; + case READYTORUN_INSTRUCTION_Avx512F: return InstructionSet_AVX512F; + case READYTORUN_INSTRUCTION_Avx512F_VL: return InstructionSet_AVX512F_VL; + case READYTORUN_INSTRUCTION_Avx512BW: return InstructionSet_AVX512BW; + case READYTORUN_INSTRUCTION_Avx512BW_VL: return InstructionSet_AVX512BW_VL; + case READYTORUN_INSTRUCTION_Avx512CD: return InstructionSet_AVX512CD; + case READYTORUN_INSTRUCTION_Avx512CD_VL: return InstructionSet_AVX512CD_VL; + case READYTORUN_INSTRUCTION_Avx512DQ: return InstructionSet_AVX512DQ; + case READYTORUN_INSTRUCTION_Avx512DQ_VL: return InstructionSet_AVX512DQ_VL; + case READYTORUN_INSTRUCTION_Avx512Vbmi: return InstructionSet_AVX512VBMI; + case READYTORUN_INSTRUCTION_Avx512Vbmi_VL: return InstructionSet_AVX512VBMI_VL; + case READYTORUN_INSTRUCTION_VectorT128: return InstructionSet_VectorT128; + case READYTORUN_INSTRUCTION_VectorT256: return InstructionSet_VectorT256; + case READYTORUN_INSTRUCTION_VectorT512: return InstructionSet_VectorT512; #endif // TARGET_AMD64 #ifdef TARGET_X86 case READYTORUN_INSTRUCTION_X86Base: return InstructionSet_X86Base; @@ -715,6 +1049,19 @@ inline CORINFO_InstructionSet InstructionSetFromR2RInstructionSet(ReadyToRunInst case READYTORUN_INSTRUCTION_AvxVnni: return InstructionSet_AVXVNNI; case READYTORUN_INSTRUCTION_Movbe: return InstructionSet_MOVBE; case READYTORUN_INSTRUCTION_X86Serialize: return InstructionSet_X86Serialize; + case READYTORUN_INSTRUCTION_Avx512F: return InstructionSet_AVX512F; + case READYTORUN_INSTRUCTION_Avx512F_VL: return InstructionSet_AVX512F_VL; + case READYTORUN_INSTRUCTION_Avx512BW: return InstructionSet_AVX512BW; + case READYTORUN_INSTRUCTION_Avx512BW_VL: return InstructionSet_AVX512BW_VL; + case READYTORUN_INSTRUCTION_Avx512CD: return InstructionSet_AVX512CD; + case READYTORUN_INSTRUCTION_Avx512CD_VL: return InstructionSet_AVX512CD_VL; + case READYTORUN_INSTRUCTION_Avx512DQ: return InstructionSet_AVX512DQ; + case READYTORUN_INSTRUCTION_Avx512DQ_VL: return InstructionSet_AVX512DQ_VL; + case READYTORUN_INSTRUCTION_Avx512Vbmi: return InstructionSet_AVX512VBMI; + case READYTORUN_INSTRUCTION_Avx512Vbmi_VL: return InstructionSet_AVX512VBMI_VL; + case READYTORUN_INSTRUCTION_VectorT128: return InstructionSet_VectorT128; + case READYTORUN_INSTRUCTION_VectorT256: return InstructionSet_VectorT256; + case READYTORUN_INSTRUCTION_VectorT512: return InstructionSet_VectorT512; #endif // TARGET_X86 default: diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corjit.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corjit.h index 380db270e1..9cee9b1742 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corjit.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corjit.h @@ -117,6 +117,7 @@ enum CorJitAllocMemFlag CORJIT_ALLOCMEM_FLG_RODATA_16BYTE_ALIGN = 0x00000002, // The read-only data will be 16-byte aligned CORJIT_ALLOCMEM_FLG_32BYTE_ALIGN = 0x00000004, // The code will be 32-byte aligned CORJIT_ALLOCMEM_FLG_RODATA_32BYTE_ALIGN = 0x00000008, // The read-only data will be 32-byte aligned + CORJIT_ALLOCMEM_FLG_RODATA_64BYTE_ALIGN = 0x00000010, // The read-only data will be 64-byte aligned }; inline CorJitAllocMemFlag operator |(CorJitAllocMemFlag a, CorJitAllocMemFlag b) @@ -190,11 +191,11 @@ class ICorJitCompiler // * For the 64 bit jit this is implemented by code:PreJit.compileMethod // Note: setTargetOS must be called before this api is used. virtual CorJitResult compileMethod ( - ICorJitInfo *comp, /* IN */ - struct CORINFO_METHOD_INFO *info, /* IN */ - unsigned /* code:CorJitFlag */ flags, /* IN */ - uint8_t **nativeEntry, /* OUT */ - uint32_t *nativeSizeOfCode /* OUT */ + ICorJitInfo* comp, /* IN */ + struct CORINFO_METHOD_INFO* info, /* IN */ + unsigned /* code:CorJitFlag */ flags, /* IN */ + uint8_t** nativeEntry, /* OUT */ + uint32_t* nativeSizeOfCode /* OUT */ ) = 0; // Do any appropriate work at process shutdown. Default impl is to do nothing. @@ -208,11 +209,6 @@ class ICorJitCompiler GUID* versionIdentifier /* OUT */ ) = 0; - // When the EE loads the System.Numerics.Vectors assembly, it asks the JIT what length (in bytes) of - // SIMD vector it supports as an intrinsic type. Zero means that the JIT does not support SIMD - // intrinsics, so the EE should use the default size (i.e. the size of the IL implementation). - virtual unsigned getMaxIntrinsicSIMDVectorLength(CORJIT_FLAGS cpuCompileFlags) { return 0; } - // Some JIT's may support multiple OSs. This api provides a means to specify to the JIT what OS it should // be trying to compile. This api does not produce any errors, any errors are to be generated by the // the compileMethod call, which will call back into the VM to ensure bits are correctly setup. @@ -255,7 +251,7 @@ class ICorJitInfo : public ICorDynamicInfo virtual void reserveUnwindInfo ( bool isFunclet, /* IN */ bool isColdCode, /* IN */ - uint32_t unwindSize /* IN */ + uint32_t unwindSize /* IN */ ) = 0; // Allocate and initialize the .rdata and .pdata for this method or @@ -276,19 +272,18 @@ class ICorJitInfo : public ICorDynamicInfo // funcKind type of funclet (main method code, handler, filter) // virtual void allocUnwindInfo ( - uint8_t * pHotCode, /* IN */ - uint8_t * pColdCode, /* IN */ - uint32_t startOffset, /* IN */ - uint32_t endOffset, /* IN */ - uint32_t unwindSize, /* IN */ - uint8_t * pUnwindBlock, /* IN */ - CorJitFuncKind funcKind /* IN */ + uint8_t * pHotCode, /* IN */ + uint8_t * pColdCode, /* IN */ + uint32_t startOffset, /* IN */ + uint32_t endOffset, /* IN */ + uint32_t unwindSize, /* IN */ + uint8_t * pUnwindBlock, /* IN */ + CorJitFuncKind funcKind /* IN */ ) = 0; - // Get a block of memory needed for the code manager information, - // (the info for enumerating the GC pointers while crawling the - // stack frame). - // Note that allocMem must be called first + // Get a block of memory needed for the code manager information, + // (the info for enumerating the GC pointers while crawling the + // stack frame). Note that allocMem must be called first. virtual void * allocGCInfo ( size_t size /* IN */ ) = 0; @@ -297,7 +292,7 @@ class ICorJitInfo : public ICorDynamicInfo // This is guaranteed to be called before any 'setEHinfo' call. // Note that allocMem must be called before this method can be called. virtual void setEHcount ( - unsigned cEH /* IN */ + unsigned cEH /* IN */ ) = 0; // Set the values for one particular exception handler block. @@ -307,7 +302,7 @@ class ICorJitInfo : public ICorDynamicInfo // determine if a "finally" clause is executing. virtual void setEHinfo ( unsigned EHnumber, /* IN */ - const CORINFO_EH_CLAUSE *clause /* IN */ + const CORINFO_EH_CLAUSE* clause /* IN */ ) = 0; // Level -> fatalError, Level 2 -> Error, Level 3 -> Warning @@ -339,13 +334,13 @@ class ICorJitInfo : public ICorDynamicInfo // // SAMPLE_INTERVAL must be >= SIZE. SAMPLE_INTERVAL / SIZE // gives the average number of calls between table updates. - // + // struct HandleHistogram32 { enum { - SIZE = 8, - SAMPLE_INTERVAL = 32, + SIZE = 32, + SAMPLE_INTERVAL = 64, CLASS_FLAG = 0x80000000, INTERFACE_FLAG = 0x40000000, DELEGATE_FLAG = 0x20000000, @@ -418,7 +413,8 @@ class ICorJitInfo : public ICorDynamicInfo Blend = 3, // PGO data comes from blend of prior runs and current run Text = 4, // PGO data comes from text file IBC = 5, // PGO data from classic IBC - Sampling= 6, // PGO data derived from sampling + Sampling = 6, // PGO data derived from sampling + Synthesis = 7, // PGO data derived from synthesis }; #define DEFAULT_UNKNOWN_HANDLE 1 @@ -466,20 +462,19 @@ class ICorJitInfo : public ICorDynamicInfo // the call site has no signature information (e.g. a helper call) or has no method handle // (e.g. a CALLI P/Invoke), then null should be passed instead. virtual void recordCallSite( - uint32_t instrOffset, /* IN */ - CORINFO_SIG_INFO * callSig, /* IN */ - CORINFO_METHOD_HANDLE methodHandle /* IN */ + uint32_t instrOffset, /* IN */ + CORINFO_SIG_INFO * callSig, /* IN */ + CORINFO_METHOD_HANDLE methodHandle /* IN */ ) = 0; // A relocation is recorded if we are pre-jitting. // A jump thunk may be inserted if we are jitting virtual void recordRelocation( - void * location, /* IN */ - void * locationRW, /* IN */ - void * target, /* IN */ - uint16_t fRelocType, /* IN */ - uint16_t slotNum = 0, /* IN */ - int32_t addlDelta = 0 /* IN */ + void * location, /* IN */ + void * locationRW, /* IN */ + void * target, /* IN */ + uint16_t fRelocType, /* IN */ + int32_t addlDelta = 0 /* IN */ ) = 0; virtual uint16_t getRelocTypeHint(void * target) = 0; @@ -494,9 +489,9 @@ class ICorJitInfo : public ICorDynamicInfo // Fetches extended flags for a particular compilation instance. Returns // the number of bytes written to the provided buffer. virtual uint32_t getJitFlags( - CORJIT_FLAGS* flags, /* IN: Points to a buffer that will hold the extended flags. */ - uint32_t sizeInBytes /* IN: The size of the buffer. Note that this is effectively a - version number for the CORJIT_FLAGS value. */ + CORJIT_FLAGS* flags, /* IN: Points to a buffer that will hold the extended flags. */ + uint32_t sizeInBytes /* IN: The size of the buffer. Note that this is effectively a + version number for the CORJIT_FLAGS value. */ ) = 0; }; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corjitflags.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corjitflags.h index d051c6e909..dce9a9f00b 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corjitflags.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corjitflags.h @@ -22,101 +22,52 @@ class CORJIT_FLAGS { public: + // Note: these flags can be #ifdef'ed, but no number should be re-used between different #ifdef conditions, + // so platform-independent code can know uniquely which number corresponds to which flag. enum CorJitFlag { CORJIT_FLAG_CALL_GETJITFLAGS = 0xffffffff, // Indicates that the JIT should retrieve flags in the form of a // pointer to a CORJIT_FLAGS value via ICorJitInfo::getJitFlags(). - CORJIT_FLAG_SPEED_OPT = 0, - CORJIT_FLAG_SIZE_OPT = 1, + + CORJIT_FLAG_SPEED_OPT = 0, // optimize for speed + CORJIT_FLAG_SIZE_OPT = 1, // optimize for code size CORJIT_FLAG_DEBUG_CODE = 2, // generate "debuggable" code (no code-mangling optimizations) CORJIT_FLAG_DEBUG_EnC = 3, // We are in Edit-n-Continue mode CORJIT_FLAG_DEBUG_INFO = 4, // generate line and local-var info CORJIT_FLAG_MIN_OPT = 5, // disable all jit optimizations (not necessarily debuggable code) - CORJIT_FLAG_ENABLE_CFG = 6, // generate control-flow guard checks - CORJIT_FLAG_MCJIT_BACKGROUND = 7, // Calling from multicore JIT background thread, do not call JitComplete - - #if defined(TARGET_X86) - - CORJIT_FLAG_PINVOKE_RESTORE_ESP = 8, // Restore ESP after returning from inlined PInvoke - CORJIT_FLAG_TARGET_P4 = 9, - CORJIT_FLAG_USE_FCOMI = 10, // Generated code may use fcomi(p) instruction - CORJIT_FLAG_USE_CMOV = 11, // Generated code may use cmov instruction - - #else // !defined(TARGET_X86) - - CORJIT_FLAG_UNUSED2 = 8, - CORJIT_FLAG_UNUSED3 = 9, - CORJIT_FLAG_UNUSED4 = 10, - CORJIT_FLAG_UNUSED5 = 11, - CORJIT_FLAG_UNUSED6 = 12, - - #endif // !defined(TARGET_X86) - - CORJIT_FLAG_OSR = 13, // Generate alternate method for On Stack Replacement - - CORJIT_FLAG_ALT_JIT = 14, // JIT should consider itself an ALT_JIT - CORJIT_FLAG_UNUSED8 = 15, - CORJIT_FLAG_UNUSED9 = 16, - CORJIT_FLAG_UNUSED10 = 17, - - CORJIT_FLAG_MAKEFINALCODE = 18, // Use the final code generator, i.e., not the interpreter. - CORJIT_FLAG_READYTORUN = 19, // Use version-resilient code generation - CORJIT_FLAG_PROF_ENTERLEAVE = 20, // Instrument prologues/epilogues - CORJIT_FLAG_UNUSED11 = 21, - CORJIT_FLAG_PROF_NO_PINVOKE_INLINE = 22, // Disables PInvoke inlining - CORJIT_FLAG_SKIP_VERIFICATION = 23, // (lazy) skip verification - determined without doing a full resolve. See comment below - CORJIT_FLAG_PREJIT = 24, // jit or prejit is the execution engine. - CORJIT_FLAG_RELOC = 25, // Generate relocatable code - CORJIT_FLAG_IMPORT_ONLY = 26, // Only import the function - CORJIT_FLAG_IL_STUB = 27, // method is an IL stub - CORJIT_FLAG_PROCSPLIT = 28, // JIT should separate code into hot and cold sections - CORJIT_FLAG_BBINSTR = 29, // Collect basic block profile information - CORJIT_FLAG_BBOPT = 30, // Optimize method based on profile information - CORJIT_FLAG_FRAMED = 31, // All methods have an EBP frame - CORJIT_FLAG_UNUSED12 = 32, - CORJIT_FLAG_PUBLISH_SECRET_PARAM = 33, // JIT must place stub secret param into local 0. (used by IL stubs) - CORJIT_FLAG_UNUSED13 = 34, - CORJIT_FLAG_SAMPLING_JIT_BACKGROUND = 35, // JIT is being invoked as a result of stack sampling for hot methods in the background - CORJIT_FLAG_USE_PINVOKE_HELPERS = 36, // The JIT should use the PINVOKE_{BEGIN,END} helpers instead of emitting inline transitions - CORJIT_FLAG_REVERSE_PINVOKE = 37, // The JIT should insert REVERSE_PINVOKE_{ENTER,EXIT} helpers into method prolog/epilog - CORJIT_FLAG_TRACK_TRANSITIONS = 38, // The JIT should insert the REVERSE_PINVOKE helper variants that track transitions. - CORJIT_FLAG_TIER0 = 39, // This is the initial tier for tiered compilation which should generate code as quickly as possible - CORJIT_FLAG_TIER1 = 40, // This is the final tier (for now) for tiered compilation which should generate high quality code + CORJIT_FLAG_ENABLE_CFG = 6, // generate CFG enabled code + CORJIT_FLAG_OSR = 7, // Generate alternate version for On Stack Replacement + CORJIT_FLAG_ALT_JIT = 8, // JIT should consider itself an ALT_JIT + CORJIT_FLAG_FROZEN_ALLOC_ALLOWED = 9, // JIT is allowed to use *_MAYBEFROZEN allocators + CORJIT_FLAG_MAKEFINALCODE = 10, // Use the final code generator, i.e., not the interpreter. + CORJIT_FLAG_READYTORUN = 11, // Use version-resilient code generation + CORJIT_FLAG_PROF_ENTERLEAVE = 12, // Instrument prologues/epilogues + CORJIT_FLAG_PROF_NO_PINVOKE_INLINE = 13, // Disables PInvoke inlining + CORJIT_FLAG_PREJIT = 14, // prejit is the execution engine. + CORJIT_FLAG_RELOC = 15, // Generate relocatable code + CORJIT_FLAG_IL_STUB = 16, // method is an IL stub + CORJIT_FLAG_PROCSPLIT = 17, // JIT should separate code into hot and cold sections + CORJIT_FLAG_BBINSTR = 18, // Collect basic block profile information + CORJIT_FLAG_BBINSTR_IF_LOOPS = 19, // JIT must instrument current method if it has loops + CORJIT_FLAG_BBOPT = 20, // Optimize method based on profile information + CORJIT_FLAG_FRAMED = 21, // All methods have an EBP frame + CORJIT_FLAG_PUBLISH_SECRET_PARAM = 22, // JIT must place stub secret param into local 0. (used by IL stubs) + CORJIT_FLAG_USE_PINVOKE_HELPERS = 23, // The JIT should use the PINVOKE_{BEGIN,END} helpers instead of emitting inline transitions + CORJIT_FLAG_REVERSE_PINVOKE = 24, // The JIT should insert REVERSE_PINVOKE_{ENTER,EXIT} helpers into method prolog/epilog + CORJIT_FLAG_TRACK_TRANSITIONS = 25, // The JIT should insert the helper variants that track transitions. + CORJIT_FLAG_TIER0 = 26, // This is the initial tier for tiered compilation which should generate code as quickly as possible + CORJIT_FLAG_TIER1 = 27, // This is the final tier (for now) for tiered compilation which should generate high quality code + CORJIT_FLAG_NO_INLINING = 28, // JIT should not inline any called method into this method #if defined(TARGET_ARM) - CORJIT_FLAG_RELATIVE_CODE_RELOCS = 41, // JIT should generate PC-relative address computations instead of EE relocation records -#else // !defined(TARGET_ARM) - CORJIT_FLAG_UNUSED15 = 41, -#endif // !defined(TARGET_ARM) + CORJIT_FLAG_RELATIVE_CODE_RELOCS = 29, // JIT should generate PC-relative address computations instead of EE relocation records + CORJIT_FLAG_SOFTFP_ABI = 30, // Enable armel calling convention +#endif - CORJIT_FLAG_NO_INLINING = 42, // JIT should not inline any called method into this method +#if defined(TARGET_X86) || defined(TARGET_AMD64) + CORJIT_FLAG_VECTOR512_THROTTLING = 31, // On x86/x64, 512-bit vector usage may incur CPU frequency throttling +#endif -#if defined(TARGET_ARM) - CORJIT_FLAG_SOFTFP_ABI = 43, // JIT should generate PC-relative address computations instead of EE relocation records -#else // !defined(TARGET_ARM) - CORJIT_FLAG_UNUSED16 = 43, -#endif // !defined(TARGET_ARM) - - CORJIT_FLAG_UNUSED17 = 44, - CORJIT_FLAG_UNUSED18 = 45, - CORJIT_FLAG_UNUSED19 = 46, - CORJIT_FLAG_UNUSED20 = 47, - CORJIT_FLAG_UNUSED21 = 48, - CORJIT_FLAG_UNUSED22 = 49, - CORJIT_FLAG_UNUSED23 = 50, - CORJIT_FLAG_UNUSED24 = 51, - CORJIT_FLAG_UNUSED25 = 52, - CORJIT_FLAG_UNUSED26 = 53, - CORJIT_FLAG_UNUSED27 = 54, - CORJIT_FLAG_UNUSED28 = 55, - CORJIT_FLAG_UNUSED29 = 56, - CORJIT_FLAG_UNUSED30 = 57, - CORJIT_FLAG_UNUSED31 = 58, - CORJIT_FLAG_UNUSED32 = 59, - CORJIT_FLAG_UNUSED33 = 60, - CORJIT_FLAG_UNUSED34 = 61, - CORJIT_FLAG_UNUSED35 = 62, - CORJIT_FLAG_UNUSED36 = 63 }; CORJIT_FLAGS() @@ -202,11 +153,21 @@ class CORJIT_FLAGS } // DO NOT USE THIS FUNCTION! (except in very restricted special cases) - uint64_t GetInstructionSetFlagsRaw() + uint64_t* GetInstructionSetFlagsRaw() { return instructionSetFlags.GetFlagsRaw(); } + CORINFO_InstructionSetFlags GetInstructionSetFlags() + { + return instructionSetFlags; + } + + const int GetInstructionFlagsFieldCount() + { + return instructionSetFlags.GetInstructionFlagsFieldCount(); + } + private: uint64_t corJitFlags; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corpriv.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corpriv.h index 505ac83e1b..9fa3fbb9f7 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corpriv.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corpriv.h @@ -403,9 +403,6 @@ DECLARE_INTERFACE_(ICeeGenInternal, IUnknown) ULONG RVA, // [IN] RVA for method to return UCHAR * *lpBuffer) PURE; // [OUT] Returned buffer - STDMETHOD(GetIMapTokenIface) ( - IUnknown * *pIMapToken) PURE; - STDMETHOD(GenerateCeeFile) () PURE; STDMETHOD(GetIlSection) ( diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corprof.idl b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corprof.idl index 2ed249fb18..b88a21aa70 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corprof.idl +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/corprof.idl @@ -836,6 +836,22 @@ typedef struct UINT32 reserved; } COR_PRF_EVENT_DATA; +typedef struct +{ + UINT64 Ptr; + UINT32 Size; + UINT32 Type; +} COR_PRF_FILTER_DATA; + +typedef STDMETHODCALLTYPE void EventPipeProviderCallback( + const UINT8 *source_id, + UINT32 is_enabled, + UINT8 level, + UINT64 match_any_keywords, + UINT64 match_all_keywords, + COR_PRF_FILTER_DATA *filter_data, + void *callback_data); + typedef enum _COR_PRF_HANDLE_TYPE { COR_PRF_HANDLE_TYPE_WEAK = 0x1, @@ -2035,6 +2051,17 @@ typedef struct COR_PRF_GC_GENERATION_RANGE } COR_PRF_GC_GENERATION_RANGE; +/* + * COR_PRF_NONGC_GENERATION_RANGE describes a range of memory in the GetNonGCHeapBounds function. + */ +typedef struct COR_PRF_NONGC_HEAP_RANGE +{ + ObjectID rangeStart; // the start of the range + UINT_PTR rangeLength; // the used length of the range + UINT_PTR rangeLengthReserved; // the amount of memory reserved for the range (including rangeLength) + +} COR_PRF_NONGC_HEAP_RANGE; + /* * COR_PRF_CLAUSE_TYPE defines the various clause codes for the EX clauses @@ -2621,6 +2648,7 @@ typedef enum { COR_PRF_CODEGEN_DISABLE_INLINING = 0x0001, COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS = 0x0002, + COR_PRF_CODEGEN_DEBUG_INFO = 0x0003, } COR_PRF_CODEGEN_FLAGS; @@ -4245,6 +4273,41 @@ interface ICorProfilerInfo13 : ICorProfilerInfo12 [out] ObjectID* pObject); } +[ + object, + uuid(F460E352-D76D-4FE9-835F-F6AF9D6E862D), + pointer_default(unique), + local +] +interface ICorProfilerInfo14 : ICorProfilerInfo13 +{ + HRESULT EnumerateNonGCObjects([out] ICorProfilerObjectEnum** ppEnum); + + HRESULT GetNonGCHeapBounds( + [in] ULONG cObjectRanges, + [out] ULONG *pcObjectRanges, + [out, size_is(cObjectRanges), length_is(*pcObjectRanges)] COR_PRF_NONGC_HEAP_RANGE ranges[]); + + + // EventPipeCreateProvider2 allows you to pass in a callback which will be called whenever a + // session enables your provider. The behavior of the callback matches the ETW behavior which + // can be counter intuitive. You will get a callback any time a session changes with the updated + // global keywords enabled for your session. The is_enabled parameter will be true if any + // session has your provider enabled. The source_id parameter will be a valid id if the callback + // was triggered due to a session enabling and it will be NULL if it was triggered due to a session + // disabling. + // + // Example: + // Session A enables your provider: callback with is_enabled == true, session_id == A, and keywords == Session A + // Session B enables your provider: callback with is_enabled == true, session_id == B, and keywords == Session A | Session B + // Session B disables your provider: callback with is_enabled == true, session_id == NULL, and keywords == Session A + // Session A disables your provider: callback with is_enabled == false, session_id == NULL, and keywords == 0 + HRESULT EventPipeCreateProvider2( + [in, string] const WCHAR *providerName, + [in] EventPipeProviderCallback *pCallback, + [out] EVENTPIPE_PROVIDER *pProvider); +} + /* * This interface lets you iterate over methods in the runtime. */ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cortypeinfo.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cortypeinfo.h index e67fdddbef..87d960301b 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cortypeinfo.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cortypeinfo.h @@ -4,8 +4,8 @@ // This describes information about the COM+ primitive types // -// Note: This file gets parsed by the Mono IL Linker (https://github.com/mono/linker/) which may throw an exception during parsing. -// Specifically, this (https://github.com/mono/linker/blob/master/corebuild/integration/ILLink.Tasks/CreateRuntimeRootDescriptorFile.cs) will try to +// Note: This file gets parsed by the IL Linker (https://github.com/dotnet/runtime/tree/main/src/tools/illink) which may throw an exception during parsing. +// Specifically, this (https://github.com/dotnet/runtime/blob/main/src/tools/illink/src/ILLink.Tasks/CreateRuntimeRootDescriptorFile.cs) will try to // parse this header, and it may throw an exception while doing that. If you edit this file and get a build failure on msbuild.exe D:\repos\coreclr\build.proj // you might want to check out the parser linked above. // diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crosscomp.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crosscomp.h index 9a78c69a34..7d105a5ac1 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crosscomp.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crosscomp.h @@ -449,6 +449,7 @@ typedef struct DECLSPEC_ALIGN(16) _T_CONTEXT { // //TODO-LoongArch64: support the SIMD. ULONGLONG F[32]; + DWORD64 Fcc; DWORD Fcsr; } T_CONTEXT, *PT_CONTEXT; @@ -517,6 +518,147 @@ typedef struct _T_KNONVOLATILE_CONTEXT_POINTERS { PDWORD64 F31; } T_KNONVOLATILE_CONTEXT_POINTERS, *PT_KNONVOLATILE_CONTEXT_POINTERS; +#elif defined(HOST_AMD64) && defined(TARGET_RISCV64) // Host amd64 managing RISCV64 related code + +#ifndef CROSS_COMPILE +#define CROSS_COMPILE +#endif + +// +// Specify the number of breakpoints and watchpoints that the OS +// will track. +// + +#define RISCV64_MAX_BREAKPOINTS 8 +#define RISCV64_MAX_WATCHPOINTS 2 + +#define CONTEXT_UNWOUND_TO_CALL 0x20000000 + +typedef struct DECLSPEC_ALIGN(16) _T_CONTEXT { + + // + // Control flags. + // + + /* +0x000 */ DWORD ContextFlags; + + // + // Integer registers + // + DWORD64 R0; + DWORD64 Ra; + DWORD64 Sp; + DWORD64 Gp; + DWORD64 Tp; + DWORD64 T0; + DWORD64 T1; + DWORD64 T2; + DWORD64 Fp; + DWORD64 S1; + DWORD64 A0; + DWORD64 A1; + DWORD64 A2; + DWORD64 A3; + DWORD64 A4; + DWORD64 A5; + DWORD64 A6; + DWORD64 A7; + DWORD64 S2; + DWORD64 S3; + DWORD64 S4; + DWORD64 S5; + DWORD64 S6; + DWORD64 S7; + DWORD64 S8; + DWORD64 S9; + DWORD64 S10; + DWORD64 S11; + DWORD64 T3; + DWORD64 T4; + DWORD64 T5; + DWORD64 T6; + DWORD64 Pc; + + // + // Floating Point Registers + // + //TODO-RISCV64: support the SIMD. + ULONGLONG F[32]; + DWORD Fcsr; +} T_CONTEXT, *PT_CONTEXT; + +// _IMAGE_RISCV64_RUNTIME_FUNCTION_ENTRY (see ExternalAPIs\Win9CoreSystem\inc\winnt.h) +typedef struct _T_RUNTIME_FUNCTION { + DWORD BeginAddress; + union { + DWORD UnwindData; + struct { + DWORD Flag : 2; + DWORD FunctionLength : 11; + DWORD RegF : 3; + DWORD RegI : 4; + DWORD H : 1; + DWORD CR : 2; + DWORD FrameSize : 9; + } PackedUnwindData; + }; +} T_RUNTIME_FUNCTION, *PT_RUNTIME_FUNCTION; + +// +// Define exception dispatch context structure. +// + +typedef struct _T_DISPATCHER_CONTEXT { + DWORD64 ControlPc; + DWORD64 ImageBase; + PT_RUNTIME_FUNCTION FunctionEntry; + DWORD64 EstablisherFrame; + DWORD64 TargetPc; + PCONTEXT ContextRecord; + PEXCEPTION_ROUTINE LanguageHandler; + PVOID HandlerData; + PVOID HistoryTable; + DWORD ScopeIndex; + BOOLEAN ControlPcIsUnwound; + PBYTE NonVolatileRegisters; +} T_DISPATCHER_CONTEXT, *PT_DISPATCHER_CONTEXT; + +// +// Nonvolatile context pointer record. +// + +typedef struct _T_KNONVOLATILE_CONTEXT_POINTERS { + + PDWORD64 S1; + PDWORD64 S2; + PDWORD64 S3; + PDWORD64 S4; + PDWORD64 S5; + PDWORD64 S6; + PDWORD64 S7; + PDWORD64 S8; + PDWORD64 S9; + PDWORD64 S10; + PDWORD64 S11; + PDWORD64 Fp; + PDWORD64 Gp; + PDWORD64 Tp; + PDWORD64 Ra; + + PDWORD64 F8; + PDWORD64 F9; + PDWORD64 F18; + PDWORD64 F19; + PDWORD64 F20; + PDWORD64 F21; + PDWORD64 F22; + PDWORD64 F23; + PDWORD64 F24; + PDWORD64 F25; + PDWORD64 F26; + PDWORD64 F27; +} T_KNONVOLATILE_CONTEXT_POINTERS, *PT_KNONVOLATILE_CONTEXT_POINTERS; + #else #define T_CONTEXT CONTEXT @@ -551,10 +693,12 @@ typedef struct _T_KNONVOLATILE_CONTEXT_POINTERS { #define DAC_CS_NATIVE_DATA_SIZE 12 #elif defined(TARGET_FREEBSD) && defined(TARGET_AMD64) #define DAC_CS_NATIVE_DATA_SIZE 24 +#elif defined(TARGET_FREEBSD) && defined(TARGET_ARM64) +#define DAC_CS_NATIVE_DATA_SIZE 24 #elif defined(TARGET_LINUX) && defined(TARGET_ARM) #define DAC_CS_NATIVE_DATA_SIZE 80 #elif defined(TARGET_LINUX) && defined(TARGET_ARM64) -#define DAC_CS_NATIVE_DATA_SIZE 116 +#define DAC_CS_NATIVE_DATA_SIZE 104 #elif defined(TARGET_LINUX) && defined(TARGET_LOONGARCH64) #define DAC_CS_NATIVE_DATA_SIZE 96 #elif defined(TARGET_LINUX) && defined(TARGET_X86) @@ -565,6 +709,8 @@ typedef struct _T_KNONVOLATILE_CONTEXT_POINTERS { #define DAC_CS_NATIVE_DATA_SIZE 96 #elif defined(TARGET_LINUX) && defined(TARGET_LOONGARCH64) #define DAC_CS_NATIVE_DATA_SIZE 96 +#elif defined(TARGET_LINUX) && defined(TARGET_RISCV64) +#define DAC_CS_NATIVE_DATA_SIZE 96 #elif defined(TARGET_LINUX) && defined(TARGET_POWERPC64) #define DAC_CS_NATIVE_DATA_SIZE 96 #elif defined(TARGET_NETBSD) && defined(TARGET_AMD64) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crsttypes.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crsttypes_generated.h similarity index 79% rename from src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crsttypes.h rename to src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crsttypes_generated.h index b5e52aef0a..70847a5b36 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crsttypes.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crsttypes_generated.h @@ -50,8 +50,8 @@ enum CrstType CrstException = 32, CrstExecutableAllocatorLock = 33, CrstExecuteManRangeLock = 34, - CrstExternalObjectContextCache = 35, - CrstFCall = 36, + CrstFCall = 35, + CrstFrozenObjectHeap = 36, CrstFuncPtrStubs = 37, CrstFusionAppCtx = 38, CrstGCCover = 39, @@ -80,49 +80,49 @@ enum CrstType CrstLoaderHeap = 62, CrstManagedObjectWrapperMap = 63, CrstMethodDescBackpatchInfoTracker = 64, - CrstModule = 65, - CrstModuleFixup = 66, - CrstModuleLookupTable = 67, - CrstMulticoreJitHash = 68, - CrstMulticoreJitManager = 69, - CrstNativeImageEagerFixups = 70, - CrstNativeImageLoad = 71, - CrstNls = 72, - CrstNotifyGdb = 73, - CrstObjectList = 74, - CrstPEImage = 75, - CrstPendingTypeLoadEntry = 76, - CrstPgoData = 77, - CrstPinnedByrefValidation = 78, - CrstPinnedHeapHandleTable = 79, - CrstProfilerGCRefDataFreeList = 80, - CrstProfilingAPIStatus = 81, - CrstRCWCache = 82, - CrstRCWCleanupList = 83, - CrstReadyToRunEntryPointToMethodDescMap = 84, - CrstReflection = 85, - CrstReJITGlobalRequest = 86, - CrstRetThunkCache = 87, - CrstSavedExceptionInfo = 88, - CrstSaveModuleProfileData = 89, - CrstSecurityStackwalkCache = 90, - CrstSigConvert = 91, - CrstSingleUseLock = 92, - CrstSpecialStatics = 93, - CrstStackSampler = 94, - CrstStressLog = 95, - CrstStubCache = 96, - CrstStubDispatchCache = 97, - CrstStubUnwindInfoHeapSegments = 98, - CrstSyncBlockCache = 99, - CrstSyncHashLock = 100, - CrstSystemBaseDomain = 101, - CrstSystemDomain = 102, - CrstSystemDomainDelayedUnloadList = 103, - CrstThreadIdDispenser = 104, - CrstThreadpoolTimerQueue = 105, - CrstThreadpoolWaitThreads = 106, - CrstThreadpoolWorker = 107, + CrstMethodTableExposedObject = 65, + CrstModule = 66, + CrstModuleFixup = 67, + CrstModuleLookupTable = 68, + CrstMulticoreJitHash = 69, + CrstMulticoreJitManager = 70, + CrstNativeImageEagerFixups = 71, + CrstNativeImageLoad = 72, + CrstNls = 73, + CrstNotifyGdb = 74, + CrstObjectList = 75, + CrstPEImage = 76, + CrstPendingTypeLoadEntry = 77, + CrstPerfMap = 78, + CrstPgoData = 79, + CrstPinnedByrefValidation = 80, + CrstPinnedHeapHandleTable = 81, + CrstProfilerGCRefDataFreeList = 82, + CrstProfilingAPIStatus = 83, + CrstRCWCache = 84, + CrstRCWCleanupList = 85, + CrstReadyToRunEntryPointToMethodDescMap = 86, + CrstReflection = 87, + CrstReJITGlobalRequest = 88, + CrstRetThunkCache = 89, + CrstSavedExceptionInfo = 90, + CrstSaveModuleProfileData = 91, + CrstSecurityStackwalkCache = 92, + CrstSigConvert = 93, + CrstSingleUseLock = 94, + CrstSpecialStatics = 95, + CrstStackSampler = 96, + CrstStaticBoxInit = 97, + CrstStressLog = 98, + CrstStubCache = 99, + CrstStubDispatchCache = 100, + CrstStubUnwindInfoHeapSegments = 101, + CrstSyncBlockCache = 102, + CrstSyncHashLock = 103, + CrstSystemBaseDomain = 104, + CrstSystemDomain = 105, + CrstSystemDomainDelayedUnloadList = 106, + CrstThreadIdDispenser = 107, CrstThreadStore = 108, CrstTieredCompilation = 109, CrstTypeEquivalenceMap = 110, @@ -147,19 +147,19 @@ int g_rgCrstLevelMap[] = { 10, // CrstAppDomainCache 3, // CrstArgBasedStubCache - 0, // CrstAssemblyList - 12, // CrstAssemblyLoader + 3, // CrstAssemblyList + 14, // CrstAssemblyLoader 4, // CrstAvailableClass 5, // CrstAvailableParamTypes 7, // CrstBaseDomain -1, // CrstCCompRC - 13, // CrstClassFactInfoHash + 15, // CrstClassFactInfoHash 11, // CrstClassInit -1, // CrstClrNotification 6, // CrstCodeFragmentHeap 9, // CrstCodeVersioning - 0, // CrstCOMCallWrapper - 5, // CrstCOMWrapperCache + 3, // CrstCOMCallWrapper + 10, // CrstCOMWrapperCache 3, // CrstDataTest1 0, // CrstDataTest2 0, // CrstDbgTransport @@ -169,69 +169,71 @@ int g_rgCrstLevelMap[] = 0, // CrstDebuggerHeapExecMemLock 0, // CrstDebuggerHeapLock 4, // CrstDebuggerJitInfo - 10, // CrstDebuggerMutex + 13, // CrstDebuggerMutex 0, // CrstDelegateToFPtrHash - 16, // CrstDomainLocalBlock + 18, // CrstDomainLocalBlock 0, // CrstDynamicIL 3, // CrstDynamicMT 0, // CrstEtwTypeLogHash - 18, // CrstEventPipe + 20, // CrstEventPipe 0, // CrstEventStore 0, // CrstException 0, // CrstExecutableAllocatorLock 0, // CrstExecuteManRangeLock - 0, // CrstExternalObjectContextCache 4, // CrstFCall + -1, // CrstFrozenObjectHeap 7, // CrstFuncPtrStubs 10, // CrstFusionAppCtx 10, // CrstGCCover - 15, // CrstGlobalStrLiteralMap + 17, // CrstGlobalStrLiteralMap 1, // CrstHandleTable 0, // CrstIbcProfile 8, // CrstIJWFixupData 0, // CrstIJWHash 7, // CrstILStubGen 3, // CrstInlineTrackingMap - 17, // CrstInstMethodHashTable - 20, // CrstInterop - 5, // CrstInteropData + 19, // CrstInstMethodHashTable + 22, // CrstInterop + 10, // CrstInteropData 0, // CrstIsJMCMethod 7, // CrstISymUnmanagedReader 11, // CrstJit 0, // CrstJitGenericHandleCache - 13, // CrstJitInlineTrackingMap + 12, // CrstJitInlineTrackingMap 4, // CrstJitPatchpoint -1, // CrstJitPerf 6, // CrstJumpStubCache 0, // CrstLeafLock -1, // CrstListLock - 15, // CrstLoaderAllocator - 16, // CrstLoaderAllocatorReferences + 17, // CrstLoaderAllocator + 18, // CrstLoaderAllocatorReferences 3, // CrstLoaderHeap 3, // CrstManagedObjectWrapperMap 10, // CrstMethodDescBackpatchInfoTracker + -1, // CrstMethodTableExposedObject 5, // CrstModule - 16, // CrstModuleFixup + 18, // CrstModuleFixup 4, // CrstModuleLookupTable 0, // CrstMulticoreJitHash - 13, // CrstMulticoreJitManager + 15, // CrstMulticoreJitManager 3, // CrstNativeImageEagerFixups 0, // CrstNativeImageLoad 0, // CrstNls 0, // CrstNotifyGdb 2, // CrstObjectList 5, // CrstPEImage - 19, // CrstPendingTypeLoadEntry + 21, // CrstPendingTypeLoadEntry + 0, // CrstPerfMap 4, // CrstPgoData 0, // CrstPinnedByrefValidation - 14, // CrstPinnedHeapHandleTable + 16, // CrstPinnedHeapHandleTable 0, // CrstProfilerGCRefDataFreeList - 13, // CrstProfilingAPIStatus + 15, // CrstProfilingAPIStatus 4, // CrstRCWCache 0, // CrstRCWCleanupList 10, // CrstReadyToRunEntryPointToMethodDescMap 8, // CrstReflection - 14, // CrstReJITGlobalRequest + 16, // CrstReJITGlobalRequest 4, // CrstRetThunkCache 3, // CrstSavedExceptionInfo 0, // CrstSaveModuleProfileData @@ -240,6 +242,7 @@ int g_rgCrstLevelMap[] = 5, // CrstSingleUseLock 0, // CrstSpecialStatics 0, // CrstStackSampler + 15, // CrstStaticBoxInit -1, // CrstStressLog 5, // CrstStubCache 0, // CrstStubDispatchCache @@ -247,13 +250,10 @@ int g_rgCrstLevelMap[] = 3, // CrstSyncBlockCache 0, // CrstSyncHashLock 5, // CrstSystemBaseDomain - 13, // CrstSystemDomain + 15, // CrstSystemDomain 0, // CrstSystemDomainDelayedUnloadList 0, // CrstThreadIdDispenser - 7, // CrstThreadpoolTimerQueue - 7, // CrstThreadpoolWaitThreads - 13, // CrstThreadpoolWorker - 12, // CrstThreadStore + 14, // CrstThreadStore 8, // CrstTieredCompilation 4, // CrstTypeEquivalenceMap 10, // CrstTypeIDMap @@ -304,8 +304,8 @@ LPCSTR g_rgCrstNameMap[] = "CrstException", "CrstExecutableAllocatorLock", "CrstExecuteManRangeLock", - "CrstExternalObjectContextCache", "CrstFCall", + "CrstFrozenObjectHeap", "CrstFuncPtrStubs", "CrstFusionAppCtx", "CrstGCCover", @@ -334,6 +334,7 @@ LPCSTR g_rgCrstNameMap[] = "CrstLoaderHeap", "CrstManagedObjectWrapperMap", "CrstMethodDescBackpatchInfoTracker", + "CrstMethodTableExposedObject", "CrstModule", "CrstModuleFixup", "CrstModuleLookupTable", @@ -346,6 +347,7 @@ LPCSTR g_rgCrstNameMap[] = "CrstObjectList", "CrstPEImage", "CrstPendingTypeLoadEntry", + "CrstPerfMap", "CrstPgoData", "CrstPinnedByrefValidation", "CrstPinnedHeapHandleTable", @@ -364,6 +366,7 @@ LPCSTR g_rgCrstNameMap[] = "CrstSingleUseLock", "CrstSpecialStatics", "CrstStackSampler", + "CrstStaticBoxInit", "CrstStressLog", "CrstStubCache", "CrstStubDispatchCache", @@ -374,9 +377,6 @@ LPCSTR g_rgCrstNameMap[] = "CrstSystemDomain", "CrstSystemDomainDelayedUnloadList", "CrstThreadIdDispenser", - "CrstThreadpoolTimerQueue", - "CrstThreadpoolWaitThreads", - "CrstThreadpoolWorker", "CrstThreadStore", "CrstTieredCompilation", "CrstTypeEquivalenceMap", diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crtwrap.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crtwrap.h index 3a54ccfb80..d3ab3a28be 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crtwrap.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/crtwrap.h @@ -13,7 +13,6 @@ #include #include #include -#include #include "debugmacros.h" #include #include diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cvinfo.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cvinfo.h index 011e3982d7..ca62171fab 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cvinfo.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/cvinfo.h @@ -3052,7 +3052,7 @@ typedef struct CV_LVARFLAGS { unsigned short fIsParam :1; // variable is a parameter unsigned short fAddrTaken :1; // address is taken unsigned short fCompGenx :1; // variable is compiler generated - unsigned short fIsAggregate :1; // the symbol is splitted in temporaries, + unsigned short fIsAggregate :1; // the symbol is split in temporaries, // which are treated by compiler as // independent entities unsigned short fIsAggregated :1; // Counterpart of fIsAggregate - tells diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/daccess.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/daccess.h index a8056a5451..3ca0ca40ee 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/daccess.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/daccess.h @@ -97,7 +97,7 @@ // pRS=pRS->pright; // else // { -// return pRS->pjit; +// return pRS->_pjit; // } // } // @@ -108,7 +108,7 @@ // In the assignment statement the compiler will automatically use // the implicit conversion from PTR_RangeSection to RangeSection*, // causing a host instance to be created. Finally, if an appropriate -// section is found the use of pRS->pjit will cause an implicit +// section is found the use of pRS->_pjit will cause an implicit // conversion from PTR_IJitManager to IJitManager. The VPTR code // will look at target memory to determine the actual derived class // for the JitManager and instantiate the right class in the host so @@ -1027,6 +1027,12 @@ class __DPtrBase : public __TPtrBase { return DPtrType(DacTAddrOffset(m_addr, val, sizeof(type))); } +#if defined(HOST_UNIX) && defined(HOST_64BIT) + DPtrType operator+(unsigned long long val) + { + return DPtrType(DacTAddrOffset(m_addr, val, sizeof(type))); + } +#endif // HOST_UNIX && HOST_BIT64 DPtrType operator+(short val) { return DPtrType(m_addr + val * sizeof(type)); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dacprivate.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dacprivate.h index 1e34581044..e8d0be5aba 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dacprivate.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dacprivate.h @@ -250,8 +250,8 @@ struct MSLAYOUT DacpModuleData CLRDATA_ADDRESS FileReferencesMap = 0; CLRDATA_ADDRESS ManifestModuleReferencesMap = 0; - CLRDATA_ADDRESS pLookupTableHeap = 0; - CLRDATA_ADDRESS pThunkHeap = 0; + CLRDATA_ADDRESS LoaderAllocator = 0; + CLRDATA_ADDRESS ThunkHeap = 0; ULONG64 dwModuleIndex = 0; @@ -610,6 +610,8 @@ struct MSLAYOUT DacpTieredVersionData OptimizationTier_OptimizedTier1, OptimizationTier_ReadyToRun, OptimizationTier_OptimizedTier1OSR, + OptimizationTier_QuickJittedInstrumented, + OptimizationTier_OptimizedTier1Instrumented, }; CLRDATA_ADDRESS NativeCodeAddr; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dacvars.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dacvars.h index 4e91e8fa18..8fcc1cced7 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dacvars.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dacvars.h @@ -75,7 +75,7 @@ #define UNKNOWN_POINTER_TYPE SIZE_T -DEFINE_DACVAR_VOLATILE(PTR_RangeSection, ExecutionManager__m_CodeRangeList, ExecutionManager::m_CodeRangeList) +DEFINE_DACVAR(PTR_RangeSectionMap, ExecutionManager__g_codeRangeMap, ExecutionManager::g_codeRangeMap) DEFINE_DACVAR(PTR_EECodeManager, ExecutionManager__m_pDefaultCodeMan, ExecutionManager::m_pDefaultCodeMan) DEFINE_DACVAR_VOLATILE(LONG, ExecutionManager__m_dwReaderCount, ExecutionManager::m_dwReaderCount) DEFINE_DACVAR_VOLATILE(LONG, ExecutionManager__m_dwWriterLock, ExecutionManager::m_dwWriterLock) @@ -94,26 +94,11 @@ DEFINE_DACVAR(PTR_StubLinkStubManager, StubLinkStubManager__g_pManager, StubLink DEFINE_DACVAR(PTR_ThunkHeapStubManager, ThunkHeapStubManager__g_pManager, ThunkHeapStubManager::g_pManager) DEFINE_DACVAR(PTR_JumpStubStubManager, JumpStubStubManager__g_pManager, JumpStubStubManager::g_pManager) DEFINE_DACVAR(PTR_RangeSectionStubManager, RangeSectionStubManager__g_pManager, RangeSectionStubManager::g_pManager) -DEFINE_DACVAR(PTR_DelegateInvokeStubManager, DelegateInvokeStubManager__g_pManager, DelegateInvokeStubManager::g_pManager) DEFINE_DACVAR(PTR_VirtualCallStubManagerManager, VirtualCallStubManagerManager__g_pManager, VirtualCallStubManagerManager::g_pManager) DEFINE_DACVAR(PTR_CallCountingStubManager, CallCountingStubManager__g_pManager, CallCountingStubManager::g_pManager) DEFINE_DACVAR(PTR_ThreadStore, ThreadStore__s_pThreadStore, ThreadStore::s_pThreadStore) -DEFINE_DACVAR(int, ThreadpoolMgr__cpuUtilization, ThreadpoolMgr::cpuUtilization) -DEFINE_DACVAR(ThreadpoolMgr::ThreadCounter, ThreadpoolMgr__WorkerCounter, ThreadpoolMgr::WorkerCounter) -DEFINE_DACVAR(int, ThreadpoolMgr__MinLimitTotalWorkerThreads, ThreadpoolMgr::MinLimitTotalWorkerThreads) -DEFINE_DACVAR(DWORD, ThreadpoolMgr__MaxLimitTotalWorkerThreads, ThreadpoolMgr::MaxLimitTotalWorkerThreads) -DEFINE_DACVAR(UNKNOWN_POINTER_TYPE /*PTR_WorkRequest*/, ThreadpoolMgr__WorkRequestHead, ThreadpoolMgr::WorkRequestHead) // PTR_WorkRequest is not defined. So use a pointer type -DEFINE_DACVAR(UNKNOWN_POINTER_TYPE /*PTR_WorkRequest*/, ThreadpoolMgr__WorkRequestTail, ThreadpoolMgr::WorkRequestTail) // -DEFINE_DACVAR(ThreadpoolMgr::ThreadCounter, ThreadpoolMgr__CPThreadCounter, ThreadpoolMgr::CPThreadCounter) -DEFINE_DACVAR(LONG, ThreadpoolMgr__MaxFreeCPThreads, ThreadpoolMgr::MaxFreeCPThreads) -DEFINE_DACVAR(LONG, ThreadpoolMgr__MaxLimitTotalCPThreads, ThreadpoolMgr::MaxLimitTotalCPThreads) -DEFINE_DACVAR(LONG, ThreadpoolMgr__MinLimitTotalCPThreads, ThreadpoolMgr::MinLimitTotalCPThreads) -DEFINE_DACVAR_NO_DUMP(SIZE_T, dac__HillClimbingLog, ::HillClimbingLog) -DEFINE_DACVAR(int, dac__HillClimbingLogFirstIndex, ::HillClimbingLogFirstIndex) -DEFINE_DACVAR(int, dac__HillClimbingLogSize, ::HillClimbingLogSize) - DEFINE_DACVAR(PTR_Thread, dac__g_pFinalizerThread, ::g_pFinalizerThread) DEFINE_DACVAR(PTR_Thread, dac__g_pSuspensionThread, ::g_pSuspensionThread) @@ -170,13 +155,15 @@ DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pExecutionEngineExceptionClass, ::g_p DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pDelegateClass, ::g_pDelegateClass) DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pMulticastDelegateClass, ::g_pMulticastDelegateClass) DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pFreeObjectMethodTable, ::g_pFreeObjectMethodTable) -DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pOverlappedDataClass, ::g_pOverlappedDataClass) DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pValueTypeClass, ::g_pValueTypeClass) DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pEnumClass, ::g_pEnumClass) DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pThreadClass, ::g_pThreadClass) DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pPredefinedArrayTypes, ::g_pPredefinedArrayTypes) DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_TypedReferenceMT, ::g_TypedReferenceMT) +DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pWeakReferenceClass, ::g_pWeakReferenceClass) +DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pWeakReferenceOfTClass, ::g_pWeakReferenceOfTClass) + #ifdef FEATURE_COMINTEROP DEFINE_DACVAR(UNKNOWN_POINTER_TYPE, dac__g_pBaseCOMObject, ::g_pBaseCOMObject) #endif diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dlwrap.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dlwrap.h index 2385d1c0c6..0ce336c11c 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dlwrap.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/dlwrap.h @@ -39,166 +39,14 @@ VerQueryValueW_NoThrow( ); #endif -#if defined(_WININET_) && !defined (CreateUrlCacheEntryW_NoThrow) -__success(return) -BOOL -CreateUrlCacheEntryW_NoThrow( - IN LPCWSTR lpszUrlName, - IN DWORD dwExpectedFileSize, - IN LPCWSTR lpszFileExtension, - _Out_writes_(MAX_LONGPATH+1) LPWSTR lpszFileName, - IN DWORD dwReserved - ); -#endif - -#if defined(_WININET_) && !defined (CommitUrlCacheEntryW_NoThrow) -BOOL -CommitUrlCacheEntryW_NoThrow( - IN LPCWSTR lpszUrlName, - IN LPCWSTR lpszLocalFileName, - IN FILETIME ExpireTime, - IN FILETIME LastModifiedTime, - IN DWORD CacheEntryType, - IN LPCWSTR lpHeaderInfo, - IN DWORD dwHeaderSize, - IN LPCWSTR lpszFileExtension, - IN LPCWSTR lpszOriginalUrl - ); -#endif - -#if defined(_WININET_) && !defined (InternetTimeToSystemTimeA_NoThrow) -BOOL -InternetTimeToSystemTimeA_NoThrow( - IN LPCSTR lpszTime, // NULL terminated string - OUT SYSTEMTIME *pst, // output in GMT time - IN DWORD dwReserved - ); -#endif - -#if defined(__urlmon_h__) && !defined(CoInternetCreateSecurityManager_NoThrow) -HRESULT -CoInternetCreateSecurityManager_NoThrow( - IServiceProvider *pSP, - IInternetSecurityManager **ppSM, - DWORD dwReserved - ); -#endif - -#if defined(__urlmon_h__) && !defined(URLDownloadToCacheFileW_NoThrow) -HRESULT -URLDownloadToCacheFileW_NoThrow( - LPUNKNOWN lpUnkcaller, - LPCWSTR szURL, - _Out_writes_(dwBufLength) LPWSTR szFileName, - DWORD dwBufLength, - DWORD dwReserved, - IBindStatusCallback *pBSC - ); -#endif - -#if defined(__urlmon_h__) && !defined(CoInternetGetSession_NoThrow) -HRESULT -CoInternetGetSession_NoThrow( - WORD dwSessionMode, - IInternetSession **ppIInternetSession, - DWORD dwReserved - ); -#endif - -#if defined(__urlmon_h__) && !defined(CopyBindInfo_NoThrow) -HRESULT -CopyBindInfo_NoThrow( - const BINDINFO * pcbiSrc, BINDINFO * pbiDest - ); -#endif - - - //overrides -#undef InternetTimeToSystemTimeA -#undef CommitUrlCacheEntryW -#undef HttpQueryInfoA -#undef InternetCloseHandle -#undef HttpSendRequestA -#undef HttpOpenRequestA -#undef InternetConnectA -#undef InternetOpenA -#undef InternetReadFile -#undef CreateUrlCacheEntryW -#undef CoInternetGetSession -#undef CopyBindInfo -#undef CoInternetCreateSecurityManager -#undef URLDownloadToCacheFileW -#undef FDICreate -#undef FDIIsCabinet -#undef FDICopy -#undef FDIDestroy #undef VerQueryValueW #undef GetFileVersionInfoW #undef GetFileVersionInfoSizeW -#undef VerQueryValueA -#undef GetFileVersionInfoA -#undef GetFileVersionInfoSizeA - -#define InternetTimeToSystemTimeA InternetTimeToSystemTimeA_NoThrow -#define CommitUrlCacheEntryW CommitUrlCacheEntryW_NoThrow -#define CreateUrlCacheEntryW CreateUrlCacheEntryW_NoThrow -#define CoInternetGetSession CoInternetGetSession_NoThrow -#define CopyBindInfo CopyBindInfo_NoThrow -#define CoInternetCreateSecurityManager CoInternetCreateSecurityManager_NoThrow -#define URLDownloadToCacheFileW URLDownloadToCacheFileW_NoThrow #define VerQueryValueW VerQueryValueW_NoThrow #define GetFileVersionInfoW GetFileVersionInfoW_NoThrow #define GetFileVersionInfoSizeW GetFileVersionInfoSizeW_NoThrow -#define VerQueryValueA Use_VerQueryValueW -#define GetFileVersionInfoA Use_GetFileVersionInfoW -#define GetFileVersionInfoSizeA Use_GetFileVersionInfoSizeW - -#if defined(_WININET_) - inline - HRESULT HrCreateUrlCacheEntryW( - IN LPCWSTR lpszUrlName, - IN DWORD dwExpectedFileSize, - IN LPCWSTR lpszFileExtension, - _Out_writes_(MAX_LONGPATH+1) LPWSTR lpszFileName, - IN DWORD dwReserved - ) - { - if (!CreateUrlCacheEntryW(lpszUrlName, dwExpectedFileSize, lpszFileExtension, lpszFileName, dwReserved)) - { - return HRESULT_FROM_WIN32(GetLastError()); - } - else - { - return S_OK; - } - } - - inline - HRESULT HrCommitUrlCacheEntryW( - IN LPCWSTR lpszUrlName, - IN LPCWSTR lpszLocalFileName, - IN FILETIME ExpireTime, - IN FILETIME LastModifiedTime, - IN DWORD CacheEntryType, - IN LPCWSTR lpHeaderInfo, - IN DWORD dwHeaderSize, - IN LPCWSTR lpszFileExtension, - IN LPCWSTR lpszOriginalUrl - ) - { - if (!CommitUrlCacheEntryW(lpszUrlName, lpszLocalFileName, ExpireTime, LastModifiedTime, CacheEntryType, - lpHeaderInfo, dwHeaderSize, lpszFileExtension, lpszOriginalUrl)) - { - return HRESULT_FROM_WIN32(GetLastError()); - } - else - { - return S_OK; - } - } -#endif // defined(_WININET_) #endif diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eetwain.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eetwain.h index aba7a14eb4..91bb4c85c8 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eetwain.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eetwain.h @@ -211,9 +211,9 @@ virtual bool UnwindStackFrame(PREGDISPLAY pContext, virtual bool IsGcSafe(EECodeInfo *pCodeInfo, DWORD dwRelOffset) = 0; -#if defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#if defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) virtual bool HasTailCalls(EECodeInfo *pCodeInfo) = 0; -#endif // TARGET_ARM || TARGET_ARM64 || TARGET_LOONGARCH64 +#endif // TARGET_ARM || TARGET_ARM64 || TARGET_LOONGARCH64 || TARGET_RISCV64 #if defined(TARGET_AMD64) && defined(_DEBUG) /* @@ -254,7 +254,7 @@ virtual OBJECTREF GetInstance(PREGDISPLAY pContext, EECodeInfo* pCodeInfo) = 0; /* - Returns the extra argument passed to to shared generic code if it is still alive. + Returns the extra argument passed to shared generic code if it is still alive. Returns NULL in all other cases. */ virtual PTR_VOID GetParamTypeArg(PREGDISPLAY pContext, @@ -332,7 +332,7 @@ virtual void LeaveCatch(GCInfoToken gcInfoToken, PCONTEXT pCtx)=0; #endif // FEATURE_EH_FUNCLETS -#ifdef EnC_SUPPORTED +#ifdef FEATURE_ENC_SUPPORTED /* Last chance for the runtime support to do fixups in the context @@ -347,7 +347,7 @@ virtual HRESULT FixContextForEnC(PCONTEXT pCtx, const ICorDebugInfo::NativeVarInfo * newMethodVars, SIZE_T newMethodVarsCount) = 0; -#endif // EnC_SUPPORTED +#endif // FEATURE_ENC_SUPPORTED #endif // #ifndef DACCESS_COMPILE @@ -455,10 +455,10 @@ virtual bool IsGcSafe( EECodeInfo *pCodeInfo, DWORD dwRelOffset); -#if defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#if defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) virtual bool HasTailCalls(EECodeInfo *pCodeInfo); -#endif // TARGET_ARM || TARGET_ARM64 || TARGET_LOONGARCH64 +#endif // TARGET_ARM || TARGET_ARM64 || TARGET_LOONGARCH64 || defined(TARGET_RISCV64) #if defined(TARGET_AMD64) && defined(_DEBUG) /* @@ -503,7 +503,7 @@ OBJECTREF GetInstance( EECodeInfo * pCodeInfo); /* - Returns the extra argument passed to to shared generic code if it is still alive. + Returns the extra argument passed to shared generic code if it is still alive. Returns NULL in all other cases. */ virtual @@ -597,7 +597,7 @@ virtual void LeaveCatch(GCInfoToken gcInfoToken, PCONTEXT pCtx); #endif // FEATURE_EH_FUNCLETS -#ifdef EnC_SUPPORTED +#ifdef FEATURE_ENC_SUPPORTED /* Last chance for the runtime support to do fixups in the context before execution continues inside an EnC updated function. @@ -610,7 +610,7 @@ HRESULT FixContextForEnC(PCONTEXT pCtx, EECodeInfo * pNewCodeInfo, const ICorDebugInfo::NativeVarInfo * newMethodVars, SIZE_T newMethodVarsCount); -#endif // EnC_SUPPORTED +#endif // FEATURE_ENC_SUPPORTED #endif // #ifndef DACCESS_COMPILE @@ -701,7 +701,6 @@ struct hdrInfo bool doubleAlign; // is the stack double-aligned? locals addressed relative to ESP, and arguments relative to EBP bool interruptible; // intr. at all times (excluding prolog/epilog), not just call sites - bool securityCheck; // has a slot for security object bool handlers; // has callable handlers bool localloc; // uses localloc bool editNcontinue; // has been compiled in EnC mode diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eexcp.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eexcp.h index 2de046d70d..fb7bccbe07 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eexcp.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eexcp.h @@ -117,7 +117,7 @@ inline BOOL IsDuplicateClause(EE_ILEXCEPTION_CLAUSE* pEHClause) return pEHClause->Flags & COR_ILEXCEPTION_CLAUSE_DUPLICATED; } -#if defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#if defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) // Finally is the only EH construct that can be part of the execution as being fall-through. // // "Cloned" finally is a construct that represents a finally block that is used as @@ -139,7 +139,7 @@ inline BOOL IsClonedFinally(EE_ILEXCEPTION_CLAUSE* pEHClause) (pEHClause->TryStartPC == pEHClause->HandlerStartPC) && IsFinally(pEHClause) && IsDuplicateClause(pEHClause)); } -#endif // defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#endif // defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) #endif // __eexcp_h__ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/entrypoints.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/entrypoints.h deleted file mode 100644 index dcd6cb5d06..0000000000 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/entrypoints.h +++ /dev/null @@ -1,28 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -//----------------------------------------------------------------------------- -// Entrypoint markers -// Used to identify all external entrypoints into the CLR (via COM, exports, etc) -// and perform various tasks on all of them -//----------------------------------------------------------------------------- - - -#ifndef __ENTRYPOINTS_h__ -#define __ENTRYPOINTS_h__ - -#define BEGIN_ENTRYPOINT_THROWS -#define END_ENTRYPOINT_THROWS -#define BEGIN_ENTRYPOINT_THROWS_WITH_THREAD(____thread) -#define END_ENTRYPOINT_THROWS_WITH_THREAD -#define BEGIN_ENTRYPOINT_NOTHROW_WITH_THREAD(___thread) -#define END_ENTRYPOINT_NOTHROW_WITH_THREAD -#define BEGIN_ENTRYPOINT_NOTHROW -#define END_ENTRYPOINT_NOTHROW -#define BEGIN_ENTRYPOINT_VOIDRET -#define END_ENTRYPOINT_VOIDRET -#define BEGIN_CLEANUP_ENTRYPOINT -#define END_CLEANUP_ENTRYPOINT - -#endif // __ENTRYPOINTS_h__ - - diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/enum_class_flags.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/enum_class_flags.h new file mode 100644 index 0000000000..8d2a192436 --- /dev/null +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/enum_class_flags.h @@ -0,0 +1,52 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef ENUM_CLASS_FLAGS_OPERATORS +#define ENUM_CLASS_FLAGS_OPERATORS + +template +inline auto operator& (T left, T right) -> decltype(T::support_use_as_flags) +{ + return static_cast(static_cast(left) & static_cast(right)); +} + +template +inline auto operator| (T left, T right) -> decltype(T::support_use_as_flags) +{ + return static_cast(static_cast(left) | static_cast(right)); +} + +template +inline auto operator^ (T left, T right) -> decltype(T::support_use_as_flags) +{ + return static_cast(static_cast(left) ^ static_cast(right)); +} + +template +inline auto operator~ (T value) -> decltype(T::support_use_as_flags) +{ + return static_cast(~static_cast(value)); +} + +template +inline auto operator |= (T& left, T right) -> const decltype(T::support_use_as_flags)& +{ + left = left | right; + return left; +} + +template +inline auto operator &= (T& left, T right) -> const decltype(T::support_use_as_flags)& +{ + left = left & right; + return left; +} + +template +inline auto operator ^= (T& left, T right) -> const decltype(T::support_use_as_flags)& +{ + left = left ^ right; + return left; +} + +#endif /* ENUM_CLASS_FLAGS_OPERATORS */ \ No newline at end of file diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eventtrace.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eventtrace.h index 64bffad307..dfe8638bb3 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eventtrace.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eventtrace.h @@ -134,7 +134,7 @@ namespace ETW static BOOL s_fHeapAllocHighEventEnabledNow; static BOOL s_fHeapAllocLowEventEnabledNow; - // If COMPLUS_UNSUPPORTED_ETW_ObjectAllocationEventsPerTypePerSec is set, then + // If DOTNET_UNSUPPORTED_ETW_ObjectAllocationEventsPerTypePerSec is set, then // this is used to determine the event frequency, overriding // s_nDefaultMsBetweenEvents above (regardless of which // GCSampledObjectAllocation*Keyword was used) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eventtracebase.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eventtracebase.h index 46d28447f0..3648b1f3a7 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eventtracebase.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/eventtracebase.h @@ -343,10 +343,10 @@ class XplatEventLoggerConfiguration ComponentSpan GetNextComponentString(LPCWSTR start) const { const WCHAR ComponentDelimiter = W(':'); - const WCHAR * end = wcschr(start, ComponentDelimiter); + const WCHAR * end = u16_strchr(start, ComponentDelimiter); if (end == nullptr) { - end = start + wcslen(start); + end = start + u16_strlen(start); } return ComponentSpan(start, end); @@ -359,7 +359,7 @@ class XplatEventLoggerConfiguration { auto const length = component.End - component.Start; providerName = new WCHAR[length + 1]; - wcsncpy(providerName, component.Start, length); + u16_strncpy_s(providerName, length + 1, component.Start, length); providerName[length] = '\0'; } return providerName; @@ -370,7 +370,7 @@ class XplatEventLoggerConfiguration auto enabledKeywordsMask = (uint64_t)(-1); if ((component.End - component.Start) != 0) { - enabledKeywordsMask = _wcstoui64(component.Start, nullptr, 16); + enabledKeywordsMask = u16_strtoui64(component.Start, nullptr, 16); } return enabledKeywordsMask; } @@ -392,7 +392,7 @@ class XplatEventLoggerConfiguration { auto const length = component.End - component.Start; argument = new WCHAR[length + 1]; - wcsncpy(argument, component.Start, length); + u16_strncpy_s(argument, length + 1, component.Start, length); argument[length] = '\0'; } return argument; @@ -457,7 +457,7 @@ class XplatEventLoggerController #ifdef FEATURE_EVENT_TRACE static LTTNG_TRACE_CONTEXT * const GetProvider(LPCWSTR providerName) { - auto length = wcslen(providerName); + auto length = u16_strlen(providerName); for (auto provider : ALL_LTTNG_PROVIDERS_CONTEXT) { if (_wcsicmp(provider->Name, providerName) == 0) @@ -505,7 +505,7 @@ class XplatEventLogger #endif /* - This method is where COMPlus_LTTngConfig environment variable is parsed and is registered with the runtime provider + This method is where DOTNET_LTTngConfig environment variable is parsed and is registered with the runtime provider context structs generated by src/scripts/genEventing.py. It expects the environment variable to look like: provider:keywords:level,provider:keywords:level @@ -534,7 +534,7 @@ class XplatEventLogger while (configToParse != nullptr) { const WCHAR comma = W(','); - auto end = wcschr(configToParse, comma); + auto end = (LPWSTR)u16_strchr(configToParse, comma); configuration.Parse(configToParse); XplatEventLoggerController::UpdateProviderContext(configuration); if (end == nullptr) @@ -905,7 +905,7 @@ namespace ETW BOOL fSendRichDebugInfoEvent, BOOL fGetCodeIds); static VOID SendEventsForNgenMethods(Module *pModule, DWORD dwEventOptions); - static VOID SendMethodJitStartEvent(MethodDesc *pMethodDesc, SString *namespaceOrClassName=NULL, SString *methodName=NULL, SString *methodSignature=NULL); + static VOID SendMethodJitStartEvent(MethodDesc *pMethodDesc, COR_ILMETHOD_DECODER* methodDecoder, SString *namespaceOrClassName=NULL, SString *methodName=NULL, SString *methodSignature=NULL); static VOID SendMethodILToNativeMapEvent(MethodDesc * pMethodDesc, DWORD dwEventOptions, PCODE pNativeCodeStartAddress, DWORD nativeCodeId, ReJITID ilCodeId); static VOID SendMethodRichDebugInfo(MethodDesc * pMethodDesc, PCODE pNativeCodeStartAddress, DWORD nativeCodeId, ReJITID ilCodeId, MethodDescSet* sentMethodDetailsSet); static VOID SendMethodEvent(MethodDesc *pMethodDesc, DWORD dwEventOptions, BOOL bIsJit, SString *namespaceOrClassName=NULL, SString *methodName=NULL, SString *methodSignature=NULL, PCODE pNativeCodeStartAddress = 0, PrepareCodeConfig *pConfig = NULL, MethodDescSet* sentMethodDetailsSet = NULL); @@ -938,7 +938,7 @@ namespace ETW static VOID GetR2RGetEntryPointStart(MethodDesc *pMethodDesc); static VOID GetR2RGetEntryPoint(MethodDesc *pMethodDesc, PCODE pEntryPoint); - static VOID MethodJitting(MethodDesc *pMethodDesc, SString *namespaceOrClassName, SString *methodName, SString *methodSignature); + static VOID MethodJitting(MethodDesc *pMethodDesc, COR_ILMETHOD_DECODER* methodDecoder, SString *namespaceOrClassName, SString *methodName, SString *methodSignature); static VOID MethodJitted(MethodDesc *pMethodDesc, SString *namespaceOrClassName, SString *methodName, SString *methodSignature, PCODE pNativeCodeStartAddress, PrepareCodeConfig *pConfig); static VOID SendMethodDetailsEvent(MethodDesc *pMethodDesc); static VOID SendNonDuplicateMethodDetailsEvent(MethodDesc* pMethodDesc, MethodDescSet* set); @@ -952,7 +952,7 @@ namespace ETW public: static VOID GetR2RGetEntryPointStart(MethodDesc *pMethodDesc) {}; static VOID GetR2RGetEntryPoint(MethodDesc *pMethodDesc, PCODE pEntryPoint) {}; - static VOID MethodJitting(MethodDesc *pMethodDesc, SString *namespaceOrClassName, SString *methodName, SString *methodSignature); + static VOID MethodJitting(MethodDesc *pMethodDesc, COR_ILMETHOD_DECODER* methodDecoder, SString *namespaceOrClassName, SString *methodName, SString *methodSignature); static VOID MethodJitted(MethodDesc *pMethodDesc, SString *namespaceOrClassName, SString *methodName, SString *methodSignature, PCODE pNativeCodeStartAddress, PrepareCodeConfig *pConfig); static VOID StubInitialized(ULONGLONG ullHelperStartAddress, LPCWSTR pHelperName) {}; static VOID StubsInitialized(PVOID *pHelperStartAddress, PVOID *pHelperNames, LONG ulNoOfHelpers) {}; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ex.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ex.h index 01e405541d..5496c999e0 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ex.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ex.h @@ -21,7 +21,6 @@ #include "corerror.h" #include "stresslog.h" #include "staticcontract.h" -#include "entrypoints.h" #if !defined(_DEBUG_IMPL) && defined(_DEBUG) && !defined(DACCESS_COMPILE) #define _DEBUG_IMPL 1 @@ -439,12 +438,12 @@ class COMException : public HRException public: COMException(); COMException(HRESULT hr) ; +#ifdef FEATURE_COMINTEROP COMException(HRESULT hr, IErrorInfo *pErrorInfo); ~COMException(); // Virtual overrides IErrorInfo *GetErrorInfo(); -#ifdef FEATURE_COMINTEROP void GetMessage(SString &result); #endif @@ -452,7 +451,11 @@ class COMException : public HRException virtual Exception *CloneHelper() { WRAPPER_NO_CONTRACT; +#ifdef FEATURE_COMINTEROP return new COMException(m_hr, m_pErrorInfo); +#else + return new COMException(m_hr); +#endif } }; @@ -1275,12 +1278,14 @@ inline COMException::COMException(HRESULT hr) LIMITED_METHOD_CONTRACT; } +#ifdef FEATURE_COMINTEROP inline COMException::COMException(HRESULT hr, IErrorInfo *pErrorInfo) : HRException(hr), m_pErrorInfo(pErrorInfo) { LIMITED_METHOD_CONTRACT; } +#endif // FEATURE_COMINTEROP inline SEHException::SEHException() { diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/executableallocator.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/executableallocator.h index c229f5546a..5b9c0d81dc 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/executableallocator.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/executableallocator.h @@ -11,7 +11,7 @@ #include "utilcode.h" #include "ex.h" -#include "minipal.h" +#include #ifndef DACCESS_COMPILE @@ -20,6 +20,16 @@ // This class is responsible for allocation of all the executable memory in the runtime. class ExecutableAllocator { +public: + + enum CacheableMapping + { + AddToCache, + DoNotAddToCache, + }; + +private: + // RX address range block descriptor struct BlockRX { @@ -61,6 +71,11 @@ class ExecutableAllocator static int64_t g_releaseCount; static int64_t g_reserveCount; + + static int64_t g_MapRW_Calls; + static int64_t g_MapRW_CallsWithCacheMiss; + static int64_t g_MapRW_LinkedListWalkDepth; + static int64_t g_LinkedListTotalDepth; #endif // Instance of the allocator static ExecutableAllocator* g_instance; @@ -80,7 +95,7 @@ class ExecutableAllocator static BYTE* g_preferredRangeMin; static BYTE* g_preferredRangeMax; - // Caches the COMPlus_EnableWXORX setting + // Caches the DOTNET_EnableWXORX setting static bool g_isWXorXEnabled; // Head of the linked list of all RX blocks that were allocated by this allocator @@ -102,9 +117,19 @@ class ExecutableAllocator // for platforms that don't use shared memory. size_t m_freeOffset = 0; - // Last RW mapping cached so that it can be reused for the next mapping +// Uncomment these to gather information to better choose caching parameters +//#define VARIABLE_SIZED_CACHEDMAPPING_SIZE + + // Last RW mappings cached so that it can be reused for the next mapping // request if it goes into the same range. - BlockRW* m_cachedMapping = NULL; + // This is handled as a 3 element cache with an LRU replacement policy +#ifdef VARIABLE_SIZED_CACHEDMAPPING_SIZE + // If variable sized mappings enabled, make the cache physically big enough to cover all interesting sizes + static int g_cachedMappingSize; + BlockRW* m_cachedMapping[16] = { 0 }; +#else + BlockRW* m_cachedMapping[3] = { 0 }; +#endif // Synchronization of the public allocator methods CRITSEC_COOKIE m_CriticalSection; @@ -114,12 +139,18 @@ class ExecutableAllocator // and replaces it by the passed in one. void UpdateCachedMapping(BlockRW *pBlock); + // Remove the cached mapping (1 based indexing) + void RemoveCachedMapping(size_t indexToRemove); + + // Find an overlapped cached mapping with pBlock, or return 0 + size_t FindOverlappingCachedMapping(BlockRX* pBlock); + // Find existing RW block that maps the whole specified range of RX memory. // Return NULL if no such block exists. - void* FindRWBlock(void* baseRX, size_t size); + void* FindRWBlock(void* baseRX, size_t size, CacheableMapping cacheMapping); // Add RW block to the list of existing RW blocks - bool AddRWBlock(void* baseRW, void* baseRX, size_t size); + bool AddRWBlock(void* baseRW, void* baseRX, size_t size, CacheableMapping cacheMapping); // Remove RW block from the list of existing RW blocks and return the base // address and size the underlying memory was mapped at. @@ -227,7 +258,7 @@ class ExecutableAllocator void Release(void* pRX); // Map the specified block of executable memory as RW - void* MapRW(void* pRX, size_t size); + void* MapRW(void* pRX, size_t size, CacheableMapping cacheMapping); // Unmap the RW mapping at the specified address void UnmapRW(void* pRW); @@ -287,14 +318,14 @@ class ExecutableWriterHolder { } - ExecutableWriterHolder(T* addressRX, size_t size) + ExecutableWriterHolder(T* addressRX, size_t size, ExecutableAllocator::CacheableMapping cacheMapping = ExecutableAllocator::AddToCache) { m_addressRX = addressRX; #if defined(HOST_OSX) && defined(HOST_ARM64) m_addressRW = addressRX; PAL_JitWriteProtect(true); #else - m_addressRW = (T *)ExecutableAllocator::Instance()->MapRW((void*)addressRX, size); + m_addressRW = (T *)ExecutableAllocator::Instance()->MapRW((void*)addressRX, size, cacheMapping); #endif } @@ -317,12 +348,12 @@ class ExecutableWriterHolder #ifdef LOG_EXECUTABLE_ALLOCATOR_STATISTICS #undef ExecutableWriterHolder -#ifdef TARGET_UNIX +#ifdef HOST_UNIX #define ExecutableWriterHolder ExecutableAllocator::LogUsage(__FILE__, __LINE__, __PRETTY_FUNCTION__); ExecutableWriterHolderNoLog -#define AssignExecutableWriterHolder(addressRX, size) AssignExecutableWriterHolder(addressRX, size); ExecutableAllocator::LogUsage(__FILE__, __LINE__, __PRETTY_FUNCTION__); +#define AssignExecutableWriterHolder(addressRX, size) AssignExecutableWriterHolder(addressRX, size); ExecutableAllocator::LogUsage(__FILE__, __LINE__, __PRETTY_FUNCTION__); #else #define ExecutableWriterHolder ExecutableAllocator::LogUsage(__FILE__, __LINE__, __FUNCTION__); ExecutableWriterHolderNoLog -#define AssignExecutableWriterHolder(addressRX, size) AssignExecutableWriterHolder(addressRX, size); ExecutableAllocator::LogUsage(__FILE__, __LINE__, __FUNCTION__); +#define AssignExecutableWriterHolder(addressRX, size) AssignExecutableWriterHolder(addressRX, size); ExecutableAllocator::LogUsage(__FILE__, __LINE__, __FUNCTION__); #endif #else #define ExecutableWriterHolder ExecutableWriterHolderNoLog diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/formattype.cpp b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/formattype.cpp index a1b2e043ee..64d401ffb4 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/formattype.cpp +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/formattype.cpp @@ -688,8 +688,9 @@ PCCOR_SIGNATURE PrettyPrintType( appendStr(out, "(null)"); } - char sz[32]; - sprintf_s(sz, ARRAY_SIZE(sz), " /* MT: 0x%p */", pMT); + const char fmt[] = " /* MT: %p */"; + char sz[Max64BitHexString + ARRAY_SIZE(fmt)]; + sprintf_s(sz, ARRAY_SIZE(sz), fmt, pMT); appendStr(out, sz); break; } @@ -1507,7 +1508,7 @@ char* DumpMarshaling(IMDInternalImport* pImport, buf.AppendASCII(" }) "); char * tgt = szString + strlen(szString); - int sprintf_ret = sprintf_s(tgt, cchszString - (tgt - szString), "%S", buf.GetUnicode()); + int sprintf_ret = sprintf_s(tgt, cchszString - (tgt - szString), "%s", buf.GetUTF8()); if (sprintf_ret == -1) { // Hit an error. Oh well, nothing to do... @@ -1521,7 +1522,7 @@ char* DumpMarshaling(IMDInternalImport* pImport, else { char * tgt = szString + strlen(szString); - int sprintf_ret = sprintf_s(tgt, cchszString - (tgt - szString), "%S", buf.GetUnicode()); + int sprintf_ret = sprintf_s(tgt, cchszString - (tgt - szString), "%s", buf.GetUTF8()); if (sprintf_ret == -1) { // There was an error, possibly with converting the Unicode characters. diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfodecoder.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfodecoder.h index 3a7d310a8e..f65cb5846b 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfodecoder.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfodecoder.h @@ -216,7 +216,7 @@ enum GcInfoDecoderFlags DECODE_EDIT_AND_CONTINUE = 0x800, DECODE_REVERSE_PINVOKE_VAR = 0x1000, DECODE_RETURN_KIND = 0x2000, -#if defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#if defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) DECODE_HAS_TAILCALLS = 0x4000, #endif // TARGET_ARM || TARGET_ARM64 || TARGET_LOONGARCH64 }; @@ -224,7 +224,7 @@ enum GcInfoDecoderFlags enum GcInfoHeaderFlags { GC_INFO_IS_VARARG = 0x1, - GC_INFO_HAS_SECURITY_OBJECT = 0x2, + // unused = 0x2, // was GC_INFO_HAS_SECURITY_OBJECT GC_INFO_HAS_GS_COOKIE = 0x4, GC_INFO_HAS_PSP_SYM = 0x8, GC_INFO_HAS_GENERICS_INST_CONTEXT_MASK = 0x30, @@ -235,7 +235,7 @@ enum GcInfoHeaderFlags GC_INFO_HAS_STACK_BASE_REGISTER = 0x40, #ifdef TARGET_AMD64 GC_INFO_WANTS_REPORT_ONLY_LEAF = 0x80, -#elif defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#elif defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) GC_INFO_HAS_TAILCALLS = 0x80, #endif // TARGET_AMD64 GC_INFO_HAS_EDIT_AND_CONTINUE_INFO = 0x100, @@ -528,7 +528,6 @@ class GcInfoDecoder // Miscellaneous method information //------------------------------------------------------------------------ - INT32 GetSecurityObjectStackSlot(); INT32 GetGSCookieStackSlot(); UINT32 GetGSCookieValidRangeStart(); UINT32 GetGSCookieValidRangeEnd(); @@ -540,9 +539,9 @@ class GcInfoDecoder bool HasMethodTableGenericsInstContext(); bool GetIsVarArg(); bool WantsReportOnlyLeaf(); -#if defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#if defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) bool HasTailCalls(); -#endif // TARGET_ARM || TARGET_ARM64 || TARGET_LOONGARCH64 +#endif // TARGET_ARM || TARGET_ARM64 || TARGET_LOONGARCH64 || defined(TARGET_RISCV64) ReturnKind GetReturnKind(); UINT32 GetCodeLength(); UINT32 GetStackBaseRegister(); @@ -568,10 +567,9 @@ class GcInfoDecoder bool m_GenericSecretParamIsMT; #ifdef TARGET_AMD64 bool m_WantsReportOnlyLeaf; -#elif defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#elif defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) bool m_HasTailCalls; #endif // TARGET_AMD64 - INT32 m_SecurityObjectStackSlot; INT32 m_GSCookieStackSlot; INT32 m_ReversePInvokeFrameStackSlot; UINT32 m_ValidRangeStart; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfoencoder.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfoencoder.h index dd438a7eb2..ea71e14d8d 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfoencoder.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfoencoder.h @@ -21,7 +21,7 @@ Fat Header for other cases: - EncodingType[Fat] - Flag: isVarArg, - hasSecurityObject, + unused (was hasSecurityObject), hasGSCookie, hasPSPSymStackSlot, hasGenericsInstContextStackSlot, @@ -32,7 +32,7 @@ hasReversePInvokeFrame, - ReturnKind (Fat: 4 bits) - CodeLength - - Prolog (if hasSecurityObject || hasGenericsInstContextStackSlot || hasGSCookie) + - Prolog (if hasGenericsInstContextStackSlot || hasGSCookie) - Epilog (if hasGSCookie) - SecurityObjectStackSlot (if any) - GSCookieStackSlot (if any) @@ -420,7 +420,6 @@ class GcInfoEncoder // Miscellaneous method information //------------------------------------------------------------------------ - void SetSecurityObjectStackSlot( INT32 spOffset ); void SetPrologSize( UINT32 prologSize ); void SetGSCookieStackSlot( INT32 spOffsetGSCookie, UINT32 validRangeStart, UINT32 validRangeEnd ); void SetPSPSymStackSlot( INT32 spOffsetPSPSym ); @@ -443,7 +442,7 @@ class GcInfoEncoder // instead of once for each live function/funclet on the stack. // Called only by RyuJIT (not JIT64) void SetWantsReportOnlyLeaf(); -#elif defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#elif defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) void SetHasTailCalls(); #endif // TARGET_AMD64 @@ -486,10 +485,6 @@ class GcInfoEncoder IAllocator* m_pAllocator; NoMemoryFunction m_pNoMem; -#ifdef _DEBUG - const char *m_MethodName, *m_ModuleName; -#endif - BitStreamWriter m_Info1; // Used for everything except for chunk encodings BitStreamWriter m_Info2; // Used for chunk encodings @@ -499,10 +494,9 @@ class GcInfoEncoder bool m_IsVarArg; #if defined(TARGET_AMD64) bool m_WantsReportOnlyLeaf; -#elif defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#elif defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) bool m_HasTailCalls; #endif // TARGET_AMD64 - INT32 m_SecurityObjectStackSlot; INT32 m_GSCookieStackSlot; UINT32 m_GSCookieValidRangeStart; UINT32 m_GSCookieValidRangeEnd; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfotypes.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfotypes.h index 454babf80c..0890f13f5b 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfotypes.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcinfotypes.h @@ -156,7 +156,7 @@ struct GcStackSlot // 10 RT_ByRef // 11 RT_Unset -#elif defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) +#elif defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64) // Slim Header: @@ -596,7 +596,6 @@ void FASTCALL decodeCallPattern(int pattern, // Stack offsets must be 8-byte aligned, so we use this unaligned // offset to represent that the method doesn't have a security object -#define NO_SECURITY_OBJECT (-1) #define NO_GS_COOKIE (-1) #define NO_STACK_BASE_REGISTER (0xffffffff) #define NO_SIZE_OF_EDIT_AND_CONTINUE_PRESERVED_AREA (0xffffffff) @@ -784,8 +783,8 @@ void FASTCALL decodeCallPattern(int pattern, #define DENORMALIZE_STACK_SLOT(x) ((x)<<3) #define NORMALIZE_CODE_LENGTH(x) ((x)>>2) // All Instructions are 4 bytes long #define DENORMALIZE_CODE_LENGTH(x) ((x)<<2) -#define NORMALIZE_STACK_BASE_REGISTER(x) ((x)^22) // Encode Frame pointer fp=$22 as zero -#define DENORMALIZE_STACK_BASE_REGISTER(x) ((x)^22) +#define NORMALIZE_STACK_BASE_REGISTER(x) ((x) == 22 ? 0 : 1) // Encode Frame pointer fp=$22 as zero +#define DENORMALIZE_STACK_BASE_REGISTER(x) ((x) == 0 ? 22 : 3) #define NORMALIZE_SIZE_OF_STACK_AREA(x) ((x)>>3) #define DENORMALIZE_SIZE_OF_STACK_AREA(x) ((x)<<3) #define CODE_OFFSETS_NEED_NORMALIZATION 0 @@ -805,8 +804,7 @@ void FASTCALL decodeCallPattern(int pattern, #define CODE_LENGTH_ENCBASE 8 #define SIZE_OF_RETURN_KIND_IN_SLIM_HEADER 2 #define SIZE_OF_RETURN_KIND_IN_FAT_HEADER 4 -////TODO for LOONGARCH64. -// FP/SP encoded as 0 or 2 ?? +// FP/SP encoded as 0 or 1. #define STACK_BASE_REGISTER_ENCBASE 2 #define SIZE_OF_STACK_AREA_ENCBASE 3 #define SIZE_OF_EDIT_AND_CONTINUE_PRESERVED_AREA_ENCBASE 4 @@ -830,6 +828,63 @@ void FASTCALL decodeCallPattern(int pattern, #define LIVESTATE_RLE_RUN_ENCBASE 2 #define LIVESTATE_RLE_SKIP_ENCBASE 4 +#elif defined(TARGET_RISCV64) +#ifndef TARGET_POINTER_SIZE +#define TARGET_POINTER_SIZE 8 // equal to sizeof(void*) and the managed pointer size in bytes for this target +#endif +#define NUM_NORM_CODE_OFFSETS_PER_CHUNK (64) +#define NUM_NORM_CODE_OFFSETS_PER_CHUNK_LOG2 (6) +#define NORMALIZE_STACK_SLOT(x) ((x)>>3) // GC Pointers are 8-bytes aligned +#define DENORMALIZE_STACK_SLOT(x) ((x)<<3) +#define NORMALIZE_CODE_LENGTH(x) ((x)>>2) // All Instructions are 4 bytes long +#define DENORMALIZE_CODE_LENGTH(x) ((x)<<2) +#define NORMALIZE_STACK_BASE_REGISTER(x) ((x)^8) // Encode Frame pointer X8 as zero +#define DENORMALIZE_STACK_BASE_REGISTER(x) ((x)^8) +#define NORMALIZE_SIZE_OF_STACK_AREA(x) ((x)>>3) +#define DENORMALIZE_SIZE_OF_STACK_AREA(x) ((x)<<3) +#define CODE_OFFSETS_NEED_NORMALIZATION 0 +#define NORMALIZE_CODE_OFFSET(x) (x) // Instructions are 4 bytes long, but the safe-point +#define DENORMALIZE_CODE_OFFSET(x) (x) // offsets are encoded with a -1 adjustment. +#define NORMALIZE_REGISTER(x) (x) +#define DENORMALIZE_REGISTER(x) (x) +#define NORMALIZE_NUM_SAFE_POINTS(x) (x) +#define DENORMALIZE_NUM_SAFE_POINTS(x) (x) +#define NORMALIZE_NUM_INTERRUPTIBLE_RANGES(x) (x) +#define DENORMALIZE_NUM_INTERRUPTIBLE_RANGES(x) (x) + +#define PSP_SYM_STACK_SLOT_ENCBASE 6 +#define GENERICS_INST_CONTEXT_STACK_SLOT_ENCBASE 6 +#define SECURITY_OBJECT_STACK_SLOT_ENCBASE 6 +#define GS_COOKIE_STACK_SLOT_ENCBASE 6 +#define CODE_LENGTH_ENCBASE 8 +#define SIZE_OF_RETURN_KIND_IN_SLIM_HEADER 2 +#define SIZE_OF_RETURN_KIND_IN_FAT_HEADER 4 +#define STACK_BASE_REGISTER_ENCBASE 2 +// FP encoded as 0, SP as 2?? +#define SIZE_OF_STACK_AREA_ENCBASE 3 +#define SIZE_OF_EDIT_AND_CONTINUE_PRESERVED_AREA_ENCBASE 4 +#define SIZE_OF_EDIT_AND_CONTINUE_FIXED_STACK_FRAME_ENCBASE 4 +#define REVERSE_PINVOKE_FRAME_ENCBASE 6 +#define NUM_REGISTERS_ENCBASE 3 +#define NUM_STACK_SLOTS_ENCBASE 2 +#define NUM_UNTRACKED_SLOTS_ENCBASE 1 +#define NORM_PROLOG_SIZE_ENCBASE 5 +#define NORM_EPILOG_SIZE_ENCBASE 3 +#define NORM_CODE_OFFSET_DELTA_ENCBASE 3 +#define INTERRUPTIBLE_RANGE_DELTA1_ENCBASE 6 +#define INTERRUPTIBLE_RANGE_DELTA2_ENCBASE 6 +#define REGISTER_ENCBASE 3 +#define REGISTER_DELTA_ENCBASE 2 +#define STACK_SLOT_ENCBASE 6 +#define STACK_SLOT_DELTA_ENCBASE 4 +#define NUM_SAFE_POINTS_ENCBASE 3 +#define NUM_INTERRUPTIBLE_RANGES_ENCBASE 1 +#define NUM_EH_CLAUSES_ENCBASE 2 +#define POINTER_SIZE_ENCBASE 3 +#define LIVESTATE_RLE_RUN_ENCBASE 2 +#define LIVESTATE_RLE_SKIP_ENCBASE 4 + + #else #ifndef TARGET_X86 diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcmsg.inl b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcmsg.inl index f6e1f7227a..14e81ad5f2 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcmsg.inl +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/gcmsg.inl @@ -44,13 +44,13 @@ static const char* gcDetailedStartMsg() { STATIC_CONTRACT_LEAF; - return "*GC* %d(gen0:%d)(%d)(alloc: %Id)(%s)(%d)"; + return "*GC* %d(gen0:%d)(%d)(alloc: %zd)(%s)(%d)"; } static const char* gcDetailedEndMsg() { STATIC_CONTRACT_LEAF; - return "*EGC* %Id(gen0:%Id)(%Id)(%d)(%s)(%s)(%s)(ml: %d->%d)"; + return "*EGC* %zd(gen0:%zd)(%zd)(%d)(%s)(%s)(%s)(ml: %d->%d)"; } static const char* gcStartMarkMsg() @@ -80,7 +80,7 @@ static const char* gcStartCompactMsg() { STATIC_CONTRACT_LEAF; - return "---- Compact Phase on heap %d: %Ix(%Ix)----"; + return "---- Compact Phase on heap %d: %zx(%zx)----"; } static const char* gcEndCompactMsg() @@ -92,31 +92,31 @@ static const char* gcMemCopyMsg() { STATIC_CONTRACT_LEAF; - return " mc: [%Ix->%Ix, %Ix->%Ix["; + return " mc: [%zx->%zx, %zx->%zx["; } static const char* gcPlanPlugMsg() { STATIC_CONTRACT_LEAF; - return "(%Ix)[%Ix->%Ix, NA: [%Ix(%Id), %Ix[: %Ix(%d), x: %Ix (%s)"; + return "(%zx)[%zx->%zx, NA: [%zx(%zd), %zx[: %zx(%d), x: %zx (%s)"; } static const char* gcPlanPinnedPlugMsg() { STATIC_CONTRACT_LEAF; - return "(%Ix)PP: [%Ix, %Ix[%Ix](m:%d)"; + return "(%zx)PP: [%zx, %zx[%zx](m:%d)"; } static const char* gcDesiredNewAllocationMsg() { STATIC_CONTRACT_LEAF; - return "h%d g%d surv: %Id current: %Id alloc: %Id (%d%%) f: %d%% new-size: %Id new-alloc: %Id"; + return "h%d g%d surv: %zd current: %zd alloc: %zd (%d%%) f: %d%% new-size: %zd new-alloc: %zd"; } static const char* gcMakeUnusedArrayMsg() { STATIC_CONTRACT_LEAF; - return "Making unused array [%Ix, %Ix["; + return "Making unused array [%zx, %zx["; } static const char* gcStartBgcThread() @@ -130,3 +130,9 @@ STATIC_CONTRACT_LEAF; return "Relocating reference *(%p) from %p to %p"; } + + static const char* gcLoggingIsOffMsg() + { + STATIC_CONTRACT_LEAF; + return "TraceGC is not turned on"; + } diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/genheaders.cs b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/genheaders.cs index e6b51d8862..3a39954937 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/genheaders.cs +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/genheaders.cs @@ -2,40 +2,37 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; -using System.IO; using System.Xml; using System.Xml.Schema; +using System.IO; -public class GenerateHeaders -{ +public class GenerateHeaders { - public static void Main(string[] args) - { + public static void Main(string[] args) { - if (args.Length != 3) - { + if (args.Length != 3) { Console.WriteLine("Usage:genheaders XML-file header-file resource-file"); return; } ValidateXML(args[0]); - String Message = null; - String SymbolicName = null; - String NumericValue = null; + String Message=null; + String SymbolicName=null; + String NumericValue=null; String tempheaderfile = "temp.h"; String temprcfile = "temp.rc"; - StreamWriter HSW = File.CreateText(tempheaderfile); - StreamWriter RSW = File.CreateText(temprcfile); + StreamWriter HSW=File.CreateText(tempheaderfile); + StreamWriter RSW=File.CreateText(temprcfile); - int FaciltyUrt = 0x13; - int SeveritySuccess = 0; - int SeverityError = 1; + int FaciltyUrt=0x13; + int SeveritySuccess=0; + int SeverityError=1; - int minSR = MakeHresult(SeveritySuccess, FaciltyUrt, 0); - int maxSR = MakeHresult(SeveritySuccess, FaciltyUrt, 0xffff); - int minHR = MakeHresult(SeverityError, FaciltyUrt, 0); - int maxHR = MakeHresult(SeverityError, FaciltyUrt, 0xffff); + int minSR = MakeHresult(SeveritySuccess,FaciltyUrt,0); + int maxSR = MakeHresult(SeveritySuccess,FaciltyUrt,0xffff); + int minHR = MakeHresult(SeverityError,FaciltyUrt,0); + int maxHR = MakeHresult(SeverityError,FaciltyUrt,0xffff); PrintLicenseHeader(HSW); PrintHeader(HSW); @@ -45,66 +42,51 @@ public static void Main(string[] args) XmlTextReader rdr = new XmlTextReader(args[0]); rdr.WhitespaceHandling = WhitespaceHandling.None; - while (rdr.Read()) - { + while (rdr.Read()) { - switch (rdr.NodeType) - { + switch (rdr.NodeType) { case XmlNodeType.Element: - if (rdr.Name.ToString() == "HRESULT") - { - NumericValue = rdr.GetAttribute("NumericValue"); + if (rdr.Name.ToString() == "HRESULT") { + NumericValue=rdr.GetAttribute("NumericValue"); } - if (rdr.Name.ToString() == "Message") - { + if (rdr.Name.ToString() == "Message") { Message = rdr.ReadString(); } - if (rdr.Name.ToString() == "SymbolicName") - { + if (rdr.Name.ToString() == "SymbolicName") { SymbolicName = rdr.ReadString(); } break; case XmlNodeType.EndElement: - if (rdr.Name.ToString() == "HRESULT") - { + if(rdr.Name.ToString() == "HRESULT"){ - // For CLR Hresult's we take the last 4 digits as the resource strings. + // For CLR Hresult's we take the last 4 digits as the resource strings. - if ((NumericValue.StartsWith("0x")) || (NumericValue.StartsWith("0X"))) - { + if ( (NumericValue.StartsWith("0x")) || (NumericValue.StartsWith("0X")) ) { - String HexResult = NumericValue.Substring(2); - int num = int.Parse(HexResult, System.Globalization.NumberStyles.HexNumber); + String HexResult = NumericValue.Substring(2); + int num = int.Parse(HexResult, System.Globalization.NumberStyles.HexNumber); - if ((num > minSR) && (num <= maxSR)) - { - num = num & 0xffff; - HSW.WriteLine("#define " + SymbolicName + " SMAKEHR(0x" + num.ToString("x") + ")"); - } - else if ((num > minHR) && (num <= maxHR)) - { - num = num & 0xffff; - HSW.WriteLine("#define " + SymbolicName + " EMAKEHR(0x" + num.ToString("x") + ")"); - } - else - { - HSW.WriteLine("#define " + SymbolicName + " " + NumericValue); + if ((num>minSR) && (num <= maxSR)) { + num = num & 0xffff; + HSW.WriteLine("#define " + SymbolicName + " SMAKEHR(0x" + num.ToString("x") + ")"); + } else if ((num>minHR) && (num <= maxHR)) { + num = num & 0xffff; + HSW.WriteLine("#define " + SymbolicName + " EMAKEHR(0x" + num.ToString("x") + ")"); + } else { + HSW.WriteLine("#define " + SymbolicName + " " + NumericValue ); } - } - else - { - HSW.WriteLine("#define " + SymbolicName + " " + NumericValue); - } + } else { + HSW.WriteLine("#define " + SymbolicName + " " + NumericValue ); + } - if (Message != null) - { + if (Message != null) { RSW.Write("\tMSG_FOR_URT_HR(" + SymbolicName + ") "); RSW.WriteLine(Message); } @@ -126,8 +108,7 @@ public static void Main(string[] args) bool AreFilesEqual = false; - if (File.Exists(args[1])) - { + if (File.Exists(args[1])) { StreamReader sr1 = new StreamReader(tempheaderfile); StreamReader sr2 = new StreamReader(args[1]); AreFilesEqual = CompareFiles(sr1, sr2); @@ -135,14 +116,12 @@ public static void Main(string[] args) sr2.Close(); } - if (!AreFilesEqual) - { + if (!AreFilesEqual) { File.Copy(tempheaderfile, args[1], true); File.Copy(temprcfile, args[2], true); } - if (!File.Exists(args[2])) - { + if (!File.Exists(args[2])) { File.Copy(temprcfile, args[2], true); } @@ -150,8 +129,7 @@ public static void Main(string[] args) File.Delete(temprcfile); } - private static void ValidateXML(String XMLFile) - { + private static void ValidateXML (String XMLFile) { // Set the validation settings on the XmlReaderSettings object. XmlReaderSettings settings = new XmlReaderSettings(); @@ -159,34 +137,30 @@ private static void ValidateXML(String XMLFile) settings.ValidationType = ValidationType.Schema; settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema; - settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack); + settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack); // Create the XmlReader object. XmlReader reader = XmlReader.Create(XMLFile, settings); // Parse the file. - while (reader.Read()) - { + while (reader.Read()) { } } // Display any validation errors. - private static void ValidationCallBack(object sender, ValidationEventArgs e) - { - Console.WriteLine("Validation Error: {0}", e.Message); - Environment.Exit(-1); + private static void ValidationCallBack(object sender, ValidationEventArgs e) { + Console.WriteLine("Validation Error: {0}", e.Message); + Environment.Exit(-1); } - private static void PrintLicenseHeader(StreamWriter SW) - { + private static void PrintLicenseHeader(StreamWriter SW) { SW.WriteLine("// Licensed to the .NET Foundation under one or more agreements."); SW.WriteLine("// The .NET Foundation licenses this file to you under the MIT license."); SW.WriteLine(); } - private static void PrintHeader(StreamWriter SW) - { + private static void PrintHeader(StreamWriter SW) { SW.WriteLine("#ifndef __COMMON_LANGUAGE_RUNTIME_HRESULTS__"); SW.WriteLine("#define __COMMON_LANGUAGE_RUNTIME_HRESULTS__"); @@ -211,40 +185,33 @@ private static void PrintHeader(StreamWriter SW) SW.WriteLine(); } - private static void PrintFooter(StreamWriter SW) - { + private static void PrintFooter(StreamWriter SW) { SW.WriteLine(); SW.WriteLine(); SW.WriteLine("#endif // __COMMON_LANGUAGE_RUNTIME_HRESULTS__"); } - private static void PrintResourceHeader(StreamWriter SW) - { + private static void PrintResourceHeader(StreamWriter SW) { SW.WriteLine("STRINGTABLE DISCARDABLE"); SW.WriteLine("BEGIN"); } - private static void PrintResourceFooter(StreamWriter SW) - { + private static void PrintResourceFooter(StreamWriter SW) { SW.WriteLine("END"); } - private static bool CompareFiles(StreamReader sr1, StreamReader sr2) - { - String line1, line2; + private static bool CompareFiles(StreamReader sr1, StreamReader sr2) { + String line1,line2; - while (true) - { + while (true) { line1 = sr1.ReadLine(); line2 = sr2.ReadLine(); - if ((line1 == null) && (line2 == null)) - { + if ( (line1 == null) && (line2 == null) ) { return true; } - if (line1 != line2) - { + if (line1 != line2) { return false; } @@ -252,10 +219,9 @@ private static bool CompareFiles(StreamReader sr1, StreamReader sr2) } - private static int MakeHresult(int sev, int fac, int code) - { - return ((sev << 31) | (fac << 16) | (code)); - } + private static int MakeHresult(int sev, int fac, int code) { + return ((sev<<31) | (fac<<16) | (code)); + } } diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/getproductversionnumber.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/getproductversionnumber.h deleted file mode 100644 index 068ed78493..0000000000 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/getproductversionnumber.h +++ /dev/null @@ -1,76 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// -// GetProductVersionNumber.h -// -// Helper function to retrieve the file version number of a file. -// -// ====================================================================================== - - - -#ifndef __GetProductVersionNumber_h__ -#define __GetProductVersionNumber_h__ - -#include "contract.h" -#include "sstring.h" -#include "holder.h" -#include "ex.h" - -//--------------------------------------------------------------------------------------- -// -// Given the full path to an image, return the product version number. -// -// Arguments: -// szFullPath - full path to the image -// pdwVersionMS - out parameter; return the most significant 4 bytes of the version number according to -// the VS_FIXEDFILEINFO convention -// pdwVersionLS - out parameter; return the least significant 4 bytes of the version number according to -// the VS_FIXEDFILEINFO convention -// -// Notes: -// Throws on error - -void inline GetProductVersionNumber(SString &szFullPath, DWORD * pdwVersionMS, DWORD * pdwVersionLS) -{ - WRAPPER_NO_CONTRACT; -#ifndef TARGET_UNIX - - DWORD dwDummy = 0; - DWORD dwFileInfoSize = 0; - - // Get the size of all of the file version information. - dwFileInfoSize = GetFileVersionInfoSize(szFullPath, &dwDummy); - if (dwFileInfoSize == 0) - { - ThrowLastError(); - } - - // Create the buffer to store the file information. - NewHolder pbFileInfo(new BYTE[dwFileInfoSize]); - - // Actually retrieve the file version information. - if (!GetFileVersionInfo(szFullPath, NULL, dwFileInfoSize, pbFileInfo)) - { - ThrowLastError(); - } - - // Now retrieve only the relevant version information, which will be returned in a VS_FIXEDFILEINFO. - UINT uVersionInfoSize = 0; - VS_FIXEDFILEINFO * pVersionInfo = NULL; - - if (!VerQueryValue(pbFileInfo, W("\\"), reinterpret_cast(&pVersionInfo), &uVersionInfoSize)) - { - ThrowLastError(); - } - _ASSERTE(uVersionInfoSize == sizeof(VS_FIXEDFILEINFO)); - - *pdwVersionMS = pVersionInfo->dwProductVersionMS; - *pdwVersionLS = pVersionInfo->dwProductVersionLS; -#else - *pdwVersionMS = 0; - *pdwVersionLS = 0; -#endif // TARGET_UNIX -} - -#endif // __GetProductVersionNumber_h__ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/holder.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/holder.h index a02ca9ea95..16551b141c 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/holder.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/holder.h @@ -946,7 +946,7 @@ FORCEINLINE void StubRelease(TYPE* value) if (value) { #ifdef LOG_EXECUTABLE_ALLOCATOR_STATISTICS -#ifdef TARGET_UNIX +#ifdef HOST_UNIX LOGGER::LogUsage(__FILE__, __LINE__, __PRETTY_FUNCTION__); #else LOGGER::LogUsage(__FILE__, __LINE__, __FUNCTION__); @@ -1144,14 +1144,6 @@ typedef Wrapper, VoidFindClose, (UINT_PTR) -1> FindHan typedef Wrapper MapViewHolder; -#ifdef WszDeleteFile -// Deletes a file with the specified path. Do not use if you care about failures -// deleting the file, as failures are ignored by VoidDeleteFile. -FORCEINLINE void VoidDeleteFile(LPCWSTR wszFilePath) { WszDeleteFile(wszFilePath); } -typedef Wrapper, VoidDeleteFile, NULL> DeleteFileHolder; -#endif // WszDeleteFile - - //----------------------------------------------------------------------------- // Misc holders //----------------------------------------------------------------------------- @@ -1195,13 +1187,24 @@ FORCEINLINE void RegKeyRelease(HKEY k) {RegCloseKey(k);}; typedef Wrapper RegKeyHolder; #endif // HOST_WINDOWS -class ErrorModeHolder +class ErrorModeHolder final { - UINT m_oldMode; +#ifdef HOST_WINDOWS + BOOL m_revert; + DWORD m_oldMode; public: - ErrorModeHolder(UINT newMode){m_oldMode=SetErrorMode(newMode);}; - ~ErrorModeHolder(){SetErrorMode(m_oldMode);}; - UINT OldMode() {return m_oldMode;}; + ErrorModeHolder() + : m_revert{ FALSE } + { + DWORD newMode = SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS; + m_revert = ::SetThreadErrorMode(newMode, &m_oldMode); + } + ~ErrorModeHolder() noexcept + { + if (m_revert != FALSE) + (void)::SetThreadErrorMode(m_oldMode, NULL); + } +#endif // HOST_WINDOWS }; #ifdef HOST_WINDOWS diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/hostinformation.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/hostinformation.h new file mode 100644 index 0000000000..d57b4729d3 --- /dev/null +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/hostinformation.h @@ -0,0 +1,16 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#ifndef _HOSTINFORMATION_H_ +#define _HOSTINFORMATION_H_ + +#include + +class HostInformation +{ +public: + static void SetContract(_In_ host_runtime_contract* hostContract); + static bool GetProperty(_In_z_ const char* name, SString& value); +}; + +#endif // _HOSTINFORMATION_H_ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/iceefilegen.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/iceefilegen.h index f0fb5b091c..c3dc26f4d9 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/iceefilegen.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/iceefilegen.h @@ -115,19 +115,12 @@ class ICeeFileGen { virtual HRESULT SetComImageFlags (HCEEFILE ceeFile, DWORD mask); virtual HRESULT GetComImageFlags (HCEEFILE ceeFile, DWORD *mask); - // get IMapToken interface for tracking mapped tokens - virtual HRESULT GetIMapTokenIface(HCEEFILE ceeFile, IMetaDataEmit *emitter, IUnknown **pIMapToken); virtual HRESULT SetDirectoryEntry (HCEEFILE ceeFile, HCEESECTION section, ULONG num, ULONG size, ULONG offset = 0); // Write out the metadata in "emitter" to the metadata section in "ceeFile" // Use EmitMetaDataAt() for more control virtual HRESULT EmitMetaDataEx (HCEEFILE ceeFile, IMetaDataEmit *emitter); - virtual HRESULT GetIMapTokenIfaceEx(HCEEFILE ceeFile, IMetaDataEmit *emitter, IUnknown **pIMapToken); - - virtual HRESULT CreateCeeFileFromICeeGen( - ICeeGenInternal *pFromICeeGen, HCEEFILE *ceeFile, DWORD createFlags = ICEE_CREATE_FILE_PURE_IL); // call this to instantiate a file handle - virtual HRESULT SetManifestEntry(HCEEFILE ceeFile, ULONG size, ULONG offset); virtual HRESULT ComputeSectionOffset(HCEESECTION section, _In_ char *ptr, @@ -164,12 +157,6 @@ class ICeeFileGen { virtual HRESULT GetFileTimeStamp (HCEEFILE ceeFile, DWORD *pTimeStamp); - // Add a notification handler. If it implements an interface that - // the ICeeFileGen understands, S_OK is returned. Otherwise, - // E_NOINTERFACE. - virtual HRESULT AddNotificationHandler(HCEEFILE ceeFile, - IUnknown *pHandler); - virtual HRESULT SetFileAlignment(HCEEFILE ceeFile, ULONG fileAlignment); virtual HRESULT ClearComImageFlags (HCEEFILE ceeFile, DWORD mask); @@ -182,13 +169,6 @@ class ICeeFileGen { PIMAGE_SECTION_HEADER *ppSections, ULONG *pNumSections); - // Seed file is a base file which is copied over into the output file - // Note that there are restrictions on the seed file (the sections - // cannot be relocated), and that the copy is not complete as the new - // headers overwrite the seed file headers. - virtual HRESULT CreateCeeFileEx2(HCEEFILE *ceeFile, ULONG createFlags, - LPCWSTR seedFileName = NULL); - virtual HRESULT SetVTableEntry64(HCEEFILE ceeFile, ULONG size, void* ptr); }; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/icorjitinfoimpl_generated.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/icorjitinfoimpl_generated.h index 3a5a164e9a..4fd79ef930 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/icorjitinfoimpl_generated.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/icorjitinfoimpl_generated.h @@ -38,7 +38,12 @@ void getMethodSig( bool getMethodInfo( CORINFO_METHOD_HANDLE ftn, - CORINFO_METHOD_INFO* info) override; + CORINFO_METHOD_INFO* info, + CORINFO_CONTEXT_HANDLE context) override; + +bool haveSameMethodDefinition( + CORINFO_METHOD_HANDLE meth1Hnd, + CORINFO_METHOD_HANDLE meth2Hnd) override; CorInfoInline canInline( CORINFO_METHOD_HANDLE callerHnd, @@ -75,9 +80,6 @@ void getEHinfo( CORINFO_CLASS_HANDLE getMethodClass( CORINFO_METHOD_HANDLE method) override; -CORINFO_MODULE_HANDLE getMethodModule( - CORINFO_METHOD_HANDLE method) override; - void getMethodVTableOffset( CORINFO_METHOD_HANDLE method, unsigned* offsetOfIndirection, @@ -117,13 +119,6 @@ bool satisfiesMethodConstraints( CORINFO_CLASS_HANDLE parent, CORINFO_METHOD_HANDLE method) override; -bool isCompatibleDelegate( - CORINFO_CLASS_HANDLE objCls, - CORINFO_CLASS_HANDLE methodParentCls, - CORINFO_METHOD_HANDLE method, - CORINFO_CLASS_HANDLE delegateCls, - bool* pfIsOpenDelegate) override; - void methodMustBeLoadedBeforeCodeIsRun( CORINFO_METHOD_HANDLE method) override; @@ -143,9 +138,6 @@ PatchpointInfo* getOSRInfo( void resolveToken( CORINFO_RESOLVED_TOKEN* pResolvedToken) override; -bool tryResolveToken( - CORINFO_RESOLVED_TOKEN* pResolvedToken) override; - void findSig( CORINFO_MODULE_HANDLE module, unsigned sigTOK, @@ -161,24 +153,20 @@ void findCallSiteSig( CORINFO_CLASS_HANDLE getTokenTypeAsHandle( CORINFO_RESOLVED_TOKEN* pResolvedToken) override; -bool isValidToken( - CORINFO_MODULE_HANDLE module, - unsigned metaTOK) override; - -bool isValidStringRef( - CORINFO_MODULE_HANDLE module, - unsigned metaTOK) override; - int getStringLiteral( CORINFO_MODULE_HANDLE module, unsigned metaTOK, char16_t* buffer, - int bufferSize) override; + int bufferSize, + int startIndex) override; -CorInfoType asCorInfoType( - CORINFO_CLASS_HANDLE cls) override; +size_t printObjectDescription( + CORINFO_OBJECT_HANDLE handle, + char* buffer, + size_t bufferSize, + size_t* pRequiredBufferSize) override; -const char* getClassName( +CorInfoType asCorInfoType( CORINFO_CLASS_HANDLE cls) override; const char* getClassNameFromMetadata( @@ -189,13 +177,11 @@ CORINFO_CLASS_HANDLE getTypeInstantiationArgument( CORINFO_CLASS_HANDLE cls, unsigned index) override; -int appendClassName( - char16_t** ppBuf, - int* pnBufLen, +size_t printClassName( CORINFO_CLASS_HANDLE cls, - bool fNamespace, - bool fFullInst, - bool fAssembly) override; + char* buffer, + size_t bufferSize, + size_t* pRequiredBufferSize) override; bool isValueClass( CORINFO_CLASS_HANDLE cls) override; @@ -227,6 +213,16 @@ size_t getClassModuleIdForStatics( CORINFO_MODULE_HANDLE* pModule, void** ppIndirection) override; +bool getIsClassInitedFlagAddress( + CORINFO_CLASS_HANDLE cls, + CORINFO_CONST_LOOKUP* addr, + int* offset) override; + +bool getStaticBaseAddress( + CORINFO_CLASS_HANDLE cls, + bool isGc, + CORINFO_CONST_LOOKUP* addr) override; + unsigned getClassSize( CORINFO_CLASS_HANDLE cls) override; @@ -251,14 +247,18 @@ CORINFO_FIELD_HANDLE getFieldInClass( CORINFO_CLASS_HANDLE clsHnd, int32_t num) override; +GetTypeLayoutResult getTypeLayout( + CORINFO_CLASS_HANDLE typeHnd, + CORINFO_TYPE_LAYOUT_NODE* treeNodes, + size_t* numTreeNodes) override; + bool checkMethodModifier( CORINFO_METHOD_HANDLE hMethod, const char* modifier, bool fOptional) override; CorInfoHelpFunc getNewHelper( - CORINFO_RESOLVED_TOKEN* pResolvedToken, - CORINFO_METHOD_HANDLE callerHandle, + CORINFO_CLASS_HANDLE classHandle, bool* pHasSideEffects) override; CorInfoHelpFunc getNewArrHelper( @@ -280,6 +280,20 @@ CorInfoHelpFunc getBoxHelper( CorInfoHelpFunc getUnBoxHelper( CORINFO_CLASS_HANDLE cls) override; +CORINFO_OBJECT_HANDLE getRuntimeTypePointer( + CORINFO_CLASS_HANDLE cls) override; + +bool isObjectImmutable( + CORINFO_OBJECT_HANDLE objPtr) override; + +bool getStringChar( + CORINFO_OBJECT_HANDLE strObj, + int index, + uint16_t* value) override; + +CORINFO_CLASS_HANDLE getObjectType( + CORINFO_OBJECT_HANDLE objPtr) override; + bool getReadyToRunHelper( CORINFO_RESOLVED_TOKEN* pResolvedToken, CORINFO_LOOKUP_KIND* pGenericLookupKind, @@ -292,9 +306,6 @@ void getReadyToRunDelegateCtorHelper( CORINFO_CLASS_HANDLE delegateType, CORINFO_LOOKUP* pLookup) override; -const char* getHelperName( - CorInfoHelpFunc helpFunc) override; - CorInfoInitClassResult initClass( CORINFO_FIELD_HANDLE field, CORINFO_METHOD_HANDLE method, @@ -316,10 +327,6 @@ bool canCast( CORINFO_CLASS_HANDLE child, CORINFO_CLASS_HANDLE parent) override; -bool areTypesEquivalent( - CORINFO_CLASS_HANDLE cls1, - CORINFO_CLASS_HANDLE cls2) override; - TypeCompareState compareTypesForCast( CORINFO_CLASS_HANDLE fromClass, CORINFO_CLASS_HANDLE toClass) override; @@ -328,14 +335,14 @@ TypeCompareState compareTypesForEquality( CORINFO_CLASS_HANDLE cls1, CORINFO_CLASS_HANDLE cls2) override; -CORINFO_CLASS_HANDLE mergeClasses( - CORINFO_CLASS_HANDLE cls1, - CORINFO_CLASS_HANDLE cls2) override; - bool isMoreSpecificType( CORINFO_CLASS_HANDLE cls1, CORINFO_CLASS_HANDLE cls2) override; +TypeCompareState isEnum( + CORINFO_CLASS_HANDLE cls, + CORINFO_CLASS_HANDLE* underlyingType) override; + CORINFO_CLASS_HANDLE getParentType( CORINFO_CLASS_HANDLE cls) override; @@ -343,9 +350,6 @@ CorInfoType getChildType( CORINFO_CLASS_HANDLE clsHnd, CORINFO_CLASS_HANDLE* clsRet) override; -bool satisfiesClassConstraints( - CORINFO_CLASS_HANDLE cls) override; - bool isSDArray( CORINFO_CLASS_HANDLE cls) override; @@ -364,9 +368,11 @@ CorInfoIsAccessAllowedResult canAccessClass( CORINFO_METHOD_HANDLE callerHandle, CORINFO_HELPER_DESC* pAccessHelper) override; -const char* getFieldName( - CORINFO_FIELD_HANDLE ftn, - const char** moduleName) override; +size_t printFieldName( + CORINFO_FIELD_HANDLE field, + char* buffer, + size_t bufferSize, + size_t* pRequiredBufferSize) override; CORINFO_CLASS_HANDLE getFieldClass( CORINFO_FIELD_HANDLE field) override; @@ -385,9 +391,20 @@ void getFieldInfo( CORINFO_ACCESS_FLAGS flags, CORINFO_FIELD_INFO* pResult) override; +uint32_t getThreadLocalFieldInfo( + CORINFO_FIELD_HANDLE field, + bool isGCtype) override; + +void getThreadLocalStaticBlocksInfo( + CORINFO_THREAD_STATIC_BLOCKS_INFO* pInfo, + bool isGCType) override; + bool isFieldStatic( CORINFO_FIELD_HANDLE fldHnd) override; +int getArrayOrStringLength( + CORINFO_OBJECT_HANDLE objHnd) override; + void getBoundaries( CORINFO_METHOD_HANDLE ftn, unsigned int* cILOffsets, @@ -442,22 +459,6 @@ CORINFO_CLASS_HANDLE getArgClass( CorInfoHFAElemType getHFAType( CORINFO_CLASS_HANDLE hClass) override; -JITINTERFACE_HRESULT GetErrorHRESULT( - struct _EXCEPTION_POINTERS* pExceptionPointers) override; - -uint32_t GetErrorMessage( - char16_t* buffer, - uint32_t bufferLength) override; - -int FilterException( - struct _EXCEPTION_POINTERS* pExceptionPointers) override; - -void ThrowExceptionForJitResult( - JITINTERFACE_HRESULT result) override; - -void ThrowExceptionForHelper( - const CORINFO_HELPER_DESC* throwHelper) override; - bool runWithErrorTrap( ICorJitInfo::errorTrapFunction function, void* parameter) override; @@ -474,9 +475,11 @@ const char16_t* getJitTimeLogFilename() override; mdMethodDef getMethodDefFromMethod( CORINFO_METHOD_HANDLE hMethod) override; -const char* getMethodName( +size_t printMethodName( CORINFO_METHOD_HANDLE ftn, - const char** moduleName) override; + char* buffer, + size_t bufferSize, + size_t* pRequiredBufferSize) override; const char* getMethodNameFromMetadata( CORINFO_METHOD_HANDLE ftn, @@ -487,12 +490,6 @@ const char* getMethodNameFromMetadata( unsigned getMethodHash( CORINFO_METHOD_HANDLE ftn) override; -size_t findNameOfToken( - CORINFO_MODULE_HANDLE moduleHandle, - mdToken token, - char* szFQName, - size_t FQNameCapacity) override; - bool getSystemVAmd64PassStructInRegisterDescriptor( CORINFO_CLASS_HANDLE structHnd, SYSTEMV_AMD64_CORINFO_STRUCT_REG_PASSING_DESCRIPTOR* structPassInRegDescPtr) override; @@ -500,10 +497,10 @@ bool getSystemVAmd64PassStructInRegisterDescriptor( uint32_t getLoongArch64PassStructInRegisterFlags( CORINFO_CLASS_HANDLE structHnd) override; -uint32_t getThreadTLSIndex( - void** ppIndirection) override; +uint32_t getRISCV64PassStructInRegisterFlags( + CORINFO_CLASS_HANDLE structHnd) override; -const void* getInlinedCallFrameVptr( +uint32_t getThreadTLSIndex( void** ppIndirection) override; int32_t* getAddrOfCaptureThreadGlobal( @@ -582,20 +579,22 @@ void getCallInfo( CORINFO_CALLINFO_FLAGS flags, CORINFO_CALL_INFO* pResult) override; -bool canAccessFamily( - CORINFO_METHOD_HANDLE hCaller, - CORINFO_CLASS_HANDLE hInstanceType) override; - -bool isRIDClassDomainID( - CORINFO_CLASS_HANDLE cls) override; - unsigned getClassDomainID( CORINFO_CLASS_HANDLE cls, void** ppIndirection) override; -void* getFieldAddress( +bool getStaticFieldContent( CORINFO_FIELD_HANDLE field, - void** ppIndirection) override; + uint8_t* buffer, + int bufferSize, + int valueOffset, + bool ignoreMovableObjects) override; + +bool getObjectContent( + CORINFO_OBJECT_HANDLE obj, + uint8_t* buffer, + int bufferSize, + int valueOffset) override; CORINFO_CLASS_HANDLE getStaticFieldCurrentClass( CORINFO_FIELD_HANDLE field, @@ -620,10 +619,6 @@ uint32_t getFieldThreadLocalStoreID( CORINFO_FIELD_HANDLE field, void** ppIndirection) override; -void addActiveDependency( - CORINFO_MODULE_HANDLE moduleFrom, - CORINFO_MODULE_HANDLE moduleTo) override; - CORINFO_METHOD_HANDLE GetDelegateCtor( CORINFO_METHOD_HANDLE methHnd, CORINFO_CLASS_HANDLE clsHnd, @@ -713,7 +708,6 @@ void recordRelocation( void* locationRW, void* target, uint16_t fRelocType, - uint16_t slotNum, int32_t addlDelta) override; uint16_t getRelocTypeHint( diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/jiteeversionguid.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/jiteeversionguid.h index 2447d63a10..54ee605f0a 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/jiteeversionguid.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/jiteeversionguid.h @@ -43,13 +43,13 @@ typedef const GUID *LPCGUID; #define GUID_DEFINED #endif // !GUID_DEFINED -constexpr GUID JITEEVersionIdentifier = { /* 6be47e5d-a92b-4d16-9280-f63df646ada4 */ - 0x6be47e5d, - 0xa92b, - 0x4d16, - {0x92, 0x80, 0xf6, 0x3d, 0xf6, 0x46, 0xad, 0xa4} +constexpr GUID JITEEVersionIdentifier = { /* 4bceb905-d550-4a5d-b1eb-276fff68d183 */ + 0x4bceb905, + 0xd550, + 0x4a5d, + {0xb1, 0xeb, 0x27, 0x6f, 0xff, 0x68, 0xd1, 0x83} }; - + ////////////////////////////////////////////////////////////////////////////////////////////////////////// // // END JITEEVersionIdentifier diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/jithelpers.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/jithelpers.h index e897d59232..d34696ac1c 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/jithelpers.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/jithelpers.h @@ -70,19 +70,21 @@ // Allocating a new object JITHELPER(CORINFO_HELP_NEWFAST, JIT_New, CORINFO_HELP_SIG_REG_ONLY) + JITHELPER(CORINFO_HELP_NEWFAST_MAYBEFROZEN, JIT_NewMaybeFrozen,CORINFO_HELP_SIG_REG_ONLY) DYNAMICJITHELPER(CORINFO_HELP_NEWSFAST, JIT_New, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_NEWSFAST_FINALIZE, NULL, CORINFO_HELP_SIG_REG_ONLY) DYNAMICJITHELPER(CORINFO_HELP_NEWSFAST_ALIGN8, JIT_New, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_NEWSFAST_ALIGN8_VC, NULL, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_NEWSFAST_ALIGN8_FINALIZE, NULL, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_NEW_MDARR, JIT_NewMDArr,CORINFO_HELP_SIG_4_STACK) + JITHELPER(CORINFO_HELP_NEW_MDARR_RARE, JIT_NewMDArr,CORINFO_HELP_SIG_4_STACK) JITHELPER(CORINFO_HELP_NEWARR_1_DIRECT, JIT_NewArr1,CORINFO_HELP_SIG_REG_ONLY) + JITHELPER(CORINFO_HELP_NEWARR_1_MAYBEFROZEN, JIT_NewArr1MaybeFrozen,CORINFO_HELP_SIG_REG_ONLY) DYNAMICJITHELPER(CORINFO_HELP_NEWARR_1_OBJ, JIT_NewArr1,CORINFO_HELP_SIG_REG_ONLY) DYNAMICJITHELPER(CORINFO_HELP_NEWARR_1_VC, JIT_NewArr1,CORINFO_HELP_SIG_REG_ONLY) DYNAMICJITHELPER(CORINFO_HELP_NEWARR_1_ALIGN8, JIT_NewArr1,CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_STRCNS, JIT_StrCns, CORINFO_HELP_SIG_REG_ONLY) - JITHELPER(CORINFO_HELP_STRCNS_CURRENT_MODULE, NULL, CORINFO_HELP_SIG_REG_ONLY) // Object model JITHELPER(CORINFO_HELP_INITCLASS, JIT_InitClass, CORINFO_HELP_SIG_REG_ONLY) @@ -173,7 +175,7 @@ JITHELPER(CORINFO_HELP_SETFIELDDOUBLE, JIT_SetFieldDouble,CORINFO_HELP_SIG_8_STACK) JITHELPER(CORINFO_HELP_GETFIELDADDR, JIT_GetFieldAddr,CORINFO_HELP_SIG_REG_ONLY) - + JITHELPER(CORINFO_HELP_GETSTATICFIELDADDR, JIT_GetStaticFieldAddr,CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_GETSTATICFIELDADDR_TLS, NULL, CORINFO_HELP_SIG_CANNOT_USE_ALIGN_STUB) JITHELPER(CORINFO_HELP_GETGENERICS_GCSTATIC_BASE, JIT_GetGenericsGCStaticBase,CORINFO_HELP_SIG_REG_ONLY) @@ -201,8 +203,10 @@ JITHELPER(CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE, JIT_GetSharedNonGCThreadStaticBase, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR, JIT_GetSharedGCThreadStaticBase, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR, JIT_GetSharedNonGCThreadStaticBase, CORINFO_HELP_SIG_REG_ONLY) - JITHELPER(CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_DYNAMICCLASS, JIT_GetSharedGCThreadStaticBaseDynamicClass, CORINFO_HELP_SIG_REG_ONLY) + JITHELPER(CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_DYNAMICCLASS, JIT_GetSharedGCThreadStaticBaseDynamicClass, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_DYNAMICCLASS, JIT_GetSharedNonGCThreadStaticBaseDynamicClass, CORINFO_HELP_SIG_REG_ONLY) + JITHELPER(CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED, JIT_GetSharedGCThreadStaticBaseOptimized, CORINFO_HELP_SIG_REG_ONLY) + JITHELPER(CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED, JIT_GetSharedNonGCThreadStaticBaseOptimized, CORINFO_HELP_SIG_REG_ONLY) // Debugger JITHELPER(CORINFO_HELP_DBG_IS_JUST_MY_CODE, JIT_DbgIsJustMyCode,CORINFO_HELP_SIG_REG_ONLY) @@ -251,15 +255,16 @@ JITHELPER(CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE, JIT_GetRuntimeType, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE_MAYBENULL, JIT_GetRuntimeType_MaybeNull, CORINFO_HELP_SIG_REG_ONLY) - JITHELPER(CORINFO_HELP_ARE_TYPES_EQUIVALENT, NULL, CORINFO_HELP_SIG_REG_ONLY) - JITHELPER(CORINFO_HELP_VIRTUAL_FUNC_PTR, JIT_VirtualFunctionPointer, CORINFO_HELP_SIG_4_STACK) JITHELPER(CORINFO_HELP_READYTORUN_NEW, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) JITHELPER(CORINFO_HELP_READYTORUN_NEWARR_1, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) JITHELPER(CORINFO_HELP_READYTORUN_ISINSTANCEOF, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) JITHELPER(CORINFO_HELP_READYTORUN_CHKCAST, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) - JITHELPER(CORINFO_HELP_READYTORUN_STATIC_BASE, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) + JITHELPER(CORINFO_HELP_READYTORUN_GCSTATIC_BASE, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) + JITHELPER(CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) + JITHELPER(CORINFO_HELP_READYTORUN_THREADSTATIC_BASE, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) + JITHELPER(CORINFO_HELP_READYTORUN_NONGCTHREADSTATIC_BASE, NULL,CORINFO_HELP_SIG_NO_ALIGN_STUB) JITHELPER(CORINFO_HELP_READYTORUN_VIRTUAL_FUNC_PTR, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) JITHELPER(CORINFO_HELP_READYTORUN_GENERIC_HANDLE, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) JITHELPER(CORINFO_HELP_READYTORUN_DELEGATE_CTOR, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) @@ -312,6 +317,7 @@ JITHELPER(CORINFO_HELP_THROW_PLATFORM_NOT_SUPPORTED, JIT_ThrowPlatformNotSupportedException, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_THROW_TYPE_NOT_SUPPORTED, JIT_ThrowTypeNotSupportedException, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_THROW_AMBIGUOUS_RESOLUTION_EXCEPTION, JIT_ThrowAmbiguousResolutionException, CORINFO_HELP_SIG_REG_ONLY) + JITHELPER(CORINFO_HELP_THROW_ENTRYPOINT_NOT_FOUND_EXCEPTION, JIT_ThrowEntryPointNotFoundException, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_JIT_PINVOKE_BEGIN, JIT_PInvokeBegin, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_JIT_PINVOKE_END, JIT_PInvokeEnd, CORINFO_HELP_SIG_REG_ONLY) @@ -323,7 +329,7 @@ JITHELPER(CORINFO_HELP_GVMLOOKUP_FOR_SLOT, NULL, CORINFO_HELP_SIG_NO_ALIGN_STUB) -#if !defined(TARGET_ARM64) && !defined(TARGET_LOONGARCH64) +#if !defined(TARGET_ARM64) && !defined(TARGET_LOONGARCH64) && !defined(TARGET_RISCV64) JITHELPER(CORINFO_HELP_STACK_PROBE, JIT_StackProbe, CORINFO_HELP_SIG_REG_ONLY) #else JITHELPER(CORINFO_HELP_STACK_PROBE, NULL, CORINFO_HELP_SIG_UNDEF) @@ -338,6 +344,8 @@ JITHELPER(CORINFO_HELP_DELEGATEPROFILE64, JIT_DelegateProfile64, CORINFO_HELP_SIG_REG_ONLY) JITHELPER(CORINFO_HELP_VTABLEPROFILE32, JIT_VTableProfile32, CORINFO_HELP_SIG_4_STACK) JITHELPER(CORINFO_HELP_VTABLEPROFILE64, JIT_VTableProfile64, CORINFO_HELP_SIG_4_STACK) + JITHELPER(CORINFO_HELP_COUNTPROFILE32, JIT_CountProfile32, CORINFO_HELP_SIG_REG_ONLY) + JITHELPER(CORINFO_HELP_COUNTPROFILE64, JIT_CountProfile64, CORINFO_HELP_SIG_REG_ONLY) #if defined(TARGET_AMD64) || defined(TARGET_ARM64) JITHELPER(CORINFO_HELP_VALIDATE_INDIRECT_CALL, JIT_ValidateIndirectCall, CORINFO_HELP_SIG_REG_ONLY) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/llvm/ELF.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/llvm/ELF.h index b38ecf9eba..4cc44d1d26 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/llvm/ELF.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/llvm/ELF.h @@ -343,6 +343,7 @@ enum { EM_NORC = 218, // Nanoradio Optimized RISC EM_CSR_KALIMBA = 219, // CSR Kalimba architecture family EM_AMDGPU = 224, // AMD GPU architecture + EM_RISCV = 243, EM_LOONGARCH = 258, // LoongArch processor // A request has been made to the maintainer of the official registry for diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/loaderheap.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/loaderheap.h index d310d17fb6..216668315c 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/loaderheap.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/loaderheap.h @@ -154,6 +154,17 @@ struct LoaderHeapEvent; +// When an interleaved LoaderHeap is constructed, this is the interleaving size +inline UINT32 GetStubCodePageSize() +{ +#if defined(TARGET_ARM64) && defined(TARGET_UNIX) + return max(16*1024, GetOsPageSize()); +#elif defined(TARGET_ARM) + return 4096; // ARM is special as the 32bit instruction set does not easily permit a 16KB offset +#else + return 16*1024; +#endif +} @@ -185,6 +196,7 @@ class UnlockedLoaderHeap { #ifdef _DEBUG friend class LoaderHeapSniffer; + friend struct LoaderHeapFreeBlock; #endif #ifdef DACCESS_COMPILE @@ -276,7 +288,7 @@ class UnlockedLoaderHeap public: BOOL m_fExplicitControl; // Am I a LoaderHeap or an ExplicitControlLoaderHeap? - void (*m_codePageGenerator)(BYTE* pageBase, BYTE* pageBaseRX); + void (*m_codePageGenerator)(BYTE* pageBase, BYTE* pageBaseRX, SIZE_T size); #ifdef DACCESS_COMPILE public: @@ -298,7 +310,7 @@ class UnlockedLoaderHeap SIZE_T dwReservedRegionSize, RangeList *pRangeList = NULL, HeapKind kind = HeapKind::Data, - void (*codePageGenerator)(BYTE* pageBase, BYTE* pageBaseRX) = NULL, + void (*codePageGenerator)(BYTE* pageBase, BYTE* pageBaseRX, SIZE_T size) = NULL, DWORD dwGranularity = 1); ~UnlockedLoaderHeap(); @@ -327,6 +339,9 @@ class UnlockedLoaderHeap // has run out, reserve another set of pages BOOL GetMoreCommittedPages(size_t dwMinSize); + // Commit memory pages starting at the specified adress + BOOL CommitPages(void* pData, size_t dwSizeToCommitPart); + protected: // Reserve some pages at any address BOOL UnlockedReservePages(size_t dwCommitBlockSize); @@ -464,7 +479,7 @@ class LoaderHeap : public UnlockedLoaderHeap, public ILoaderHeapBackout RangeList *pRangeList = NULL, UnlockedLoaderHeap::HeapKind kind = UnlockedLoaderHeap::HeapKind::Data, BOOL fUnlocked = FALSE, - void (*codePageGenerator)(BYTE* pageBase, BYTE* pageBaseRX) = NULL, + void (*codePageGenerator)(BYTE* pageBase, BYTE* pageBaseRX, SIZE_T size) = NULL, DWORD dwGranularity = 1 ) : UnlockedLoaderHeap(dwReserveBlockSize, @@ -488,7 +503,7 @@ class LoaderHeap : public UnlockedLoaderHeap, public ILoaderHeapBackout RangeList *pRangeList = NULL, UnlockedLoaderHeap::HeapKind kind = UnlockedLoaderHeap::HeapKind::Data, BOOL fUnlocked = FALSE, - void (*codePageGenerator)(BYTE* pageBase, BYTE* pageBaseRX) = NULL, + void (*codePageGenerator)(BYTE* pageBase, BYTE* pageBaseRX, SIZE_T size) = NULL, DWORD dwGranularity = 1 ) : UnlockedLoaderHeap(dwReserveBlockSize, diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/log.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/log.h index cc61d9cee2..31919219c8 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/log.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/log.h @@ -86,11 +86,36 @@ bool LoggingEnabled(); bool LoggingOn(DWORD facility, DWORD level); bool Logging2On(DWORD facility, DWORD level); -#define LOG(x) do { if (LoggingEnabled()) { LogSpew x; } } while (0) +#ifdef DACCESS_COMPILE + +/* + * + * Logging for the DAC is an incomplete feature, see more in + * https://github.com/dotnet/runtime/issues/77922 + * + * As of now, logging need to be opt-in. Any logging done through + * DAC_LOG (or it variants) will be available in the log for both the runtime and the DAC build + * And the normal LOG macro will be available only for the runtime. + * + */ + +#define LOG(x) do { } while (0) +#define LOG2(x) do { } while (0) +#define LOGALWAYS(x) do { } while (0) +#define DAC_LOG(x) do { if (LoggingEnabled()) { LogSpew x; } } while (0) +#define DAC_LOG2(x) do { if (LoggingEnabled()) { LogSpew2 x; } } while (0) +#define DAC_LOGALWAYS(x) LogSpewAlways x + +#else + +#define LOG(x) do { if (LoggingEnabled()) { LogSpew x; } } while (0) +#define LOG2(x) do { if (LoggingEnabled()) { LogSpew2 x; } } while (0) +#define LOGALWAYS(x) LogSpewAlways x +#define DAC_LOG(x) LOG(x) +#define DAC_LOG2(x) LOG2(x) +#define DAC_LOGALWAYS(x) LOGALWAYS(x) -#define LOG2(x) do { if (LoggingEnabled()) { LogSpew2 x; } } while (0) - -#define LOGALWAYS(x) LogSpewAlways x +#endif #endif diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/longfilepathwrappers.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/longfilepathwrappers.h index 3bcac98d59..ee394aa0b7 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/longfilepathwrappers.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/longfilepathwrappers.h @@ -5,6 +5,8 @@ #define _WIN_PATH_APIS_WRAPPER_ class SString; +#ifdef HOST_WINDOWS + HMODULE LoadLibraryExWrapper( _In_ LPCWSTR lpLibFileName, @@ -34,12 +36,7 @@ GetFileAttributesExWrapper( _In_ GET_FILEEX_INFO_LEVELS fInfoLevelId, _Out_writes_bytes_(sizeof(WIN32_FILE_ATTRIBUTE_DATA)) LPVOID lpFileInformation ); -BOOL -DeleteFileWrapper( - _In_ LPCWSTR lpFileName - ); -#ifndef HOST_UNIX BOOL CopyFileExWrapper( _In_ LPCWSTR lpExistingFileName, @@ -50,7 +47,7 @@ CopyFileExWrapper( _Inout_opt_ LPBOOL pbCancel, _In_ DWORD dwCopyFlags ); -#endif //HOST_UNIX +#endif //HOST_WINDOWS DWORD SearchPathWrapper( @@ -66,10 +63,6 @@ DWORD WINAPI GetTempPathWrapper( SString& lpBuffer ); -DWORD WINAPI GetCurrentDirectoryWrapper( - SString& lpBuffer - ); - DWORD GetModuleFileNameWrapper( _In_opt_ HMODULE hModule, diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/mdcommon.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/mdcommon.h index e1c816d5dc..dc76c5cb9c 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/mdcommon.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/mdcommon.h @@ -13,12 +13,9 @@ // File types for the database. enum FILETYPE { - FILETYPE_UNKNOWN, // Unknown or undefined type. - FILETYPE_CLB, // Native .clb file format. - FILETYPE_CLX, // An obsolete file format. - FILETYPE_NTPE, // Windows PE executable. - FILETYPE_NTOBJ, // .obj file format (with .clb embedded). - FILETYPE_TLB // Typelib format. + FILETYPE_UNKNOWN, // Unknown or undefined type. + FILETYPE_CLB, // Native .clb file format. + FILETYPE_NTPE, // Windows PE executable. }; enum MAPPINGTYPE diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/metadatatracker.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/metadatatracker.h deleted file mode 100644 index 84142ab21b..0000000000 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/metadatatracker.h +++ /dev/null @@ -1,349 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#ifndef _METADATATRACKER_H_ -#define _METADATATRACKER_H_ - -#if METADATATRACKER_ENABLED - -#define METADATATRACKER_ONLY(s) (s) - -#include "winbase.h" -#include "winwrap.h" -#include "holder.h" -#include "contract.h" -#include -#include -#include -#include "stdmacros.h" - -#include "metamodelpub.h" - -#define NUM_MD_SECTIONS (TBL_COUNT + MDPoolCount) - -#define STRING_POOL (TBL_COUNT + MDPoolStrings) -#define GUID_POOL (TBL_COUNT + MDPoolGuids) -#define BLOB_POOL (TBL_COUNT + MDPoolBlobs) -#define USERSTRING_POOL (TBL_COUNT + MDPoolUSBlobs) - -class MetaDataTracker -{ - LPWSTR m_ModuleName; - BYTE *m_MetadataBase; - SIZE_T m_MetadataSize; - MetaDataTracker *m_next; - - BYTE *m_mdSections[NUM_MD_SECTIONS]; - SIZE_T m_mdSectionSize[NUM_MD_SECTIONS]; - SIZE_T m_mdSectionRowSize[NUM_MD_SECTIONS]; - BOOL m_bActivated; - - static BOOL s_bEnabled; - - static MetaDataTracker *m_MDTrackers; - -public: - // callback into IBCLogger.cpp. Done this crummy way because we can't include IBCLogger.h here nor link - // to IBCLogger.cpp - static void (*s_IBCLogMetaDataAccess)(const void *addr); - static void (*s_IBCLogMetaDataSearch)(const void *result); - - MetaDataTracker(BYTE *baseAddress, DWORD mdSize, LPCWSTR modName) - { - CONTRACTL - { - CONSTRUCTOR_CHECK; - THROWS; - GC_NOTRIGGER; - INJECT_FAULT(ThrowOutOfMemory()); - } - CONTRACTL_END; - - m_ModuleName = NULL; - - size_t len = wcslen(modName); - m_ModuleName = new WCHAR[len + 1]; - NewArrayHolder moduleNameHolder(m_ModuleName); - wcscpy_s((WCHAR *)m_ModuleName, len + 1, (WCHAR *)modName); - - m_MetadataBase = baseAddress; - m_MetadataSize = mdSize; - - m_next = m_MDTrackers; - m_MDTrackers = this; - - memset (m_mdSections, 0, NUM_MD_SECTIONS*sizeof(BYTE*)); - memset (m_mdSectionSize, 0, NUM_MD_SECTIONS*sizeof(SIZE_T)); - - moduleNameHolder.SuppressRelease(); - } - - ~MetaDataTracker() - { - CONTRACTL - { - DESTRUCTOR_CHECK; - NOTHROW; - GC_NOTRIGGER; - FORBID_FAULT; - } - CONTRACTL_END; - - // Surely if we are dying, we are being deactivated as well - Deactivate(); - - if (m_ModuleName) - delete m_ModuleName; - - // Remove this tracker from the global list of trackers - - MetaDataTracker *mdMod = m_MDTrackers; - - _ASSERTE (mdMod && "Trying to delete metadata tracker where none exist"); - - // If ours is the first tracker - if (mdMod == this) - { - m_MDTrackers = mdMod->m_next; - mdMod->m_next = NULL; - } - else - { - // Now traverse thru the list and maintain the prev ptr. - MetaDataTracker *mdModPrev = mdMod; - mdMod = mdMod->m_next; - while(mdMod) - { - if (mdMod == this) - { - mdModPrev->m_next = mdMod->m_next; - mdMod->m_next = NULL; - break; - } - mdModPrev = mdMod; - mdMod = mdMod->m_next; - } - } - } - - static void Enable() - { LIMITED_METHOD_CONTRACT; - s_bEnabled = TRUE; - } - - static void Disable() - { LIMITED_METHOD_CONTRACT; - s_bEnabled = FALSE; - } - - static BOOL Enabled() - { LIMITED_METHOD_CONTRACT; - return s_bEnabled; - } - - static void NoteSection(DWORD secNum, void *address, size_t size, size_t rowSize) - { - STATIC_CONTRACT_NOTHROW; - STATIC_CONTRACT_GC_NOTRIGGER; - - if (!Enabled()) - return; - - MetaDataTracker *mdMod = m_MDTrackers; - while( mdMod) - { - if (mdMod->NoteSectionInModule(secNum, address, size, rowSize)) - return; - - mdMod = mdMod->m_next; - } - } - - // With logging disabled this quickly returns the address that was passed in - // this allows us to inline a smaller amount of code at callsites. - __forceinline static void* NoteAccess(void *address) - { - WRAPPER_NO_CONTRACT; - - if (!Enabled()) - return address; - - return NoteAccessWorker(address); - } - - NOINLINE static void* NoteAccessWorker(void *address) - { - STATIC_CONTRACT_NOTHROW; - STATIC_CONTRACT_GC_NOTRIGGER; - - if (s_IBCLogMetaDataAccess != NULL) - s_IBCLogMetaDataAccess(address); - - return address; - } - - __forceinline static void NoteSearch(void *result) - { - WRAPPER_NO_CONTRACT; - - if (!Enabled()) - return; - - NoteSearchWorker(result); - } - - NOINLINE static void NoteSearchWorker(void *result) - { - STATIC_CONTRACT_NOTHROW; - STATIC_CONTRACT_GC_NOTRIGGER; - - if (s_IBCLogMetaDataSearch != NULL && result != NULL) - s_IBCLogMetaDataSearch(result); - } - - static MetaDataTracker * FindTracker(BYTE *_MDBaseAddress) - { - LIMITED_METHOD_CONTRACT; - - if (!Enabled()) - return NULL; - - MetaDataTracker *mdMod = m_MDTrackers; - while( mdMod) - { - if (mdMod->m_MetadataBase == _MDBaseAddress) - return mdMod; - - mdMod = mdMod->m_next; - } - - return NULL; - } - - void Activate() - { - LIMITED_METHOD_CONTRACT; - - m_bActivated = TRUE; - } - - void Deactivate() - { - LIMITED_METHOD_CONTRACT; - - m_bActivated = FALSE; - } - - BOOL IsActivated() - { - LIMITED_METHOD_CONTRACT; - - return m_bActivated; - } - - static MetaDataTracker *GetOrCreateMetaDataTracker (BYTE *baseAddress, DWORD mdSize, LPCWSTR modName) - { - CONTRACT(MetaDataTracker *) - { - THROWS; - GC_NOTRIGGER; - INJECT_FAULT(ThrowOutOfMemory()); - POSTCONDITION(CheckPointer(RETVAL, NULL_OK)); - } - CONTRACT_END; - - MetaDataTracker *pTracker = NULL; - - if (MetaDataTracker::Enabled()) - { - pTracker = MetaDataTracker::FindTracker(baseAddress); - if (!pTracker) - { - FAULT_NOT_FATAL(); // It's ok - an OOM here is nonfatal - pTracker = new MetaDataTracker(baseAddress, mdSize, modName); - } - pTracker->Activate(); - } - - RETURN pTracker; - } - - // Map a metadata address to a token for the purposes of the IBCLogger - static mdToken MapAddrToToken(const void *addr) - { - WRAPPER_NO_CONTRACT; - - mdToken token = 0; - for (MetaDataTracker *mdMod = m_MDTrackers; mdMod; mdMod = mdMod->m_next) - { - token = mdMod->MapAddrToTokenInModule(addr); - if (token != 0) - break; - } - return token; - } - - -private: - - // *************************************************************************** - // Helper functions - // *************************************************************************** - - BOOL NoteSectionInModule(DWORD secNum, void *address, size_t size, size_t rowSize) - { - WRAPPER_NO_CONTRACT; - - PREFAST_ASSUME(secNum < NUM_MD_SECTIONS); - - if (address < m_MetadataBase || address >= (m_MetadataBase + m_MetadataSize)) - return FALSE; - - // This address range belongs to us but the tracker is not activated. - if (!IsActivated()) - { - // _ASSERTE (!"Metadata Tracker not active but trying to access metadata"); - return TRUE; - } - - m_mdSections[secNum] = (BYTE *)address; - m_mdSectionSize[secNum] = size; - m_mdSectionRowSize[secNum] = rowSize; - - return TRUE; - } - - // Map a metadata address to a fake token for the purposes of the IBCLogger - mdToken MapAddrToTokenInModule(const void *addr) - { - LIMITED_METHOD_CONTRACT; - - if (!IsActivated()) - return 0; - - BYTE *address = (BYTE *)addr; - - if (address < m_MetadataBase || address >= (m_MetadataBase + m_MetadataSize)) - return 0; - - for (DWORD secNum = 0; secNum < NUM_MD_SECTIONS; secNum++) - { - if ((address >= m_mdSections[secNum]) && (address < m_mdSections[secNum] + m_mdSectionSize[secNum])) - { - DWORD rid = (DWORD)((address - m_mdSections[secNum])/m_mdSectionRowSize[secNum]); - if (secNum < TBL_COUNT) - rid++; - return TokenFromRid(rid, (secNum<<24)); - } - } - return 0; - } -}; - -#else // METADATATRACKER_ENABLED - -#define METADATATRACKER_ONLY(s) - -#endif // METADATATRACKER_ENABLED - -#endif // _METADATATRACKER_H_ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/nsutilpriv.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/nsutilpriv.h index 5ea9d0eba2..238b34618b 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/nsutilpriv.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/nsutilpriv.h @@ -208,8 +208,6 @@ void MakeNestedTypeName( // throws on out of memory #define ASSEMBLY_SEPARATOR_STR ", " #define ASSEMBLY_SEPARATOR_WSTR W(", ") #define ASSEMBLY_SEPARATOR_LEN 2 -#define BACKSLASH_CHAR '\\' -#define BACKSLASH_WCHAR W('\\') #define NESTED_SEPARATOR_CHAR '+' #define NESTED_SEPARATOR_WCHAR W('+') #define NESTED_SEPARATOR_STR "+" diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/obj/i386/dummy b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/obj/i386/dummy new file mode 100644 index 0000000000..4d6a3b44f4 --- /dev/null +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/obj/i386/dummy @@ -0,0 +1 @@ +ECHO is on. diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ostype.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ostype.h index 78494c71c2..58a8f726d5 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ostype.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/ostype.h @@ -14,12 +14,9 @@ //***************************************************************************** // Enum to track which version of the OS we are running -// Note that NT5 (Win2k) is the minimum supported platform. Any code using +// Note that Win7 is the minimum supported platform. Any code using // utilcode (which includes the CLR's execution engine) will fail to start -// on a pre-Win2k platform. This is enforced by InitRunningOnVersionStatus. -// -// Note: The value is used for data mining from links clicked by user in shim dialog - see code:FWLinkTemplateFromTextID -// Please do not modify existing values, adding new ones is fine. +// on a pre-Win7 platform. This is enforced by InitRunningOnVersionStatus. //***************************************************************************** typedef enum { RUNNING_ON_STATUS_UNINITED = 0, diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/outstring.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/outstring.h index 165c6d8f35..abd69cb589 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/outstring.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/outstring.h @@ -73,7 +73,7 @@ class OutString { } OutString& operator<<(const WCHAR* str) { - size_t len = wcslen(str); + size_t len = u16_strlen(str); if (cur+len > end) Realloc(len); while(str != 0) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pedecoder.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pedecoder.h index 17baa64830..efd0555a4f 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pedecoder.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pedecoder.h @@ -87,6 +87,8 @@ inline CHECK CheckOverflow(RVA value1, COUNT_T value2) #define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_POWERPC #elif defined(TARGET_S390X) #define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_UNKNOWN +#elif defined(TARGET_RISCV64) +#define IMAGE_FILE_MACHINE_NATIVE IMAGE_FILE_MACHINE_RISCV64 #else #error "port me" #endif @@ -177,8 +179,6 @@ class PEDecoder DWORD GetCheckSum() const; WORD GetMachine() const; WORD GetCharacteristics() const; - DWORD GetFileAlignment() const; - DWORD GetSectionAlignment() const; SIZE_T GetSizeOfStackReserve() const; SIZE_T GetSizeOfStackCommit() const; SIZE_T GetSizeOfHeapReserve() const; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pedecoder.inl b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pedecoder.inl index ea2440058f..9b3c9c4723 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pedecoder.inl +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pedecoder.inl @@ -383,36 +383,6 @@ inline DWORD PEDecoder::GetCheckSum() const return VAL32(FindNTHeaders()->OptionalHeader.CheckSum); } -inline DWORD PEDecoder::GetFileAlignment() const -{ - CONTRACTL - { - INSTANCE_CHECK; - PRECONDITION(CheckNTHeaders()); - NOTHROW; - GC_NOTRIGGER; - } - CONTRACTL_END; - - //even though some data in OptionalHeader is different for 32 and 64, this field is the same - return VAL32(FindNTHeaders()->OptionalHeader.FileAlignment); -} - -inline DWORD PEDecoder::GetSectionAlignment() const -{ - CONTRACTL - { - INSTANCE_CHECK; - PRECONDITION(CheckNTHeaders()); - NOTHROW; - GC_NOTRIGGER; - } - CONTRACTL_END; - - //even though some data in OptionalHeader is different for 32 and 64, this field is the same - return VAL32(FindNTHeaders()->OptionalHeader.SectionAlignment); -} - inline WORD PEDecoder::GetMachine() const { CONTRACTL diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pesectionman.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pesectionman.h index 042a5dfc26..79e70c7dc9 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pesectionman.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/pesectionman.h @@ -38,8 +38,6 @@ class PESectionMan // Apply all the relocs for in memory conversion HRESULT applyRelocs(CeeGenTokenMapper *pTokenMapper); - HRESULT cloneInstance(PESectionMan *destination); - protected: // Finds section with given name. returns 0 if not found @@ -142,9 +140,6 @@ class PESection : public CeeSectionImpl { // computes an offset as if this were an array virtual unsigned computeOffset(_In_ char *ptr) const; - // Make 'destination' a copy of the current PESection - HRESULT cloneInstance(PESection *destination); - // Cause the section to allocate memory in smaller chunks void SetInitialGrowth(unsigned growth); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readme.md b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readme.md index 4b7e1f416c..bb685385d0 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readme.md +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readme.md @@ -1,18 +1,13 @@ # Updating idl files -This directory has a variety of .idl files (such as corprof.idl) that need -a little special handling when you make changes. Originally when we built -on Windows only the build rules would automatically convert the idls into -corresponding .h/.c files and include them in compilations. On non-windows -platforms we don't have an equivalent +This directory has a variety of .idl files (such as corprof.idl) that need a little special handling when you make changes. Originally when we built on Windows only +the build rules would automatically convert the idls into corresponding .h/.c files and include them in compilations. On non-windows platforms we don't have an equivalent for midl.exe which did that conversion so we work around the issue by doing: - Build on Windows as normal, which will generate files in `artifacts\obj\windows.x64.Debug\inc\idls_out\` - Copy any updated headers into `src\coreclr\pal\prebuilt\inc\` -- If needed, adjust any of the .cpp files in `src\coreclr\pal\prebuilt\idl\` - by hand, using the corresponding - `artifacts\obj\windows.x64.Debug\inc\idls_out\*_i.c` as a guide. -- Typically this is just adding `MIDL_DEFINE_GUID(...)` - for any new classes/interfaces that have been added to the idl file. +- If needed, adjust any of the .cpp files in `src\coreclr\pal\prebuilt\idl\` by hand, using the corresponding `artifacts\obj\windows.x64.Debug\inc\idls_out\*_i.c` as a guide. + - Typically +this is just adding `MIDL_DEFINE_GUID(...)` for any new classes/interfaces that have been added to the idl file. Include these src changes with the remainder of your work when you submit a PR. diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytorun.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytorun.h index 20a1462125..3e5e4ff500 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytorun.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytorun.h @@ -14,11 +14,13 @@ #define READYTORUN_SIGNATURE 0x00525452 // 'RTR' -// Keep these in sync with src/coreclr/tools/Common/Internal/Runtime/ModuleHeaders.cs -#define READYTORUN_MAJOR_VERSION 0x0008 -#define READYTORUN_MINOR_VERSION 0x0000 +// Keep these in sync with +// src/coreclr/tools/Common/Internal/Runtime/ModuleHeaders.cs +// src/coreclr/nativeaot/Runtime/inc/ModuleHeaders.h +#define READYTORUN_MAJOR_VERSION 0x0009 +#define READYTORUN_MINOR_VERSION 0x0001 -#define MINIMUM_READYTORUN_MAJOR_VERSION 0x008 +#define MINIMUM_READYTORUN_MAJOR_VERSION 0x009 // R2R Version 2.1 adds the InliningInfo section // R2R Version 2.2 adds the ProfileDataInfo section @@ -27,6 +29,8 @@ // R2R Version 6.0 changes managed layout for sequential types with any unmanaged non-blittable fields. // R2R 6.0 is not backward compatible with 5.x or earlier. // R2R Version 8.0 Changes the alignment of the Int128 type +// R2R Version 9.0 adds support for the Vector512 type +// R2R Version 9.1 adds new helpers to allocate objects on frozen segments struct READYTORUN_CORE_HEADER { @@ -87,6 +91,10 @@ enum class ReadyToRunSectionType : uint32_t PgoInstrumentationData = 117, // Added in V5.2 ManifestAssemblyMvids = 118, // Added in V5.3 CrossModuleInlineInfo = 119, // Added in V6.2 + HotColdMap = 120, // Added in V8.0 + MethodIsGenericMap = 121, // Added in V9.0 + EnclosingTypeMap = 122, // Added in V9.0 + TypeGenericInfoMap = 123, // Added in V9.0 // If you add a new section consider whether it is a breaking or non-breaking change. // Usually it is non-breaking, but if it is preferable to have older runtimes fail @@ -116,6 +124,28 @@ enum class ReadyToRunImportSectionFlags : uint16_t PCode = 0x0004, // Section contains pointers to code }; +// All values in this enum should within a nibble (4 bits). +enum class ReadyToRunTypeGenericInfo : uint8_t +{ + GenericCountMask = 0x3, + HasConstraints = 0x4, + HasVariance = 0x8, +}; + +// All values in this enum should fit within 2 bits. +enum class ReadyToRunGenericInfoGenericCount : uint32_t +{ + Zero = 0, + One = 1, + Two = 2, + MoreThanTwo = 3 +}; + +enum class ReadyToRunEnclosingTypeMap +{ + MaxTypeCount = 0xFFFE +}; + // // READYTORUN_IMPORT_SECTION describes image range with references to code or runtime data structures // @@ -331,6 +361,8 @@ enum ReadyToRunHelper READYTORUN_HELPER_GenericNonGcTlsBase = 0x67, READYTORUN_HELPER_VirtualFuncPtr = 0x68, READYTORUN_HELPER_IsInstanceOfException = 0x69, + READYTORUN_HELPER_NewMaybeFrozenArray = 0x6A, + READYTORUN_HELPER_NewMaybeFrozenObject = 0x6B, // Long mul/div/shift ops READYTORUN_HELPER_LMul = 0xC0, diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytorunhelpers.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytorunhelpers.h index b9d904b9c4..8691f9b9cb 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytorunhelpers.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytorunhelpers.h @@ -55,6 +55,8 @@ HELPER(READYTORUN_HELPER_GenericNonGcTlsBase, CORINFO_HELP_GETGENERICS_NON HELPER(READYTORUN_HELPER_VirtualFuncPtr, CORINFO_HELP_VIRTUAL_FUNC_PTR, ) HELPER(READYTORUN_HELPER_IsInstanceOfException, CORINFO_HELP_ISINSTANCEOF_EXCEPTION, ) +HELPER(READYTORUN_HELPER_NewMaybeFrozenArray, CORINFO_HELP_NEWARR_1_MAYBEFROZEN, ) +HELPER(READYTORUN_HELPER_NewMaybeFrozenObject, CORINFO_HELP_NEWFAST_MAYBEFROZEN, ) HELPER(READYTORUN_HELPER_LMul, CORINFO_HELP_LMUL, ) HELPER(READYTORUN_HELPER_LMulOfv, CORINFO_HELP_LMUL_OVF, ) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytoruninstructionset.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytoruninstructionset.h index 658d66b806..0a9a78e03f 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytoruninstructionset.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/readytoruninstructionset.h @@ -37,6 +37,19 @@ enum ReadyToRunInstructionSet READYTORUN_INSTRUCTION_Rcpc=26, READYTORUN_INSTRUCTION_Movbe=27, READYTORUN_INSTRUCTION_X86Serialize=28, + READYTORUN_INSTRUCTION_Avx512F=29, + READYTORUN_INSTRUCTION_Avx512F_VL=30, + READYTORUN_INSTRUCTION_Avx512BW=31, + READYTORUN_INSTRUCTION_Avx512BW_VL=32, + READYTORUN_INSTRUCTION_Avx512CD=33, + READYTORUN_INSTRUCTION_Avx512CD_VL=34, + READYTORUN_INSTRUCTION_Avx512DQ=35, + READYTORUN_INSTRUCTION_Avx512DQ_VL=36, + READYTORUN_INSTRUCTION_Avx512Vbmi=37, + READYTORUN_INSTRUCTION_Avx512Vbmi_VL=38, + READYTORUN_INSTRUCTION_VectorT128=39, + READYTORUN_INSTRUCTION_VectorT256=40, + READYTORUN_INSTRUCTION_VectorT512=41, }; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/regdisp.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/regdisp.h index 7a51ec54e2..3f774f54a8 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/regdisp.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/regdisp.h @@ -210,6 +210,28 @@ typedef struct _Loongarch64VolatileContextPointer } Loongarch64VolatileContextPointer; #endif +#if defined(TARGET_RISCV64) +typedef struct _Riscv64VolatileContextPointer +{ + PDWORD64 R0; + PDWORD64 A0; + PDWORD64 A1; + PDWORD64 A2; + PDWORD64 A3; + PDWORD64 A4; + PDWORD64 A5; + PDWORD64 A6; + PDWORD64 A7; + PDWORD64 T0; + PDWORD64 T1; + PDWORD64 T2; + PDWORD64 T3; + PDWORD64 T4; + PDWORD64 T5; + PDWORD64 T6; +} Riscv64VolatileContextPointer; +#endif + struct REGDISPLAY : public REGDISPLAY_BASE { #ifdef TARGET_ARM64 Arm64VolatileContextPointer volatileCurrContextPointers; @@ -219,6 +241,10 @@ struct REGDISPLAY : public REGDISPLAY_BASE { Loongarch64VolatileContextPointer volatileCurrContextPointers; #endif +#ifdef TARGET_RISCV64 + Riscv64VolatileContextPointer volatileCurrContextPointers; +#endif + REGDISPLAY() { // Initialize @@ -329,6 +355,8 @@ inline LPVOID GetRegdisplayReturnValue(REGDISPLAY *display) return (LPVOID)display->pCurrentContext->Eax; #elif defined(TARGET_LOONGARCH64) return (LPVOID)display->pCurrentContext->A0; +#elif defined(TARGET_RISCV64) + return (LPVOID)display->pCurrentContext->A0; #else PORTABILITY_ASSERT("GetRegdisplayReturnValue NYI for this platform (Regdisp.h)"); return NULL; @@ -397,7 +425,23 @@ inline void FillContextPointers(PT_KNONVOLATILE_CONTEXT_POINTERS pCtxPtrs, PT_CO { *(&pCtxPtrs->Edi + i) = (&pCtx->Edi + i); } -#else // TARGET_X86 +#elif defined(TARGET_RISCV64) // TARGET_X86 + *(&pCtxPtrs->S1) = &pCtx->S1; + *(&pCtxPtrs->S2) = &pCtx->S2; + *(&pCtxPtrs->S3) = &pCtx->S3; + *(&pCtxPtrs->S4) = &pCtx->S4; + *(&pCtxPtrs->S5) = &pCtx->S5; + *(&pCtxPtrs->S6) = &pCtx->S6; + *(&pCtxPtrs->S7) = &pCtx->S7; + *(&pCtxPtrs->S8) = &pCtx->S8; + *(&pCtxPtrs->S9) = &pCtx->S9; + *(&pCtxPtrs->S10) = &pCtx->S10; + *(&pCtxPtrs->S11) = &pCtx->S11; + *(&pCtxPtrs->Gp) = &pCtx->Gp; + *(&pCtxPtrs->Tp) = &pCtx->Tp; + *(&pCtxPtrs->Fp) = &pCtx->Fp; + *(&pCtxPtrs->Ra) = &pCtx->Ra; +#else // TARGET_RISCV64 PORTABILITY_ASSERT("FillContextPointers"); #endif // _TARGET_???_ (ELSE) } @@ -488,7 +532,23 @@ inline void FillRegDisplay(const PREGDISPLAY pRD, PT_CONTEXT pctx, PT_CONTEXT pC pRD->volatileCurrContextPointers.T7 = &pctx->T7; pRD->volatileCurrContextPointers.T8 = &pctx->T8; pRD->volatileCurrContextPointers.X0 = &pctx->X0; -#endif // TARGET_LOONGARCH64 +#elif defined(TARGET_RISCV64) // TARGET_LOONGARCH64 + pRD->volatileCurrContextPointers.A0 = &pctx->A0; + pRD->volatileCurrContextPointers.A1 = &pctx->A1; + pRD->volatileCurrContextPointers.A2 = &pctx->A2; + pRD->volatileCurrContextPointers.A3 = &pctx->A3; + pRD->volatileCurrContextPointers.A4 = &pctx->A4; + pRD->volatileCurrContextPointers.A5 = &pctx->A5; + pRD->volatileCurrContextPointers.A6 = &pctx->A6; + pRD->volatileCurrContextPointers.A7 = &pctx->A7; + pRD->volatileCurrContextPointers.T0 = &pctx->T0; + pRD->volatileCurrContextPointers.T1 = &pctx->T1; + pRD->volatileCurrContextPointers.T2 = &pctx->T2; + pRD->volatileCurrContextPointers.T3 = &pctx->T3; + pRD->volatileCurrContextPointers.T4 = &pctx->T4; + pRD->volatileCurrContextPointers.T5 = &pctx->T5; + pRD->volatileCurrContextPointers.T6 = &pctx->T6; +#endif // TARGET_RISCV64 #ifdef DEBUG_REGDISPLAY pRD->_pThread = NULL; @@ -561,7 +621,7 @@ inline size_t * getRegAddr (unsigned regNum, PTR_CONTEXT regs) return (PTR_size_t)(PTR_BYTE(regs) + OFFSET_OF_REGISTERS[regNum]); #elif defined(TARGET_AMD64) _ASSERTE(regNum < 16); - return ®s->Rax + regNum; + return (size_t *)®s->Rax + regNum; #elif defined(TARGET_ARM) _ASSERTE(regNum < 16); return (size_t *)®s->R0 + regNum; @@ -571,6 +631,9 @@ inline size_t * getRegAddr (unsigned regNum, PTR_CONTEXT regs) #elif defined(TARGET_LOONGARCH64) _ASSERTE(regNum < 32); return (size_t *)®s->R0 + regNum; +#elif defined(TARGET_RISCV64) + _ASSERTE(regNum < 32); + return (size_t *)®s->R0 + regNum; #else _ASSERTE(!"@TODO Port - getRegAddr (Regdisp.h)"); #endif diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/safemath.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/safemath.h index 3f6d5c5716..fcd51af3de 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/safemath.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/safemath.h @@ -688,6 +688,10 @@ template class ClrSafeInt INDEBUG( mutable bool m_checkedOverflow; ) }; +#if defined(_MSC_VER) && defined(HOST_ARM64) // Workaround for https://github.com/dotnet/runtime/issues/93442 +#pragma optimize("", off) +#endif + template <> inline bool ClrSafeInt::multiply(int64_t lhs, int64_t rhs, int64_t &result) { @@ -874,6 +878,10 @@ inline bool ClrSafeInt::multiply(uint8_t lhs, uint8_t rhs, uint8_t &res return true; } +#if defined(_MSC_VER) && defined(HOST_ARM64) // Workaround for https://github.com/dotnet/runtime/issues/93442 +#pragma optimize("", on) +#endif + // Allows creation of a ClrSafeInt corresponding to the type of the argument. template ClrSafeInt AsClrSafeInt(T t) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sarray.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sarray.h index 29d02e68cb..4987af7d66 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sarray.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sarray.h @@ -70,15 +70,7 @@ class SArray void Append(ELEMENT elem) { WRAPPER_NO_CONTRACT; - *Append() = elem; - } - - ELEMENT AppendEx(ELEMENT elem) - { - WRAPPER_NO_CONTRACT; - - *Append() = elem; - return elem; + *Append() = std::move(elem); } void Insert(const Iterator &i); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sbuffer.inl b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sbuffer.inl index 7ef7795631..53449a18e0 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sbuffer.inl +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sbuffer.inl @@ -258,7 +258,8 @@ inline void SBuffer::Set(const BYTE *buffer, COUNT_T size) // From the code for Resize, this is clearly impossible. PREFIX_ASSUME( (this->m_buffer != NULL) || (size == 0) ); - MoveMemory(m_buffer, buffer, size); + if (size != 0) + MoveMemory(m_buffer, buffer, size); RETURN; } diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/shash.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/shash.h index 815e80ac8e..61361764b8 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/shash.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/shash.h @@ -692,7 +692,7 @@ struct CaseSensitiveStringCompareHash static size_t _strcmp(WCHAR const *left, WCHAR const *right) { - return ::wcscmp(left, right); + return ::u16_strcmp(left, right); } static size_t _hash(CHAR const *str) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sigparser.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sigparser.h index 417660e2df..4446a37e37 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sigparser.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sigparser.h @@ -2,9 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // // sigparser.h -// - -// #ifndef _H_SIGPARSER #define _H_SIGPARSER @@ -716,7 +713,7 @@ class SigParser // the arguments. //------------------------------------------------------------------------ __checkReturn - HRESULT SkipMethodHeaderSignature(uint32_t *pcArgs); + HRESULT SkipMethodHeaderSignature(uint32_t *pcArgs, bool skipReturnType = true); //------------------------------------------------------------------------ // Skip a sub signature (as immediately follows an ELEMENT_TYPE_FNPTR). diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sospriv.idl b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sospriv.idl index 342e902e23..a13760f773 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sospriv.idl +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sospriv.idl @@ -42,11 +42,14 @@ typedef int mdToken; typedef unsigned int size_t; typedef int ModuleMapType; typedef int VCSHeapType; +typedef int LoaderHeapKind; cpp_quote("#endif") cpp_quote("typedef enum { TYPEDEFTOMETHODTABLE, TYPEREFTOMETHODTABLE } ModuleMapType;") -cpp_quote("typedef enum {IndcellHeap, LookupHeap, ResolveHeap, DispatchHeap, CacheEntryHeap} VCSHeapType;") +cpp_quote("typedef enum {IndcellHeap, LookupHeap, ResolveHeap, DispatchHeap, CacheEntryHeap, VtableHeap} VCSHeapType;") +cpp_quote("typedef enum {LoaderHeapKindNormal = 0, LoaderHeapKindExplicitControl = 1} LoaderHeapKind;") +cpp_quote("typedef enum {FreeUnknownRegion = 0, FreeGlobalHugeRegion = 1, FreeGlobalRegion = 2, FreeRegion = 3, FreeSohSegment = 4, FreeUohSegment = 5 } FreeRegionKind;") typedef void (*MODULEMAPTRAVERSE)(UINT index, CLRDATA_ADDRESS methodTable,LPVOID token); typedef void (*VISITHEAP)(CLRDATA_ADDRESS blockData,size_t blockSize,BOOL blockIsCurrentBlock); @@ -170,6 +173,32 @@ interface ISOSStackRefEnum : ISOSEnum } +cpp_quote("#ifndef _SOS_MemoryRegion_") +cpp_quote("#define _SOS_MemoryRegion_") + +typedef struct _SOSMemoryRegion +{ + CLRDATA_ADDRESS Start; + CLRDATA_ADDRESS Size; + CLRDATA_ADDRESS ExtraData; + int Heap; +} SOSMemoryRegion; + +cpp_quote("#endif // _SOS_MemoryRegion_") + +[ + object, + local, + uuid(E4B860EC-337A-40C0-A591-F09A9680690F) +] +interface ISOSMemoryEnum : ISOSEnum +{ + HRESULT Next([in] unsigned int count, + [out, size_is(count), length_is(*pNeeded)] SOSMemoryRegion memRegion[], + [out] unsigned int *pNeeded); +} + + [ object, local, @@ -413,7 +442,7 @@ interface ISOSDacInterface8 : IUnknown // Increment anytime there is a change in the data structures that SOS depends on like // stress log structs (StressMsg, StressLogChunck, ThreadStressLog, etc), exception // stack traces (StackTraceElement), the PredefinedTlsSlots enums, etc. -cpp_quote("#define SOS_BREAKING_CHANGE_VERSION 3") +cpp_quote("#define SOS_BREAKING_CHANGE_VERSION 4") [ object, @@ -459,3 +488,20 @@ interface ISOSDacInterface12 : IUnknown { HRESULT GetGlobalAllocationContext(CLRDATA_ADDRESS* allocPtr, CLRDATA_ADDRESS* allocLimit); } + +[ + object, + local, + uuid(3176a8ed-597b-4f54-a71f-83695c6a8c5e) +] +interface ISOSDacInterface13 : IUnknown +{ + HRESULT TraverseLoaderHeap(CLRDATA_ADDRESS loaderHeapAddr, LoaderHeapKind kind, VISITHEAP pCallback); + HRESULT GetDomainLoaderAllocator(CLRDATA_ADDRESS domainAddress, CLRDATA_ADDRESS *pLoaderAllocator); + HRESULT GetLoaderAllocatorHeapNames(int count, const char **ppNames, int *pNeeded); + HRESULT GetLoaderAllocatorHeaps(CLRDATA_ADDRESS loaderAllocator, int count, CLRDATA_ADDRESS *pLoaderHeaps, LoaderHeapKind *pKinds, int *pNeeded); + HRESULT GetHandleTableMemoryRegions(ISOSMemoryEnum **ppEnum); + HRESULT GetGCBookkeepingMemoryRegions(ISOSMemoryEnum **ppEnum); + HRESULT GetGCFreeRegions(ISOSMemoryEnum **ppEnum); + HRESULT LockedFlush(); +} diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sstring.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sstring.h index c76bcdc4b7..6557ca0d43 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sstring.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sstring.h @@ -518,6 +518,9 @@ class EMPTY_BASES_DECL SString : private SBuffer //Returns the unicode string, the caller is responsible for lifetime of the string WCHAR *GetCopyOfUnicodeString(); + //Returns the UTF8 string, the caller is responsible for the lifetime of the string + UTF8 *GetCopyOfUTF8String(); + // Get the max size that can be passed to OpenUnicodeBuffer without causing allocations. COUNT_T GetUnicodeAllocation(); @@ -562,16 +565,11 @@ class EMPTY_BASES_DECL SString : private SBuffer // Utilities //--------------------------------------------------------------------- - // WARNING: The MBCS version of printf function are factory for globalization - // issues when used to format Unicode strings (%S). The Unicode versions are - // preferred in this case. void Printf(const CHAR *format, ...); void VPrintf(const CHAR *format, va_list args); void AppendPrintf(const CHAR *format, ...); void AppendVPrintf(const CHAR *format, va_list args); - void Printf(const WCHAR *format, ...); - public: BOOL LoadResource(CCompRC::ResourceCategory eCategory, int resourceID); HRESULT LoadResourceAndReturnHR(CCompRC::ResourceCategory eCategory, int resourceID); @@ -621,11 +619,11 @@ class EMPTY_BASES_DECL SString : private SBuffer #endif // CHECK_INVARIANTS // Helpers for CRT function equivalance. - static int __cdecl _stricmp(const CHAR *buffer1, const CHAR *buffer2); - static int __cdecl _strnicmp(const CHAR *buffer1, const CHAR *buffer2, COUNT_T count); + static int _stricmp(const CHAR *buffer1, const CHAR *buffer2); + static int _strnicmp(const CHAR *buffer1, const CHAR *buffer2, COUNT_T count); - static int __cdecl _wcsicmp(const WCHAR *buffer1, const WCHAR *buffer2); - static int __cdecl _wcsnicmp(const WCHAR *buffer1, const WCHAR *buffer2, COUNT_T count); + static int _wcsicmp(const WCHAR *buffer1, const WCHAR *buffer2); + static int _wcsnicmp(const WCHAR *buffer1, const WCHAR *buffer2, COUNT_T count); // C++ convenience overloads static int _tstricmp(const CHAR *buffer1, const CHAR *buffer2); @@ -685,7 +683,9 @@ class EMPTY_BASES_DECL SString : private SBuffer BOOL IsASCIIScanned() const; void SetASCIIScanned() const; void SetNormalized() const; +public: BOOL IsNormalized() const; +private: void ClearNormalized() const; void EnsureWritable() const; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sstring.inl b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sstring.inl index 2cc0d23c0b..6b535fc406 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sstring.inl +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/sstring.inl @@ -380,7 +380,7 @@ inline SString::SString(tagUTF8Literal dummytag, const UTF8 *literal) } inline SString::SString(tagLiteral dummytag, const WCHAR *literal) - : SBuffer(Immutable, (const BYTE *) literal, (COUNT_T) (wcslen(literal)+1)*sizeof(WCHAR)) + : SBuffer(Immutable, (const BYTE *) literal, (COUNT_T) (u16_strlen(literal)+1)*sizeof(WCHAR)) { SS_CONTRACT_VOID { @@ -784,7 +784,7 @@ inline void SString::AppendUTF8(const CHAR c) // Helpers for CRT function equivalance. /* static */ -inline int __cdecl SString::_stricmp(const CHAR *buffer1, const CHAR *buffer2) { +inline int SString::_stricmp(const CHAR *buffer1, const CHAR *buffer2) { WRAPPER_NO_CONTRACT; int returnValue = CaseCompareHelperA(buffer1, buffer2, 0, TRUE, FALSE); #ifdef VERIFY_CRT_EQUIVALNCE @@ -795,7 +795,7 @@ inline int __cdecl SString::_stricmp(const CHAR *buffer1, const CHAR *buffer2) { } /* static */ -inline int __cdecl SString::_strnicmp(const CHAR *buffer1, const CHAR *buffer2, COUNT_T count) { +inline int SString::_strnicmp(const CHAR *buffer1, const CHAR *buffer2, COUNT_T count) { WRAPPER_NO_CONTRACT; int returnValue = CaseCompareHelperA(buffer1, buffer2, count, TRUE, TRUE); #ifdef VERIFY_CRT_EQUIVALNCE @@ -805,7 +805,7 @@ inline int __cdecl SString::_strnicmp(const CHAR *buffer1, const CHAR *buffer2, } /* static */ -inline int __cdecl SString::_wcsicmp(const WCHAR *buffer1, const WCHAR *buffer2) { +inline int SString::_wcsicmp(const WCHAR *buffer1, const WCHAR *buffer2) { WRAPPER_NO_CONTRACT; int returnValue = CaseCompareHelper(buffer1, buffer2, 0, TRUE, FALSE); #ifdef VERIFY_CRT_EQUIVALNCE @@ -816,7 +816,7 @@ inline int __cdecl SString::_wcsicmp(const WCHAR *buffer1, const WCHAR *buffer2) } /* static */ -inline int __cdecl SString::_wcsnicmp(const WCHAR *buffer1, const WCHAR *buffer2, COUNT_T count) { +inline int SString::_wcsnicmp(const WCHAR *buffer1, const WCHAR *buffer2, COUNT_T count) { WRAPPER_NO_CONTRACT; int returnValue = CaseCompareHelper(buffer1, buffer2, count, TRUE, TRUE); #ifdef VERIFY_CRT_EQUIVALNCE @@ -1648,6 +1648,28 @@ inline WCHAR *SString::GetCopyOfUnicodeString() SS_RETURN buffer.Extract(); } +//---------------------------------------------------------------------------- +// Return a copy of the underlying buffer, the caller is responsible for managing +// the returned memory +//---------------------------------------------------------------------------- +inline UTF8 *SString::GetCopyOfUTF8String() +{ + SS_CONTRACT(UTF8*) + { + GC_NOTRIGGER; + PRECONDITION(CheckPointer(this)); + SS_POSTCONDITION(CheckPointer(buffer)); + THROWS; + } + SS_CONTRACT_END; + NewArrayHolder buffer = NULL; + + buffer = new UTF8[GetSize()]; + strncpy(buffer, GetUTF8(), GetSize()); + + SS_RETURN buffer.Extract(); +} + //---------------------------------------------------------------------------- // Return a writeable buffer that can store 'countChars'+1 ansi characters. // Call CloseBuffer when done. @@ -1895,6 +1917,7 @@ FORCEINLINE SString::CIterator SString::End() const } SS_CONTRACT_END; + ConvertToIteratable(); ConvertToIteratable(); SS_RETURN CIterator(this, GetCount()); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/stgpool.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/stgpool.h index 9e249fa97f..39390a2016 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/stgpool.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/stgpool.h @@ -22,7 +22,6 @@ #include "stgpooli.h" // Internal helpers. #include "corerror.h" // Error codes. -#include "metadatatracker.h" #include "metamodelpub.h" #include "ex.h" #include "sarray.h" @@ -363,8 +362,6 @@ friend class VerifyLayoutsMD; pData->Init(m_pSegData + nOffset, m_cbSegSize - nOffset); - METADATATRACKER_ONLY(MetaDataTracker::NoteAccess((void *)pData->GetDataPointer())); - return S_OK; } // StgPoolReadOnly::GetDataReadOnly diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/stresslog.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/stresslog.h index a4e441c111..cdc4b58ab9 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/stresslog.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/stresslog.h @@ -372,15 +372,18 @@ class StressLog { { size_t headerSize; // size of this header including size field and moduleImage uint32_t magic; // must be 'STRL' - uint32_t version; // must be 0x00010001 + uint32_t version; // must be >=0x00010001. + // 0x00010001 is the legacy short-offset format. + // 0x00010002 is the large-module-offset format introduced in .NET 8. uint8_t* memoryBase; // base address of the memory mapped file uint8_t* memoryCur; // highest address currently used uint8_t* memoryLimit; // limit that can be used Volatile logs; // the list of logs for every thread. uint64_t tickFrequency; // number of ticks per second uint64_t startTimeStamp; // start time from when tick counter started - uint64_t threadsWithNoLog; // threads that didn't get a log - uint64_t reserved[15]; // for future expansion + uint32_t threadsWithNoLog; // threads that didn't get a log + uint32_t reserved1; + uint64_t reserved2[15]; // for future expansion ModuleDesc modules[MAX_MODULES]; // descriptor of the modules images uint8_t moduleImage[64*1024*1024];// copy of the module images described by modules field }; @@ -543,31 +546,74 @@ inline BOOL StressLog::LogOn(unsigned facility, unsigned level) #pragma warning(disable:4200 4201) // don't warn about 0 sized array below or unnamed structures #endif -// The order of fields is important. Keep the prefix length as the first field. -// And make sure the timeStamp field is naturally aligned, so we don't waste -// space on 32-bit platforms -struct StressMsg { - static const size_t formatOffsetBits = 26; - union { - struct { - uint32_t numberOfArgs : 3; // at most 7 arguments here - uint32_t formatOffset : formatOffsetBits; // offset of string in mscorwks - uint32_t numberOfArgsX : 3; // extend number of args in a backward compat way - }; - uint32_t fmtOffsCArgs; // for optimized access - }; - uint32_t facility; // facility used to log the entry - uint64_t timeStamp; // time when mssg was logged - void* args[0]; // size given by numberOfArgs +// The order of fields is important. Ensure that we minimize padding +// to fit more messages in a chunk. +struct StressMsg +{ +private: + static const size_t formatOffsetLowBits = 26; + static const size_t formatOffsetHighBits = 13; + + // We split the format offset to ensure that we utilize every bit and that + // the compiler does not align the format offset to a new 64-bit boundary. + uint64_t facility: 32; // facility used to log the entry + uint64_t numberOfArgs : 6; // number of arguments + uint64_t formatOffsetLow: formatOffsetLowBits; // offset of format string in modules + uint64_t formatOffsetHigh: formatOffsetHighBits; // offset of format string in modules + uint64_t timeStamp: 51; // time when msg was logged (100ns ticks since runtime start) + +public: + void* args[0]; // size given by numberOfArgs + + void SetFormatOffset(uint64_t offset) + { + formatOffsetLow = (uint32_t)(offset & ((1 << formatOffsetLowBits) - 1)); + formatOffsetHigh = offset >> formatOffsetLowBits; + } + + uint64_t GetFormatOffset() + { + return (formatOffsetHigh << formatOffsetLowBits) | formatOffsetLow; + } + + void SetNumberOfArgs(uint32_t num) + { + numberOfArgs = num; + } + + uint32_t GetNumberOfArgs() + { + return numberOfArgs; + } + + void SetFacility(uint32_t fac) + { + facility = fac; + } + + uint32_t GetFacility() + { + return facility; + } + + uint64_t GetTimeStamp() + { + return timeStamp; + } + + void SetTimeStamp(uint64_t time) + { + timeStamp = time; + } static const size_t maxArgCnt = 63; - static const size_t maxOffset = 1 << formatOffsetBits; + static const int64_t maxOffset = (int64_t)1 << (formatOffsetLowBits + formatOffsetHighBits); static size_t maxMsgSize () { return sizeof(StressMsg) + maxArgCnt*sizeof(void*); } - - friend class ThreadStressLog; - friend class StressLog; }; + +static_assert(sizeof(StressMsg) == sizeof(uint64_t) * 2, "StressMsg bitfields aren't aligned correctly"); + #ifdef HOST_64BIT #define STRESSLOG_CHUNK_SIZE (32 * 1024) #else //HOST_64BIT @@ -596,14 +642,14 @@ struct StressLogChunk void * operator new (size_t size) throw() { - if (IsInCantAllocStressLogRegion ()) - { - return NULL; - } #ifdef MEMORY_MAPPED_STRESSLOG if (s_memoryMapped) return StressLog::AllocMemoryMapped(size); #endif //MEMORY_MAPPED_STRESSLOG + if (IsInCantAllocStressLogRegion ()) + { + return NULL; + } #ifdef HOST_WINDOWS _ASSERTE(s_LogChunkHeap); return HeapAlloc(s_LogChunkHeap, 0, size); @@ -678,7 +724,7 @@ class ThreadStressLog { long chunkListLength; // how many stress log chunks are in this stress log #ifdef STRESS_LOG_READONLY - FORCEINLINE StressMsg* AdvanceRead(); + FORCEINLINE StressMsg* AdvanceRead(uint32_t cArgs); #endif //STRESS_LOG_READONLY FORCEINLINE StressMsg* AdvanceWrite(int cArgs); @@ -813,7 +859,7 @@ class ThreadStressLog { // Called while dumping. Returns true after all messages in log were dumped FORCEINLINE BOOL CompletedDump () { - return readPtr->timeStamp == 0 + return readPtr->GetTimeStamp() == 0 //if read has passed end of list but write has not passed head of list yet, we are done //if write has also wrapped, we are at the end if read pointer passed write pointer || (readHasWrapped && @@ -843,10 +889,10 @@ class ThreadStressLog { // Called when dumping the log (by StressLog::Dump()) // Updates readPtr to point to next stress messaage to be dumped // For convenience it returns the new value of readPtr -inline StressMsg* ThreadStressLog::AdvanceRead() { +inline StressMsg* ThreadStressLog::AdvanceRead(uint32_t cArgs) { STATIC_CONTRACT_LEAF; // advance the marker - readPtr = (StressMsg*)((char*)readPtr + sizeof(StressMsg) + readPtr->numberOfArgs*sizeof(void*)); + readPtr = (StressMsg*)((char*)readPtr + sizeof(StressMsg) + cArgs * sizeof(void*)); // wrap around if we need to if (readPtr >= (StressMsg *)curReadChunk->EndPtr ()) { @@ -873,7 +919,7 @@ inline StressMsg* ThreadStressLog::AdvReadPastBoundary() { } curReadChunk = curReadChunk->next; void** p = (void**)curReadChunk->StartPtr(); - while (*p == NULL && (size_t)(p-(void**)curReadChunk->StartPtr ()) < (StressMsg::maxMsgSize()/sizeof(void*))) + while (*p == NULL && (size_t)(p-(void**)curReadChunk->StartPtr()) < (StressMsg::maxMsgSize() / sizeof(void*))) { ++p; } diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/switches.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/switches.h index 9ec7e3cf05..e19627fac1 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/switches.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/switches.h @@ -29,7 +29,7 @@ #define FEATURE_SHARE_GENERIC_CODE -#if defined(_DEBUG) && !defined(DACCESS_COMPILE) +#if defined(_DEBUG) #define LOGGING #endif @@ -53,7 +53,7 @@ #if defined(TARGET_X86) || defined(TARGET_ARM) #define USE_LAZY_PREFERRED_RANGE 0 -#elif defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_S390X) || defined(TARGET_LOONGARCH64) || defined(TARGET_POWERPC64) +#elif defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_S390X) || defined(TARGET_LOONGARCH64) || defined(TARGET_POWERPC64) || defined(TARGET_RISCV64) #if defined(HOST_UNIX) // In PAL we have a smechanism that reserves memory on start up that is @@ -73,11 +73,8 @@ #define JIT_IS_ALIGNED #endif -// ALLOW_SXS_JIT enables AltJit support for JIT-ing, via COMPlus_AltJit / COMPlus_AltJitName. -// ALLOW_SXS_JIT_NGEN enables AltJit support for NGEN, via COMPlus_AltJitNgen / COMPlus_AltJitName. -// Note that if ALLOW_SXS_JIT_NGEN is defined, then ALLOW_SXS_JIT must be defined. +// ALLOW_SXS_JIT enables AltJit support for JIT-ing, via DOTNET_AltJit / DOTNET_AltJitName. #define ALLOW_SXS_JIT -#define ALLOW_SXS_JIT_NGEN #if !defined(TARGET_UNIX) // PLATFORM_SUPPORTS_THREADSUSPEND is defined for platforms where it is safe to call @@ -133,7 +130,7 @@ #define FEATURE_JIT_TIMER // This feature in RyuJIT supersedes the FEATURE_JIT_TIMER. In addition to supporting the time log file, this -// feature also supports using COMPlus_JitTimeLogCsv=a.csv, which will dump method-level and phase-level timing +// feature also supports using DOTNET_JitTimeLogCsv=a.csv, which will dump method-level and phase-level timing // statistics. Also see comments on FEATURE_JIT_TIMER. #define FEATURE_JIT_METHOD_PERF @@ -145,7 +142,7 @@ #endif // Enables a mode in which GC is completely conservative in stacks and registers: all stack slots and registers -// are treated as potential pinned interior pointers. When enabled, the runtime flag COMPLUS_GCCONSERVATIVE +// are treated as potential pinned interior pointers. When enabled, the runtime flag DOTNET_GCCONSERVATIVE // determines dynamically whether GC is conservative. Note that appdomain unload, LCG and unloadable assemblies // do not work reliably with conservative GC. #define FEATURE_CONSERVATIVE_GC 1 @@ -168,9 +165,3 @@ #endif #define FEATURE_MINIMETADATA_IN_TRIAGEDUMPS - -// If defined, support interpretation. - -#if !defined(TARGET_UNIX) -#define FEATURE_STACK_SAMPLING -#endif // defined (ALLOW_SXS_JIT) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/targetosarch.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/targetosarch.h index 9025a8608a..1251104c10 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/targetosarch.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/targetosarch.h @@ -16,11 +16,18 @@ class TargetOS #define TARGET_UNIX_POSSIBLY_SUPPORTED static const bool IsWindows = false; static const bool IsUnix = true; +#if defined(TARGET_UNIX_ANYOS) +#define TARGET_OS_RUNTIMEDETERMINED +#define TARGET_UNIX_OS_RUNTIMEDETERMINED + static bool OSSettingConfigured; + static bool IsMacOS; +#else #if defined(TARGET_OSX) static const bool IsMacOS = true; #else static const bool IsMacOS = false; #endif +#endif #else #define TARGET_WINDOWS_POSSIBLY_SUPPORTED #define TARGET_UNIX_POSSIBLY_SUPPORTED @@ -35,6 +42,11 @@ class TargetOS class TargetArchitecture { public: +#ifdef TARGET_64BIT + static const bool Is64Bit = true; +#else + static const bool Is64Bit = false; +#endif #ifdef TARGET_ARM static const bool IsX86 = false; static const bool IsX64 = false; @@ -42,6 +54,7 @@ class TargetArchitecture static const bool IsArm32 = true; static const bool IsArmArch = true; static const bool IsLoongArch64 = false; + static const bool IsRiscv64 = false; #elif defined(TARGET_ARM64) static const bool IsX86 = false; static const bool IsX64 = false; @@ -49,6 +62,7 @@ class TargetArchitecture static const bool IsArm32 = false; static const bool IsArmArch = true; static const bool IsLoongArch64 = false; + static const bool IsRiscv64 = false; #elif defined(TARGET_AMD64) static const bool IsX86 = false; static const bool IsX64 = true; @@ -56,6 +70,7 @@ class TargetArchitecture static const bool IsArm32 = false; static const bool IsArmArch = false; static const bool IsLoongArch64 = false; + static const bool IsRiscv64 = false; #elif defined(TARGET_X86) static const bool IsX86 = true; static const bool IsX64 = false; @@ -63,6 +78,7 @@ class TargetArchitecture static const bool IsArm32 = false; static const bool IsArmArch = false; static const bool IsLoongArch64 = false; + static const bool IsRiscv64 = false; #elif defined(TARGET_LOONGARCH64) static const bool IsX86 = false; static const bool IsX64 = false; @@ -70,6 +86,15 @@ class TargetArchitecture static const bool IsArm32 = false; static const bool IsArmArch = false; static const bool IsLoongArch64 = true; + static const bool IsRiscv64 = false; +#elif defined(TARGET_RISCV64) + static const bool IsX86 = false; + static const bool IsX64 = false; + static const bool IsArm64 = false; + static const bool IsArm32 = false; + static const bool IsArmArch = false; + static const bool IsLoongArch64 = false; + static const bool IsRiscv64 = true; #else #error Unknown architecture #endif diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/unreachable.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/unreachable.h index 3fcb1d3bb4..a770209abe 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/unreachable.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/unreachable.h @@ -9,14 +9,7 @@ #define __UNREACHABLE_H__ #if defined(_MSC_VER) || defined(_PREFIX_) -#if defined(TARGET_AMD64) -// Empty methods that consist of UNREACHABLE() result in a zero-sized declspec(noreturn) method -// which causes the pdb file to make the next method declspec(noreturn) as well, thus breaking BBT -// Remove when we get a VC compiler that fixes VSW 449170 -# define __UNREACHABLE() do { DebugBreak(); __assume(0); } while (0) -#else -# define __UNREACHABLE() __assume(0) -#endif +#define __UNREACHABLE() __assume(0) #else #define __UNREACHABLE() __builtin_unreachable() #endif diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/utilcode.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/utilcode.h index 167b4ef9fd..bc84e71644 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/utilcode.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/utilcode.h @@ -25,7 +25,6 @@ #include "clrhost.h" #include "debugmacros.h" #include "corhlprpriv.h" -#include "winnls.h" #include "check.h" #include "safemath.h" #include "new.hpp" @@ -37,9 +36,9 @@ #endif #include "contract.h" -#include "entrypoints.h" -#include +#include +#include #include "clrnt.h" @@ -59,7 +58,6 @@ #define CoreLibNameLen 22 #define CoreLibSatelliteName_A "System.Private.CoreLib.resources" #define CoreLibSatelliteNameLen 32 -#define LegacyCoreLibName_A "mscorlib" class StringArrayList; @@ -187,15 +185,6 @@ typedef LPSTR LPUTF8; // given and ANSI String, copy it into a wide buffer. // be careful about scoping when using this macro! // -// how to use the below two macros: -// -// ... -// LPSTR pszA; -// pszA = MyGetAnsiStringRoutine(); -// MAKE_WIDEPTR_FROMANSI(pwsz, pszA); -// MyUseWideStringRoutine(pwsz); -// ... -// // similarily for MAKE_ANSIPTR_FROMWIDE. note that the first param does not // have to be declared, and no clean up must be done. // @@ -213,31 +202,12 @@ typedef LPSTR LPUTF8; #define MAKE_TRANSLATIONFAILED ThrowWin32(ERROR_NO_UNICODE_TRANSLATION) #endif -// This version throws on conversion errors (ie, no best fit character -// mapping to characters that look similar, and no use of the default char -// ('?') when printing out unrepresentable characters. Use this method for -// most development in the EE, especially anything like metadata or class -// names. See the BESTFIT version if you're printing out info to the console. -#define MAKE_MULTIBYTE_FROMWIDE(ptrname, widestr, codepage) \ - int __l##ptrname = (int)wcslen(widestr); \ - if (__l##ptrname > MAKE_MAX_LENGTH) \ - MAKE_TOOLONGACTION; \ - __l##ptrname = (int)((__l##ptrname + 1) * 2 * sizeof(char)); \ - CQuickBytes __CQuickBytes##ptrname; \ - __CQuickBytes##ptrname.AllocThrows(__l##ptrname); \ - BOOL __b##ptrname; \ - DWORD __cBytes##ptrname = WszWideCharToMultiByte(codepage, WC_NO_BEST_FIT_CHARS, widestr, -1, (LPSTR)__CQuickBytes##ptrname.Ptr(), __l##ptrname, NULL, &__b##ptrname); \ - if (__b##ptrname || (__cBytes##ptrname == 0 && (widestr[0] != W('\0')))) { \ - MAKE_TRANSLATIONFAILED; \ - } \ - LPSTR ptrname = (LPSTR)__CQuickBytes##ptrname.Ptr() - // This version does best fit character mapping and also allows the use // of the default char ('?') for any Unicode character that isn't // representable. This is reasonable for writing to the console, but // shouldn't be used for most string conversions. #define MAKE_MULTIBYTE_FROMWIDE_BESTFIT(ptrname, widestr, codepage) \ - int __l##ptrname = (int)wcslen(widestr); \ + int __l##ptrname = (int)u16_strlen(widestr); \ if (__l##ptrname > MAKE_MAX_LENGTH) \ MAKE_TOOLONGACTION; \ __l##ptrname = (int)((__l##ptrname + 1) * 2 * sizeof(char)); \ @@ -249,45 +219,11 @@ typedef LPSTR LPUTF8; } \ LPSTR ptrname = (LPSTR)__CQuickBytes##ptrname.Ptr() -// Use for anything critical other than output to console, where weird -// character mappings are unacceptable. -#define MAKE_ANSIPTR_FROMWIDE(ptrname, widestr) MAKE_MULTIBYTE_FROMWIDE(ptrname, widestr, CP_ACP) - -// Use for output to the console. -#define MAKE_ANSIPTR_FROMWIDE_BESTFIT(ptrname, widestr) MAKE_MULTIBYTE_FROMWIDE_BESTFIT(ptrname, widestr, CP_ACP) - -#define MAKE_WIDEPTR_FROMANSI(ptrname, ansistr) \ - CQuickBytes __qb##ptrname; \ - int __l##ptrname; \ - __l##ptrname = WszMultiByteToWideChar(CP_ACP, 0, ansistr, -1, 0, 0); \ - if (__l##ptrname > MAKE_MAX_LENGTH) \ - MAKE_TOOLONGACTION; \ - LPWSTR ptrname = (LPWSTR) __qb##ptrname.AllocThrows((__l##ptrname+1)*sizeof(WCHAR)); \ - if (WszMultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, ansistr, -1, ptrname, __l##ptrname) == 0) { \ - MAKE_TRANSLATIONFAILED; \ - } - -#define MAKE_WIDEPTR_FROMANSI_NOTHROW(ptrname, ansistr) \ - CQuickBytes __qb##ptrname; \ - LPWSTR ptrname = 0; \ - int __l##ptrname; \ - __l##ptrname = WszMultiByteToWideChar(CP_ACP, 0, ansistr, -1, 0, 0); \ - if (__l##ptrname <= MAKE_MAX_LENGTH) { \ - ptrname = (LPWSTR) __qb##ptrname.AllocNoThrow((__l##ptrname+1)*sizeof(WCHAR)); \ - if (ptrname) { \ - if (WszMultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, ansistr, -1, ptrname, __l##ptrname) != 0) { \ - ptrname[__l##ptrname] = 0; \ - } else { \ - ptrname = 0; \ - } \ - } \ - } - #define MAKE_UTF8PTR_FROMWIDE(ptrname, widestr) CQuickBytes _##ptrname; _##ptrname.ConvertUnicode_Utf8(widestr); LPSTR ptrname = (LPSTR) _##ptrname.Ptr(); #define MAKE_UTF8PTR_FROMWIDE_NOTHROW(ptrname, widestr) \ CQuickBytes __qb##ptrname; \ - int __l##ptrname = (int)wcslen(widestr); \ + int __l##ptrname = (int)u16_strlen(widestr); \ LPUTF8 ptrname = 0; \ if (__l##ptrname <= MAKE_MAX_LENGTH) { \ __l##ptrname = (int)((__l##ptrname + 1) * 2 * sizeof(char)); \ @@ -314,22 +250,8 @@ typedef LPSTR LPUTF8; } \ } \ -#define MAKE_WIDEPTR_FROMUTF8N(ptrname, utf8str, n8chrs) \ - CQuickBytes __qb##ptrname; \ - int __l##ptrname; \ - __l##ptrname = WszMultiByteToWideChar(CP_UTF8, 0, utf8str, n8chrs, 0, 0); \ - if (__l##ptrname > MAKE_MAX_LENGTH) \ - MAKE_TOOLONGACTION; \ - LPWSTR ptrname = (LPWSTR) __qb##ptrname .AllocThrows((__l##ptrname+1)*sizeof(WCHAR)); \ - if (0==WszMultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, utf8str, n8chrs, ptrname, __l##ptrname)) { \ - MAKE_TRANSLATIONFAILED; \ - } \ - ptrname[__l##ptrname] = 0; - - #define MAKE_WIDEPTR_FROMUTF8(ptrname, utf8str) CQuickBytes _##ptrname; _##ptrname.ConvertUtf8_Unicode(utf8str); LPCWSTR ptrname = (LPCWSTR) _##ptrname.Ptr(); - #define MAKE_WIDEPTR_FROMUTF8N_NOTHROW(ptrname, utf8str, n8chrs) \ CQuickBytes __qb##ptrname; \ int __l##ptrname; \ @@ -348,42 +270,10 @@ typedef LPSTR LPUTF8; #define MAKE_WIDEPTR_FROMUTF8_NOTHROW(ptrname, utf8str) MAKE_WIDEPTR_FROMUTF8N_NOTHROW(ptrname, utf8str, -1) -// This method takes the number of characters -#define MAKE_MULTIBYTE_FROMWIDEN(ptrname, widestr, _nCharacters, _pCnt, codepage) \ - CQuickBytes __qb##ptrname; \ - int __l##ptrname; \ - __l##ptrname = WszWideCharToMultiByte(codepage, WC_NO_BEST_FIT_CHARS, widestr, _nCharacters, NULL, 0, NULL, NULL); \ - if (__l##ptrname > MAKE_MAX_LENGTH) \ - MAKE_TOOLONGACTION; \ - ptrname = (LPUTF8) __qb##ptrname .AllocThrows(__l##ptrname+1); \ - BOOL __b##ptrname; \ - DWORD _pCnt = WszWideCharToMultiByte(codepage, WC_NO_BEST_FIT_CHARS, widestr, _nCharacters, ptrname, __l##ptrname, NULL, &__b##ptrname); \ - if (__b##ptrname || (_pCnt == 0 && _nCharacters > 0)) { \ - MAKE_TRANSLATIONFAILED; \ - } \ - ptrname[__l##ptrname] = 0; - -#define MAKE_MULTIBYTE_FROMWIDEN_BESTFIT(ptrname, widestr, _nCharacters, _pCnt, codepage) \ - CQuickBytes __qb##ptrname; \ - int __l##ptrname; \ - __l##ptrname = WszWideCharToMultiByte(codepage, 0, widestr, _nCharacters, NULL, 0, NULL, NULL); \ - if (__l##ptrname > MAKE_MAX_LENGTH) \ - MAKE_TOOLONGACTION; \ - ptrname = (LPUTF8) __qb##ptrname .AllocThrows(__l##ptrname+1); \ - DWORD _pCnt = WszWideCharToMultiByte(codepage, 0, widestr, _nCharacters, ptrname, __l##ptrname, NULL, NULL); \ - if (_pCnt == 0 && _nCharacters > 0) { \ - MAKE_TRANSLATIONFAILED; \ - } \ - ptrname[__l##ptrname] = 0; - -#define MAKE_ANSIPTR_FROMWIDEN(ptrname, widestr, _nCharacters, _pCnt) \ - MAKE_MULTIBYTE_FROMWIDEN(ptrname, widestr, _nCharacters, _pCnt, CP_ACP) - const SIZE_T MaxSigned32BitDecString = ARRAY_SIZE("-2147483648") - 1; const SIZE_T MaxUnsigned32BitDecString = ARRAY_SIZE("4294967295") - 1; const SIZE_T MaxIntegerDecHexString = ARRAY_SIZE("-9223372036854775808") - 1; -const SIZE_T Max16BitHexString = ARRAY_SIZE("1234") - 1; const SIZE_T Max32BitHexString = ARRAY_SIZE("12345678") - 1; const SIZE_T Max64BitHexString = ARRAY_SIZE("1234567812345678") - 1; @@ -412,104 +302,6 @@ inline WCHAR* FormatInteger(WCHAR* str, size_t strCount, const char* fmt, I v) return str; } -class GuidString final -{ - char _buffer[ARRAY_SIZE("{12345678-1234-1234-1234-123456789abc}")]; -public: - static void Create(const GUID& g, GuidString& ret) - { - // Ensure we always have a null - ret._buffer[ARRAY_SIZE(ret._buffer) - 1] = '\0'; - sprintf_s(ret._buffer, ARRAY_SIZE(ret._buffer), "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}", - g.Data1, g.Data2, g.Data3, - g.Data4[0], g.Data4[1], - g.Data4[2], g.Data4[3], - g.Data4[4], g.Data4[5], - g.Data4[6], g.Data4[7]); - } - - const char* AsString() const - { - return _buffer; - } - - operator const char*() const - { - return _buffer; - } -}; - -inline -LPWSTR DuplicateString( - LPCWSTR wszString, - size_t cchString) -{ - STATIC_CONTRACT_NOTHROW; - - LPWSTR wszDup = NULL; - if (wszString != NULL) - { - wszDup = new (nothrow) WCHAR[cchString + 1]; - if (wszDup != NULL) - { - wcscpy_s(wszDup, cchString + 1, wszString); - } - } - return wszDup; -} - -inline -LPWSTR DuplicateString( - LPCWSTR wszString) -{ - STATIC_CONTRACT_NOTHROW; - - if (wszString != NULL) - { - return DuplicateString(wszString, wcslen(wszString)); - } - else - { - return NULL; - } -} - -void DECLSPEC_NORETURN ThrowOutOfMemory(); - -inline -LPWSTR DuplicateStringThrowing( - LPCWSTR wszString, - size_t cchString) -{ - STATIC_CONTRACT_THROWS; - - if (wszString == NULL) - return NULL; - - LPWSTR wszDup = DuplicateString(wszString, cchString); - if (wszDup == NULL) - ThrowOutOfMemory(); - - return wszDup; -} - -inline -LPWSTR DuplicateStringThrowing( - LPCWSTR wszString) -{ - STATIC_CONTRACT_THROWS; - - if (wszString == NULL) - return NULL; - - LPWSTR wszDup = DuplicateString(wszString); - if (wszDup == NULL) - ThrowOutOfMemory(); - - return wszDup; -} - - //***************************************************************************** // Placement new is used to new and object at an exact location. The pointer // is simply returned to the caller without actually using the heap. The @@ -656,7 +448,7 @@ class CCulturedHInstance if (id == UICULTUREID_DONTCARE) return FALSE; - return wcscmp(id, m_LangId) == 0; + return u16_strcmp(id, m_LangId) == 0; } HRESOURCEDLL GetLibraryHandle() @@ -902,8 +694,6 @@ inline int CountBits(int iNum) return (iBits); } -#include "bitposition.h" - // Convert the currency to a decimal and canonicalize. inline void VarDecFromCyCanonicalize(CY cyIn, DECIMAL* dec) { @@ -941,15 +731,9 @@ inline void VarDecFromCyCanonicalize(CY cyIn, DECIMAL* dec) // Paths functions. Use these instead of the CRT. // //***************************************************************************** -// secure version! Specify the size of the each buffer in count of elements -void SplitPath(const WCHAR *path, - __inout_z __inout_ecount_opt(driveSizeInWords) WCHAR *drive, int driveSizeInWords, - __inout_z __inout_ecount_opt(dirSizeInWords) WCHAR *dir, int dirSizeInWords, - __inout_z __inout_ecount_opt(fnameSizeInWords) WCHAR *fname, size_t fnameSizeInWords, - __inout_z __inout_ecount_opt(extSizeInWords) WCHAR *ext, size_t extSizeInWords); //******************************************************************************* -// A much more sensible version that just points to each section of the string. +// Split a path into individual components - points to each section of the string //******************************************************************************* void SplitPathInterior( _In_ LPCWSTR wszPath, @@ -959,25 +743,6 @@ void SplitPathInterior( _Out_opt_ LPCWSTR *pwszExt, _Out_opt_ size_t *pcchExt); -void MakePath(_Out_ CQuickWSTR &path, - _In_ LPCWSTR drive, - _In_ LPCWSTR dir, - _In_ LPCWSTR fname, - _In_ LPCWSTR ext); - -WCHAR * FullPath(_Out_writes_ (maxlen) WCHAR *UserBuf, const WCHAR *path, size_t maxlen); - -//***************************************************************************** -// -// SString version of the path functions. -// -//***************************************************************************** -void SplitPath(_In_ SString const &path, - __inout_opt SString *drive, - __inout_opt SString *dir, - __inout_opt SString *fname, - __inout_opt SString *ext); - #include "ostype.h" #define CLRGetTickCount64() GetTickCount64() @@ -997,31 +762,6 @@ BYTE * ClrVirtualAllocWithinRange(const BYTE *pMinAddr, // LPVOID ClrVirtualAllocAligned(LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect, SIZE_T alignment); -class NumaNodeInfo -{ -private: - static BOOL m_enableGCNumaAware; - static uint16_t m_nNodes; - static BOOL InitNumaNodeInfoAPI(); - -public: - static BOOL CanEnableGCNumaAware(); - static void InitNumaNodeInfo(); - -#if !defined(FEATURE_NATIVEAOT) -public: // functions - - static LPVOID VirtualAllocExNuma(HANDLE hProc, LPVOID lpAddr, SIZE_T size, - DWORD allocType, DWORD prot, DWORD node); -#ifdef HOST_WINDOWS - static BOOL GetNumaProcessorNodeEx(PPROCESSOR_NUMBER proc_no, PUSHORT node_no); - static bool GetNumaInfo(PUSHORT total_nodes, DWORD* max_procs_per_node); -#else // HOST_WINDOWS - static BOOL GetNumaProcessorNodeEx(USHORT proc_no, PUSHORT node_no); -#endif // HOST_WINDOWS -#endif -}; - #ifdef HOST_WINDOWS struct CPU_Group_Info @@ -2410,32 +2150,6 @@ inline COUNT_T HashPtr(COUNT_T currentHash, PTR_VOID ptr) return HashCOUNT_T(currentHash, COUNT_T(SIZE_T(dac_cast(ptr)))); } -inline DWORD HashThreeToOne(DWORD a, DWORD b, DWORD c) -{ - LIMITED_METHOD_DAC_CONTRACT; - - /* - lookup3.c, by Bob Jenkins, May 2006, Public Domain. - - These are functions for producing 32-bit hashes for hash table lookup. - hashword(), hashlittle(), hashlittle2(), hashbig(), mix(), and final() - are externally useful functions. Routines to test the hash are included - if SELF_TEST is defined. You can use this free for any purpose. It's in - the public domain. It has no warranty. - */ - - #define rot32(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) - c ^= b; c -= rot32(b,14); - a ^= c; a -= rot32(c,11); - b ^= a; b -= rot32(a,25); - c ^= b; c -= rot32(b,16); - a ^= c; a -= rot32(c,4); - b ^= a; b -= rot32(a,14); - c ^= b; c -= rot32(b,24); - - return c; -} - inline ULONG HashBytes(BYTE const *pbData, size_t iSize) { LIMITED_METHOD_CONTRACT; @@ -2488,7 +2202,7 @@ inline ULONG HashStringN(LPCWSTR szStr, SIZE_T cchStr) ULONG *ptr = (ULONG *)szStr; // we assume that szStr is null-terminated - _ASSERTE(cchStr <= wcslen(szStr)); + _ASSERTE(cchStr <= u16_strlen(szStr)); SIZE_T cDwordCount = (cchStr + 1) / 2; for (SIZE_T i = 0; i < cDwordCount; i++) @@ -2851,139 +2565,6 @@ class CClosedHashBase BYTE *m_rgData; // Data element list. }; -//***************************************************************************** -// IMPORTANT: This data structure is deprecated, please do not add any new uses. -// The hashtable implementation that should be used instead is code:SHash. -// If code:SHash does not work for you, talk to mailto:clrdeag. -//***************************************************************************** -template class CClosedHash : public CClosedHashBase -{ -public: - CClosedHash( - int iBuckets, // How many buckets should we start with. - bool bPerfect=false) : // true if bucket size will hash with no collisions. - CClosedHashBase(iBuckets, sizeof(T), bPerfect) - { - WRAPPER_NO_CONTRACT; - } - - T &operator[](int iIndex) - { - WRAPPER_NO_CONTRACT; - return ((T &) *(Data() + (iIndex * sizeof(T)))); - } - - -//***************************************************************************** -// Add a new item to hash table given the key value. If this new entry -// exceeds maximum size, then the table will grow and be re-hashed, which -// may cause a memory error. -//***************************************************************************** - T *Add( // New item to fill out on success. - void *pData) // The value to hash on. - { - WRAPPER_NO_CONTRACT; - return ((T *) CClosedHashBase::Add(pData)); - } - -//***************************************************************************** -// Lookup a key value and return a pointer to the element if found. -//***************************************************************************** - T *Find( // The item if found, 0 if not. - void *pData) // The key to lookup. - { - WRAPPER_NO_CONTRACT; - return ((T *) CClosedHashBase::Find(pData)); - } - -//***************************************************************************** -// Look for an item in the table. If it isn't found, then create a new one and -// return that. -//***************************************************************************** - T *FindOrAdd( // The item if found, 0 if not. - void *pData, // The key to lookup. - bool &bNew) // true if created. - { - WRAPPER_NO_CONTRACT; - return ((T *) CClosedHashBase::FindOrAdd(pData, bNew)); - } - - -//***************************************************************************** -// The following functions are used to traverse each used entry. This code -// will skip over deleted and free entries freeing the caller up from such -// logic. -//***************************************************************************** - T *GetFirst() // The first entry, 0 if none. - { - WRAPPER_NO_CONTRACT; - return ((T *) CClosedHashBase::GetFirst()); - } - - T *GetNext(T *Prev) // The next entry, 0 if done. - { - WRAPPER_NO_CONTRACT; - return ((T *) CClosedHashBase::GetNext((BYTE *) Prev)); - } -}; - - -//***************************************************************************** -// IMPORTANT: This data structure is deprecated, please do not add any new uses. -// The hashtable implementation that should be used instead is code:SHash. -// If code:SHash does not work for you, talk to mailto:clrdeag. -//***************************************************************************** -// Closed hash with typed parameters. The derived class is the second -// parameter to the template. The derived class must implement: -// unsigned long Hash(const T *pData); -// unsigned long Compare(const T *p1, T *p2); -// ELEMENTSTATUS Status(T *pEntry); -// void SetStatus(T *pEntry, ELEMENTSTATUS s); -// void* GetKey(T *pEntry); -//***************************************************************************** -templateclass CClosedHashEx : public CClosedHash -{ -public: - CClosedHashEx( - int iBuckets, // How many buckets should we start with. - bool bPerfect=false) : // true if bucket size will hash with no collisions. - CClosedHash (iBuckets, bPerfect) - { - WRAPPER_NO_CONTRACT; - } - - unsigned int Hash(const void *pData) - { - WRAPPER_NO_CONTRACT; - return static_cast(this)->Hash((const T*)pData); - } - - unsigned int Compare(const void *p1, BYTE *p2) - { - WRAPPER_NO_CONTRACT; - return static_cast(this)->Compare((const T*)p1, (T*)p2); - } - - typename CClosedHash::ELEMENTSTATUS Status(BYTE *p) - { - WRAPPER_NO_CONTRACT; - return static_cast(this)->Status((T*)p); - } - - void SetStatus(BYTE *p, typename CClosedHash::ELEMENTSTATUS s) - { - WRAPPER_NO_CONTRACT; - static_cast(this)->SetStatus((T*)p, s); - } - - void* GetKey(BYTE *p) - { - WRAPPER_NO_CONTRACT; - return static_cast(this)->GetKey((T*)p); - } -}; - - //***************************************************************************** // IMPORTANT: This data structure is deprecated, please do not add any new uses. // The hashtable implementation that should be used instead is code:SHash. @@ -3467,28 +3048,50 @@ class ConfigMethodSet BYTE m_inited; }; +// 38 characters + 1 null terminating. +#define GUID_STR_BUFFER_LEN (ARRAY_SIZE("{12345678-1234-1234-1234-123456789abc}")) + +//***************************************************************************** +// Convert a GUID into a pointer to a string +//***************************************************************************** +int GuidToLPSTR( + REFGUID guid, // [IN] The GUID to convert. + LPSTR szGuid, // [OUT] String into which the GUID is stored + DWORD cchGuid); // [IN] Size in chars of szGuid + +template +int GuidToLPSTR(REFGUID guid, CHAR (&s)[N]) +{ + return GuidToLPSTR(guid, s, N); +} + //***************************************************************************** // Convert a pointer to a string into a GUID. //***************************************************************************** -HRESULT LPCSTRToGuid( // Return status. - LPCSTR szGuid, // String to convert. - GUID *psGuid); // Buffer for converted GUID. +BOOL LPCSTRToGuid( + LPCSTR szGuid, // [IN] String to convert. + GUID* pGuid); // [OUT] Buffer for converted GUID. //***************************************************************************** // Convert a GUID into a pointer to a string //***************************************************************************** -int GuidToLPWSTR( // Return status. - GUID Guid, // [IN] The GUID to convert. - _Out_writes_ (cchGuid) LPWSTR szGuid, // [OUT] String into which the GUID is stored - DWORD cchGuid); // [IN] Size in wide chars of szGuid +int GuidToLPWSTR( + REFGUID guid, // [IN] The GUID to convert. + LPWSTR szGuid, // [OUT] String into which the GUID is stored + DWORD cchGuid); // [IN] Size in wide chars of szGuid + +template +int GuidToLPWSTR(REFGUID guid, WCHAR (&s)[N]) +{ + return GuidToLPWSTR(guid, s, N); +} //***************************************************************************** // Parse a Wide char string into a GUID //***************************************************************************** -BOOL LPWSTRToGuid( - GUID * Guid, // [OUT] The GUID to fill in - _In_reads_(cchGuid) LPCWSTR szGuid, // [IN] String to parse - DWORD cchGuid); // [IN] Count in wchars in string +BOOL LPCWSTRToGuid( + LPCWSTR szGuid, // [IN] String to convert. + GUID* pGuid); // [OUT] Buffer for converted GUID. typedef VPTR(class RangeList) PTR_RangeList; @@ -4415,13 +4018,6 @@ inline T* InterlockedCompareExchangeT( // Returns the directory for clr module. So, if path was for "C:\Dir1\Dir2\Filename.DLL", // then this would return "C:\Dir1\Dir2\" (note the trailing backslash). HRESULT GetClrModuleDirectory(SString& wszPath); -HRESULT CopySystemDirectory(const SString& pPathString, SString& pbuffer); - -HMODULE LoadLocalizedResourceDLLForSDK(_In_z_ LPCWSTR wzResourceDllName, _In_opt_z_ LPCWSTR modulePath=NULL, bool trySelf=true); -// This is a slight variation that can be used for anything else -typedef void* (__cdecl *LocalizedFileHandler)(LPCWSTR); -void* FindLocalizedFile(_In_z_ LPCWSTR wzResourceDllName, LocalizedFileHandler lfh, _In_opt_z_ LPCWSTR modulePath=NULL); - namespace Clr { namespace Util { diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/volatile.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/volatile.h index 4ab4cdbdc0..177c493216 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/volatile.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/volatile.h @@ -68,8 +68,8 @@ #error The Volatile type is currently only defined for Visual C++ and GNU C++ #endif -#if defined(__GNUC__) && !defined(HOST_X86) && !defined(HOST_AMD64) && !defined(HOST_ARM) && !defined(HOST_ARM64) && !defined(HOST_LOONGARCH64) && !defined(HOST_S390X) && !defined(HOST_POWERPC64) -#error The Volatile type is currently only defined for GCC when targeting x86, AMD64, ARM, ARM64, LOONGARCH64, PPC64LE, or S390X CPUs +#if defined(__GNUC__) && !defined(HOST_X86) && !defined(HOST_AMD64) && !defined(HOST_ARM) && !defined(HOST_ARM64) && !defined(HOST_LOONGARCH64) && !defined(HOST_RISCV64) && !defined(HOST_S390X) && !defined(HOST_POWERPC64) +#error The Volatile type is currently only defined for GCC when targeting x86, AMD64, ARM, ARM64, LOONGARCH64, RISCV64, PPC64LE, or S390X CPUs #endif #if defined(__GNUC__) @@ -81,6 +81,8 @@ #define VOLATILE_MEMORY_BARRIER() asm volatile ("dmb ish" : : : "memory") #elif defined(HOST_LOONGARCH64) #define VOLATILE_MEMORY_BARRIER() asm volatile ("dbar 0 " : : : "memory") +#elif defined(HOST_RISCV64) +#define VOLATILE_MEMORY_BARRIER() asm volatile ("fence rw,rw" : : : "memory") #else // // For GCC, we prevent reordering by the compiler by inserting the following after a volatile @@ -340,12 +342,9 @@ class Volatile public: // - // Default constructor. Results in an uninitialized value! + // Default constructor. // - inline Volatile() - { - STATIC_CONTRACT_SUPPORTS_DAC; - } + inline Volatile() = default; // // Allow initialization of Volatile from a T diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/vptr_list.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/vptr_list.h index d8e6cd42bd..718c7edf7a 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/vptr_list.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/vptr_list.h @@ -13,6 +13,7 @@ VPTR_CLASS(EECodeManager) VPTR_CLASS(RangeList) VPTR_CLASS(LockedRangeList) +VPTR_CLASS(CodeRangeMapRangeList) #ifdef EnC_SUPPORTED VPTR_CLASS(EditAndContinueModule) @@ -33,7 +34,6 @@ VPTR_CLASS(JumpStubStubManager) VPTR_CLASS(RangeSectionStubManager) VPTR_CLASS(ILStubManager) VPTR_CLASS(InteropDispatchStubManager) -VPTR_CLASS(DelegateInvokeStubManager) #if defined(TARGET_X86) && !defined(UNIX_X86_ABI) VPTR_CLASS(TailCallStubManager) #endif diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/winwrap.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/winwrap.h index ea700cf15a..652c0b8065 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/winwrap.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/inc/winwrap.h @@ -71,7 +71,6 @@ #undef OpenSemaphore #undef CreateWaitableTimer #undef CreateFileMapping -#undef OpenFileMapping #undef LoadLibrary #undef LoadLibraryEx #undef GetModuleFileName @@ -92,19 +91,16 @@ #undef GetSystemDirectory #undef GetTempPath #undef GetTempFileName -#undef GetCurrentDirectory #undef GetFullPathName #undef CreateFile #undef GetFileAttributes #undef GetFileAttributesEx -#undef DeleteFile #undef FindFirstFileEx #undef FindFirstFile #undef FindNextFile #undef CopyFile #undef CopyFileEx #undef MoveFile -#undef MoveFileEx #undef CreateHardLink #undef CreateNamedPipe #undef WaitNamedPipe @@ -135,15 +131,12 @@ // winbase.h #define WszFormatMessage FormatMessageW -#define Wszlstrcmp lstrcmpW -#define Wszlstrcmpi lstrcmpiW #define WszCreateMutex CreateMutexW #define WszOpenMutex OpenMutexW #define WszCreateEvent CreateEventW #define WszOpenEvent OpenEventW #define WszCreateWaitableTimer CreateWaitableTimerW #define WszCreateFileMapping CreateFileMappingW -#define WszOpenFileMapping OpenFileMappingW #define WszGetModuleHandle GetModuleHandleW #define WszGetModuleHandleEx GetModuleHandleExW #define WszGetCommandLine GetCommandLineW @@ -196,18 +189,22 @@ //File and Directory Functions which need special handling for LongFile Names //Note only the functions which are currently used are defined +#ifdef HOST_WINDOWS #define WszLoadLibrary LoadLibraryExWrapper #define WszLoadLibraryEx LoadLibraryExWrapper #define WszCreateFile CreateFileWrapper -#define WszGetFileAttributes GetFileAttributesWrapper #define WszGetFileAttributesEx GetFileAttributesExWrapper -#define WszDeleteFile DeleteFileWrapper +#else // HOST_WINDOWS +#define WszLoadLibrary LoadLibraryW +#define WszLoadLibraryEx LoadLibraryExW +#define WszCreateFile CreateFileW +#define WszGetFileAttributesEx GetFileAttributesExW +#endif // HOST_WINDOWS //Can not use extended syntax #define WszGetFullPathName GetFullPathNameW //Long Files will not work on these till redstone -#define WszGetCurrentDirectory GetCurrentDirectoryWrapper #define WszGetTempPath GetTempPathWrapper //APIS which have a buffer as an out parameter diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/mbusafecrt.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/mbusafecrt.h index c2a12fc8c3..3ea804f09a 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/mbusafecrt.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/mbusafecrt.h @@ -81,20 +81,14 @@ extern errno_t _makepath_s( char* outDest, size_t inDestBufferSize, const char* extern errno_t _wmakepath_s( WCHAR* outDest, size_t inDestBufferSize, const WCHAR* inDrive, const WCHAR* inDirectory, const WCHAR* inFilename, const WCHAR* inExtension ); extern errno_t _splitpath_s( const char* inPath, char* outDrive, size_t inDriveSize, char* outDirectory, size_t inDirectorySize, char* outFilename, size_t inFilenameSize, char* outExtension, size_t inExtensionSize ); -extern errno_t _wsplitpath_s( const WCHAR* inPath, WCHAR* outDrive, size_t inDriveSize, WCHAR* outDirectory, size_t inDirectorySize, WCHAR* outFilename, size_t inFilenameSize, WCHAR* outExtension, size_t inExtensionSize ); extern int sprintf_s( char *string, size_t sizeInBytes, const char *format, ... ); -extern int swprintf_s( WCHAR *string, size_t sizeInWords, const WCHAR *format, ... ); extern int _snprintf_s( char *string, size_t sizeInBytes, size_t count, const char *format, ... ); -extern int _snwprintf_s( WCHAR *string, size_t sizeInWords, size_t count, const WCHAR *format, ... ); extern int vsprintf_s( char* string, size_t sizeInBytes, const char* format, va_list arglist ); extern int _vsnprintf_s( char* string, size_t sizeInBytes, size_t count, const char* format, va_list arglist ); -extern int vswprintf_s( WCHAR* string, size_t sizeInWords, const WCHAR* format, va_list arglist ); -extern int _vsnwprintf_s( WCHAR* string, size_t sizeInWords, size_t count, const WCHAR* format, va_list arglist ); - extern int sscanf_s( const char *string, const char *format, ... ); extern int swscanf_s( const WCHAR *string, const WCHAR *format, ... ); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/pal.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/pal.h index cfb764368b..e691ee5e06 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/pal.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/pal.h @@ -80,50 +80,6 @@ typedef PVOID NATIVE_LIBRARY_HANDLE; extern bool g_arm64_atomics_present; #endif -/******************* Processor-specific glue *****************************/ - -#ifndef _MSC_VER - -#if defined(__i686__) && !defined(_M_IX86) -#define _M_IX86 600 -#elif defined(__i586__) && !defined(_M_IX86) -#define _M_IX86 500 -#elif defined(__i486__) && !defined(_M_IX86) -#define _M_IX86 400 -#elif defined(__i386__) && !defined(_M_IX86) -#define _M_IX86 300 -#elif defined(__x86_64__) && !defined(_M_AMD64) -#define _M_AMD64 100 -#elif defined(__arm__) && !defined(_M_ARM) -#define _M_ARM 7 -#elif defined(__aarch64__) && !defined(_M_ARM64) -#define _M_ARM64 1 -#elif defined(__loongarch64) && !defined(_M_LOONGARCH64) -#define _M_LOONGARCH64 1 -#elif defined(__s390x__) && !defined(_M_S390X) -#define _M_S390X 1 -#elif defined(__powerpc__) && !defined(_M_PPC64) -#define _M_PPC64 1 -#endif - -#if defined(_M_IX86) && !defined(HOST_X86) -#define HOST_X86 -#elif defined(_M_AMD64) && !defined(HOST_AMD64) -#define HOST_AMD64 -#elif defined(_M_ARM) && !defined(HOST_ARM) -#define HOST_ARM -#elif defined(_M_ARM64) && !defined(HOST_ARM64) -#define HOST_ARM64 -#elif defined(_M_LOONGARCH64) && !defined(HOST_LOONGARCH64) -#define HOST_LOONGARCH64 -#elif defined(_M_S390X) && !defined(HOST_S390X) -#define HOST_S390X -#elif defined(_M_PPC64) && !defined(HOST_POWERPC64) -#define HOST_POWERPC64 -#endif - -#endif // !_MSC_VER - /******************* ABI-specific glue *******************************/ #define MAX_PATH 260 @@ -387,12 +343,6 @@ PAL_Initialize( int argc, char * const argv[]); -PALIMPORT -void -PALAPI -PAL_InitializeWithFlags( - DWORD flags); - PALIMPORT int PALAPI @@ -446,15 +396,16 @@ PALAPI PAL_SetShutdownCallback( IN PSHUTDOWN_CALLBACK callback); -// Must be the same as the copy in excep.h and the WriteDumpFlags enum in the diagnostics repo -enum -{ - GenerateDumpFlagsNone = 0x00, - GenerateDumpFlagsLoggingEnabled = 0x01, - GenerateDumpFlagsVerboseLoggingEnabled = 0x02, - GenerateDumpFlagsCrashReportEnabled = 0x04, - GenerateDumpFlagsCrashReportOnlyEnabled = 0x08 -}; +/// +/// Used by the single-file and native AOT hosts to connect the linked in version of createdump +/// +typedef int (*PCREATEDUMP_CALLBACK)(const int argc, const char* argv[]); + +PALIMPORT +VOID +PALAPI +PAL_SetCreateDumpCallback( + IN PCREATEDUMP_CALLBACK callback); PALIMPORT BOOL @@ -583,6 +534,11 @@ PALAPI // Start the jitdump file PAL_PerfJitDump_Start(const char* path); +PALIMPORT +bool +PALAPI +PAL_PerfJitDump_IsStarted(); + PALIMPORT int PALAPI @@ -716,35 +672,6 @@ CopyFileW( #define CopyFile CopyFileA #endif -PALIMPORT -BOOL -PALAPI -DeleteFileW( - IN LPCWSTR lpFileName); - -#ifdef UNICODE -#define DeleteFile DeleteFileW -#else -#define DeleteFile DeleteFileA -#endif - -#define MOVEFILE_REPLACE_EXISTING 0x00000001 -#define MOVEFILE_COPY_ALLOWED 0x00000002 - -PALIMPORT -BOOL -PALAPI -MoveFileExW( - IN LPCWSTR lpExistingFileName, - IN LPCWSTR lpNewFileName, - IN DWORD dwFlags); - -#ifdef UNICODE -#define MoveFileEx MoveFileExW -#else -#define MoveFileEx MoveFileExA -#endif - typedef struct _WIN32_FIND_DATAA { DWORD dwFileAttributes; FILETIME ftCreationTime; @@ -901,12 +828,6 @@ PALAPI GetStdHandle( IN DWORD nStdHandle); -PALIMPORT -BOOL -PALAPI -SetEndOfFile( - IN HANDLE hFile); - PALIMPORT DWORD PALAPI @@ -1032,19 +953,6 @@ GetTempPathA( #define GetTempPath GetTempPathA #endif -PALIMPORT -DWORD -PALAPI -GetCurrentDirectoryW( - IN DWORD nBufferLength, - OUT LPWSTR lpBuffer); - -#ifdef UNICODE -#define GetCurrentDirectory GetCurrentDirectoryW -#else -#define GetCurrentDirectory GetCurrentDirectoryA -#endif - PALIMPORT HANDLE PALAPI @@ -1167,11 +1075,6 @@ DWORD PALAPI GetCurrentProcessId(); -PALIMPORT -DWORD -PALAPI -GetCurrentSessionId(); - PALIMPORT HANDLE PALAPI @@ -1270,16 +1173,6 @@ GetExitCodeProcess( IN HANDLE hProcess, IN LPDWORD lpExitCode); -PALIMPORT -BOOL -PALAPI -GetProcessTimes( - IN HANDLE hProcess, - OUT LPFILETIME lpCreationTime, - OUT LPFILETIME lpExitTime, - OUT LPFILETIME lpKernelTime, - OUT LPFILETIME lpUserTime); - #define MAXIMUM_WAIT_OBJECTS 64 #define WAIT_OBJECT_0 0 #define WAIT_ABANDONED 0x00000080 @@ -1548,7 +1441,27 @@ typedef struct _KNONVOLATILE_CONTEXT_POINTERS { } KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; + +// +// Context Frame +// +// +// The flags field within this record controls the contents of a CONTEXT +// record. +// +// If the context record is used as an input parameter, then for each +// portion of the context record controlled by a flag whose value is +// set, it is assumed that such portion of the context record contains +// valid context. If the context record is being used to modify a threads +// context, then only that portion of the threads context is modified. +// +// If the context record is used as an output parameter to capture the +// context of a thread, then only those portions of the thread's context +// corresponding to set flags will be returned. +// + #elif defined(HOST_AMD64) + // copied from winnt.h #define CONTEXT_AMD64 0x100000 @@ -1570,11 +1483,33 @@ typedef struct _KNONVOLATILE_CONTEXT_POINTERS { #define CONTEXT_EXCEPTION_REQUEST 0x40000000 #define CONTEXT_EXCEPTION_REPORTING 0x80000000 +#define XSTATE_GSSE (2) +#define XSTATE_AVX (XSTATE_GSSE) +#define XSTATE_AVX512_KMASK (5) +#define XSTATE_AVX512_ZMM_H (6) +#define XSTATE_AVX512_ZMM (7) + +#define XSTATE_MASK_GSSE (UI64(1) << (XSTATE_GSSE)) +#define XSTATE_MASK_AVX (XSTATE_MASK_GSSE) +#define XSTATE_MASK_AVX512 ((UI64(1) << (XSTATE_AVX512_KMASK)) | \ + (UI64(1) << (XSTATE_AVX512_ZMM_H)) | \ + (UI64(1) << (XSTATE_AVX512_ZMM))) + typedef struct DECLSPEC_ALIGN(16) _M128A { ULONGLONG Low; LONGLONG High; } M128A, *PM128A; +typedef struct DECLSPEC_ALIGN(16) _M256 { + M128A Low; + M128A High; +} M256, *PM256; + +typedef struct DECLSPEC_ALIGN(16) _M512 { + M256 Low; + M256 High; +} M512, *PM512; + typedef struct _XMM_SAVE_AREA32 { WORD ControlWord; WORD StatusWord; @@ -1594,41 +1529,16 @@ typedef struct _XMM_SAVE_AREA32 { BYTE Reserved4[96]; } XMM_SAVE_AREA32, *PXMM_SAVE_AREA32; -// -// Context Frame -// -// This frame has a several purposes: 1) it is used as an argument to -// NtContinue, 2) it is used to construct a call frame for APC delivery, -// and 3) it is used in the user level thread creation routines. -// -// -// The flags field within this record controls the contents of a CONTEXT -// record. -// -// If the context record is used as an input parameter, then for each -// portion of the context record controlled by a flag whose value is -// set, it is assumed that such portion of the context record contains -// valid context. If the context record is being used to modify a threads -// context, then only that portion of the threads context is modified. -// -// If the context record is used as an output parameter to capture the -// context of a thread, then only those portions of the thread's context -// corresponding to set flags will be returned. -// -// CONTEXT_CONTROL specifies SegSs, Rsp, SegCs, Rip, and EFlags. -// -// CONTEXT_INTEGER specifies Rax, Rcx, Rdx, Rbx, Rbp, Rsi, Rdi, and R8-R15. -// -// CONTEXT_SEGMENTS specifies SegDs, SegEs, SegFs, and SegGs. -// -// CONTEXT_DEBUG_REGISTERS specifies Dr0-Dr3 and Dr6-Dr7. -// -// CONTEXT_MMX_REGISTERS specifies the floating point and extended registers -// Mm0/St0-Mm7/St7 and Xmm0-Xmm15). -// - typedef struct DECLSPEC_ALIGN(16) _CONTEXT { + _CONTEXT() = default; + _CONTEXT(const _CONTEXT& ctx) + { + *this = ctx; + } + + _CONTEXT& operator=(const _CONTEXT& ctx); + // // Register parameter home addresses. // @@ -1744,6 +1654,82 @@ typedef struct DECLSPEC_ALIGN(16) _CONTEXT { DWORD64 LastBranchFromRip; DWORD64 LastExceptionToRip; DWORD64 LastExceptionFromRip; + + // XSTATE + DWORD64 XStateFeaturesMask; + DWORD64 XStateReserved0; + + // XSTATE_AVX + struct { + M128A Ymm0H; + M128A Ymm1H; + M128A Ymm2H; + M128A Ymm3H; + M128A Ymm4H; + M128A Ymm5H; + M128A Ymm6H; + M128A Ymm7H; + M128A Ymm8H; + M128A Ymm9H; + M128A Ymm10H; + M128A Ymm11H; + M128A Ymm12H; + M128A Ymm13H; + M128A Ymm14H; + M128A Ymm15H; + }; + + // XSTATE_AVX512_KMASK + struct { + DWORD64 KMask0; + DWORD64 KMask1; + DWORD64 KMask2; + DWORD64 KMask3; + DWORD64 KMask4; + DWORD64 KMask5; + DWORD64 KMask6; + DWORD64 KMask7; + }; + + // XSTATE_AVX512_ZMM_H + struct { + M256 Zmm0H; + M256 Zmm1H; + M256 Zmm2H; + M256 Zmm3H; + M256 Zmm4H; + M256 Zmm5H; + M256 Zmm6H; + M256 Zmm7H; + M256 Zmm8H; + M256 Zmm9H; + M256 Zmm10H; + M256 Zmm11H; + M256 Zmm12H; + M256 Zmm13H; + M256 Zmm14H; + M256 Zmm15H; + }; + + // XSTATE_AVX512_ZMM + struct { + M512 Zmm16; + M512 Zmm17; + M512 Zmm18; + M512 Zmm19; + M512 Zmm20; + M512 Zmm21; + M512 Zmm22; + M512 Zmm23; + M512 Zmm24; + M512 Zmm25; + M512 Zmm26; + M512 Zmm27; + M512 Zmm28; + M512 Zmm29; + M512 Zmm30; + M512 Zmm31; + }; } CONTEXT, *PCONTEXT, *LPCONTEXT; // @@ -1840,37 +1826,6 @@ typedef struct _NEON128 { LONGLONG High; } NEON128, *PNEON128; -// -// Context Frame -// -// This frame has a several purposes: 1) it is used as an argument to -// NtContinue, 2) it is used to construct a call frame for APC delivery, -// and 3) it is used in the user level thread creation routines. -// -// -// The flags field within this record controls the contents of a CONTEXT -// record. -// -// If the context record is used as an input parameter, then for each -// portion of the context record controlled by a flag whose value is -// set, it is assumed that such portion of the context record contains -// valid context. If the context record is being used to modify a threads -// context, then only that portion of the threads context is modified. -// -// If the context record is used as an output parameter to capture the -// context of a thread, then only those portions of the thread's context -// corresponding to set flags will be returned. -// -// CONTEXT_CONTROL specifies Sp, Lr, Pc, and Cpsr -// -// CONTEXT_INTEGER specifies R0-R12 -// -// CONTEXT_FLOATING_POINT specifies Q0-Q15 / D0-D31 / S0-S31 -// -// CONTEXT_DEBUG_REGISTERS specifies up to 16 of DBGBVR, DBGBCR, DBGWVR, -// DBGWCR. -// - typedef struct DECLSPEC_ALIGN(8) _CONTEXT { // @@ -2022,37 +1977,6 @@ typedef struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY { #define ARM64_MAX_BREAKPOINTS 8 #define ARM64_MAX_WATCHPOINTS 2 -// -// Context Frame -// -// This frame has a several purposes: 1) it is used as an argument to -// NtContinue, 2) it is used to construct a call frame for APC delivery, -// and 3) it is used in the user level thread creation routines. -// -// -// The flags field within this record controls the contents of a CONTEXT -// record. -// -// If the context record is used as an input parameter, then for each -// portion of the context record controlled by a flag whose value is -// set, it is assumed that such portion of the context record contains -// valid context. If the context record is being used to modify a threads -// context, then only that portion of the threads context is modified. -// -// If the context record is used as an output parameter to capture the -// context of a thread, then only those portions of the thread's context -// corresponding to set flags will be returned. -// -// CONTEXT_CONTROL specifies Sp, Lr, Pc, and Cpsr -// -// CONTEXT_INTEGER specifies R0-R12 -// -// CONTEXT_FLOATING_POINT specifies Q0-Q15 / D0-D31 / S0-S31 -// -// CONTEXT_DEBUG_REGISTERS specifies up to 16 of DBGBVR, DBGBCR, DBGWVR, -// DBGWCR. -// - typedef struct _NEON128 { ULONGLONG Low; LONGLONG High; @@ -2199,28 +2123,6 @@ typedef struct _KNONVOLATILE_CONTEXT_POINTERS { #define LOONGARCH64_MAX_BREAKPOINTS 8 #define LOONGARCH64_MAX_WATCHPOINTS 2 -// -// Context Frame -// -// This frame has a several purposes: 1) it is used as an argument to -// NtContinue, 2) it is used to construct a call frame for APC delivery, -// and 3) it is used in the user level thread creation routines. -// -// -// The flags field within this record controls the contents of a CONTEXT -// record. -// -// If the context record is used as an input parameter, then for each -// portion of the context record controlled by a flag whose value is -// set, it is assumed that such portion of the context record contains -// valid context. If the context record is being used to modify a threads -// context, then only that portion of the threads context is modified. -// -// If the context record is used as an output parameter to capture the -// context of a thread, then only those portions of the thread's context -// corresponding to set flags will be returned. -// - typedef struct DECLSPEC_ALIGN(16) _CONTEXT { // @@ -2271,6 +2173,7 @@ typedef struct DECLSPEC_ALIGN(16) _CONTEXT { // // TODO-LoongArch64: support the SIMD. ULONGLONG F[32]; + DWORD64 Fcc; DWORD Fcsr; } CONTEXT, *PCONTEXT, *LPCONTEXT; @@ -2303,6 +2206,133 @@ typedef struct _KNONVOLATILE_CONTEXT_POINTERS { PDWORD64 F31; } KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; +#elif defined(HOST_RISCV64) + +// Please refer to src/coreclr/pal/src/arch/riscv64/asmconstants.h +#define CONTEXT_RISCV64 0x01000000L + +#define CONTEXT_CONTROL (CONTEXT_RISCV64 | 0x1) +#define CONTEXT_INTEGER (CONTEXT_RISCV64 | 0x2) +#define CONTEXT_FLOATING_POINT (CONTEXT_RISCV64 | 0x4) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_RISCV64 | 0x8) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT) + +#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS) + +#define CONTEXT_EXCEPTION_ACTIVE 0x8000000 +#define CONTEXT_SERVICE_ACTIVE 0x10000000 +#define CONTEXT_EXCEPTION_REQUEST 0x40000000 +#define CONTEXT_EXCEPTION_REPORTING 0x80000000 + +// +// This flag is set by the unwinder if it has unwound to a call +// site, and cleared whenever it unwinds through a trap frame. +// It is used by language-specific exception handlers to help +// differentiate exception scopes during dispatching. +// + +#define CONTEXT_UNWOUND_TO_CALL 0x20000000 + +// begin_ntoshvp + +// +// Specify the number of breakpoints and watchpoints that the OS +// will track. Architecturally, RISCV64 supports up to 16. In practice, +// however, almost no one implements more than 4 of each. +// + +#define RISCV64_MAX_BREAKPOINTS 8 +#define RISCV64_MAX_WATCHPOINTS 2 + +typedef struct DECLSPEC_ALIGN(16) _CONTEXT { + + // + // Control flags. + // + + /* +0x000 */ DWORD ContextFlags; + + // + // Integer registers. + // + DWORD64 R0; + DWORD64 Ra; + DWORD64 Sp; + DWORD64 Gp; + DWORD64 Tp; + DWORD64 T0; + DWORD64 T1; + DWORD64 T2; + DWORD64 Fp; + DWORD64 S1; + DWORD64 A0; + DWORD64 A1; + DWORD64 A2; + DWORD64 A3; + DWORD64 A4; + DWORD64 A5; + DWORD64 A6; + DWORD64 A7; + DWORD64 S2; + DWORD64 S3; + DWORD64 S4; + DWORD64 S5; + DWORD64 S6; + DWORD64 S7; + DWORD64 S8; + DWORD64 S9; + DWORD64 S10; + DWORD64 S11; + DWORD64 T3; + DWORD64 T4; + DWORD64 T5; + DWORD64 T6; + DWORD64 Pc; + + // + // Floating Point Registers + // + // TODO-RISCV64: support the SIMD. + ULONGLONG F[32]; + DWORD Fcsr; +} CONTEXT, *PCONTEXT, *LPCONTEXT; + +// +// Nonvolatile context pointer record. +// + +typedef struct _KNONVOLATILE_CONTEXT_POINTERS { + + PDWORD64 S1; + PDWORD64 S2; + PDWORD64 S3; + PDWORD64 S4; + PDWORD64 S5; + PDWORD64 S6; + PDWORD64 S7; + PDWORD64 S8; + PDWORD64 S9; + PDWORD64 S10; + PDWORD64 S11; + PDWORD64 Fp; + PDWORD64 Gp; + PDWORD64 Tp; + PDWORD64 Ra; + + PDWORD64 F8; + PDWORD64 F9; + PDWORD64 F18; + PDWORD64 F19; + PDWORD64 F20; + PDWORD64 F21; + PDWORD64 F22; + PDWORD64 F23; + PDWORD64 F24; + PDWORD64 F25; + PDWORD64 F26; + PDWORD64 F27; +} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; #elif defined(HOST_S390X) @@ -2604,16 +2634,6 @@ SetThreadPriority( IN HANDLE hThread, IN int nPriority); -PALIMPORT -BOOL -PALAPI -GetThreadTimes( - IN HANDLE hThread, - OUT LPFILETIME lpCreationTime, - OUT LPFILETIME lpExitTime, - OUT LPFILETIME lpKernelTime, - OUT LPFILETIME lpUserTime); - PALIMPORT HRESULT PALAPI @@ -2677,7 +2697,7 @@ PALIMPORT BOOL PALAPI PAL_GetUnwindInfoSize(SIZE_T baseAddress, ULONG64 ehFrameH #if defined(__APPLE__) && defined(__i386__) #define PAL_CS_NATIVE_DATA_SIZE 76 -#elif defined(__APPLE__) && defined(__x86_64__) +#elif defined(__APPLE__) && defined(HOST_AMD64) #define PAL_CS_NATIVE_DATA_SIZE 120 #elif defined(__APPLE__) && defined(HOST_ARM64) #define PAL_CS_NATIVE_DATA_SIZE 120 @@ -2685,10 +2705,12 @@ PALIMPORT BOOL PALAPI PAL_GetUnwindInfoSize(SIZE_T baseAddress, ULONG64 ehFrameH #define PAL_CS_NATIVE_DATA_SIZE 12 #elif defined(__FreeBSD__) && defined(__x86_64__) #define PAL_CS_NATIVE_DATA_SIZE 24 +#elif defined(__FreeBSD__) && defined(HOST_ARM64) +#define PAL_CS_NATIVE_DATA_SIZE 24 #elif defined(__linux__) && defined(HOST_ARM) #define PAL_CS_NATIVE_DATA_SIZE 80 #elif defined(__linux__) && defined(HOST_ARM64) -#define PAL_CS_NATIVE_DATA_SIZE 116 +#define PAL_CS_NATIVE_DATA_SIZE 104 #elif defined(__linux__) && defined(__i386__) #define PAL_CS_NATIVE_DATA_SIZE 76 #elif defined(__linux__) && defined(__x86_64__) @@ -2707,8 +2729,9 @@ PALIMPORT BOOL PALAPI PAL_GetUnwindInfoSize(SIZE_T baseAddress, ULONG64 ehFrameH #define PAL_CS_NATIVE_DATA_SIZE 48 #elif defined(__linux__) && defined(__loongarch64) #define PAL_CS_NATIVE_DATA_SIZE 96 +#elif defined(__linux__) && defined(__riscv) && __riscv_xlen == 64 +#define PAL_CS_NATIVE_DATA_SIZE 96 #else -#warning #error PAL_CS_NATIVE_DATA_SIZE is not defined for this architecture #endif @@ -2735,18 +2758,7 @@ typedef struct _CRITICAL_SECTION { PALIMPORT VOID PALAPI EnterCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection); PALIMPORT VOID PALAPI LeaveCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection); PALIMPORT VOID PALAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection); -PALIMPORT BOOL PALAPI InitializeCriticalSectionEx(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount, DWORD Flags); PALIMPORT VOID PALAPI DeleteCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection); -PALIMPORT BOOL PALAPI TryEnterCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection); - -#define SEM_FAILCRITICALERRORS 0x0001 -#define SEM_NOOPENFILEERRORBOX 0x8000 - -PALIMPORT -UINT -PALAPI -SetErrorMode( - IN UINT uMode); #define PAGE_NOACCESS 0x01 #define PAGE_READONLY 0x02 @@ -2792,16 +2804,6 @@ CreateFileMappingW( #define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS #define FILE_MAP_COPY SECTION_QUERY -PALIMPORT -HANDLE -PALAPI -OpenFileMappingW( - IN DWORD dwDesiredAccess, - IN BOOL bInheritHandle, - IN LPCWSTR lpName); - -#define OpenFileMapping OpenFileMappingW - typedef INT_PTR (PALAPI_NOEXPORT *FARPROC)(); PALIMPORT @@ -2945,14 +2947,6 @@ PALAPI FreeLibrary( IN OUT HMODULE hLibModule); -PALIMPORT -PAL_NORETURN -VOID -PALAPI -FreeLibraryAndExitThread( - IN HMODULE hLibModule, - IN DWORD dwExitCode); - PALIMPORT BOOL PALAPI @@ -3413,7 +3407,7 @@ BitScanForward64( // intrinsic, which returns the number of leading 0-bits in x starting at the most significant // bit position (the result is undefined when x = 0). // -// The same is true for BitScanReverse, except that the GCC function is __builtin_clzl. +// The same is true for BitScanReverse, except that the GCC function is __builtin_clz. EXTERN_C PALIMPORT @@ -3424,12 +3418,12 @@ BitScanReverse( IN OUT PDWORD Index, IN UINT qwMask) { - // The result of __builtin_clzl is undefined when qwMask is zero, + // The result of __builtin_clz is undefined when qwMask is zero, // but it's still OK to call the intrinsic in that case (just don't use the output). // Unconditionally calling the intrinsic in this way allows the compiler to // emit branchless code for this function when possible (depending on how the // intrinsic is implemented for the target platform). - int lzcount = __builtin_clzl(qwMask); + int lzcount = __builtin_clz(qwMask); *Index = (DWORD)(31 - lzcount); return qwMask != 0; } @@ -3453,9 +3447,9 @@ BitScanReverse64( return qwMask != 0; } -FORCEINLINE void PAL_ArmInterlockedOperationBarrier() +FORCEINLINE void PAL_InterlockedOperationBarrier() { -#ifdef HOST_ARM64 +#if defined(HOST_ARM64) || defined(HOST_LOONGARCH64) || defined(HOST_RISCV64) // On arm64, most of the __sync* functions generate a code sequence like: // loop: // ldaxr (load acquire exclusive) @@ -3468,9 +3462,6 @@ FORCEINLINE void PAL_ArmInterlockedOperationBarrier() // require the load to occur after the store. This memory barrier should be used following a call to a __sync* function to // prevent that reordering. Code generated for arm32 includes a 'dmb' after 'cbnz', so no issue there at the moment. __sync_synchronize(); -#endif // HOST_ARM64 -#ifdef HOST_LOONGARCH64 - __sync_synchronize(); #endif } @@ -3505,7 +3496,7 @@ EXTERN_C PALIMPORT inline RETURN_TYPE PALAPI METHOD_DECL \ else \ { \ RETURN_TYPE result = INTRINSIC_NAME; \ - PAL_ArmInterlockedOperationBarrier(); \ + PAL_InterlockedOperationBarrier(); \ return result; \ } \ } \ @@ -3517,7 +3508,7 @@ EXTERN_C PALIMPORT inline RETURN_TYPE PALAPI METHOD_DECL \ EXTERN_C PALIMPORT inline RETURN_TYPE PALAPI METHOD_DECL \ { \ RETURN_TYPE result = INTRINSIC_NAME; \ - PAL_ArmInterlockedOperationBarrier(); \ + PAL_InterlockedOperationBarrier(); \ return result; \ } \ @@ -3717,7 +3708,7 @@ to the variable that 'Addend' points to. Parameters lpAddend -[in/out] Pointer to the variable to to added. +[in/out] Pointer to the variable to added. Return Values @@ -3798,28 +3789,14 @@ YieldProcessor() __asm__ __volatile__( "yield"); #elif defined(HOST_LOONGARCH64) __asm__ volatile( "dbar 0; \n"); +#elif defined(HOST_RISCV64) + // TODO-RISCV64-CQ: When Zihintpause is supported, replace with `pause` instruction. + __asm__ __volatile__(".word 0x0100000f"); #else return; #endif } -PALIMPORT -DWORD -PALAPI -GetCurrentProcessorNumber(); - -/*++ -Function: -PAL_HasGetCurrentProcessorNumber - -Checks if GetCurrentProcessorNumber is available in the current environment - ---*/ -PALIMPORT -BOOL -PALAPI -PAL_HasGetCurrentProcessorNumber(); - #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 #define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200 #define FORMAT_MESSAGE_FROM_STRING 0x00000400 @@ -3992,44 +3969,6 @@ PALAPI GetSystemInfo( OUT LPSYSTEM_INFO lpSystemInfo); -PALIMPORT -BOOL -PALAPI -CreatePipe( - OUT PHANDLE hReadPipe, - OUT PHANDLE hWritePipe, - IN LPSECURITY_ATTRIBUTES lpPipeAttributes, - IN DWORD nSize - ); - -// -// NUMA related APIs -// - -PALIMPORT -BOOL -PALAPI -GetNumaHighestNodeNumber( - OUT PULONG HighestNodeNumber -); - -PALIMPORT -BOOL -PALAPI -PAL_GetNumaProcessorNode(WORD procNo, WORD* node); - -PALIMPORT -LPVOID -PALAPI -VirtualAllocExNuma( - IN HANDLE hProcess, - IN OPTIONAL LPVOID lpAddress, - IN SIZE_T dwSize, - IN DWORD flAllocationType, - IN DWORD flProtect, - IN DWORD nndPreferred -); - PALIMPORT BOOL PALAPI @@ -4060,31 +3999,13 @@ PAL_GetCurrentThreadAffinitySet(SIZE_T size, UINT_PTR* data); defines */ #ifndef PAL_STDCPP_COMPAT #define exit PAL_exit -#define printf PAL_printf -#define vprintf PAL_vprintf -#define wprintf PAL_wprintf -#define wcstod PAL_wcstod -#define wcstoul PAL_wcstoul -#define wcscat PAL_wcscat -#define wcscpy PAL_wcscpy -#define wcslen PAL_wcslen -#define wcsncmp PAL_wcsncmp -#define wcschr PAL_wcschr -#define wcsrchr PAL_wcsrchr -#define wcsstr PAL_wcsstr -#define swscanf PAL_swscanf -#define wcspbrk PAL_wcspbrk -#define wcscmp PAL_wcscmp -#define wcsncpy PAL_wcsncpy #define realloc PAL_realloc #define fopen PAL_fopen #define strtok PAL_strtok #define strtoul PAL_strtoul #define strtoull PAL_strtoull #define fprintf PAL_fprintf -#define fwprintf PAL_fwprintf #define vfprintf PAL_vfprintf -#define vfwprintf PAL_vfwprintf #define rand PAL_rand #define time PAL_time #define getenv PAL_getenv @@ -4126,16 +4047,18 @@ PAL_GetCurrentThreadAffinitySet(SIZE_T size, UINT_PTR* data); #define _open PAL__open #define _pread PAL__pread #define _close PAL__close -#define _wcstoui64 PAL__wcstoui64 #define _flushall PAL__flushall #define strnlen PAL_strnlen -#define wcsnlen PAL_wcsnlen #ifdef HOST_AMD64 #define _mm_getcsr PAL__mm_getcsr #define _mm_setcsr PAL__mm_setcsr #endif // HOST_AMD64 +// Forward declare functions that are in header files we can't include yet +int printf(const char *, ...); +int vprintf(const char *, va_list); + #endif // !PAL_STDCPP_COMPAT #ifndef _CONST_RETURN @@ -4161,30 +4084,7 @@ typedef unsigned int wint_t; #endif #ifndef PAL_STDCPP_COMPAT - -#if defined(_DEBUG) - -/*++ -Function: -PAL_memcpy - -Overlapping buffer-safe version of memcpy. -See MSDN doc for memcpy ---*/ -EXTERN_C -PALIMPORT -DLLEXPORT -void *PAL_memcpy (void *dest, const void * src, size_t count); - -PALIMPORT void * __cdecl memcpy(void *, const void *, size_t) THROW_DECL; - -#define memcpy PAL_memcpy -#define IS_PAL_memcpy 1 -#define TEST_PAL_DEFERRED(def) IS_##def -#define IS_REDEFINED_IN_PAL(def) TEST_PAL_DEFERRED(def) -#else //defined(_DEBUG) PALIMPORT void * __cdecl memcpy(void *, const void *, size_t); -#endif //defined(_DEBUG) PALIMPORT int __cdecl memcmp(const void *, const void *, size_t); PALIMPORT void * __cdecl memset(void *, int, size_t); PALIMPORT void * __cdecl memmove(void *, const void *, size_t); @@ -4224,6 +4124,7 @@ PALIMPORT int __cdecl iswspace(wint_t); PALIMPORT int __cdecl iswxdigit(wint_t); PALIMPORT wint_t __cdecl towupper(wint_t); PALIMPORT wint_t __cdecl towlower(wint_t); +PALIMPORT int remove(const char*); #endif // PAL_STDCPP_COMPAT /* _TRUNCATE */ @@ -4234,20 +4135,14 @@ PALIMPORT wint_t __cdecl towlower(wint_t); PALIMPORT DLLEXPORT errno_t __cdecl memcpy_s(void *, size_t, const void *, size_t) THROW_DECL; PALIMPORT errno_t __cdecl memmove_s(void *, size_t, const void *, size_t); PALIMPORT DLLEXPORT int __cdecl _stricmp(const char *, const char *); -PALIMPORT DLLEXPORT int __cdecl vsprintf_s(char *, size_t, const char *, va_list); PALIMPORT char * __cdecl _gcvt_s(char *, int, double, int); PALIMPORT int __cdecl __iscsym(int); PALIMPORT DLLEXPORT int __cdecl _wcsicmp(const WCHAR *, const WCHAR*); PALIMPORT int __cdecl _wcsnicmp(const WCHAR *, const WCHAR *, size_t); -PALIMPORT int __cdecl _vsnprintf(char *, size_t, const char *, va_list); PALIMPORT DLLEXPORT int __cdecl _vsnprintf_s(char *, size_t, size_t, const char *, va_list); -PALIMPORT DLLEXPORT int __cdecl _vsnwprintf_s(WCHAR *, size_t, size_t, const WCHAR *, va_list); -PALIMPORT DLLEXPORT int __cdecl _snwprintf_s(WCHAR *, size_t, size_t, const WCHAR *, ...); PALIMPORT DLLEXPORT int __cdecl _snprintf_s(char *, size_t, size_t, const char *, ...); +PALIMPORT DLLEXPORT int __cdecl vsprintf_s(char *, size_t, const char *, va_list); PALIMPORT DLLEXPORT int __cdecl sprintf_s(char *, size_t, const char *, ... ); -PALIMPORT DLLEXPORT int __cdecl swprintf_s(WCHAR *, size_t, const WCHAR *, ... ); -PALIMPORT int __cdecl _snwprintf_s(WCHAR *, size_t, size_t, const WCHAR *, ...); -PALIMPORT int __cdecl vswprintf_s( WCHAR *, size_t, const WCHAR *, va_list); PALIMPORT DLLEXPORT int __cdecl sscanf_s(const char *, const char *, ...); PALIMPORT DLLEXPORT errno_t __cdecl _itow_s(int, WCHAR *, size_t, int); @@ -4261,14 +4156,11 @@ PALIMPORT DLLEXPORT const WCHAR * __cdecl PAL_wcschr(const WCHAR *, WCHAR); PALIMPORT DLLEXPORT const WCHAR * __cdecl PAL_wcsrchr(const WCHAR *, WCHAR); PALIMPORT WCHAR _WConst_return * __cdecl PAL_wcspbrk(const WCHAR *, const WCHAR *); PALIMPORT DLLEXPORT WCHAR _WConst_return * __cdecl PAL_wcsstr(const WCHAR *, const WCHAR *); -PALIMPORT int __cdecl PAL_swprintf(WCHAR *, const WCHAR *, ...); -PALIMPORT int __cdecl PAL_vswprintf(WCHAR *, const WCHAR *, va_list); -PALIMPORT int __cdecl PAL_swscanf(const WCHAR *, const WCHAR *, ...); PALIMPORT DLLEXPORT ULONG __cdecl PAL_wcstoul(const WCHAR *, WCHAR **, int); -PALIMPORT double __cdecl PAL_wcstod(const WCHAR *, WCHAR **); +PALIMPORT DLLEXPORT ULONGLONG __cdecl PAL__wcstoui64(const WCHAR *, WCHAR **, int); +PALIMPORT DLLEXPORT double __cdecl PAL_wcstod(const WCHAR *, WCHAR **); PALIMPORT errno_t __cdecl _wcslwr_s(WCHAR *, size_t sz); -PALIMPORT DLLEXPORT ULONGLONG _wcstoui64(const WCHAR *, WCHAR **, int); PALIMPORT DLLEXPORT errno_t __cdecl _i64tow_s(long long, WCHAR *, size_t, int); PALIMPORT int __cdecl _wtoi(const WCHAR *); @@ -4285,10 +4177,6 @@ inline WCHAR *PAL_wcsstr(WCHAR* S, const WCHAR* P) } #endif -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif - #if !__has_builtin(_rotl) /*++ Function: @@ -4417,6 +4305,12 @@ inline __int64 abs(__int64 _X) { return llabs(_X); } +#ifdef __APPLE__ +inline __int64 abs(SSIZE_T _X) { + return llabs((__int64)_X); +} +#endif + } #endif @@ -4497,13 +4391,7 @@ PALIMPORT LONG __cdecl PAL_ftell(PAL_FILE *); PALIMPORT int __cdecl PAL_ferror(PAL_FILE *); PALIMPORT PAL_FILE * __cdecl PAL_fopen(const char *, const char *); PALIMPORT int __cdecl PAL_setvbuf(PAL_FILE *stream, char *, int, size_t); -PALIMPORT DLLEXPORT int __cdecl PAL_fwprintf(PAL_FILE *, const WCHAR *, ...); -PALIMPORT int __cdecl PAL_vfwprintf(PAL_FILE *, const WCHAR *, va_list); -PALIMPORT int __cdecl PAL_wprintf(const WCHAR*, ...); -PALIMPORT int __cdecl _getw(PAL_FILE *); -PALIMPORT int __cdecl _putw(int, PAL_FILE *); -PALIMPORT PAL_FILE * __cdecl _fdopen(int, const char *); PALIMPORT PAL_FILE * __cdecl _wfopen(const WCHAR *, const WCHAR *); /* Maximum value that can be returned by the rand function. */ @@ -4515,9 +4403,6 @@ PALIMPORT PAL_FILE * __cdecl _wfopen(const WCHAR *, const WCHAR *); PALIMPORT int __cdecl rand(void); PALIMPORT void __cdecl srand(unsigned int); -PALIMPORT DLLEXPORT int __cdecl printf(const char *, ...); -PALIMPORT int __cdecl vprintf(const char *, va_list); - #ifdef _MSC_VER #define PAL_get_caller _MSC_VER #else @@ -4549,23 +4434,6 @@ PALIMPORT DLLEXPORT int __cdecl _putenv(const char *); PALIMPORT WCHAR __cdecl PAL_ToUpperInvariant(WCHAR); PALIMPORT WCHAR __cdecl PAL_ToLowerInvariant(WCHAR); -/******************* PAL-specific I/O completion port *****************/ - -typedef struct _PAL_IOCP_CPU_INFORMATION { - union { - FILETIME ftLastRecordedIdleTime; - FILETIME ftLastRecordedCurrentTime; - } LastRecordedTime; - FILETIME ftLastRecordedKernelTime; - FILETIME ftLastRecordedUserTime; -} PAL_IOCP_CPU_INFORMATION; - -PALIMPORT -INT -PALAPI -PAL_GetCPUBusyTime( - IN OUT PAL_IOCP_CPU_INFORMATION *lpPrevCPUInfo); - /****************PAL Perf functions for PInvoke*********************/ #if PAL_PERF PALIMPORT @@ -4599,17 +4467,6 @@ void _mm_setcsr(unsigned int i); /******************* PAL functions for CPU capability detection *******/ -#ifdef __cplusplus - -class CORJIT_FLAGS; - -PALIMPORT -VOID -PALAPI -PAL_GetJitCpuCapabilityFlags(CORJIT_FLAGS *flags); - -#endif - #ifdef __cplusplus PALIMPORT @@ -4633,6 +4490,7 @@ struct PAL_SEHException ExceptionPointers.ExceptionRecord = ex.ExceptionPointers.ExceptionRecord; ExceptionPointers.ContextRecord = ex.ExceptionPointers.ContextRecord; TargetFrameSp = ex.TargetFrameSp; + TargetIp = ex.TargetIp; RecordsOnStack = ex.RecordsOnStack; IsExternal = ex.IsExternal; ManagedToNativeExceptionCallback = ex.ManagedToNativeExceptionCallback; @@ -4655,6 +4513,8 @@ struct PAL_SEHException EXCEPTION_POINTERS ExceptionPointers; // Target frame stack pointer set before the 2nd pass. SIZE_T TargetFrameSp; + SIZE_T TargetIp; + SIZE_T ReturnValue; bool RecordsOnStack; // The exception is a hardware exception coming from a native code out of // the well known runtime helpers @@ -4668,6 +4528,7 @@ struct PAL_SEHException ExceptionPointers.ExceptionRecord = pExceptionRecord; ExceptionPointers.ContextRecord = pContextRecord; TargetFrameSp = NoTargetFrameSp; + TargetIp = 0; RecordsOnStack = onStack; IsExternal = false; ManagedToNativeExceptionCallback = NULL; @@ -4707,6 +4568,7 @@ struct PAL_SEHException ExceptionPointers.ExceptionRecord = NULL; ExceptionPointers.ContextRecord = NULL; TargetFrameSp = NoTargetFrameSp; + TargetIp = 0; RecordsOnStack = false; IsExternal = false; ManagedToNativeExceptionCallback = NULL; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/pal_mstypes.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/pal_mstypes.h index 90378a81f4..1eee6b2bbb 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/pal_mstypes.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/pal_mstypes.h @@ -195,12 +195,11 @@ extern "C" { // they must be either signed or unsigned) and we want to be able to use // __int64 as though it were intrinsic -#ifdef HOST_64BIT +#if defined(HOST_64BIT) && !defined(__APPLE__) #define __int64 long -#else // HOST_64BIT +#else // HOST_64BIT && !__APPLE__ #define __int64 long long -#endif // HOST_64BIT - +#endif // HOST_64BIT && !__APPLE__ #define __int32 int #define __int16 short int #define __int8 char // assumes char is signed @@ -543,8 +542,16 @@ typedef _W64 unsigned __int32 DWORD_PTR, *PDWORD_PTR; #define UlongToPtr(ul) ULongToPtr(ul) #define UintToPtr(ui) UIntToPtr(ui) -typedef ULONG_PTR SIZE_T, *PSIZE_T; -typedef LONG_PTR SSIZE_T, *PSSIZE_T; +#ifdef HOST_64BIT +typedef unsigned long SIZE_T; +typedef long SSIZE_T; +#else +typedef unsigned int SIZE_T; +typedef int SSIZE_T; +#endif + +static_assert(sizeof(SIZE_T) == sizeof(void*), "SIZE_T should be pointer sized"); +static_assert(sizeof(SSIZE_T) == sizeof(void*), "SSIZE_T should be pointer sized"); #ifndef SIZE_T_MAX #define SIZE_T_MAX ULONG_PTR_MAX @@ -559,18 +566,14 @@ typedef LONG_PTR SSIZE_T, *PSSIZE_T; #endif #ifndef PAL_STDCPP_COMPAT -#if defined(__APPLE_CC__) || defined(__linux__) #ifdef HOST_64BIT typedef unsigned long size_t; +typedef long ssize_t; typedef long ptrdiff_t; #else // !HOST_64BIT typedef unsigned int size_t; typedef int ptrdiff_t; #endif // !HOST_64BIT -#else -typedef ULONG_PTR size_t; -typedef LONG_PTR ptrdiff_t; -#endif #endif // !PAL_STDCPP_COMPAT #define _SIZE_T_DEFINED @@ -596,8 +599,8 @@ typedef int intptr_t; typedef unsigned int uintptr_t; #endif // !HOST_64BIT #else -typedef INT_PTR intptr_t; -typedef UINT_PTR uintptr_t; +typedef long int intptr_t; +typedef unsigned long int uintptr_t; #endif #endif // PAL_STDCPP_COMPAT diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/palprivate.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/palprivate.h index 49e302df32..1801f01444 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/palprivate.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/palprivate.h @@ -35,14 +35,6 @@ PALAPI DeleteFileA( IN LPCSTR lpFileName); -PALIMPORT -BOOL -PALAPI -MoveFileExA( - IN LPCSTR lpExistingFileName, - IN LPCSTR lpNewFileName, - IN DWORD dwFlags); - PALIMPORT BOOL PALAPI @@ -116,13 +108,6 @@ GetTempPathA( IN DWORD nBufferLength, OUT LPSTR lpBuffer); -PALIMPORT -DWORD -PALAPI -GetCurrentDirectoryA( - IN DWORD nBufferLength, - OUT LPSTR lpBuffer); - PALIMPORT BOOL PALAPI @@ -193,15 +178,6 @@ CompareFileTime( IN CONST FILETIME *lpFileTime1, IN CONST FILETIME *lpFileTime2); -/* These are from the file in windows. - They are needed for _open_osfhandle.*/ -#define _O_RDONLY 0x0000 -#define _O_APPEND 0x0008 -#define _O_TEXT 0x4000 -#define _O_BINARY 0x8000 - -PALIMPORT int __cdecl _open_osfhandle(INT_PTR, int); - #ifdef __cplusplus } #endif diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/psapi.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/cpp/stdbool.h similarity index 100% rename from src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/psapi.h rename to src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/cpp/stdbool.h diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/ntimage.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/ntimage.h index a369a612ff..17680e2a3e 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/ntimage.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/ntimage.h @@ -244,6 +244,7 @@ typedef struct _IMAGE_FILE_HEADER { #define IMAGE_FILE_MACHINE_ARM64 0xAA64 // ARM64 Little-Endian #define IMAGE_FILE_MACHINE_CEE 0xC0EE #define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264 // LOONGARCH64. +#define IMAGE_FILE_MACHINE_RISCV64 0x5064 // RISCV64 // // Directory format. @@ -474,22 +475,6 @@ typedef PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS; #define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13 // Delay Load Import Descriptors #define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14 // COM Runtime descriptor -#ifdef _MSC_VER -// -// Non-COFF Object file header -// - -typedef struct ANON_OBJECT_HEADER { - USHORT Sig1; // Must be IMAGE_FILE_MACHINE_UNKNOWN - USHORT Sig2; // Must be 0xffff - USHORT Version; // >= 1 (implies the CLSID field is present) - USHORT Machine; - ULONG TimeDateStamp; - CLSID ClassID; // Used to invoke CoCreateInstance - ULONG SizeOfData; // Size of data that follows the header -} ANON_OBJECT_HEADER; -#endif - // // Section header format. // @@ -1036,6 +1021,12 @@ typedef IMAGE_RELOCATION UNALIGNED *PIMAGE_RELOCATION; #define IMAGE_REL_LOONGARCH64_PC 0x0003 #define IMAGE_REL_LOONGARCH64_JIR 0x0004 +// +// RISCV64 relocation types +// +#define IMAGE_REL_RISCV64_PC 0x0003 +#define IMAGE_REL_RISCV64_JALR 0x0004 + // // CEF relocation types. // diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/oaidl.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/oaidl.h index 3c75bc0535..ed7491c584 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/oaidl.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/oaidl.h @@ -11,100 +11,8 @@ #ifndef __OAIDL_H__ #define __OAIDL_H__ -#include "rpc.h" -#include "rpcndr.h" - -#include "unknwn.h" - -typedef struct tagEXCEPINFO { - WORD wCode; - WORD wReserved; - BSTR bstrSource; - BSTR bstrDescription; - BSTR bstrHelpFile; - DWORD dwHelpContext; - PVOID pvReserved; - HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *); - SCODE scode; -} EXCEPINFO, * LPEXCEPINFO; - -typedef interface IErrorInfo IErrorInfo; -typedef /* [unique] */ IErrorInfo *LPERRORINFO; - -EXTERN_C const IID IID_IErrorInfo; - - interface - IErrorInfo : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetGUID( - /* [out] */ GUID *pGUID) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSource( - /* [out] */ BSTR *pBstrSource) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDescription( - /* [out] */ BSTR *pBstrDescription) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHelpFile( - /* [out] */ BSTR *pBstrHelpFile) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHelpContext( - /* [out] */ DWORD *pdwHelpContext) = 0; - - }; - -typedef interface ICreateErrorInfo ICreateErrorInfo; - -EXTERN_C const IID IID_ICreateErrorInfo; - -typedef /* [unique] */ ICreateErrorInfo *LPCREATEERRORINFO; - - interface - ICreateErrorInfo : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE SetGUID( - /* [in] */ REFGUID rguid) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetSource( - /* [in] */ LPOLESTR szSource) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetDescription( - /* [in] */ LPOLESTR szDescription) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetHelpFile( - /* [in] */ LPOLESTR szHelpFile) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetHelpContext( - /* [in] */ DWORD dwHelpContext) = 0; - - }; - -STDAPI -SetErrorInfo(ULONG dwReserved, IErrorInfo FAR* perrinfo); - -STDAPI -GetErrorInfo(ULONG dwReserved, IErrorInfo FAR* FAR* pperrinfo); - -STDAPI -CreateErrorInfo(ICreateErrorInfo FAR* FAR* pperrinfo); - - -typedef interface ISupportErrorInfo ISupportErrorInfo; - -typedef /* [unique] */ ISupportErrorInfo *LPSUPPORTERRORINFO; - -EXTERN_C const IID IID_ISupportErrorInfo; - - - interface - ISupportErrorInfo : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo( - /* [in] */ REFIID riid) = 0; - - }; +// Pointer to IErrorInfo is still used in non-Windows code +// Prevent accidentally using its member +struct IErrorInfo; #endif //__OAIDL_H__ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/palrt.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/palrt.h index 954bcc7ca8..fffc116766 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/palrt.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/palrt.h @@ -591,9 +591,6 @@ STDAPI CreateStreamOnHGlobal(PVOID hGlobal, BOOL fDeleteOnRelease, interface ISt #define STGM_NOSNAPSHOT 0x00200000L -STDAPI IIDFromString(LPOLESTR lpsz, IID* lpiid); -STDAPI_(int) StringFromGUID2(REFGUID rguid, LPOLESTR lpsz, int cchMax); - /******************* CRYPT **************************************/ #define PUBLICKEYBLOB 0x6 @@ -637,25 +634,6 @@ typedef unsigned int ALG_ID; #define CSTR_EQUAL 2 #define CSTR_GREATER_THAN 3 -/******************* shlwapi ************************************/ - -// note: diff in NULL handing and calling convetion -#define StrChrW (WCHAR*)PAL_wcschr - -STDAPI_(LPWSTR) StrRChrW(LPCWSTR lpStart, LPCWSTR lpEnd, WCHAR wMatch); - -#define lstrcmpW PAL_wcscmp -#define lstrcmpiW _wcsicmp - -#ifdef UNICODE -#define StrChr StrChrW - -#define StrRChr StrRChrW - -#define lstrcmp lstrcmpW -#define lstrcmpi lstrcmpiW -#endif - #ifdef __cplusplus /* @@ -675,8 +653,6 @@ The wrappers below are simple implementations that may not be as robust as compl Remember to fix the errcode definition in safecrt.h. */ -#define swscanf_s swscanf - #define _wfopen_s _wfopen_unsafe #define fopen_s _fopen_unsafe @@ -734,15 +710,6 @@ inline errno_t __cdecl _fopen_unsafe(PAL_FILE * *ff, const char *fileName, const } #endif /* __cplusplus */ -STDAPI_(BOOL) PathIsUNCW(LPCWSTR pszPath); -STDAPI_(BOOL) PathCanonicalizeW(LPWSTR lpszDst, LPCWSTR lpszSrc); - -#ifdef UNICODE -#define PathIsUNC PathIsUNCW -#define PathCanonicalize PathCanonicalizeW - -#endif // UNICODE - /******************* misc ***************************************/ #ifdef __cplusplus @@ -867,24 +834,6 @@ typedef VOID (NTAPI *WAITORTIMERCALLBACK)(PVOID, BOOLEAN); #define IMAGE_COR20_HEADER_FIELD(obj, f) ((obj).f) #endif -// copied from winnt.h -#define PROCESSOR_ARCHITECTURE_INTEL 0 -#define PROCESSOR_ARCHITECTURE_MIPS 1 -#define PROCESSOR_ARCHITECTURE_ALPHA 2 -#define PROCESSOR_ARCHITECTURE_PPC 3 -#define PROCESSOR_ARCHITECTURE_SHX 4 -#define PROCESSOR_ARCHITECTURE_ARM 5 -#define PROCESSOR_ARCHITECTURE_IA64 6 -#define PROCESSOR_ARCHITECTURE_ALPHA64 7 -#define PROCESSOR_ARCHITECTURE_MSIL 8 -#define PROCESSOR_ARCHITECTURE_AMD64 9 -#define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 10 -#define PROCESSOR_ARCHITECTURE_NEUTRAL 11 -#define PROCESSOR_ARCHITECTURE_ARM64 12 -#define PROCESSOR_ARCHITECTURE_LOONGARCH64 13 - -#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF - // // JIT Debugging Info. This structure is defined to have constant size in // both the emulated and native environment. @@ -892,7 +841,6 @@ typedef VOID (NTAPI *WAITORTIMERCALLBACK)(PVOID, BOOLEAN); typedef struct _JIT_DEBUG_INFO { DWORD dwSize; - DWORD dwProcessorArchitecture; DWORD dwThreadID; DWORD dwReserved0; ULONG64 lpExceptionAddress; @@ -1061,7 +1009,7 @@ typedef struct _DISPATCHER_CONTEXT { DWORD Reserved; } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; -#elif defined(HOST_ARM64) +#elif defined(HOST_ARM64) || defined(HOST_LOONGARCH64) || defined(HOST_RISCV64) typedef struct _DISPATCHER_CONTEXT { ULONG64 ControlPc; @@ -1109,24 +1057,6 @@ typedef struct _DISPATCHER_CONTEXT { BOOLEAN ControlPcIsUnwound; } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; -#elif defined(HOST_LOONGARCH64) - -typedef struct _DISPATCHER_CONTEXT { - ULONG64 ControlPc; - ULONG64 ImageBase; - PRUNTIME_FUNCTION FunctionEntry; - ULONG64 EstablisherFrame; - ULONG64 TargetPc; - PCONTEXT ContextRecord; - PEXCEPTION_ROUTINE LanguageHandler; - PVOID HandlerData; - PVOID HistoryTable; - ULONG64 ScopeIndex; - BOOLEAN ControlPcIsUnwound; - PBYTE NonVolatileRegisters; - ULONG64 Reserved; -} DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; - #elif defined(HOST_S390X) typedef struct _DISPATCHER_CONTEXT { @@ -1149,8 +1079,6 @@ typedef struct _DISPATCHER_CONTEXT { #endif -// #endif // !defined(TARGET_OSX) - typedef DISPATCHER_CONTEXT *PDISPATCHER_CONTEXT; #define ExceptionContinueSearch EXCEPTION_CONTINUE_SEARCH diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/safecrt.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/safecrt.h index e440196df8..007b3deae7 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/safecrt.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/safecrt.h @@ -383,9 +383,7 @@ void __cdecl _invalid_parameter(const WCHAR *_Message, const WCHAR *_FunctionNam #define _tcsnset_s _wcsnset_s #define _tcstok_s wcstok_s #define _tmakepath_s _wmakepath_s -#define _tsplitpath_s _wsplitpath_s #define _stprintf_s swprintf_s -#define _vsntprintf_s _vsnwprintf_s #define _tscanf_s wscanf_s #define _tsscanf_s swscanf_s @@ -1371,13 +1369,13 @@ errno_t __cdecl _wmakepath_s(WCHAR *_Dst, size_t _SizeInWords, const WCHAR *_Dri } while (*p != 0); p = p - 1; - if (*p != L'/' && *p != L'\\') + if (*p != L'/') { if(++written >= _SizeInWords) { goto error_return; } - *d++ = L'\\'; + *d++ = L'/'; } } @@ -1433,228 +1431,10 @@ errno_t __cdecl _wmakepath_s(WCHAR *_Dst, size_t _SizeInWords, const WCHAR *_Dri } #endif -/* _wsplitpath_s */ -_SAFECRT__EXTERN_C -errno_t __cdecl _wsplitpath_s( - const WCHAR *_Path, - WCHAR *_Drive, size_t _DriveSize, - WCHAR *_Dir, size_t _DirSize, - WCHAR *_Filename, size_t _FilenameSize, - WCHAR *_Ext, size_t _ExtSize -); - -/* no C++ overload for _wsplitpath_s */ - -#if _SAFECRT_USE_INLINES || _SAFECRT_IMPL - -_SAFECRT__INLINE -errno_t __cdecl _wsplitpath_s( - const WCHAR *_Path, - WCHAR *_Drive, size_t _DriveSize, - WCHAR *_Dir, size_t _DirSize, - WCHAR *_Filename, size_t _FilenameSize, - WCHAR *_Ext, size_t _ExtSize -) -{ - const WCHAR *tmp; - const WCHAR *last_slash; - const WCHAR *dot; - int drive_set = 0; - size_t length = 0; - int bEinval = 0; - - /* validation section */ - _SAFECRT__VALIDATE_POINTER(_Path); - if ((_Drive == nullptr && _DriveSize != 0) || (_Drive != nullptr && _DriveSize == 0)) - { - goto error_einval; - } - if ((_Dir == nullptr && _DirSize != 0) || (_Dir != nullptr && _DirSize == 0)) - { - goto error_einval; - } - if ((_Filename == nullptr && _FilenameSize != 0) || (_Filename != nullptr && _FilenameSize == 0)) - { - goto error_einval; - } - if ((_Ext == nullptr && _ExtSize != 0) || (_Ext != nullptr && _ExtSize == 0)) - { - goto error_einval; - } - - /* check if _Path begins with the longpath prefix */ - if (_Path[0] == L'\\' && _Path[1] == L'\\' && _Path[2] == L'?' && _Path[3] == L'\\') - { - _Path += 4; - } - - /* extract drive letter and ':', if any */ - if (!drive_set) - { - size_t skip = _MAX_DRIVE - 2; - tmp = _Path; - while (skip > 0 && *tmp != 0) - { - skip--; - tmp++; - } - if (*tmp == L':') - { - if (_Drive != nullptr) - { - if (_DriveSize < _MAX_DRIVE) - { - goto error_erange; - } - wcsncpy_s(_Drive, _DriveSize, _Path, _MAX_DRIVE - 1); - } - _Path = tmp + 1; - } - else - { - if (_Drive != nullptr) - { - _SAFECRT__RESET_STRING(_Drive, _DriveSize); - } - } - } - - /* extract path string, if any. _Path now points to the first character - * of the path, if any, or the filename or extension, if no path was - * specified. Scan ahead for the last occurrence, if any, of a '/' or - * '\' path separator character. If none is found, there is no path. - * We will also note the last '.' character found, if any, to aid in - * handling the extension. - */ - last_slash = nullptr; - dot = nullptr; - tmp = _Path; - for (; *tmp != 0; ++tmp) - { - { - if (*tmp == L'/' || *tmp == L'\\') - { - /* point to one beyond for later copy */ - last_slash = tmp + 1; - } - else if (*tmp == L'.') - { - dot = tmp; - } - } - } - - if (last_slash != nullptr) - { - /* found a path - copy up through last_slash or max characters - * allowed, whichever is smaller - */ - if (_Dir != nullptr) { - length = (size_t)(last_slash - _Path); - if (_DirSize <= length) - { - goto error_erange; - } - wcsncpy_s(_Dir, _DirSize, _Path, length); - } - _Path = last_slash; - } - else - { - /* there is no path */ - if (_Dir != nullptr) - { - _SAFECRT__RESET_STRING(_Dir, _DirSize); - } - } - - /* extract file name and extension, if any. Path now points to the - * first character of the file name, if any, or the extension if no - * file name was given. Dot points to the '.' beginning the extension, - * if any. - */ - if (dot != nullptr && (dot >= _Path)) - { - /* found the marker for an extension - copy the file name up to the '.' */ - if (_Filename) - { - length = (size_t)(dot - _Path); - if (_FilenameSize <= length) - { - goto error_erange; - } - wcsncpy_s(_Filename, _FilenameSize, _Path, length); - } - /* now we can get the extension - remember that tmp still points - * to the terminating nullptr character of path. - */ - if (_Ext) - { - length = (size_t)(tmp - dot); - if (_ExtSize <= length) - { - goto error_erange; - } - wcsncpy_s(_Ext, _ExtSize, dot, length); - } - } - else - { - /* found no extension, give empty extension and copy rest of - * string into fname. - */ - if (_Filename) - { - length = (size_t)(tmp - _Path); - if (_FilenameSize <= length) - { - goto error_erange; - } - wcsncpy_s(_Filename, _FilenameSize, _Path, length); - } - if (_Ext) - { - _SAFECRT__RESET_STRING(_Ext, _ExtSize); - } - } - - return 0; - -error_einval: - bEinval = 1; - -error_erange: - if (_Drive != nullptr && _DriveSize > 0) - { - _SAFECRT__RESET_STRING(_Drive, _DriveSize); - } - if (_Dir != nullptr && _DirSize > 0) - { - _SAFECRT__RESET_STRING(_Dir, _DirSize); - } - if (_Filename != nullptr && _FilenameSize > 0) - { - _SAFECRT__RESET_STRING(_Filename, _FilenameSize); - } - if (_Ext != nullptr && _ExtSize > 0) - { - _SAFECRT__RESET_STRING(_Ext, _ExtSize); - } - - if (bEinval) - { - _SAFECRT__RETURN_EINVAL; - } - - _SAFECRT__RETURN_BUFFER_TOO_SMALL(_Strings, _StringSizes); - /* should never happen, but compiler can't tell */ - return EINVAL; -} -#endif /* vsprintf_s */ /* - * swprintf_s, vsprintf_s, vswprintf_s format a string and copy it into _Dst; + * swprintf_s, vsprintf_s format a string and copy it into _Dst; * need safecrt.lib and msvcrt.dll; * will call _SAFECRT_INVALID_PARAMETER if there is not enough space in _Dst; * will call _SAFECRT_INVALID_PARAMETER if the format string is malformed; @@ -1676,40 +1456,12 @@ int __cdecl vsprintf_s(char (&_Dst)[_SizeInBytes], const char *_Format, va_list } #endif -/* no inline version of vsprintf_s */ - -/* swprintf_s, vswprintf_s */ -_SAFECRT__EXTERN_C -int __cdecl swprintf_s(WCHAR *_Dst, size_t _SizeInWords, const WCHAR *_Format, ...); -_SAFECRT__EXTERN_C -int __cdecl vswprintf_s(WCHAR *_Dst, size_t _SizeInWords, const WCHAR *_Format, va_list _ArgList); - -#if defined(__cplusplus) && _SAFECRT_USE_CPP_OVERLOADS -template -inline -int __cdecl swprintf_s(WCHAR (&_Dst)[_SizeInWords], const WCHAR *_Format, ...) -{ - int ret; - va_list _ArgList; - va_start(_ArgList, _Format); - ret = vswprintf_s(_Dst, _SizeInWords, _Format, _ArgList); - va_end(_ArgList); - return ret; -} - -template -inline -int __cdecl vswprintf_s(WCHAR (&_Dst)[_SizeInWords], const WCHAR *_Format, va_list _ArgList) -{ - return vswprintf_s(_Dst, _SizeInWords, _Format, _ArgList); -} -#endif -/* no inline version of swprintf_s, vswprintf_s */ +/* no inline version of swprintf_s */ /* _vsnprintf_s */ /* - * _snwprintf_s, _vsnprintf_s, _vsnwprintf_s format a string and copy at max _Count characters into _Dst; + * _vsnprintf_s formats a string and copy at max _Count characters into _Dst; * need safecrt.lib and msvcrt.dll; * string _Dst will always be null-terminated; * will call _SAFECRT_INVALID_PARAMETER if there is not enough space in _Dst; @@ -1735,33 +1487,6 @@ int __cdecl _vsnprintf_s(char (&_Dst)[_SizeInBytes], size_t _Count, const char * /* no inline version of _vsnprintf_s */ -/* _snwprintf_s, _vsnwprintf_s */ -_SAFECRT__EXTERN_C -int __cdecl _vsnwprintf_s(WCHAR *_Dst, size_t _SizeInWords, size_t _Count, const WCHAR *_Format, va_list _ArgList); - -#if defined(__cplusplus) && _SAFECRT_USE_CPP_OVERLOADS -template -inline -int __cdecl _snwprintf_s(WCHAR (&_Dst)[_SizeInWords], size_t _Count, const WCHAR *_Format, ...) -{ - int ret; - va_list _ArgList; - va_start(_ArgList, _Format); - ret = _vsnwprintf_s(_Dst, _SizeInWords, _Count, _Format, _ArgList); - va_end(_ArgList); - return ret; -} - -template -inline -int __cdecl _vsnwprintf_s(char (&_Dst)[_SizeInWords], size_t _Count, const char *_Format, va_list _ArgList) -{ - return _vsnwprintf_s(_Dst, _SizeInWords, _Count, _Format, _ArgList); -} -#endif - -/* no inline version of _snwprintf_s, _vsnwprintf_s */ - /* wscanf_s */ _SAFECRT__EXTERN_C int __cdecl wscanf_s(const WCHAR *_Format, ...); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/sal.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/sal.h index 4f96a6f6da..bec3352aa3 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/sal.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/sal.h @@ -2607,7 +2607,7 @@ extern "C" { #define __readonly #define __notreadonly #define __maybereadonly - // #define __valid + #define __valid #define __notvalid #define __maybevalid #define __readableTo(extent) diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/shlwapi.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/shlwapi.h deleted file mode 100644 index 029a173259..0000000000 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/shlwapi.h +++ /dev/null @@ -1,12 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// - -// -// =========================================================================== -// File: shlwapi.h -// -// =========================================================================== -// dummy shlwapi.h for PAL - -#include "palrt.h" diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/tchar.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/tchar.h deleted file mode 100644 index b23533a294..0000000000 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/tchar.h +++ /dev/null @@ -1,4 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -#include "palrt.h" diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/winnls.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/winnls.h deleted file mode 100644 index 93775e4509..0000000000 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/rt/winnls.h +++ /dev/null @@ -1,12 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// - -// -// =========================================================================== -// File: winnls.h -// -// =========================================================================== -// dummy winnls.h for PAL - -#include "palrt.h" diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/strsafe.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/strsafe.h index afbb8b0925..b69feb73c2 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/strsafe.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/strsafe.h @@ -110,22 +110,6 @@ typedef __w64 unsigned int size_t; #ifdef STRSAFE_INLINE STRSAFEAPI StringCopyWorkerA(char* pszDest, size_t cchDest, const char* pszSrc); STRSAFEAPI StringCopyWorkerW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc); -STRSAFEAPI StringCopyExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCopyExWorkerW(WCHAR* pszDest, size_t cchDest, size_t cbDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCopyNWorkerA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc); -STRSAFEAPI StringCopyNWorkerW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchSrc); -STRSAFEAPI StringCopyNExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, size_t cchSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCopyNExWorkerW(WCHAR* pszDest, size_t cchDest, size_t cbDest, const WCHAR* pszSrc, size_t cchSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCatWorkerA(char* pszDest, size_t cchDest, const char* pszSrc); -STRSAFEAPI StringCatWorkerW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc); -STRSAFEAPI StringCatExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCatExWorkerW(WCHAR* pszDest, size_t cchDest, size_t cbDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCatNWorkerA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend); -STRSAFEAPI StringCatNWorkerW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchMaxAppend); -STRSAFEAPI StringCatNExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, size_t cchMaxAppend, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCatNExWorkerW(WCHAR* pszDest, size_t cchDest, size_t cbDest, const WCHAR* pszSrc, size_t cchMaxAppend, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringLengthWorkerA(const char* psz, size_t cchMax, size_t* pcch); -STRSAFEAPI StringLengthWorkerW(const WCHAR* psz, size_t cchMax, size_t* pcch); #endif // STRSAFE_INLINE #ifndef STRSAFE_NO_CCH_FUNCTIONS @@ -235,3342 +219,63 @@ STRSAFEAPI StringCchCopyW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc) #endif // STRSAFE_INLINE #endif // !STRSAFE_NO_CCH_FUNCTIONS -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchCopyEx(TCHAR pszDest, - size_t cchDest, - LPCTSTR pszSrc, - LPTSTR* ppszDestEnd, - size_t* pcchRemaining, - DWORD dwFlags); - -Routine Description: - - This routine is a safer version of the C built-in function 'strcpy' with - some additional parameters. In addition to functionality provided by - StringCchCopy, this routine also returns a pointer to the end of the - destination string and the number of characters left in the destination string - including the null terminator. The flags parameter allows additional controls. - -Arguments: - - pszDest - destination string - - cchDest - size of destination buffer in characters. - length must be = (_tcslen(pszSrc) + 1) to hold all of - the source including the null terminator - - pszSrc - source string which must be null terminated - - ppszDestEnd - if ppszDestEnd is non-null, the function will return a - pointer to the end of the destination string. If the - function copied any data, the result will point to the - null termination character - - pcchRemaining - if pcchRemaining is non-null, the function will return the - number of characters left in the destination string, - including the null terminator - - dwFlags - controls some details of the string copy: - - STRSAFE_FILL_BEHIND_NULL - if the function succeeds, the low byte of dwFlags will be - used to fill the uninitialize part of destination buffer - behind the null terminator - - STRSAFE_IGNORE_NULLS - treat NULL string pointers like empty strings (TEXT("")). - this flag is useful for emulating functions like lstrcpy - - STRSAFE_FILL_ON_FAILURE - if the function fails, the low byte of dwFlags will be - used to fill all of the destination buffer, and it will - be null terminated. This will overwrite any truncated - string returned when the failure is - STRSAFE_E_INSUFFICIENT_BUFFER - - STRSAFE_NO_TRUNCATION / - STRSAFE_NULL_ON_FAILURE - if the function fails, the destination buffer will be set - to the empty string. This will overwrite any truncated string - returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag - is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc - may be NULL. An error may still be returned even though NULLS are ignored - due to insufficient space. - -Return Value: - - S_OK - if there was source data and it was all copied and the - resultant dest string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the copy operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCchCopyExA(char* pszDest, size_t cchDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCchCopyExW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -#ifdef UNICODE -#define StringCchCopyEx StringCchCopyExW -#else -#define StringCchCopyEx StringCchCopyExA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCchCopyExA(char* pszDest, size_t cchDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cbDest; - - // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 - cbDest = cchDest * sizeof(char); - - hr = StringCopyExWorkerA(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags); - } - - return hr; -} - -STRSAFEAPI StringCchCopyExW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cbDest; - - // safe to multiply cchDest * sizeof(WCHAR) since cchDest < STRSAFE_MAX_CCH and sizeof(WCHAR) is 2 - cbDest = cchDest * sizeof(WCHAR); - - hr = StringCopyExWorkerW(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CCH_FUNCTIONS - -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchCopyN(LPTSTR pszDest, - size_t cchDest, - LPCTSTR pszSrc, - size_t cchSrc); - -Routine Description: - - This routine is a safer version of the C built-in function 'strncpy'. - The size of the destination buffer (in characters) is a parameter and - this function will not write past the end of this buffer and it will - ALWAYS null terminate the destination buffer (unless it is zero length). - - This routine is meant as a replacement for strncpy, but it does behave - differently. This function will not pad the destination buffer with extra - null termination characters if cchSrc is greater than the length of pszSrc. - - This function returns a hresult, and not a pointer. It returns a S_OK - if the entire string or the first cchSrc characters were copied without - truncation and the resultant destination string was null terminated, otherwise - it will return a failure code. In failure cases as much of pszSrc will be - copied to pszDest as possible, and pszDest will be null terminated. - -Arguments: - - pszDest - destination string - - cchDest - size of destination buffer in characters. - length must be = (_tcslen(src) + 1) to hold all of the - source including the null terminator - - pszSrc - source string - - cchSrc - maximum number of characters to copy from source string - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL. See StringCchCopyNEx if you require - the handling of NULL values. - -Return Value: - - S_OK - if there was source data and it was all copied and the - resultant dest string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all hresult failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the copy operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function. - ---*/ - -STRSAFEAPI StringCchCopyNA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc); -STRSAFEAPI StringCchCopyNW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchSrc); -#ifdef UNICODE -#define StringCchCopyN StringCchCopyNW -#else -#define StringCchCopyN StringCchCopyNA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCchCopyNA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc) -{ - HRESULT hr; - - if ((cchDest > STRSAFE_MAX_CCH) || - (cchSrc > STRSAFE_MAX_CCH)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCopyNWorkerA(pszDest, cchDest, pszSrc, cchSrc); - } - - return hr; -} - -STRSAFEAPI StringCchCopyNW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchSrc) -{ - HRESULT hr; - - if ((cchDest > STRSAFE_MAX_CCH) || - (cchSrc > STRSAFE_MAX_CCH)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCopyNWorkerW(pszDest, cchDest, pszSrc, cchSrc); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CCH_FUNCTIONS - -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchCopyNEx(TCHAR pszDest, - size_t cchDest, - LPCTSTR pszSrc, - size_t cchSrc, - LPTSTR* ppszDestEnd, - size_t* pcchRemaining, - DWORD dwFlags); - -Routine Description: - - This routine is a safer version of the C built-in function 'strncpy' with - some additional parameters. In addition to functionality provided by - StringCchCopyN, this routine also returns a pointer to the end of the - destination string and the number of characters left in the destination - string including the null terminator. The flags parameter allows - additional controls. - - This routine is meant as a replacement for strncpy, but it does behave - differently. This function will not pad the destination buffer with extra - null termination characters if cchSrc is greater than the length of pszSrc. - -Arguments: - - pszDest - destination string - - cchDest - size of destination buffer in characters. - length must be = (_tcslen(pszSrc) + 1) to hold all of - the source including the null terminator - - pszSrc - source string - - cchSrc - maximum number of characters to copy from the source - string - - ppszDestEnd - if ppszDestEnd is non-null, the function will return a - pointer to the end of the destination string. If the - function copied any data, the result will point to the - null termination character - - pcchRemaining - if pcchRemaining is non-null, the function will return the - number of characters left in the destination string, - including the null terminator - - dwFlags - controls some details of the string copy: - - STRSAFE_FILL_BEHIND_NULL - if the function succeeds, the low byte of dwFlags will be - used to fill the uninitialize part of destination buffer - behind the null terminator - - STRSAFE_IGNORE_NULLS - treat NULL string pointers like empty strings (TEXT("")). - this flag is useful for emulating functions like lstrcpy - - STRSAFE_FILL_ON_FAILURE - if the function fails, the low byte of dwFlags will be - used to fill all of the destination buffer, and it will - be null terminated. This will overwrite any truncated - string returned when the failure is - STRSAFE_E_INSUFFICIENT_BUFFER - - STRSAFE_NO_TRUNCATION / - STRSAFE_NULL_ON_FAILURE - if the function fails, the destination buffer will be set - to the empty string. This will overwrite any truncated string - returned when the failure is STRSAFE_E_INSUFFICIENT_BUFFER. - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag - is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc - may be NULL. An error may still be returned even though NULLS are ignored - due to insufficient space. - -Return Value: - - S_OK - if there was source data and it was all copied and the - resultant dest string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the copy operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCchCopyNExA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCchCopyNExW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -#ifdef UNICODE -#define StringCchCopyNEx StringCchCopyNExW -#else -#define StringCchCopyNEx StringCchCopyNExA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCchCopyNExA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr; - - if ((cchDest > STRSAFE_MAX_CCH) || - (cchSrc > STRSAFE_MAX_CCH)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cbDest; - - // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 - cbDest = cchDest * sizeof(char); - - hr = StringCopyNExWorkerA(pszDest, cchDest, cbDest, pszSrc, cchSrc, ppszDestEnd, pcchRemaining, dwFlags); - } - - return hr; -} - -STRSAFEAPI StringCchCopyNExW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr; - - if ((cchDest > STRSAFE_MAX_CCH) || - (cchSrc > STRSAFE_MAX_CCH)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cbDest; - - // safe to multiply cchDest * sizeof(WCHAR) since cchDest < STRSAFE_MAX_CCH and sizeof(WCHAR) is 2 - cbDest = cchDest * sizeof(WCHAR); - - hr = StringCopyNExWorkerW(pszDest, cchDest, cbDest, pszSrc, cchSrc, ppszDestEnd, pcchRemaining, dwFlags); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CCH_FUNCTIONS - - -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchCat(LPTSTR pszDest, - size_t cchDest, - LPCTSTR pszSrc); - -Routine Description: - - This routine is a safer version of the C built-in function 'strcat'. - The size of the destination buffer (in characters) is a parameter and this - function will not write past the end of this buffer and it will ALWAYS - null terminate the destination buffer (unless it is zero length). - - This function returns a hresult, and not a pointer. It returns a S_OK - if the string was concatenated without truncation and null terminated, otherwise - it will return a failure code. In failure cases as much of pszSrc will be - appended to pszDest as possible, and pszDest will be null terminated. - -Arguments: - - pszDest - destination string which must be null terminated - - cchDest - size of destination buffer in characters. - length must be = (_tcslen(pszDest) + _tcslen(pszSrc) + 1) - to hold all of the combine string plus the null - terminator - - pszSrc - source string which must be null terminated - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL. See StringCchCatEx if you require - the handling of NULL values. - -Return Value: - - S_OK - if there was source data and it was all concatenated and the - resultant dest string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCchCatA(char* pszDest, size_t cchDest, const char* pszSrc); -STRSAFEAPI StringCchCatW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc); -#ifdef UNICODE -#define StringCchCat StringCchCatW -#else -#define StringCchCat StringCchCatA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCchCatA(char* pszDest, size_t cchDest, const char* pszSrc) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCatWorkerA(pszDest, cchDest, pszSrc); - } - - return hr; -} - -STRSAFEAPI StringCchCatW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCatWorkerW(pszDest, cchDest, pszSrc); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CCH_FUNCTIONS - - -#ifndef STRSAFE_NO_CB_FUNCTIONS -/*++ - -STDAPI StringCbCat(LPTSTR pszDest, - size_t cbDest, - LPCTSTR pszSrc); - -Routine Description: - - This routine is a safer version of the C built-in function 'strcat'. - The size of the destination buffer (in bytes) is a parameter and this - function will not write past the end of this buffer and it will ALWAYS - null terminate the destination buffer (unless it is zero length). - - This function returns a hresult, and not a pointer. It returns a S_OK - if the string was concatenated without truncation and null terminated, otherwise - it will return a failure code. In failure cases as much of pszSrc will be - appended to pszDest as possible, and pszDest will be null terminated. - -Arguments: - - pszDest - destination string which must be null terminated - - cbDest - size of destination buffer in bytes. - length must be = ((_tcslen(pszDest) + _tcslen(pszSrc) + 1) * sizeof(TCHAR) - to hold all of the combine string plus the null - terminator - - pszSrc - source string which must be null terminated - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL. See StringCbCatEx if you require - the handling of NULL values. - -Return Value: - - S_OK - if there was source data and it was all concatenated and the - resultant dest string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCbCatA(char* pszDest, size_t cbDest, const char* pszSrc); -STRSAFEAPI StringCbCatW(WCHAR* pszDest, size_t cbDest, const WCHAR* pszSrc); -#ifdef UNICODE -#define StringCbCat StringCbCatW -#else -#define StringCbCat StringCbCatA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCbCatA(char* pszDest, size_t cbDest, const char* pszSrc) -{ - HRESULT hr; - size_t cchDest; - - cchDest = cbDest / sizeof(char); - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCatWorkerA(pszDest, cchDest, pszSrc); - } - - return hr; -} - -STRSAFEAPI StringCbCatW(WCHAR* pszDest, size_t cbDest, const WCHAR* pszSrc) -{ - HRESULT hr; - size_t cchDest; - - cchDest = cbDest / sizeof(WCHAR); - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCatWorkerW(pszDest, cchDest, pszSrc); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CB_FUNCTIONS - - -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchCatEx(LPTSTR pszDest, - size_t cchDest, - LPCTSTR pszSrc, - LPTSTR* ppszDestEnd, - size_t* pcchRemaining, - DWORD dwFlags); - -Routine Description: - - This routine is a safer version of the C built-in function 'strcat' with - some additional parameters. In addition to functionality provided by - StringCchCat, this routine also returns a pointer to the end of the - destination string and the number of characters left in the destination string - including the null terminator. The flags parameter allows additional controls. - -Arguments: - - pszDest - destination string which must be null terminated - - cchDest - size of destination buffer in characters - length must be (_tcslen(pszDest) + _tcslen(pszSrc) + 1) - to hold all of the combine string plus the null - terminator. - - pszSrc - source string which must be null terminated - - ppszDestEnd - if ppszDestEnd is non-null, the function will return a - pointer to the end of the destination string. If the - function appended any data, the result will point to the - null termination character - - pcchRemaining - if pcchRemaining is non-null, the function will return the - number of characters left in the destination string, - including the null terminator - - dwFlags - controls some details of the string copy: - - STRSAFE_FILL_BEHIND_NULL - if the function succeeds, the low byte of dwFlags will be - used to fill the uninitialize part of destination buffer - behind the null terminator - - STRSAFE_IGNORE_NULLS - treat NULL string pointers like empty strings (TEXT("")). - this flag is useful for emulating functions like lstrcat - - STRSAFE_FILL_ON_FAILURE - if the function fails, the low byte of dwFlags will be - used to fill all of the destination buffer, and it will - be null terminated. This will overwrite any pre-existing - or truncated string - - STRSAFE_NULL_ON_FAILURE - if the function fails, the destination buffer will be set - to the empty string. This will overwrite any pre-existing or - truncated string - - STRSAFE_NO_TRUNCATION - if the function returns STRSAFE_E_INSUFFICIENT_BUFFER, pszDest - will not contain a truncated string, it will remain unchanged. - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag - is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc - may be NULL. An error may still be returned even though NULLS are ignored - due to insufficient space. - -Return Value: - - S_OK - if there was source data and it was all concatenated and the - resultant dest string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCchCatExA(char* pszDest, size_t cchDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCchCatExW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -#ifdef UNICODE -#define StringCchCatEx StringCchCatExW -#else -#define StringCchCatEx StringCchCatExA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCchCatExA(char* pszDest, size_t cchDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cbDest; - - // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 - cbDest = cchDest * sizeof(char); - - hr = StringCatExWorkerA(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags); - } - - return hr; -} - -STRSAFEAPI StringCchCatExW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cbDest; - - // safe to multiply cchDest * sizeof(WCHAR) since cchDest < STRSAFE_MAX_CCH and sizeof(WCHAR) is 2 - cbDest = cchDest * sizeof(WCHAR); - - hr = StringCatExWorkerW(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CCH_FUNCTIONS - - -#ifndef STRSAFE_NO_CB_FUNCTIONS -/*++ - -STDAPI StringCbCatEx(LPTSTR pszDest, - size_t cbDest, - LPCTSTR pszSrc, - LPTSTR* ppszDestEnd, - size_t* pcbRemaining, - DWORD dwFlags); - -Routine Description: - - This routine is a safer version of the C built-in function 'strcat' with - some additional parameters. In addition to functionality provided by - StringCbCat, this routine also returns a pointer to the end of the - destination string and the number of bytes left in the destination string - including the null terminator. The flags parameter allows additional controls. - -Arguments: - - pszDest - destination string which must be null terminated - - cbDest - size of destination buffer in bytes. - length must be ((_tcslen(pszDest) + _tcslen(pszSrc) + 1) * sizeof(TCHAR) - to hold all of the combine string plus the null - terminator. - - pszSrc - source string which must be null terminated - - ppszDestEnd - if ppszDestEnd is non-null, the function will return a - pointer to the end of the destination string. If the - function appended any data, the result will point to the - null termination character - - pcbRemaining - if pcbRemaining is non-null, the function will return - the number of bytes left in the destination string, - including the null terminator - - dwFlags - controls some details of the string copy: - - STRSAFE_FILL_BEHIND_NULL - if the function succeeds, the low byte of dwFlags will be - used to fill the uninitialize part of destination buffer - behind the null terminator - - STRSAFE_IGNORE_NULLS - treat NULL string pointers like empty strings (TEXT("")). - this flag is useful for emulating functions like lstrcat - - STRSAFE_FILL_ON_FAILURE - if the function fails, the low byte of dwFlags will be - used to fill all of the destination buffer, and it will - be null terminated. This will overwrite any pre-existing - or truncated string - - STRSAFE_NULL_ON_FAILURE - if the function fails, the destination buffer will be set - to the empty string. This will overwrite any pre-existing or - truncated string - - STRSAFE_NO_TRUNCATION - if the function returns STRSAFE_E_INSUFFICIENT_BUFFER, pszDest - will not contain a truncated string, it will remain unchanged. - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag - is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc - may be NULL. An error may still be returned even though NULLS are ignored - due to insufficient space. - -Return Value: - - S_OK - if there was source data and it was all concatenated and the - resultant dest string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCbCatExA(char* pszDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); -STRSAFEAPI StringCbCatExW(WCHAR* pszDest, size_t cbDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); -#ifdef UNICODE -#define StringCbCatEx StringCbCatExW -#else -#define StringCbCatEx StringCbCatExA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCbCatExA(char* pszDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) -{ - HRESULT hr; - size_t cchDest; - size_t cchRemaining = 0; - - cchDest = cbDest / sizeof(char); - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCatExWorkerA(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, &cchRemaining, dwFlags); - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (pcbRemaining) - { - // safe to multiply cchRemaining * sizeof(char) since cchRemaining < STRSAFE_MAX_CCH and sizeof(char) is 1 - *pcbRemaining = (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)); - } - } - - return hr; -} - -STRSAFEAPI StringCbCatExW(WCHAR* pszDest, size_t cbDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) -{ - HRESULT hr; - size_t cchDest; - size_t cchRemaining = 0; - - cchDest = cbDest / sizeof(WCHAR); - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCatExWorkerW(pszDest, cchDest, cbDest, pszSrc, ppszDestEnd, &cchRemaining, dwFlags); - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (pcbRemaining) - { - // safe to multiply cchRemaining * sizeof(WCHAR) since cchRemaining < STRSAFE_MAX_CCH and sizeof(WCHAR) is 2 - *pcbRemaining = (cchRemaining * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR)); - } - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CB_FUNCTIONS - - -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchCatN(LPTSTR pszDest, - size_t cchDest, - LPCTSTR pszSrc, - size_t cchMaxAppend); - -Routine Description: - - This routine is a safer version of the C built-in function 'strncat'. - The size of the destination buffer (in characters) is a parameter as well as - the maximum number of characters to append, excluding the null terminator. - This function will not write past the end of the destination buffer and it will - ALWAYS null terminate pszDest (unless it is zero length). - - This function returns a hresult, and not a pointer. It returns a S_OK - if all of pszSrc or the first cchMaxAppend characters were appended to the - destination string and it was null terminated, otherwise it will return a - failure code. In failure cases as much of pszSrc will be appended to pszDest - as possible, and pszDest will be null terminated. - -Arguments: - - pszDest - destination string which must be null terminated - - cchDest - size of destination buffer in characters. - length must be (_tcslen(pszDest) + min(cchMaxAppend, _tcslen(pszSrc)) + 1) - to hold all of the combine string plus the null - terminator. - - pszSrc - source string - - cchMaxAppend - maximum number of characters to append - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL. See StringCchCatNEx if you require - the handling of NULL values. - -Return Value: - - S_OK - if all of pszSrc or the first cchMaxAppend characters were - concatenated to pszDest and the resultant dest string was - null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCchCatNA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend); -STRSAFEAPI StringCchCatNW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchMaxAppend); -#ifdef UNICODE -#define StringCchCatN StringCchCatNW -#else -#define StringCchCatN StringCchCatNA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCchCatNA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCatNWorkerA(pszDest, cchDest, pszSrc, cchMaxAppend); - } - - return hr; -} - -STRSAFEAPI StringCchCatNW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchMaxAppend) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringCatNWorkerW(pszDest, cchDest, pszSrc, cchMaxAppend); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CCH_FUNCTIONS - - -#ifndef STRSAFE_NO_CB_FUNCTIONS -/*++ - -STDAPI StringCbCatN(LPTSTR pszDest, - size_t cbDest, - LPCTSTR pszSrc, - size_t cbMaxAppend); - -Routine Description: - - This routine is a safer version of the C built-in function 'strncat'. - The size of the destination buffer (in bytes) is a parameter as well as - the maximum number of bytes to append, excluding the null terminator. - This function will not write past the end of the destination buffer and it will - ALWAYS null terminate pszDest (unless it is zero length). - - This function returns a hresult, and not a pointer. It returns a S_OK - if all of pszSrc or the first cbMaxAppend bytes were appended to the - destination string and it was null terminated, otherwise it will return a - failure code. In failure cases as much of pszSrc will be appended to pszDest - as possible, and pszDest will be null terminated. - -Arguments: - - pszDest - destination string which must be null terminated - - cbDest - size of destination buffer in bytes. - length must be ((_tcslen(pszDest) + min(cbMaxAppend / sizeof(TCHAR), _tcslen(pszSrc)) + 1) * sizeof(TCHAR) - to hold all of the combine string plus the null - terminator. - - pszSrc - source string - - cbMaxAppend - maximum number of bytes to append - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL. See StringCbCatNEx if you require - the handling of NULL values. - -Return Value: - - S_OK - if all of pszSrc or the first cbMaxAppend bytes were - concatenated to pszDest and the resultant dest string was - null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCbCatNA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbMaxAppend); -STRSAFEAPI StringCbCatNW(WCHAR* pszDest, size_t cbDest, const WCHAR* pszSrc, size_t cbMaxAppend); -#ifdef UNICODE -#define StringCbCatN StringCbCatNW -#else -#define StringCbCatN StringCbCatNA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCbCatNA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbMaxAppend) -{ - HRESULT hr; - size_t cchDest; - - cchDest = cbDest / sizeof(char); - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cchMaxAppend; - - cchMaxAppend = cbMaxAppend / sizeof(char); - - hr = StringCatNWorkerA(pszDest, cchDest, pszSrc, cchMaxAppend); - } - - return hr; -} - -STRSAFEAPI StringCbCatNW(WCHAR* pszDest, size_t cbDest, const WCHAR* pszSrc, size_t cbMaxAppend) -{ - HRESULT hr; - size_t cchDest; - - cchDest = cbDest / sizeof(WCHAR); - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cchMaxAppend; - - cchMaxAppend = cbMaxAppend / sizeof(WCHAR); - - hr = StringCatNWorkerW(pszDest, cchDest, pszSrc, cchMaxAppend); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CB_FUNCTIONS - - -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchCatNEx(LPTSTR pszDest, - size_t cchDest, - LPCTSTR pszSrc, - size_t cchMaxAppend, - LPTSTR* ppszDestEnd, - size_t* pcchRemaining, - DWORD dwFlags); - -Routine Description: - - This routine is a safer version of the C built-in function 'strncat', with - some additional parameters. In addition to functionality provided by - StringCchCatN, this routine also returns a pointer to the end of the - destination string and the number of characters left in the destination string - including the null terminator. The flags parameter allows additional controls. - -Arguments: - - pszDest - destination string which must be null terminated - - cchDest - size of destination buffer in characters. - length must be (_tcslen(pszDest) + min(cchMaxAppend, _tcslen(pszSrc)) + 1) - to hold all of the combine string plus the null - terminator. - - pszSrc - source string - - cchMaxAppend - maximum number of characters to append - - ppszDestEnd - if ppszDestEnd is non-null, the function will return a - pointer to the end of the destination string. If the - function appended any data, the result will point to the - null termination character - - pcchRemaining - if pcchRemaining is non-null, the function will return the - number of characters left in the destination string, - including the null terminator - - dwFlags - controls some details of the string copy: - - STRSAFE_FILL_BEHIND_NULL - if the function succeeds, the low byte of dwFlags will be - used to fill the uninitialize part of destination buffer - behind the null terminator - - STRSAFE_IGNORE_NULLS - treat NULL string pointers like empty strings (TEXT("")) - - STRSAFE_FILL_ON_FAILURE - if the function fails, the low byte of dwFlags will be - used to fill all of the destination buffer, and it will - be null terminated. This will overwrite any pre-existing - or truncated string - - STRSAFE_NULL_ON_FAILURE - if the function fails, the destination buffer will be set - to the empty string. This will overwrite any pre-existing or - truncated string - - STRSAFE_NO_TRUNCATION - if the function returns STRSAFE_E_INSUFFICIENT_BUFFER, pszDest - will not contain a truncated string, it will remain unchanged. - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag - is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc - may be NULL. An error may still be returned even though NULLS are ignored - due to insufficient space. - -Return Value: - - S_OK - if all of pszSrc or the first cchMaxAppend characters were - concatenated to pszDest and the resultant dest string was - null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCchCatNExA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -STRSAFEAPI StringCchCatNExW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchMaxAppend, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags); -#ifdef UNICODE -#define StringCchCatNEx StringCchCatNExW -#else -#define StringCchCatNEx StringCchCatNExA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCchCatNExA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cbDest; - - // safe to multiply cchDest * sizeof(char) since cchDest < STRSAFE_MAX_CCH and sizeof(char) is 1 - cbDest = cchDest * sizeof(char); - - hr = StringCatNExWorkerA(pszDest, cchDest, cbDest, pszSrc, cchMaxAppend, ppszDestEnd, pcchRemaining, dwFlags); - } - - return hr; -} - -STRSAFEAPI StringCchCatNExW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchMaxAppend, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr; - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cbDest; - - // safe to multiply cchDest * sizeof(WCHAR) since cchDest < STRSAFE_MAX_CCH and sizeof(WCHAR) is 2 - cbDest = cchDest * sizeof(WCHAR); - - hr = StringCatNExWorkerW(pszDest, cchDest, cbDest, pszSrc, cchMaxAppend, ppszDestEnd, pcchRemaining, dwFlags); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CCH_FUNCTIONS - - -#ifndef STRSAFE_NO_CB_FUNCTIONS -/*++ - -STDAPI StringCbCatNEx(LPTSTR pszDest, - size_t cbDest, - LPCTSTR pszSrc, - size_t cbMaxAppend - LPTSTR* ppszDestEnd, - size_t* pcchRemaining, - DWORD dwFlags); - -Routine Description: - - This routine is a safer version of the C built-in function 'strncat', with - some additional parameters. In addition to functionality provided by - StringCbCatN, this routine also returns a pointer to the end of the - destination string and the number of bytes left in the destination string - including the null terminator. The flags parameter allows additional controls. - -Arguments: - - pszDest - destination string which must be null terminated - - cbDest - size of destination buffer in bytes. - length must be ((_tcslen(pszDest) + min(cbMaxAppend / sizeof(TCHAR), _tcslen(pszSrc)) + 1) * sizeof(TCHAR) - to hold all of the combine string plus the null - terminator. - - pszSrc - source string - - cbMaxAppend - maximum number of bytes to append - - ppszDestEnd - if ppszDestEnd is non-null, the function will return a - pointer to the end of the destination string. If the - function appended any data, the result will point to the - null termination character - - pcbRemaining - if pcbRemaining is non-null, the function will return the - number of bytes left in the destination string, - including the null terminator - - dwFlags - controls some details of the string copy: - - STRSAFE_FILL_BEHIND_NULL - if the function succeeds, the low byte of dwFlags will be - used to fill the uninitialize part of destination buffer - behind the null terminator - - STRSAFE_IGNORE_NULLS - treat NULL string pointers like empty strings (TEXT("")) - - STRSAFE_FILL_ON_FAILURE - if the function fails, the low byte of dwFlags will be - used to fill all of the destination buffer, and it will - be null terminated. This will overwrite any pre-existing - or truncated string - - STRSAFE_NULL_ON_FAILURE - if the function fails, the destination buffer will be set - to the empty string. This will overwrite any pre-existing or - truncated string - - STRSAFE_NO_TRUNCATION - if the function returns STRSAFE_E_INSUFFICIENT_BUFFER, pszDest - will not contain a truncated string, it will remain unchanged. - -Notes: - Behavior is undefined if source and destination strings overlap. - - pszDest and pszSrc should not be NULL unless the STRSAFE_IGNORE_NULLS flag - is specified. If STRSAFE_IGNORE_NULLS is passed, both pszDest and pszSrc - may be NULL. An error may still be returned even though NULLS are ignored - due to insufficient space. - -Return Value: - - S_OK - if all of pszSrc or the first cbMaxAppend bytes were - concatenated to pszDest and the resultant dest string was - null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all failure cases - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that the operation - failed due to insufficient space. When this error occurs, - the destination buffer is modified to contain a truncated - version of the ideal result and is null terminated. This - is useful for situations where truncation is ok. - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function - ---*/ - -STRSAFEAPI StringCbCatNExA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbMaxAppend, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); -STRSAFEAPI StringCbCatNExW(WCHAR* pszDest, size_t cbDest, const WCHAR* pszSrc, size_t cbMaxAppend, WCHAR** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags); -#ifdef UNICODE -#define StringCbCatNEx StringCbCatNExW -#else -#define StringCbCatNEx StringCbCatNExA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCbCatNExA(char* pszDest, size_t cbDest, const char* pszSrc, size_t cbMaxAppend, char** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) -{ - HRESULT hr; - size_t cchDest; - size_t cchRemaining = 0; - - cchDest = cbDest / sizeof(char); - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cchMaxAppend; - - cchMaxAppend = cbMaxAppend / sizeof(char); - - hr = StringCatNExWorkerA(pszDest, cchDest, cbDest, pszSrc, cchMaxAppend, ppszDestEnd, &cchRemaining, dwFlags); - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (pcbRemaining) - { - // safe to multiply cchRemaining * sizeof(char) since cchRemaining < STRSAFE_MAX_CCH and sizeof(char) is 1 - *pcbRemaining = (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)); - } - } - - return hr; -} - -STRSAFEAPI StringCbCatNExW(WCHAR* pszDest, size_t cbDest, const WCHAR* pszSrc, size_t cbMaxAppend, WCHAR** ppszDestEnd, size_t* pcbRemaining, unsigned long dwFlags) -{ - HRESULT hr; - size_t cchDest; - size_t cchRemaining = 0; - - cchDest = cbDest / sizeof(WCHAR); - - if (cchDest > STRSAFE_MAX_CCH) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cchMaxAppend; - - cchMaxAppend = cbMaxAppend / sizeof(WCHAR); - - hr = StringCatNExWorkerW(pszDest, cchDest, cbDest, pszSrc, cchMaxAppend, ppszDestEnd, &cchRemaining, dwFlags); - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (pcbRemaining) - { - // safe to multiply cchRemaining * sizeof(WCHAR) since cchRemaining < STRSAFE_MAX_CCH and sizeof(WCHAR) is 2 - *pcbRemaining = (cchRemaining * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR)); - } - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CB_FUNCTIONS - - -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchGets(LPTSTR pszDest, - size_t cchDest); - -Routine Description: - - This routine is a safer version of the C built-in function 'gets'. - The size of the destination buffer (in characters) is a parameter and - this function will not write past the end of this buffer and it will - ALWAYS null terminate the destination buffer (unless it is zero length). - - This routine is not a replacement for fgets. That function does not replace - newline characters with a null terminator. - - This function returns a hresult, and not a pointer. It returns a S_OK - if any characters were read from stdin and copied to pszDest and pszDest was - null terminated, otherwise it will return a failure code. - -Arguments: - - pszDest - destination string - - cchDest - size of destination buffer in characters. - -Notes: - pszDest should not be NULL. See StringCchGetsEx if you require the handling - of NULL values. - - cchDest must be > 1 for this function to succeed. - -Return Value: - - S_OK - data was read from stdin and copied, and the resultant dest - string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all hresult failure cases - - STRSAFE_E_END_OF_FILE - - this return value indicates an error or end-of-file condition, - use feof or ferror to determine which one has occurred. - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that there was insufficient - space in the destination buffer to copy any data - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function. - ---*/ - -#endif // !STRSAFE_NO_CCH_FUNCTIONS - -#ifndef STRSAFE_NO_CB_FUNCTIONS -/*++ - -STDAPI StringCbGets(LPTSTR pszDest, - size_t cbDest); - -Routine Description: - - This routine is a safer version of the C built-in function 'gets'. - The size of the destination buffer (in bytes) is a parameter and - this function will not write past the end of this buffer and it will - ALWAYS null terminate the destination buffer (unless it is zero length). - - This routine is not a replacement for fgets. That function does not replace - newline characters with a null terminator. - - This function returns a hresult, and not a pointer. It returns a S_OK - if any characters were read from stdin and copied to pszDest and pszDest was - null terminated, otherwise it will return a failure code. - -Arguments: - - pszDest - destination string - - cbDest - size of destination buffer in bytes. - -Notes: - pszDest should not be NULL. See StringCbGetsEx if you require the handling - of NULL values. - - cbDest must be > sizeof(TCHAR) for this function to succeed. - -Return Value: - - S_OK - data was read from stdin and copied, and the resultant dest - string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all hresult failure cases - - STRSAFE_E_END_OF_FILE - - this return value indicates an error or end-of-file condition, - use feof or ferror to determine which one has occurred. - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that there was insufficient - space in the destination buffer to copy any data - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function. - ---*/ - -#endif // !STRSAFE_NO_CB_FUNCTIONS - -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchGetsEx(LPTSTR pszDest, - size_t cchDest, - LPTSTR* ppszDestEnd, - size_t* pcchRemaining, - DWORD dwFlags); - -Routine Description: - - This routine is a safer version of the C built-in function 'gets' with - some additional parameters. In addition to functionality provided by - StringCchGets, this routine also returns a pointer to the end of the - destination string and the number of characters left in the destination string - including the null terminator. The flags parameter allows additional controls. - -Arguments: - - pszDest - destination string - - cchDest - size of destination buffer in characters. - - ppszDestEnd - if ppszDestEnd is non-null, the function will return a - pointer to the end of the destination string. If the - function copied any data, the result will point to the - null termination character - - pcchRemaining - if pcchRemaining is non-null, the function will return the - number of characters left in the destination string, - including the null terminator - - dwFlags - controls some details of the string copy: - - STRSAFE_FILL_BEHIND_NULL - if the function succeeds, the low byte of dwFlags will be - used to fill the uninitialize part of destination buffer - behind the null terminator - - STRSAFE_IGNORE_NULLS - treat NULL string pointers like empty strings (TEXT("")). - - STRSAFE_FILL_ON_FAILURE - if the function fails, the low byte of dwFlags will be - used to fill all of the destination buffer, and it will - be null terminated. - - STRSAFE_NO_TRUNCATION / - STRSAFE_NULL_ON_FAILURE - if the function fails, the destination buffer will be set - to the empty string. - -Notes: - pszDest should not be NULL unless the STRSAFE_IGNORE_NULLS flag is specified. - If STRSAFE_IGNORE_NULLS is passed and pszDest is NULL, an error may still be - returned even though NULLS are ignored - - cchDest must be > 1 for this function to succeed. - -Return Value: - - S_OK - data was read from stdin and copied, and the resultant dest - string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all hresult failure cases - - STRSAFE_E_END_OF_FILE - - this return value indicates an error or end-of-file condition, - use feof or ferror to determine which one has occurred. - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that there was insufficient - space in the destination buffer to copy any data - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function. - ---*/ - -#endif // !STRSAFE_NO_CCH_FUNCTIONS - -#ifndef STRSAFE_NO_CB_FUNCTIONS -/*++ - -STDAPI StringCbGetsEx(LPTSTR pszDest, - size_t cbDest, - LPTSTR* ppszDestEnd, - size_t* pcbRemaining, - DWORD dwFlags); - -Routine Description: - - This routine is a safer version of the C built-in function 'gets' with - some additional parameters. In addition to functionality provided by - StringCbGets, this routine also returns a pointer to the end of the - destination string and the number of characters left in the destination string - including the null terminator. The flags parameter allows additional controls. - -Arguments: - - pszDest - destination string - - cbDest - size of destination buffer in bytes. - - ppszDestEnd - if ppszDestEnd is non-null, the function will return a - pointer to the end of the destination string. If the - function copied any data, the result will point to the - null termination character - - pcbRemaining - if pbRemaining is non-null, the function will return the - number of bytes left in the destination string, - including the null terminator - - dwFlags - controls some details of the string copy: - - STRSAFE_FILL_BEHIND_NULL - if the function succeeds, the low byte of dwFlags will be - used to fill the uninitialize part of destination buffer - behind the null terminator - - STRSAFE_IGNORE_NULLS - treat NULL string pointers like empty strings (TEXT("")). - - STRSAFE_FILL_ON_FAILURE - if the function fails, the low byte of dwFlags will be - used to fill all of the destination buffer, and it will - be null terminated. - - STRSAFE_NO_TRUNCATION / - STRSAFE_NULL_ON_FAILURE - if the function fails, the destination buffer will be set - to the empty string. - -Notes: - pszDest should not be NULL unless the STRSAFE_IGNORE_NULLS flag is specified. - If STRSAFE_IGNORE_NULLS is passed and pszDest is NULL, an error may still be - returned even though NULLS are ignored - - cbDest must be > sizeof(TCHAR) for this function to succeed - -Return Value: - - S_OK - data was read from stdin and copied, and the resultant dest - string was null terminated - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all hresult failure cases - - STRSAFE_E_END_OF_FILE - - this return value indicates an error or end-of-file condition, - use feof or ferror to determine which one has occurred. - - STRSAFE_E_INSUFFICIENT_BUFFER / - HRESULT_CODE(hr) == ERROR_INSUFFICIENT_BUFFER - - this return value is an indication that there was insufficient - space in the destination buffer to copy any data - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function. - ---*/ - -#endif // !STRSAFE_NO_CB_FUNCTIONS - -#ifndef STRSAFE_NO_CCH_FUNCTIONS -/*++ - -STDAPI StringCchLength(LPCTSTR psz, - size_t cchMax, - size_t* pcch); - -Routine Description: - - This routine is a safer version of the C built-in function 'strlen'. - It is used to make sure a string is not larger than a given length, and - it optionally returns the current length in characters not including - the null terminator. - - This function returns a hresult, and not a pointer. It returns a S_OK - if the string is non-null and the length including the null terminator is - less than or equal to cchMax characters. - -Arguments: - - psz - string to check the length of - - cchMax - maximum number of characters including the null terminator - that psz is allowed to contain - - pcch - if the function succeeds and pcch is non-null, the current length - in characters of psz excluding the null terminator will be returned. - This out parameter is equivalent to the return value of strlen(psz) - -Notes: - psz can be null but the function will fail - - cchMax should be greater than zero or the function will fail - -Return Value: - - S_OK - psz is non-null and the length including the null terminator is - less than or equal to cchMax characters - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all hresult failure cases - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function. - ---*/ - -STRSAFEAPI StringCchLengthA(const char* psz, size_t cchMax, size_t* pcch); -STRSAFEAPI StringCchLengthW(const WCHAR* psz, size_t cchMax, size_t* pcch); -#ifdef UNICODE -#define StringCchLength StringCchLengthW -#else -#define StringCchLength StringCchLengthA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCchLengthA(const char* psz, size_t cchMax, size_t* pcch) -{ - HRESULT hr; - - if ((psz == NULL) || (cchMax > STRSAFE_MAX_CCH)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringLengthWorkerA(psz, cchMax, pcch); - } - - return hr; -} - -STRSAFEAPI StringCchLengthW(const WCHAR* psz, size_t cchMax, size_t* pcch) -{ - HRESULT hr; - - if ((psz == NULL) || (cchMax > STRSAFE_MAX_CCH)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringLengthWorkerW(psz, cchMax, pcch); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CCH_FUNCTIONS - - -#ifndef STRSAFE_NO_CB_FUNCTIONS -/*++ - -STDAPI StringCbLength(LPCTSTR psz, - size_t cbMax, - size_t* pcb); - -Routine Description: - - This routine is a safer version of the C built-in function 'strlen'. - It is used to make sure a string is not larger than a given length, and - it optionally returns the current length in bytes not including - the null terminator. - - This function returns a hresult, and not a pointer. It returns a S_OK - if the string is non-null and the length including the null terminator is - less than or equal to cbMax bytes. - -Arguments: - - psz - string to check the length of - - cbMax - maximum number of bytes including the null terminator - that psz is allowed to contain - - pcb - if the function succeeds and pcb is non-null, the current length - in bytes of psz excluding the null terminator will be returned. - This out parameter is equivalent to the return value of strlen(psz) * sizeof(TCHAR) - -Notes: - psz can be null but the function will fail - - cbMax should be greater than or equal to sizeof(TCHAR) or the function will fail - -Return Value: - - S_OK - psz is non-null and the length including the null terminator is - less than or equal to cbMax bytes - - failure - you can use the macro HRESULT_CODE() to get a win32 error - code for all hresult failure cases - - It is strongly recommended to use the SUCCEEDED() / FAILED() macros to test the - return value of this function. - ---*/ - -STRSAFEAPI StringCbLengthA(const char* psz, size_t cchMax, size_t* pcch); -STRSAFEAPI StringCbLengthW(const WCHAR* psz, size_t cchMax, size_t* pcch); -#ifdef UNICODE -#define StringCbLength StringCbLengthW -#else -#define StringCbLength StringCbLengthA -#endif // !UNICODE - -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCbLengthA(const char* psz, size_t cbMax, size_t* pcb) -{ - HRESULT hr; - size_t cchMax; - size_t cch = 0; - - cchMax = cbMax / sizeof(char); - - if ((psz == NULL) || (cchMax > STRSAFE_MAX_CCH)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringLengthWorkerA(psz, cchMax, &cch); - } - - if (SUCCEEDED(hr) && pcb) - { - // safe to multiply cch * sizeof(char) since cch < STRSAFE_MAX_CCH and sizeof(char) is 1 - *pcb = cch * sizeof(char); - } - - return hr; -} - -STRSAFEAPI StringCbLengthW(const WCHAR* psz, size_t cbMax, size_t* pcb) -{ - HRESULT hr; - size_t cchMax; - size_t cch = 0; - - cchMax = cbMax / sizeof(WCHAR); - - if ((psz == NULL) || (cchMax > STRSAFE_MAX_CCH)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = StringLengthWorkerW(psz, cchMax, &cch); - } - - if (SUCCEEDED(hr) && pcb) - { - // safe to multiply cch * sizeof(WCHAR) since cch < STRSAFE_MAX_CCH and sizeof(WCHAR) is 2 - *pcb = cch * sizeof(WCHAR); - } - - return hr; -} -#endif // STRSAFE_INLINE -#endif // !STRSAFE_NO_CB_FUNCTIONS - - -// these are the worker functions that actually do the work -#ifdef STRSAFE_INLINE -STRSAFEAPI StringCopyWorkerA(char* pszDest, size_t cchDest, const char* pszSrc) -{ - HRESULT hr = S_OK; - - if (cchDest == 0) - { - // can not null terminate a zero-byte dest buffer - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - while (cchDest && (*pszSrc != '\0')) - { - *pszDest++ = *pszSrc++; - cchDest--; - } - - if (cchDest == 0) - { - // we are going to truncate pszDest - pszDest--; - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - - *pszDest= '\0'; - } - - return hr; -} - -STRSAFEAPI StringCopyWorkerW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc) -{ - HRESULT hr = S_OK; - - if (cchDest == 0) - { - // can not null terminate a zero-byte dest buffer - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - while (cchDest && (*pszSrc != L'\0')) - { - *pszDest++ = *pszSrc++; - cchDest--; - } - - if (cchDest == 0) - { - // we are going to truncate pszDest - pszDest--; - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - - *pszDest= L'\0'; - } - - return hr; -} - -STRSAFEAPI StringCopyExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr = S_OK; - char* pszDestEnd = pszDest; - size_t cchRemaining = 0; - - // ASSERT(cbDest == (cchDest * sizeof(char)) || - // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); - - // only accept valid flags - if (dwFlags & (~STRSAFE_VALID_FLAGS)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - if (dwFlags & STRSAFE_IGNORE_NULLS) - { - if (pszDest == NULL) - { - if ((cchDest != 0) || (cbDest != 0)) - { - // NULL pszDest and non-zero cchDest/cbDest is invalid - hr = STRSAFE_E_INVALID_PARAMETER; - } - } - - if (pszSrc == NULL) - { - pszSrc = ""; - } - } - - if (SUCCEEDED(hr)) - { - if (cchDest == 0) - { - pszDestEnd = pszDest; - cchRemaining = 0; - - // only fail if there was actually src data to copy - if (*pszSrc != '\0') - { - if (pszDest == NULL) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - } - } - else - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - while (cchRemaining && (*pszSrc != '\0')) - { - *pszDestEnd++= *pszSrc++; - cchRemaining--; - } - - if (cchRemaining > 0) - { - if (dwFlags & STRSAFE_FILL_BEHIND_NULL) - { - memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(char)) + (cbDest % sizeof(char))); - } - } - else - { - // we are going to truncate pszDest - pszDestEnd--; - cchRemaining++; - - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - - *pszDestEnd = '\0'; - } - } - } - - if (FAILED(hr)) - { - if (pszDest) - { - if (dwFlags & STRSAFE_FILL_ON_FAILURE) - { - memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); - - if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - } - else if (cchDest > 0) - { - pszDestEnd = pszDest + cchDest - 1; - cchRemaining = 1; - - // null terminate the end of the string - *pszDestEnd = '\0'; - } - } - - if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) - { - if (cchDest > 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - // null terminate the beginning of the string - *pszDestEnd = '\0'; - } - } - } - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (ppszDestEnd) - { - *ppszDestEnd = pszDestEnd; - } - - if (pcchRemaining) - { - *pcchRemaining = cchRemaining; - } - } - - return hr; -} - -STRSAFEAPI StringCopyExWorkerW(WCHAR* pszDest, size_t cchDest, size_t cbDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr = S_OK; - WCHAR* pszDestEnd = pszDest; - size_t cchRemaining = 0; - - // ASSERT(cbDest == (cchDest * sizeof(WCHAR)) || - // cbDest == (cchDest * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR))); - - // only accept valid flags - if (dwFlags & (~STRSAFE_VALID_FLAGS)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - if (dwFlags & STRSAFE_IGNORE_NULLS) - { - if (pszDest == NULL) - { - if ((cchDest != 0) || (cbDest != 0)) - { - // NULL pszDest and non-zero cchDest/cbDest is invalid - hr = STRSAFE_E_INVALID_PARAMETER; - } - } - - if (pszSrc == NULL) - { - pszSrc = u""; - } - } - - if (SUCCEEDED(hr)) - { - if (cchDest == 0) - { - pszDestEnd = pszDest; - cchRemaining = 0; - - // only fail if there was actually src data to copy - if (*pszSrc != u'\0') - { - if (pszDest == NULL) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - } - } - else - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - while (cchRemaining && (*pszSrc != u'\0')) - { - *pszDestEnd++= *pszSrc++; - cchRemaining--; - } - - if (cchRemaining > 0) - { - if (dwFlags & STRSAFE_FILL_BEHIND_NULL) - { - memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR))); - } - } - else - { - // we are going to truncate pszDest - pszDestEnd--; - cchRemaining++; - - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - - *pszDestEnd = u'\0'; - } - } - } - - if (FAILED(hr)) - { - if (pszDest) - { - if (dwFlags & STRSAFE_FILL_ON_FAILURE) - { - memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); - - if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - } - else if (cchDest > 0) - { - pszDestEnd = pszDest + cchDest - 1; - cchRemaining = 1; - - // null terminate the end of the string - *pszDestEnd = L'\0'; - } - } - - if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) - { - if (cchDest > 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - // null terminate the beginning of the string - *pszDestEnd = L'\0'; - } - } - } - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (ppszDestEnd) - { - *ppszDestEnd = pszDestEnd; - } - - if (pcchRemaining) - { - *pcchRemaining = cchRemaining; - } - } - - return hr; -} - -STRSAFEAPI StringCopyNWorkerA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchSrc) -{ - HRESULT hr = S_OK; - - if (cchDest == 0) - { - // can not null terminate a zero-byte dest buffer - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - while (cchDest && cchSrc && (*pszSrc != '\0')) - { - *pszDest++= *pszSrc++; - cchDest--; - cchSrc--; - } - - if (cchDest == 0) - { - // we are going to truncate pszDest - pszDest--; - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - - *pszDest= '\0'; - } - - return hr; -} - -STRSAFEAPI StringCopyNWorkerW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchSrc) -{ - HRESULT hr = S_OK; - - if (cchDest == 0) - { - // can not null terminate a zero-byte dest buffer - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - while (cchDest && cchSrc && (*pszSrc != L'\0')) - { - *pszDest++= *pszSrc++; - cchDest--; - cchSrc--; - } - - if (cchDest == 0) - { - // we are going to truncate pszDest - pszDest--; - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - - *pszDest= L'\0'; - } - - return hr; -} - -STRSAFEAPI StringCopyNExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, size_t cchSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr = S_OK; - char* pszDestEnd = pszDest; - size_t cchRemaining = 0; - - // ASSERT(cbDest == (cchDest * sizeof(char)) || - // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); - - // only accept valid flags - if (dwFlags & (~STRSAFE_VALID_FLAGS)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - if (dwFlags & STRSAFE_IGNORE_NULLS) - { - if (pszDest == NULL) - { - if ((cchDest != 0) || (cbDest != 0)) - { - // NULL pszDest and non-zero cchDest/cbDest is invalid - hr = STRSAFE_E_INVALID_PARAMETER; - } - } - - if (pszSrc == NULL) - { - pszSrc = ""; - } - } - - if (SUCCEEDED(hr)) - { - if (cchDest == 0) - { - pszDestEnd = pszDest; - cchRemaining = 0; - - // only fail if there was actually src data to copy - if (*pszSrc != '\0') - { - if (pszDest == NULL) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - } - } - else - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - while (cchRemaining && cchSrc && (*pszSrc != '\0')) - { - *pszDestEnd++= *pszSrc++; - cchRemaining--; - cchSrc--; - } - - if (cchRemaining > 0) - { - if (dwFlags & STRSAFE_FILL_BEHIND_NULL) - { - memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(char)) + (cbDest % sizeof(char))); - } - } - else - { - // we are going to truncate pszDest - pszDestEnd--; - cchRemaining++; - - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - - *pszDestEnd = '\0'; - } - } - } - - if (FAILED(hr)) - { - if (pszDest) - { - if (dwFlags & STRSAFE_FILL_ON_FAILURE) - { - memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); - - if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - } - else if (cchDest > 0) - { - pszDestEnd = pszDest + cchDest - 1; - cchRemaining = 1; - - // null terminate the end of the string - *pszDestEnd = '\0'; - } - } - - if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) - { - if (cchDest > 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - // null terminate the beginning of the string - *pszDestEnd = '\0'; - } - } - } - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (ppszDestEnd) - { - *ppszDestEnd = pszDestEnd; - } - - if (pcchRemaining) - { - *pcchRemaining = cchRemaining; - } - } - - return hr; -} - -STRSAFEAPI StringCopyNExWorkerW(WCHAR* pszDest, size_t cchDest, size_t cbDest, const WCHAR* pszSrc, size_t cchSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr = S_OK; - WCHAR* pszDestEnd = pszDest; - size_t cchRemaining = 0; - - // ASSERT(cbDest == (cchDest * sizeof(WCHAR)) || - // cbDest == (cchDest * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR))); - - // only accept valid flags - if (dwFlags & (~STRSAFE_VALID_FLAGS)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - if (dwFlags & STRSAFE_IGNORE_NULLS) - { - if (pszDest == NULL) - { - if ((cchDest != 0) || (cbDest != 0)) - { - // NULL pszDest and non-zero cchDest/cbDest is invalid - hr = STRSAFE_E_INVALID_PARAMETER; - } - } - - if (pszSrc == NULL) - { - pszSrc = u""; - } - } - - if (SUCCEEDED(hr)) - { - if (cchDest == 0) - { - pszDestEnd = pszDest; - cchRemaining = 0; - - // only fail if there was actually src data to copy - if (*pszSrc != L'\0') - { - if (pszDest == NULL) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - } - } - else - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - while (cchRemaining && cchSrc && (*pszSrc != L'\0')) - { - *pszDestEnd++= *pszSrc++; - cchRemaining--; - cchSrc--; - } - - if (cchRemaining > 0) - { - if (dwFlags & STRSAFE_FILL_BEHIND_NULL) - { - memset(pszDestEnd + 1, STRSAFE_GET_FILL_PATTERN(dwFlags), ((cchRemaining - 1) * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR))); - } - } - else - { - // we are going to truncate pszDest - pszDestEnd--; - cchRemaining++; - - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - - *pszDestEnd = L'\0'; - } - } - } - - if (FAILED(hr)) - { - if (pszDest) - { - if (dwFlags & STRSAFE_FILL_ON_FAILURE) - { - memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); - - if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - } - else if (cchDest > 0) - { - pszDestEnd = pszDest + cchDest - 1; - cchRemaining = 1; - - // null terminate the end of the string - *pszDestEnd = L'\0'; - } - } - - if (dwFlags & (STRSAFE_NULL_ON_FAILURE | STRSAFE_NO_TRUNCATION)) - { - if (cchDest > 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - // null terminate the beginning of the string - *pszDestEnd = L'\0'; - } - } - } - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (ppszDestEnd) - { - *ppszDestEnd = pszDestEnd; - } - - if (pcchRemaining) - { - *pcchRemaining = cchRemaining; - } - } - - return hr; -} - -STRSAFEAPI StringCatWorkerA(char* pszDest, size_t cchDest, const char* pszSrc) -{ - HRESULT hr; - size_t cchDestCurrent; - - hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - hr = StringCopyWorkerA(pszDest + cchDestCurrent, - cchDest - cchDestCurrent, - pszSrc); - } - - return hr; -} - -STRSAFEAPI StringCatWorkerW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc) -{ - HRESULT hr; - size_t cchDestCurrent; - - hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - hr = StringCopyWorkerW(pszDest + cchDestCurrent, - cchDest - cchDestCurrent, - pszSrc); - } - - return hr; -} - -STRSAFEAPI StringCatExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr = S_OK; - char* pszDestEnd = pszDest; - size_t cchRemaining = 0; - - // ASSERT(cbDest == (cchDest * sizeof(char)) || - // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); - - // only accept valid flags - if (dwFlags & (~STRSAFE_VALID_FLAGS)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cchDestCurrent; - - if (dwFlags & STRSAFE_IGNORE_NULLS) - { - if (pszDest == NULL) - { - if ((cchDest == 0) && (cbDest == 0)) - { - cchDestCurrent = 0; - } - else - { - // NULL pszDest and non-zero cchDest/cbDest is invalid - hr = STRSAFE_E_INVALID_PARAMETER; - } - } - else - { - hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - pszDestEnd = pszDest + cchDestCurrent; - cchRemaining = cchDest - cchDestCurrent; - } - } - - if (pszSrc == NULL) - { - pszSrc = ""; - } - } - else - { - hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - pszDestEnd = pszDest + cchDestCurrent; - cchRemaining = cchDest - cchDestCurrent; - } - } - - if (SUCCEEDED(hr)) - { - if (cchDest == 0) - { - // only fail if there was actually src data to append - if (*pszSrc != '\0') - { - if (pszDest == NULL) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - } - } - else - { - // we handle the STRSAFE_FILL_ON_FAILURE and STRSAFE_NULL_ON_FAILURE cases below, so do not pass - // those flags through - hr = StringCopyExWorkerA(pszDestEnd, - cchRemaining, - (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)), - pszSrc, - &pszDestEnd, - &cchRemaining, - dwFlags & (~(STRSAFE_FILL_ON_FAILURE | STRSAFE_NULL_ON_FAILURE))); - } - } - } - - if (FAILED(hr)) - { - if (pszDest) - { - // STRSAFE_NO_TRUNCATION is taken care of by StringCopyExWorkerA() - - if (dwFlags & STRSAFE_FILL_ON_FAILURE) - { - memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); - - if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - } - else - if (cchDest > 0) - { - pszDestEnd = pszDest + cchDest - 1; - cchRemaining = 1; - - // null terminate the end of the string - *pszDestEnd = '\0'; - } - } - - if (dwFlags & STRSAFE_NULL_ON_FAILURE) - { - if (cchDest > 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - // null terminate the beginning of the string - *pszDestEnd = '\0'; - } - } - } - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (ppszDestEnd) - { - *ppszDestEnd = pszDestEnd; - } - - if (pcchRemaining) - { - *pcchRemaining = cchRemaining; - } - } - - return hr; -} - -STRSAFEAPI StringCatExWorkerW(WCHAR* pszDest, size_t cchDest, size_t cbDest, const WCHAR* pszSrc, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) -{ - HRESULT hr = S_OK; - WCHAR* pszDestEnd = pszDest; - size_t cchRemaining = 0; - - // ASSERT(cbDest == (cchDest * sizeof(WCHAR)) || - // cbDest == (cchDest * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR))); - - // only accept valid flags - if (dwFlags & (~STRSAFE_VALID_FLAGS)) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - size_t cchDestCurrent; - - if (dwFlags & STRSAFE_IGNORE_NULLS) - { - if (pszDest == NULL) - { - if ((cchDest == 0) && (cbDest == 0)) - { - cchDestCurrent = 0; - } - else - { - // NULL pszDest and non-zero cchDest/cbDest is invalid - hr = STRSAFE_E_INVALID_PARAMETER; - } - } - else - { - hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - pszDestEnd = pszDest + cchDestCurrent; - cchRemaining = cchDest - cchDestCurrent; - } - } - - if (pszSrc == NULL) - { - pszSrc = u""; - } - } - else - { - hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - pszDestEnd = pszDest + cchDestCurrent; - cchRemaining = cchDest - cchDestCurrent; - } - } - - if (SUCCEEDED(hr)) - { - if (cchDest == 0) - { - // only fail if there was actually src data to append - if (*pszSrc != L'\0') - { - if (pszDest == NULL) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - } - } - else - { - // we handle the STRSAFE_FILL_ON_FAILURE and STRSAFE_NULL_ON_FAILURE cases below, so do not pass - // those flags through - hr = StringCopyExWorkerW(pszDestEnd, - cchRemaining, - (cchRemaining * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR)), - pszSrc, - &pszDestEnd, - &cchRemaining, - dwFlags & (~(STRSAFE_FILL_ON_FAILURE | STRSAFE_NULL_ON_FAILURE))); - } - } - } - - if (FAILED(hr)) - { - if (pszDest) - { - // STRSAFE_NO_TRUNCATION is taken care of by StringCopyExWorkerW() - - if (dwFlags & STRSAFE_FILL_ON_FAILURE) - { - memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); - - if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - } - else if (cchDest > 0) - { - pszDestEnd = pszDest + cchDest - 1; - cchRemaining = 1; - - // null terminate the end of the string - *pszDestEnd = L'\0'; - } - } - - if (dwFlags & STRSAFE_NULL_ON_FAILURE) - { - if (cchDest > 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - // null terminate the beginning of the string - *pszDestEnd = L'\0'; - } - } - } - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (ppszDestEnd) - { - *ppszDestEnd = pszDestEnd; - } - - if (pcchRemaining) - { - *pcchRemaining = cchRemaining; - } - } - - return hr; -} - -STRSAFEAPI StringCatNWorkerA(char* pszDest, size_t cchDest, const char* pszSrc, size_t cchMaxAppend) -{ - HRESULT hr; - size_t cchDestCurrent; - - hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - hr = StringCopyNWorkerA(pszDest + cchDestCurrent, - cchDest - cchDestCurrent, - pszSrc, - cchMaxAppend); - } - - return hr; -} - -STRSAFEAPI StringCatNWorkerW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc, size_t cchMaxAppend) -{ - HRESULT hr; - size_t cchDestCurrent; - - hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - hr = StringCopyNWorkerW(pszDest + cchDestCurrent, - cchDest - cchDestCurrent, - pszSrc, - cchMaxAppend); - } - - return hr; -} - -STRSAFEAPI StringCatNExWorkerA(char* pszDest, size_t cchDest, size_t cbDest, const char* pszSrc, size_t cchMaxAppend, char** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +// these are the worker functions that actually do the work +#ifdef STRSAFE_INLINE +STRSAFEAPI StringCopyWorkerA(char* pszDest, size_t cchDest, const char* pszSrc) { HRESULT hr = S_OK; - char* pszDestEnd = pszDest; - size_t cchRemaining = 0; - size_t cchDestCurrent = 0; - // ASSERT(cbDest == (cchDest * sizeof(char)) || - // cbDest == (cchDest * sizeof(char)) + (cbDest % sizeof(char))); - - // only accept valid flags - if (dwFlags & (~STRSAFE_VALID_FLAGS)) + if (cchDest == 0) { + // can not null terminate a zero-byte dest buffer hr = STRSAFE_E_INVALID_PARAMETER; } else { - if (dwFlags & STRSAFE_IGNORE_NULLS) - { - if (pszDest == NULL) - { - if ((cchDest == 0) && (cbDest == 0)) - { - cchDestCurrent = 0; - } - else - { - // NULL pszDest and non-zero cchDest/cbDest is invalid - hr = STRSAFE_E_INVALID_PARAMETER; - } - } - else - { - hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - pszDestEnd = pszDest + cchDestCurrent; - cchRemaining = cchDest - cchDestCurrent; - } - } - - if (pszSrc == NULL) - { - pszSrc = ""; - } - } - else - { - hr = StringLengthWorkerA(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - pszDestEnd = pszDest + cchDestCurrent; - cchRemaining = cchDest - cchDestCurrent; - } - } - - if (SUCCEEDED(hr)) - { - if (cchDest == 0) - { - // only fail if there was actually src data to append - if (*pszSrc != '\0') - { - if (pszDest == NULL) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - } - } - else - { - // we handle the STRSAFE_FILL_ON_FAILURE and STRSAFE_NULL_ON_FAILURE cases below, so do not pass - // those flags through - hr = StringCopyNExWorkerA(pszDestEnd, - cchRemaining, - (cchRemaining * sizeof(char)) + (cbDest % sizeof(char)), - pszSrc, - cchMaxAppend, - &pszDestEnd, - &cchRemaining, - dwFlags & (~(STRSAFE_FILL_ON_FAILURE | STRSAFE_NULL_ON_FAILURE))); - } - } - } - - if (FAILED(hr)) - { - if (pszDest) + while (cchDest && (*pszSrc != '\0')) { - // STRSAFE_NO_TRUNCATION is taken care of by StringCopyNExWorkerA() - - if (dwFlags & STRSAFE_FILL_ON_FAILURE) - { - memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); - - if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - } - else if (cchDest > 0) - { - pszDestEnd = pszDest + cchDest - 1; - cchRemaining = 1; - - // null terminate the end of the string - *pszDestEnd = '\0'; - } - } - - if (dwFlags & (STRSAFE_NULL_ON_FAILURE)) - { - if (cchDest > 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - // null terminate the beginning of the string - *pszDestEnd = '\0'; - } - } + *pszDest++ = *pszSrc++; + cchDest--; } - } - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (ppszDestEnd) + if (cchDest == 0) { - *ppszDestEnd = pszDestEnd; + // we are going to truncate pszDest + pszDest--; + hr = STRSAFE_E_INSUFFICIENT_BUFFER; } - if (pcchRemaining) - { - *pcchRemaining = cchRemaining; - } + *pszDest= '\0'; } return hr; } -STRSAFEAPI StringCatNExWorkerW(WCHAR* pszDest, size_t cchDest, size_t cbDest, const WCHAR* pszSrc, size_t cchMaxAppend, WCHAR** ppszDestEnd, size_t* pcchRemaining, unsigned long dwFlags) +STRSAFEAPI StringCopyWorkerW(WCHAR* pszDest, size_t cchDest, const WCHAR* pszSrc) { HRESULT hr = S_OK; - WCHAR* pszDestEnd = pszDest; - size_t cchRemaining = 0; - size_t cchDestCurrent = 0; - - - // ASSERT(cbDest == (cchDest * sizeof(WCHAR)) || - // cbDest == (cchDest * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR))); - // only accept valid flags - if (dwFlags & (~STRSAFE_VALID_FLAGS)) + if (cchDest == 0) { + // can not null terminate a zero-byte dest buffer hr = STRSAFE_E_INVALID_PARAMETER; } else { - if (dwFlags & STRSAFE_IGNORE_NULLS) - { - if (pszDest == NULL) - { - if ((cchDest == 0) && (cbDest == 0)) - { - cchDestCurrent = 0; - } - else - { - // NULL pszDest and non-zero cchDest/cbDest is invalid - hr = STRSAFE_E_INVALID_PARAMETER; - } - } - else - { - hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - pszDestEnd = pszDest + cchDestCurrent; - cchRemaining = cchDest - cchDestCurrent; - } - } - - if (pszSrc == NULL) - { - pszSrc = u""; - } - } - else - { - hr = StringLengthWorkerW(pszDest, cchDest, &cchDestCurrent); - - if (SUCCEEDED(hr)) - { - pszDestEnd = pszDest + cchDestCurrent; - cchRemaining = cchDest - cchDestCurrent; - } - } - - if (SUCCEEDED(hr)) - { - if (cchDest == 0) - { - // only fail if there was actually src data to append - if (*pszSrc != L'\0') - { - if (pszDest == NULL) - { - hr = STRSAFE_E_INVALID_PARAMETER; - } - else - { - hr = STRSAFE_E_INSUFFICIENT_BUFFER; - } - } - } - else - { - // we handle the STRSAFE_FILL_ON_FAILURE and STRSAFE_NULL_ON_FAILURE cases below, so do not pass - // those flags through - hr = StringCopyNExWorkerW(pszDestEnd, - cchRemaining, - (cchRemaining * sizeof(WCHAR)) + (cbDest % sizeof(WCHAR)), - pszSrc, - cchMaxAppend, - &pszDestEnd, - &cchRemaining, - dwFlags & (~(STRSAFE_FILL_ON_FAILURE | STRSAFE_NULL_ON_FAILURE))); - } - } - } - - if (FAILED(hr)) - { - if (pszDest) - { - // STRSAFE_NO_TRUNCATION is taken care of by StringCopyNExWorkerW() - - if (dwFlags & STRSAFE_FILL_ON_FAILURE) - { - memset(pszDest, STRSAFE_GET_FILL_PATTERN(dwFlags), cbDest); - - if (STRSAFE_GET_FILL_PATTERN(dwFlags) == 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - } - else if (cchDest > 0) - { - pszDestEnd = pszDest + cchDest - 1; - cchRemaining = 1; - - // null terminate the end of the string - *pszDestEnd = L'\0'; - } - } - - if (dwFlags & (STRSAFE_NULL_ON_FAILURE)) - { - if (cchDest > 0) - { - pszDestEnd = pszDest; - cchRemaining = cchDest; - - // null terminate the beginning of the string - *pszDestEnd = L'\0'; - } - } - } - } - - if (SUCCEEDED(hr) || (hr == STRSAFE_E_INSUFFICIENT_BUFFER)) - { - if (ppszDestEnd) + while (cchDest && (*pszSrc != L'\0')) { - *ppszDestEnd = pszDestEnd; + *pszDest++ = *pszSrc++; + cchDest--; } - if (pcchRemaining) + if (cchDest == 0) { - *pcchRemaining = cchRemaining; + // we are going to truncate pszDest + pszDest--; + hr = STRSAFE_E_INSUFFICIENT_BUFFER; } - } - - return hr; -} - -STRSAFEAPI StringLengthWorkerA(const char* psz, size_t cchMax, size_t* pcch) -{ - HRESULT hr = S_OK; - size_t cchMaxPrev = cchMax; - - while (cchMax && (*psz != '\0')) - { - psz++; - cchMax--; - } - - if (cchMax == 0) - { - // the string is longer than cchMax - hr = STRSAFE_E_INVALID_PARAMETER; - } - - if (SUCCEEDED(hr) && pcch) - { - *pcch = cchMaxPrev - cchMax; - } - - return hr; -} - -STRSAFEAPI StringLengthWorkerW(const WCHAR* psz, size_t cchMax, size_t* pcch) -{ - HRESULT hr = S_OK; - size_t cchMaxPrev = cchMax; - - while (cchMax && (*psz != L'\0')) - { - psz++; - cchMax--; - } - - if (cchMax == 0) - { - // the string is longer than cchMax - hr = STRSAFE_E_INVALID_PARAMETER; - } - if (SUCCEEDED(hr) && pcch) - { - *pcch = cchMaxPrev - cchMax; + *pszDest= L'\0'; } return hr; diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacros.inc b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacros.inc index cf05fbe319..120b26543e 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacros.inc +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacros.inc @@ -3,6 +3,11 @@ #define INVALIDGCVALUE 0xCCCCCCCD +// Enforce subsections via symbols to workaround bugs in Xcode 15 linker. +#if defined(__APPLE__) +.subsections_via_symbols +#endif + #if defined(__APPLE__) #define C_FUNC(name) _##name #define EXTERNAL_C_FUNC(name) C_FUNC(name) @@ -47,6 +52,8 @@ #include "unixasmmacross390x.inc" #elif defined(HOST_LOONGARCH64) #include "unixasmmacrosloongarch64.inc" +#elif defined(HOST_RISCV64) +#include "unixasmmacrosriscv64.inc" #elif defined(HOST_POWERPC64) #include "unixasmmacrosppc64le.inc" #endif diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosarm64.inc b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosarm64.inc index 8b3c5803b7..976cc825f2 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosarm64.inc +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosarm64.inc @@ -359,3 +359,20 @@ $__RedirectionStubEndFuncName #endif .endm + +//----------------------------------------------------------------------------- +// Macro used to check (in debug builds only) whether the stack is 16-bytes aligned (a requirement before calling +// out into C++/OS code). Invoke this directly after your prolog (if the stack frame size is fixed) or directly +// before a call (if you have a frame pointer and a dynamic stack). A breakpoint will be invoked if the stack +// is misaligned. +// +.macro CHECK_STACK_ALIGNMENT + +#ifdef _DEBUG + add x9, sp, xzr + tst x9, #15 + beq 0f + EMIT_BREAKPOINT +0: +#endif +.endm diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosloongarch64.inc b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosloongarch64.inc index d71cf8f969..345d2e492b 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosloongarch64.inc +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosloongarch64.inc @@ -137,12 +137,11 @@ C_FUNC(\Name\()_End): .endm .macro EMIT_BREAKPOINT - break + break 0 .endm .macro EPILOG_BRANCH Target b \Target - //break .endm .macro EPILOG_BRANCH_REG reg diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosppc64le.inc b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosppc64le.inc index 2c1c4d6f3e..6fdc3ee3ee 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosppc64le.inc +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosppc64le.inc @@ -34,4 +34,3 @@ C_FUNC(\Name\()_End): .global C_FUNC(\Name\()_End) LEAF_END \Name, \Section .endm - diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosriscv64.inc b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosriscv64.inc new file mode 100644 index 0000000000..2151b0c26e --- /dev/null +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacrosriscv64.inc @@ -0,0 +1,325 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +.macro NESTED_ENTRY Name, Section, Handler + LEAF_ENTRY \Name, \Section + .ifnc \Handler, NoHandler + .cfi_personality 0x1B, C_FUNC(\Handler) // 0x1B == DW_EH_PE_pcrel | DW_EH_PE_sdata4 + .endif +.endm + +.macro NESTED_END Name, Section + LEAF_END \Name, \Section +.endm + +.macro PATCH_LABEL Name + .global C_FUNC(\Name) +C_FUNC(\Name): +.endm + +.macro LEAF_ENTRY Name, Section + .global C_FUNC(\Name) + .type \Name, %function +C_FUNC(\Name): + .cfi_startproc +.endm + +.macro LEAF_END Name, Section + .size \Name, .-\Name + .cfi_endproc +.endm + +.macro LEAF_END_MARKED Name, Section +C_FUNC(\Name\()_End): + .global C_FUNC(\Name\()_End) + LEAF_END \Name, \Section + // make sure this symbol gets its own address + nop +.endm + +.macro PREPARE_EXTERNAL_VAR Name, HelperReg + lla \HelperReg, \Name +.endm + +.macro PROLOG_STACK_ALLOC Size + addi sp, sp, -\Size + .cfi_adjust_cfa_offset \Size +.endm + +.macro EPILOG_STACK_FREE Size + addi sp, sp, \Size + .cfi_adjust_cfa_offset -\Size +.endm + +.macro EPILOG_STACK_RESTORE + ori sp, fp, 0 + .cfi_restore sp +.endm + +.macro PROLOG_SAVE_REG reg, ofs + sd \reg, \ofs(sp) + .cfi_rel_offset \reg, \ofs +.endm + +.macro PROLOG_SAVE_REG_PAIR reg1, reg2, ofs, __def_cfa_save=0 + sd \reg1, \ofs(sp) + sd \reg2, (\ofs+8)(sp) + .cfi_rel_offset \reg1, \ofs + .cfi_rel_offset \reg2, \ofs + 8 + .if (\__def_cfa_save == 1) + addi fp, sp, 0 + .cfi_def_cfa_register fp + .endif +.endm + +.macro PROLOG_SAVE_REG_PAIR_INDEXED reg1, reg2, ssize, __def_cfa_save=1 + addi sp, sp, -\ssize + .cfi_adjust_cfa_offset \ssize + + sd \reg1, 0(sp) + sd \reg2, 8(sp) + + .cfi_rel_offset \reg1, 0 + .cfi_rel_offset \reg2, 8 + .if (\__def_cfa_save == 1) + addi fp, sp, 0 + .cfi_def_cfa_register fp + .endif +.endm + +.macro EPILOG_RESTORE_REG reg, ofs + ld \reg, (\ofs)(sp) + .cfi_restore \reg +.endm + +.macro EPILOG_RESTORE_REG_PAIR reg1, reg2, ofs + ld \reg2, (\ofs+8)(sp) + ld \reg1, (\ofs)(sp) + .cfi_restore \reg2 + .cfi_restore \reg1 +.endm + +.macro EPILOG_RESTORE_REG_PAIR_INDEXED reg1, reg2, ssize + ld \reg2, 8(sp) + ld \reg1, 0(sp) + .cfi_restore \reg2 + .cfi_restore \reg1 + + addi sp, sp, \ssize + .cfi_adjust_cfa_offset -\ssize +.endm + +.macro EPILOG_RETURN + ret +.endm + +.macro EMIT_BREAKPOINT + ebreak +.endm + +.macro EPILOG_BRANCH Target + j \Target +.endm + +.macro EPILOG_BRANCH_REG reg + jr \reg +.endm + +//----------------------------------------------------------------------------- +// The Following sets of SAVE_*_REGISTERS expect the memory to be reserved and +// base address to be passed in $reg +// + +// Reserve 64 bytes of memory before calling SAVE_CALLEESAVED_REGISTERS +.macro SAVE_CALLEESAVED_REGISTERS reg, ofs + PROLOG_SAVE_REG_PAIR s1, s2, \ofs + 16 + PROLOG_SAVE_REG_PAIR s3, s4, \ofs + 32 + PROLOG_SAVE_REG_PAIR s5, s6, \ofs + 48 + PROLOG_SAVE_REG_PAIR s7, s8, \ofs + 64 + PROLOG_SAVE_REG_PAIR s9, s10, \ofs + 80 + PROLOG_SAVE_REG_PAIR s11, tp \ofs + 96 + PROLOG_SAVE_REG gp, \ofs + 112 +.endm + +// Reserve 64 bytes of memory before calling SAVE_ARGUMENT_REGISTERS +.macro SAVE_ARGUMENT_REGISTERS reg, ofs + sd a0, (\ofs)(\reg) + sd a1, (\ofs + 8)(\reg) + sd a2, (\ofs + 16)(\reg) + sd a3, (\ofs + 24)(\reg) + sd a4, (\ofs + 32)(\reg) + sd a5, (\ofs + 40)(\reg) + sd a6, (\ofs + 48)(\reg) + sd a7, (\ofs + 56)(\reg) +.endm + +// Reserve 64 bytes of memory before calling SAVE_FLOAT_ARGUMENT_REGISTERS +.macro SAVE_FLOAT_ARGUMENT_REGISTERS reg, ofs + fsd fa0, (\ofs)(\reg) + fsd fa1, (\ofs + 8)(\reg) + fsd fa2, (\ofs + 16)(\reg) + fsd fa3, (\ofs + 24)(\reg) + fsd fa4, (\ofs + 32)(\reg) + fsd fa5, (\ofs + 40)(\reg) + fsd fa6, (\ofs + 48)(\reg) + fsd fa7, (\ofs + 56)(\reg) +.endm + +// Reserve 64 bytes of memory before calling SAVE_FLOAT_CALLEESAVED_REGISTERS +.macro SAVE_FLOAT_CALLEESAVED_REGISTERS reg, ofs +// TODO RISCV NYI + sw ra, 0(zero) +.endm + +.macro RESTORE_CALLEESAVED_REGISTERS reg, ofs + EPILOG_RESTORE_REG gp \ofs + 112 + EPILOG_RESTORE_REG_PAIR s11, tp \ofs + 96 + EPILOG_RESTORE_REG_PAIR s9, s10, \ofs + 80 + EPILOG_RESTORE_REG_PAIR s7, s8, \ofs + 64 + EPILOG_RESTORE_REG_PAIR s5, s6, \ofs + 48 + EPILOG_RESTORE_REG_PAIR s3, s4, \ofs + 32 + EPILOG_RESTORE_REG_PAIR s1, s2, \ofs + 16 +.endm + +.macro RESTORE_ARGUMENT_REGISTERS reg, ofs + ld a0, (\ofs)(\reg) + ld a1, (\ofs + 8)(\reg) + ld a2, (\ofs + 16)(\reg) + ld a3, (\ofs + 24)(\reg) + ld a4, (\ofs + 32)(\reg) + ld a5, (\ofs + 40)(\reg) + ld a6, (\ofs + 48)(\reg) + ld a7, (\ofs + 56)(\reg) +.endm + +.macro RESTORE_FLOAT_ARGUMENT_REGISTERS reg, ofs + fld fa0, (\ofs)(\reg) + fld fa1, (\ofs + 8)(\reg) + fld fa2, (\ofs + 16)(\reg) + fld fa3, (\ofs + 24)(\reg) + fld fa4, (\ofs + 32)(\reg) + fld fa5, (\ofs + 40)(\reg) + fld fa6, (\ofs + 48)(\reg) + fld fa7, (\ofs + 56)(\reg) +.endm + +.macro RESTORE_FLOAT_CALLEESAVED_REGISTERS reg, ofs +// TODO RISCV NYI + sw ra, 0(zero) +.endm + +//----------------------------------------------------------------------------- +// Define the prolog for a TransitionBlock-based method. This macro should be called first in the method and +// comprises the entire prolog.The locals must be 8 byte aligned +// +// Save_argument_registers: +// GPR_a7 +// GPR_a6 +// GPR_a5 +// GPR_a4 +// GPR_a3 +// GPR_a2 +// GPR_a1 +// GPR_a0 +// +// General Registers: +// GPR_tp +// GPR_s8 +// GPR_s7 +// GPR_s6 +// GPR_s5 +// GPR_s4 +// GPR_s3 +// GPR_s2 +// GPR_s1 +// GPR_s0 +// GPR_ra +// GPR_fp +// +// Float Point: +// FPR_f27 / fs11 +// FPR_f26 / fs10 +// FPR_f25 / fs9 +// FPR_f24 / fs8 +// FPR_f23 / fs7 +// FPR_f22 / fs6 +// FPR_f21 / fs5 +// FPR_f20 / fs4 +// FPR_f19 / fs3 +// FPR_f18 / fs2 +// FPR_f9 / fs1 +// FPR_f8 / fs0 +// Extra: +// +.macro PROLOG_WITH_TRANSITION_BLOCK extraParameters = 0, extraLocals = 0, SaveFPRegs = 1 + __PWTB_SaveFPArgs = \SaveFPRegs + + __PWTB_FloatArgumentRegisters = \extraLocals + + .if ((__PWTB_FloatArgumentRegisters % 16) != 0) + __PWTB_FloatArgumentRegisters = __PWTB_FloatArgumentRegisters + 8 + .endif + + __PWTB_TransitionBlock = __PWTB_FloatArgumentRegisters + + .if (__PWTB_SaveFPArgs == 1) + __PWTB_TransitionBlock = __PWTB_TransitionBlock + SIZEOF__FloatArgumentRegisters + .endif + + + __PWTB_CalleeSavedRegisters = __PWTB_TransitionBlock + __PWTB_ArgumentRegisters = __PWTB_TransitionBlock + 120 + + // Including fp, ra, s1-s11, tp, gp, and (a0-a7)arguments. (1+1+11+1+1)*8 + 8*8. + __PWTB_StackAlloc = __PWTB_TransitionBlock + 120 + 64 + PROLOG_STACK_ALLOC __PWTB_StackAlloc + PROLOG_SAVE_REG_PAIR fp, ra, __PWTB_CalleeSavedRegisters, 1 + + // First, Spill argument registers. + SAVE_ARGUMENT_REGISTERS sp, __PWTB_ArgumentRegisters + + // Then, Spill callee saved registers. sp=r2. + SAVE_CALLEESAVED_REGISTERS sp, __PWTB_CalleeSavedRegisters + + // saving is f10-17. + .if (__PWTB_SaveFPArgs == 1) + SAVE_FLOAT_ARGUMENT_REGISTERS sp, __PWTB_FloatArgumentRegisters + .endif + +.endm + +.macro EPILOG_WITH_TRANSITION_BLOCK_RETURN +// TODO RISCV NYI + sw ra, 0(zero) +.endm + + +//----------------------------------------------------------------------------- +// Provides a matching epilog to PROLOG_WITH_TRANSITION_BLOCK and ends by preparing for tail-calling. +// Since this is a tail call argument registers are restored. +// +.macro EPILOG_WITH_TRANSITION_BLOCK_TAILCALL + .if (__PWTB_SaveFPArgs == 1) + RESTORE_FLOAT_ARGUMENT_REGISTERS sp, __PWTB_FloatArgumentRegisters + .endif + + RESTORE_CALLEESAVED_REGISTERS sp, __PWTB_CalleeSavedRegisters + + RESTORE_ARGUMENT_REGISTERS sp, __PWTB_ArgumentRegisters + + EPILOG_RESTORE_REG_PAIR fp, ra, __PWTB_CalleeSavedRegisters + + EPILOG_STACK_FREE __PWTB_StackAlloc +.endm + +// ------------------------------------------------------------------ +// Macro to generate Redirection Stubs +// +// $reason : reason for redirection +// Eg. GCThreadControl +// NOTE: If you edit this macro, make sure you update GetCONTEXTFromRedirectedStubStackFrame. +// This function is used by both the personality routine and the debugger to retrieve the original CONTEXT. +.macro GenerateRedirectedHandledJITCaseStub reason +// TODO RISCV NYI + sw ra, 0(zero) +.endm diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacross390x.inc b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacross390x.inc index ae6a894ad7..e4d7928708 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacross390x.inc +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/inc/unixasmmacross390x.inc @@ -34,4 +34,3 @@ C_FUNC(\Name\()_End): .global C_FUNC(\Name\()_End) LEAF_END \Name, \Section .endm - diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/cordebug_i.cpp b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/cordebug_i.cpp index c509c3c16c..6bfe487fd5 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/cordebug_i.cpp +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/cordebug_i.cpp @@ -315,6 +315,8 @@ MIDL_DEFINE_GUID(IID, IID_ICorDebugFunction3,0x09B70F28,0xE465,0x482D,0x99,0xE0, MIDL_DEFINE_GUID(IID, IID_ICorDebugFunction4,0x72965963,0x34fd,0x46e9,0x94,0x34,0xb8,0x17,0xfe,0x6e,0x7f,0x43); +MIDL_DEFINE_GUID(IID, IID_ICorDebugFunction5,0x9D4DAB7B,0x3401,0x4F37,0xBD,0x08,0xCA,0x09,0xF3,0xFD,0xF1,0x0F); + MIDL_DEFINE_GUID(IID, IID_ICorDebugCode,0xCC7BCAF4,0x8A68,0x11d2,0x98,0x3C,0x00,0x00,0xF8,0x08,0x34,0x2D); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/corprof_i.cpp b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/corprof_i.cpp index dbe77ca5d6..61546a47bd 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/corprof_i.cpp +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/corprof_i.cpp @@ -147,6 +147,9 @@ MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo12,0x27b24ccd,0x1cb1,0x47c5,0x96,0xee, MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo13,0x6E6C7EE2,0x0701,0x4EC2,0x9D,0x29,0x2E,0x87,0x33,0xB6,0x69,0x34); +MIDL_DEFINE_GUID(IID, IID_ICorProfilerInfo14,0xF460E352,0xD76D,0x4FE9,0x83,0x5F,0xF6,0xAF,0x9D,0x6E,0x86,0x2D); + + MIDL_DEFINE_GUID(IID, IID_ICorProfilerMethodEnum,0xFCCEE788,0x0088,0x454B,0xA8,0x11,0xC9,0x9F,0x29,0x8D,0x19,0x42); diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/sospriv_i.cpp b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/sospriv_i.cpp index b6559ab923..141ec62612 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/sospriv_i.cpp +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/idl/sospriv_i.cpp @@ -8,8 +8,8 @@ /* File created by MIDL compiler version 8.01.0622 */ /* at Mon Jan 18 19:14:07 2038 */ -/* Compiler settings for C:/ssd/runtime/src/coreclr/inc/sospriv.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 +/* Compiler settings for sospriv.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0622 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: @@ -79,6 +79,9 @@ MIDL_DEFINE_GUID(IID, IID_ISOSStackRefErrorEnum,0x774F4E1B,0xFB7B,0x491B,0x97,0x MIDL_DEFINE_GUID(IID, IID_ISOSStackRefEnum,0x8FA642BD,0x9F10,0x4799,0x9A,0xA3,0x51,0x2A,0xE7,0x8C,0x77,0xEE); +MIDL_DEFINE_GUID(IID, IID_ISOSMemoryEnum,0xE4B860EC,0x337A,0x40C0,0xA5,0x91,0xF0,0x9A,0x96,0x80,0x69,0x0F); + + MIDL_DEFINE_GUID(IID, IID_ISOSDacInterface,0x436f00f2,0xb42a,0x4b9f,0x87,0x0c,0xe7,0x3d,0xb6,0x6a,0xe9,0x30); @@ -115,6 +118,8 @@ MIDL_DEFINE_GUID(IID, IID_ISOSDacInterface11,0x96BA1DB9,0x14CD,0x4492,0x80,0x65, MIDL_DEFINE_GUID(IID, IID_ISOSDacInterface12,0x1b93bacc,0x8ca4,0x432d,0x94,0x3a,0x3e,0x6e,0x7e,0xc0,0xb0,0xa3); +MIDL_DEFINE_GUID(IID, IID_ISOSDacInterface13,0x3176a8ed,0x597b,0x4f54,0xa7,0x1f,0x83,0x69,0x5c,0x6a,0x8c,0x5e); + #undef MIDL_DEFINE_GUID #ifdef __cplusplus diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/cordebug.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/cordebug.h index fa4b434ecc..a9ec5ffc10 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/cordebug.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/cordebug.h @@ -1,15 +1,14 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. + /* this ALWAYS GENERATED file contains the definitions for the interfaces */ - /* File created by MIDL compiler version 8.01.0622 */ + /* File created by MIDL compiler version 8.01.0628 */ /* Compiler settings for cordebug.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0622 + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0628 protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ @@ -42,951 +41,966 @@ #pragma once #endif -/* Forward Declarations */ +#ifndef DECLSPEC_XFGVIRT +#if defined(_CONTROL_FLOW_GUARD_XFG) +#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) +#else +#define DECLSPEC_XFGVIRT(base, func) +#endif +#endif + +/* Forward Declarations */ #ifndef __ICorDebugDataTarget_FWD_DEFINED__ #define __ICorDebugDataTarget_FWD_DEFINED__ typedef interface ICorDebugDataTarget ICorDebugDataTarget; -#endif /* __ICorDebugDataTarget_FWD_DEFINED__ */ +#endif /* __ICorDebugDataTarget_FWD_DEFINED__ */ #ifndef __ICorDebugStaticFieldSymbol_FWD_DEFINED__ #define __ICorDebugStaticFieldSymbol_FWD_DEFINED__ typedef interface ICorDebugStaticFieldSymbol ICorDebugStaticFieldSymbol; -#endif /* __ICorDebugStaticFieldSymbol_FWD_DEFINED__ */ +#endif /* __ICorDebugStaticFieldSymbol_FWD_DEFINED__ */ #ifndef __ICorDebugInstanceFieldSymbol_FWD_DEFINED__ #define __ICorDebugInstanceFieldSymbol_FWD_DEFINED__ typedef interface ICorDebugInstanceFieldSymbol ICorDebugInstanceFieldSymbol; -#endif /* __ICorDebugInstanceFieldSymbol_FWD_DEFINED__ */ +#endif /* __ICorDebugInstanceFieldSymbol_FWD_DEFINED__ */ #ifndef __ICorDebugVariableSymbol_FWD_DEFINED__ #define __ICorDebugVariableSymbol_FWD_DEFINED__ typedef interface ICorDebugVariableSymbol ICorDebugVariableSymbol; -#endif /* __ICorDebugVariableSymbol_FWD_DEFINED__ */ +#endif /* __ICorDebugVariableSymbol_FWD_DEFINED__ */ #ifndef __ICorDebugMemoryBuffer_FWD_DEFINED__ #define __ICorDebugMemoryBuffer_FWD_DEFINED__ typedef interface ICorDebugMemoryBuffer ICorDebugMemoryBuffer; -#endif /* __ICorDebugMemoryBuffer_FWD_DEFINED__ */ +#endif /* __ICorDebugMemoryBuffer_FWD_DEFINED__ */ #ifndef __ICorDebugMergedAssemblyRecord_FWD_DEFINED__ #define __ICorDebugMergedAssemblyRecord_FWD_DEFINED__ typedef interface ICorDebugMergedAssemblyRecord ICorDebugMergedAssemblyRecord; -#endif /* __ICorDebugMergedAssemblyRecord_FWD_DEFINED__ */ +#endif /* __ICorDebugMergedAssemblyRecord_FWD_DEFINED__ */ #ifndef __ICorDebugSymbolProvider_FWD_DEFINED__ #define __ICorDebugSymbolProvider_FWD_DEFINED__ typedef interface ICorDebugSymbolProvider ICorDebugSymbolProvider; -#endif /* __ICorDebugSymbolProvider_FWD_DEFINED__ */ +#endif /* __ICorDebugSymbolProvider_FWD_DEFINED__ */ #ifndef __ICorDebugSymbolProvider2_FWD_DEFINED__ #define __ICorDebugSymbolProvider2_FWD_DEFINED__ typedef interface ICorDebugSymbolProvider2 ICorDebugSymbolProvider2; -#endif /* __ICorDebugSymbolProvider2_FWD_DEFINED__ */ +#endif /* __ICorDebugSymbolProvider2_FWD_DEFINED__ */ #ifndef __ICorDebugVirtualUnwinder_FWD_DEFINED__ #define __ICorDebugVirtualUnwinder_FWD_DEFINED__ typedef interface ICorDebugVirtualUnwinder ICorDebugVirtualUnwinder; -#endif /* __ICorDebugVirtualUnwinder_FWD_DEFINED__ */ +#endif /* __ICorDebugVirtualUnwinder_FWD_DEFINED__ */ #ifndef __ICorDebugDataTarget2_FWD_DEFINED__ #define __ICorDebugDataTarget2_FWD_DEFINED__ typedef interface ICorDebugDataTarget2 ICorDebugDataTarget2; -#endif /* __ICorDebugDataTarget2_FWD_DEFINED__ */ +#endif /* __ICorDebugDataTarget2_FWD_DEFINED__ */ #ifndef __ICorDebugLoadedModule_FWD_DEFINED__ #define __ICorDebugLoadedModule_FWD_DEFINED__ typedef interface ICorDebugLoadedModule ICorDebugLoadedModule; -#endif /* __ICorDebugLoadedModule_FWD_DEFINED__ */ +#endif /* __ICorDebugLoadedModule_FWD_DEFINED__ */ #ifndef __ICorDebugDataTarget3_FWD_DEFINED__ #define __ICorDebugDataTarget3_FWD_DEFINED__ typedef interface ICorDebugDataTarget3 ICorDebugDataTarget3; -#endif /* __ICorDebugDataTarget3_FWD_DEFINED__ */ +#endif /* __ICorDebugDataTarget3_FWD_DEFINED__ */ #ifndef __ICorDebugDataTarget4_FWD_DEFINED__ #define __ICorDebugDataTarget4_FWD_DEFINED__ typedef interface ICorDebugDataTarget4 ICorDebugDataTarget4; -#endif /* __ICorDebugDataTarget4_FWD_DEFINED__ */ +#endif /* __ICorDebugDataTarget4_FWD_DEFINED__ */ #ifndef __ICorDebugMutableDataTarget_FWD_DEFINED__ #define __ICorDebugMutableDataTarget_FWD_DEFINED__ typedef interface ICorDebugMutableDataTarget ICorDebugMutableDataTarget; -#endif /* __ICorDebugMutableDataTarget_FWD_DEFINED__ */ +#endif /* __ICorDebugMutableDataTarget_FWD_DEFINED__ */ #ifndef __ICorDebugMetaDataLocator_FWD_DEFINED__ #define __ICorDebugMetaDataLocator_FWD_DEFINED__ typedef interface ICorDebugMetaDataLocator ICorDebugMetaDataLocator; -#endif /* __ICorDebugMetaDataLocator_FWD_DEFINED__ */ +#endif /* __ICorDebugMetaDataLocator_FWD_DEFINED__ */ #ifndef __ICorDebugManagedCallback_FWD_DEFINED__ #define __ICorDebugManagedCallback_FWD_DEFINED__ typedef interface ICorDebugManagedCallback ICorDebugManagedCallback; -#endif /* __ICorDebugManagedCallback_FWD_DEFINED__ */ +#endif /* __ICorDebugManagedCallback_FWD_DEFINED__ */ #ifndef __ICorDebugManagedCallback3_FWD_DEFINED__ #define __ICorDebugManagedCallback3_FWD_DEFINED__ typedef interface ICorDebugManagedCallback3 ICorDebugManagedCallback3; -#endif /* __ICorDebugManagedCallback3_FWD_DEFINED__ */ +#endif /* __ICorDebugManagedCallback3_FWD_DEFINED__ */ #ifndef __ICorDebugManagedCallback4_FWD_DEFINED__ #define __ICorDebugManagedCallback4_FWD_DEFINED__ typedef interface ICorDebugManagedCallback4 ICorDebugManagedCallback4; -#endif /* __ICorDebugManagedCallback4_FWD_DEFINED__ */ +#endif /* __ICorDebugManagedCallback4_FWD_DEFINED__ */ #ifndef __ICorDebugManagedCallback2_FWD_DEFINED__ #define __ICorDebugManagedCallback2_FWD_DEFINED__ typedef interface ICorDebugManagedCallback2 ICorDebugManagedCallback2; -#endif /* __ICorDebugManagedCallback2_FWD_DEFINED__ */ +#endif /* __ICorDebugManagedCallback2_FWD_DEFINED__ */ #ifndef __ICorDebugUnmanagedCallback_FWD_DEFINED__ #define __ICorDebugUnmanagedCallback_FWD_DEFINED__ typedef interface ICorDebugUnmanagedCallback ICorDebugUnmanagedCallback; -#endif /* __ICorDebugUnmanagedCallback_FWD_DEFINED__ */ +#endif /* __ICorDebugUnmanagedCallback_FWD_DEFINED__ */ #ifndef __ICorDebug_FWD_DEFINED__ #define __ICorDebug_FWD_DEFINED__ typedef interface ICorDebug ICorDebug; -#endif /* __ICorDebug_FWD_DEFINED__ */ +#endif /* __ICorDebug_FWD_DEFINED__ */ #ifndef __ICorDebugRemoteTarget_FWD_DEFINED__ #define __ICorDebugRemoteTarget_FWD_DEFINED__ typedef interface ICorDebugRemoteTarget ICorDebugRemoteTarget; -#endif /* __ICorDebugRemoteTarget_FWD_DEFINED__ */ +#endif /* __ICorDebugRemoteTarget_FWD_DEFINED__ */ #ifndef __ICorDebugRemote_FWD_DEFINED__ #define __ICorDebugRemote_FWD_DEFINED__ typedef interface ICorDebugRemote ICorDebugRemote; -#endif /* __ICorDebugRemote_FWD_DEFINED__ */ +#endif /* __ICorDebugRemote_FWD_DEFINED__ */ #ifndef __ICorDebug2_FWD_DEFINED__ #define __ICorDebug2_FWD_DEFINED__ typedef interface ICorDebug2 ICorDebug2; -#endif /* __ICorDebug2_FWD_DEFINED__ */ +#endif /* __ICorDebug2_FWD_DEFINED__ */ #ifndef __ICorDebugController_FWD_DEFINED__ #define __ICorDebugController_FWD_DEFINED__ typedef interface ICorDebugController ICorDebugController; -#endif /* __ICorDebugController_FWD_DEFINED__ */ +#endif /* __ICorDebugController_FWD_DEFINED__ */ #ifndef __ICorDebugAppDomain_FWD_DEFINED__ #define __ICorDebugAppDomain_FWD_DEFINED__ typedef interface ICorDebugAppDomain ICorDebugAppDomain; -#endif /* __ICorDebugAppDomain_FWD_DEFINED__ */ +#endif /* __ICorDebugAppDomain_FWD_DEFINED__ */ #ifndef __ICorDebugAppDomain2_FWD_DEFINED__ #define __ICorDebugAppDomain2_FWD_DEFINED__ typedef interface ICorDebugAppDomain2 ICorDebugAppDomain2; -#endif /* __ICorDebugAppDomain2_FWD_DEFINED__ */ +#endif /* __ICorDebugAppDomain2_FWD_DEFINED__ */ #ifndef __ICorDebugEnum_FWD_DEFINED__ #define __ICorDebugEnum_FWD_DEFINED__ typedef interface ICorDebugEnum ICorDebugEnum; -#endif /* __ICorDebugEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugEnum_FWD_DEFINED__ */ #ifndef __ICorDebugGuidToTypeEnum_FWD_DEFINED__ #define __ICorDebugGuidToTypeEnum_FWD_DEFINED__ typedef interface ICorDebugGuidToTypeEnum ICorDebugGuidToTypeEnum; -#endif /* __ICorDebugGuidToTypeEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugGuidToTypeEnum_FWD_DEFINED__ */ #ifndef __ICorDebugAppDomain3_FWD_DEFINED__ #define __ICorDebugAppDomain3_FWD_DEFINED__ typedef interface ICorDebugAppDomain3 ICorDebugAppDomain3; -#endif /* __ICorDebugAppDomain3_FWD_DEFINED__ */ +#endif /* __ICorDebugAppDomain3_FWD_DEFINED__ */ #ifndef __ICorDebugAppDomain4_FWD_DEFINED__ #define __ICorDebugAppDomain4_FWD_DEFINED__ typedef interface ICorDebugAppDomain4 ICorDebugAppDomain4; -#endif /* __ICorDebugAppDomain4_FWD_DEFINED__ */ +#endif /* __ICorDebugAppDomain4_FWD_DEFINED__ */ #ifndef __ICorDebugAssembly_FWD_DEFINED__ #define __ICorDebugAssembly_FWD_DEFINED__ typedef interface ICorDebugAssembly ICorDebugAssembly; -#endif /* __ICorDebugAssembly_FWD_DEFINED__ */ +#endif /* __ICorDebugAssembly_FWD_DEFINED__ */ #ifndef __ICorDebugAssembly2_FWD_DEFINED__ #define __ICorDebugAssembly2_FWD_DEFINED__ typedef interface ICorDebugAssembly2 ICorDebugAssembly2; -#endif /* __ICorDebugAssembly2_FWD_DEFINED__ */ +#endif /* __ICorDebugAssembly2_FWD_DEFINED__ */ #ifndef __ICorDebugAssembly3_FWD_DEFINED__ #define __ICorDebugAssembly3_FWD_DEFINED__ typedef interface ICorDebugAssembly3 ICorDebugAssembly3; -#endif /* __ICorDebugAssembly3_FWD_DEFINED__ */ +#endif /* __ICorDebugAssembly3_FWD_DEFINED__ */ #ifndef __ICorDebugHeapEnum_FWD_DEFINED__ #define __ICorDebugHeapEnum_FWD_DEFINED__ typedef interface ICorDebugHeapEnum ICorDebugHeapEnum; -#endif /* __ICorDebugHeapEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugHeapEnum_FWD_DEFINED__ */ #ifndef __ICorDebugHeapSegmentEnum_FWD_DEFINED__ #define __ICorDebugHeapSegmentEnum_FWD_DEFINED__ typedef interface ICorDebugHeapSegmentEnum ICorDebugHeapSegmentEnum; -#endif /* __ICorDebugHeapSegmentEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugHeapSegmentEnum_FWD_DEFINED__ */ #ifndef __ICorDebugGCReferenceEnum_FWD_DEFINED__ #define __ICorDebugGCReferenceEnum_FWD_DEFINED__ typedef interface ICorDebugGCReferenceEnum ICorDebugGCReferenceEnum; -#endif /* __ICorDebugGCReferenceEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugGCReferenceEnum_FWD_DEFINED__ */ #ifndef __ICorDebugProcess_FWD_DEFINED__ #define __ICorDebugProcess_FWD_DEFINED__ typedef interface ICorDebugProcess ICorDebugProcess; -#endif /* __ICorDebugProcess_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess_FWD_DEFINED__ */ #ifndef __ICorDebugProcess2_FWD_DEFINED__ #define __ICorDebugProcess2_FWD_DEFINED__ typedef interface ICorDebugProcess2 ICorDebugProcess2; -#endif /* __ICorDebugProcess2_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess2_FWD_DEFINED__ */ #ifndef __ICorDebugProcess3_FWD_DEFINED__ #define __ICorDebugProcess3_FWD_DEFINED__ typedef interface ICorDebugProcess3 ICorDebugProcess3; -#endif /* __ICorDebugProcess3_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess3_FWD_DEFINED__ */ #ifndef __ICorDebugProcess5_FWD_DEFINED__ #define __ICorDebugProcess5_FWD_DEFINED__ typedef interface ICorDebugProcess5 ICorDebugProcess5; -#endif /* __ICorDebugProcess5_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess5_FWD_DEFINED__ */ #ifndef __ICorDebugDebugEvent_FWD_DEFINED__ #define __ICorDebugDebugEvent_FWD_DEFINED__ typedef interface ICorDebugDebugEvent ICorDebugDebugEvent; -#endif /* __ICorDebugDebugEvent_FWD_DEFINED__ */ +#endif /* __ICorDebugDebugEvent_FWD_DEFINED__ */ #ifndef __ICorDebugProcess6_FWD_DEFINED__ #define __ICorDebugProcess6_FWD_DEFINED__ typedef interface ICorDebugProcess6 ICorDebugProcess6; -#endif /* __ICorDebugProcess6_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess6_FWD_DEFINED__ */ #ifndef __ICorDebugProcess7_FWD_DEFINED__ #define __ICorDebugProcess7_FWD_DEFINED__ typedef interface ICorDebugProcess7 ICorDebugProcess7; -#endif /* __ICorDebugProcess7_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess7_FWD_DEFINED__ */ #ifndef __ICorDebugProcess8_FWD_DEFINED__ #define __ICorDebugProcess8_FWD_DEFINED__ typedef interface ICorDebugProcess8 ICorDebugProcess8; -#endif /* __ICorDebugProcess8_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess8_FWD_DEFINED__ */ #ifndef __ICorDebugProcess10_FWD_DEFINED__ #define __ICorDebugProcess10_FWD_DEFINED__ typedef interface ICorDebugProcess10 ICorDebugProcess10; -#endif /* __ICorDebugProcess10_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess10_FWD_DEFINED__ */ #ifndef __ICorDebugMemoryRangeEnum_FWD_DEFINED__ #define __ICorDebugMemoryRangeEnum_FWD_DEFINED__ typedef interface ICorDebugMemoryRangeEnum ICorDebugMemoryRangeEnum; -#endif /* __ICorDebugMemoryRangeEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugMemoryRangeEnum_FWD_DEFINED__ */ #ifndef __ICorDebugProcess11_FWD_DEFINED__ #define __ICorDebugProcess11_FWD_DEFINED__ typedef interface ICorDebugProcess11 ICorDebugProcess11; -#endif /* __ICorDebugProcess11_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess11_FWD_DEFINED__ */ #ifndef __ICorDebugModuleDebugEvent_FWD_DEFINED__ #define __ICorDebugModuleDebugEvent_FWD_DEFINED__ typedef interface ICorDebugModuleDebugEvent ICorDebugModuleDebugEvent; -#endif /* __ICorDebugModuleDebugEvent_FWD_DEFINED__ */ +#endif /* __ICorDebugModuleDebugEvent_FWD_DEFINED__ */ #ifndef __ICorDebugExceptionDebugEvent_FWD_DEFINED__ #define __ICorDebugExceptionDebugEvent_FWD_DEFINED__ typedef interface ICorDebugExceptionDebugEvent ICorDebugExceptionDebugEvent; -#endif /* __ICorDebugExceptionDebugEvent_FWD_DEFINED__ */ +#endif /* __ICorDebugExceptionDebugEvent_FWD_DEFINED__ */ #ifndef __ICorDebugBreakpoint_FWD_DEFINED__ #define __ICorDebugBreakpoint_FWD_DEFINED__ typedef interface ICorDebugBreakpoint ICorDebugBreakpoint; -#endif /* __ICorDebugBreakpoint_FWD_DEFINED__ */ +#endif /* __ICorDebugBreakpoint_FWD_DEFINED__ */ #ifndef __ICorDebugFunctionBreakpoint_FWD_DEFINED__ #define __ICorDebugFunctionBreakpoint_FWD_DEFINED__ typedef interface ICorDebugFunctionBreakpoint ICorDebugFunctionBreakpoint; -#endif /* __ICorDebugFunctionBreakpoint_FWD_DEFINED__ */ +#endif /* __ICorDebugFunctionBreakpoint_FWD_DEFINED__ */ #ifndef __ICorDebugModuleBreakpoint_FWD_DEFINED__ #define __ICorDebugModuleBreakpoint_FWD_DEFINED__ typedef interface ICorDebugModuleBreakpoint ICorDebugModuleBreakpoint; -#endif /* __ICorDebugModuleBreakpoint_FWD_DEFINED__ */ +#endif /* __ICorDebugModuleBreakpoint_FWD_DEFINED__ */ #ifndef __ICorDebugValueBreakpoint_FWD_DEFINED__ #define __ICorDebugValueBreakpoint_FWD_DEFINED__ typedef interface ICorDebugValueBreakpoint ICorDebugValueBreakpoint; -#endif /* __ICorDebugValueBreakpoint_FWD_DEFINED__ */ +#endif /* __ICorDebugValueBreakpoint_FWD_DEFINED__ */ #ifndef __ICorDebugStepper_FWD_DEFINED__ #define __ICorDebugStepper_FWD_DEFINED__ typedef interface ICorDebugStepper ICorDebugStepper; -#endif /* __ICorDebugStepper_FWD_DEFINED__ */ +#endif /* __ICorDebugStepper_FWD_DEFINED__ */ #ifndef __ICorDebugStepper2_FWD_DEFINED__ #define __ICorDebugStepper2_FWD_DEFINED__ typedef interface ICorDebugStepper2 ICorDebugStepper2; -#endif /* __ICorDebugStepper2_FWD_DEFINED__ */ +#endif /* __ICorDebugStepper2_FWD_DEFINED__ */ #ifndef __ICorDebugRegisterSet_FWD_DEFINED__ #define __ICorDebugRegisterSet_FWD_DEFINED__ typedef interface ICorDebugRegisterSet ICorDebugRegisterSet; -#endif /* __ICorDebugRegisterSet_FWD_DEFINED__ */ +#endif /* __ICorDebugRegisterSet_FWD_DEFINED__ */ #ifndef __ICorDebugRegisterSet2_FWD_DEFINED__ #define __ICorDebugRegisterSet2_FWD_DEFINED__ typedef interface ICorDebugRegisterSet2 ICorDebugRegisterSet2; -#endif /* __ICorDebugRegisterSet2_FWD_DEFINED__ */ +#endif /* __ICorDebugRegisterSet2_FWD_DEFINED__ */ #ifndef __ICorDebugThread_FWD_DEFINED__ #define __ICorDebugThread_FWD_DEFINED__ typedef interface ICorDebugThread ICorDebugThread; -#endif /* __ICorDebugThread_FWD_DEFINED__ */ +#endif /* __ICorDebugThread_FWD_DEFINED__ */ #ifndef __ICorDebugThread2_FWD_DEFINED__ #define __ICorDebugThread2_FWD_DEFINED__ typedef interface ICorDebugThread2 ICorDebugThread2; -#endif /* __ICorDebugThread2_FWD_DEFINED__ */ +#endif /* __ICorDebugThread2_FWD_DEFINED__ */ #ifndef __ICorDebugThread3_FWD_DEFINED__ #define __ICorDebugThread3_FWD_DEFINED__ typedef interface ICorDebugThread3 ICorDebugThread3; -#endif /* __ICorDebugThread3_FWD_DEFINED__ */ +#endif /* __ICorDebugThread3_FWD_DEFINED__ */ #ifndef __ICorDebugThread4_FWD_DEFINED__ #define __ICorDebugThread4_FWD_DEFINED__ typedef interface ICorDebugThread4 ICorDebugThread4; -#endif /* __ICorDebugThread4_FWD_DEFINED__ */ +#endif /* __ICorDebugThread4_FWD_DEFINED__ */ #ifndef __ICorDebugThread5_FWD_DEFINED__ #define __ICorDebugThread5_FWD_DEFINED__ typedef interface ICorDebugThread5 ICorDebugThread5; -#endif /* __ICorDebugThread5_FWD_DEFINED__ */ +#endif /* __ICorDebugThread5_FWD_DEFINED__ */ #ifndef __ICorDebugStackWalk_FWD_DEFINED__ #define __ICorDebugStackWalk_FWD_DEFINED__ typedef interface ICorDebugStackWalk ICorDebugStackWalk; -#endif /* __ICorDebugStackWalk_FWD_DEFINED__ */ +#endif /* __ICorDebugStackWalk_FWD_DEFINED__ */ #ifndef __ICorDebugChain_FWD_DEFINED__ #define __ICorDebugChain_FWD_DEFINED__ typedef interface ICorDebugChain ICorDebugChain; -#endif /* __ICorDebugChain_FWD_DEFINED__ */ +#endif /* __ICorDebugChain_FWD_DEFINED__ */ #ifndef __ICorDebugFrame_FWD_DEFINED__ #define __ICorDebugFrame_FWD_DEFINED__ typedef interface ICorDebugFrame ICorDebugFrame; -#endif /* __ICorDebugFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugFrame_FWD_DEFINED__ */ #ifndef __ICorDebugInternalFrame_FWD_DEFINED__ #define __ICorDebugInternalFrame_FWD_DEFINED__ typedef interface ICorDebugInternalFrame ICorDebugInternalFrame; -#endif /* __ICorDebugInternalFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugInternalFrame_FWD_DEFINED__ */ #ifndef __ICorDebugInternalFrame2_FWD_DEFINED__ #define __ICorDebugInternalFrame2_FWD_DEFINED__ typedef interface ICorDebugInternalFrame2 ICorDebugInternalFrame2; -#endif /* __ICorDebugInternalFrame2_FWD_DEFINED__ */ +#endif /* __ICorDebugInternalFrame2_FWD_DEFINED__ */ #ifndef __ICorDebugILFrame_FWD_DEFINED__ #define __ICorDebugILFrame_FWD_DEFINED__ typedef interface ICorDebugILFrame ICorDebugILFrame; -#endif /* __ICorDebugILFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugILFrame_FWD_DEFINED__ */ #ifndef __ICorDebugILFrame2_FWD_DEFINED__ #define __ICorDebugILFrame2_FWD_DEFINED__ typedef interface ICorDebugILFrame2 ICorDebugILFrame2; -#endif /* __ICorDebugILFrame2_FWD_DEFINED__ */ +#endif /* __ICorDebugILFrame2_FWD_DEFINED__ */ #ifndef __ICorDebugILFrame3_FWD_DEFINED__ #define __ICorDebugILFrame3_FWD_DEFINED__ typedef interface ICorDebugILFrame3 ICorDebugILFrame3; -#endif /* __ICorDebugILFrame3_FWD_DEFINED__ */ +#endif /* __ICorDebugILFrame3_FWD_DEFINED__ */ #ifndef __ICorDebugILFrame4_FWD_DEFINED__ #define __ICorDebugILFrame4_FWD_DEFINED__ typedef interface ICorDebugILFrame4 ICorDebugILFrame4; -#endif /* __ICorDebugILFrame4_FWD_DEFINED__ */ +#endif /* __ICorDebugILFrame4_FWD_DEFINED__ */ #ifndef __ICorDebugNativeFrame_FWD_DEFINED__ #define __ICorDebugNativeFrame_FWD_DEFINED__ typedef interface ICorDebugNativeFrame ICorDebugNativeFrame; -#endif /* __ICorDebugNativeFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugNativeFrame_FWD_DEFINED__ */ #ifndef __ICorDebugNativeFrame2_FWD_DEFINED__ #define __ICorDebugNativeFrame2_FWD_DEFINED__ typedef interface ICorDebugNativeFrame2 ICorDebugNativeFrame2; -#endif /* __ICorDebugNativeFrame2_FWD_DEFINED__ */ +#endif /* __ICorDebugNativeFrame2_FWD_DEFINED__ */ #ifndef __ICorDebugModule3_FWD_DEFINED__ #define __ICorDebugModule3_FWD_DEFINED__ typedef interface ICorDebugModule3 ICorDebugModule3; -#endif /* __ICorDebugModule3_FWD_DEFINED__ */ +#endif /* __ICorDebugModule3_FWD_DEFINED__ */ #ifndef __ICorDebugModule4_FWD_DEFINED__ #define __ICorDebugModule4_FWD_DEFINED__ typedef interface ICorDebugModule4 ICorDebugModule4; -#endif /* __ICorDebugModule4_FWD_DEFINED__ */ +#endif /* __ICorDebugModule4_FWD_DEFINED__ */ #ifndef __ICorDebugRuntimeUnwindableFrame_FWD_DEFINED__ #define __ICorDebugRuntimeUnwindableFrame_FWD_DEFINED__ typedef interface ICorDebugRuntimeUnwindableFrame ICorDebugRuntimeUnwindableFrame; -#endif /* __ICorDebugRuntimeUnwindableFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugRuntimeUnwindableFrame_FWD_DEFINED__ */ #ifndef __ICorDebugModule_FWD_DEFINED__ #define __ICorDebugModule_FWD_DEFINED__ typedef interface ICorDebugModule ICorDebugModule; -#endif /* __ICorDebugModule_FWD_DEFINED__ */ +#endif /* __ICorDebugModule_FWD_DEFINED__ */ #ifndef __ICorDebugModule2_FWD_DEFINED__ #define __ICorDebugModule2_FWD_DEFINED__ typedef interface ICorDebugModule2 ICorDebugModule2; -#endif /* __ICorDebugModule2_FWD_DEFINED__ */ +#endif /* __ICorDebugModule2_FWD_DEFINED__ */ #ifndef __ICorDebugFunction_FWD_DEFINED__ #define __ICorDebugFunction_FWD_DEFINED__ typedef interface ICorDebugFunction ICorDebugFunction; -#endif /* __ICorDebugFunction_FWD_DEFINED__ */ +#endif /* __ICorDebugFunction_FWD_DEFINED__ */ #ifndef __ICorDebugFunction2_FWD_DEFINED__ #define __ICorDebugFunction2_FWD_DEFINED__ typedef interface ICorDebugFunction2 ICorDebugFunction2; -#endif /* __ICorDebugFunction2_FWD_DEFINED__ */ +#endif /* __ICorDebugFunction2_FWD_DEFINED__ */ #ifndef __ICorDebugFunction3_FWD_DEFINED__ #define __ICorDebugFunction3_FWD_DEFINED__ typedef interface ICorDebugFunction3 ICorDebugFunction3; -#endif /* __ICorDebugFunction3_FWD_DEFINED__ */ +#endif /* __ICorDebugFunction3_FWD_DEFINED__ */ #ifndef __ICorDebugFunction4_FWD_DEFINED__ #define __ICorDebugFunction4_FWD_DEFINED__ typedef interface ICorDebugFunction4 ICorDebugFunction4; -#endif /* __ICorDebugFunction4_FWD_DEFINED__ */ +#endif /* __ICorDebugFunction4_FWD_DEFINED__ */ + + +#ifndef __ICorDebugFunction5_FWD_DEFINED__ +#define __ICorDebugFunction5_FWD_DEFINED__ +typedef interface ICorDebugFunction5 ICorDebugFunction5; + +#endif /* __ICorDebugFunction5_FWD_DEFINED__ */ #ifndef __ICorDebugCode_FWD_DEFINED__ #define __ICorDebugCode_FWD_DEFINED__ typedef interface ICorDebugCode ICorDebugCode; -#endif /* __ICorDebugCode_FWD_DEFINED__ */ +#endif /* __ICorDebugCode_FWD_DEFINED__ */ #ifndef __ICorDebugCode2_FWD_DEFINED__ #define __ICorDebugCode2_FWD_DEFINED__ typedef interface ICorDebugCode2 ICorDebugCode2; -#endif /* __ICorDebugCode2_FWD_DEFINED__ */ +#endif /* __ICorDebugCode2_FWD_DEFINED__ */ #ifndef __ICorDebugCode3_FWD_DEFINED__ #define __ICorDebugCode3_FWD_DEFINED__ typedef interface ICorDebugCode3 ICorDebugCode3; -#endif /* __ICorDebugCode3_FWD_DEFINED__ */ +#endif /* __ICorDebugCode3_FWD_DEFINED__ */ #ifndef __ICorDebugCode4_FWD_DEFINED__ #define __ICorDebugCode4_FWD_DEFINED__ typedef interface ICorDebugCode4 ICorDebugCode4; -#endif /* __ICorDebugCode4_FWD_DEFINED__ */ +#endif /* __ICorDebugCode4_FWD_DEFINED__ */ #ifndef __ICorDebugILCode_FWD_DEFINED__ #define __ICorDebugILCode_FWD_DEFINED__ typedef interface ICorDebugILCode ICorDebugILCode; -#endif /* __ICorDebugILCode_FWD_DEFINED__ */ +#endif /* __ICorDebugILCode_FWD_DEFINED__ */ #ifndef __ICorDebugILCode2_FWD_DEFINED__ #define __ICorDebugILCode2_FWD_DEFINED__ typedef interface ICorDebugILCode2 ICorDebugILCode2; -#endif /* __ICorDebugILCode2_FWD_DEFINED__ */ +#endif /* __ICorDebugILCode2_FWD_DEFINED__ */ #ifndef __ICorDebugClass_FWD_DEFINED__ #define __ICorDebugClass_FWD_DEFINED__ typedef interface ICorDebugClass ICorDebugClass; -#endif /* __ICorDebugClass_FWD_DEFINED__ */ +#endif /* __ICorDebugClass_FWD_DEFINED__ */ #ifndef __ICorDebugClass2_FWD_DEFINED__ #define __ICorDebugClass2_FWD_DEFINED__ typedef interface ICorDebugClass2 ICorDebugClass2; -#endif /* __ICorDebugClass2_FWD_DEFINED__ */ +#endif /* __ICorDebugClass2_FWD_DEFINED__ */ #ifndef __ICorDebugEval_FWD_DEFINED__ #define __ICorDebugEval_FWD_DEFINED__ typedef interface ICorDebugEval ICorDebugEval; -#endif /* __ICorDebugEval_FWD_DEFINED__ */ +#endif /* __ICorDebugEval_FWD_DEFINED__ */ #ifndef __ICorDebugEval2_FWD_DEFINED__ #define __ICorDebugEval2_FWD_DEFINED__ typedef interface ICorDebugEval2 ICorDebugEval2; -#endif /* __ICorDebugEval2_FWD_DEFINED__ */ +#endif /* __ICorDebugEval2_FWD_DEFINED__ */ #ifndef __ICorDebugValue_FWD_DEFINED__ #define __ICorDebugValue_FWD_DEFINED__ typedef interface ICorDebugValue ICorDebugValue; -#endif /* __ICorDebugValue_FWD_DEFINED__ */ +#endif /* __ICorDebugValue_FWD_DEFINED__ */ #ifndef __ICorDebugValue2_FWD_DEFINED__ #define __ICorDebugValue2_FWD_DEFINED__ typedef interface ICorDebugValue2 ICorDebugValue2; -#endif /* __ICorDebugValue2_FWD_DEFINED__ */ +#endif /* __ICorDebugValue2_FWD_DEFINED__ */ #ifndef __ICorDebugValue3_FWD_DEFINED__ #define __ICorDebugValue3_FWD_DEFINED__ typedef interface ICorDebugValue3 ICorDebugValue3; -#endif /* __ICorDebugValue3_FWD_DEFINED__ */ +#endif /* __ICorDebugValue3_FWD_DEFINED__ */ #ifndef __ICorDebugGenericValue_FWD_DEFINED__ #define __ICorDebugGenericValue_FWD_DEFINED__ typedef interface ICorDebugGenericValue ICorDebugGenericValue; -#endif /* __ICorDebugGenericValue_FWD_DEFINED__ */ +#endif /* __ICorDebugGenericValue_FWD_DEFINED__ */ #ifndef __ICorDebugReferenceValue_FWD_DEFINED__ #define __ICorDebugReferenceValue_FWD_DEFINED__ typedef interface ICorDebugReferenceValue ICorDebugReferenceValue; -#endif /* __ICorDebugReferenceValue_FWD_DEFINED__ */ +#endif /* __ICorDebugReferenceValue_FWD_DEFINED__ */ #ifndef __ICorDebugHeapValue_FWD_DEFINED__ #define __ICorDebugHeapValue_FWD_DEFINED__ typedef interface ICorDebugHeapValue ICorDebugHeapValue; -#endif /* __ICorDebugHeapValue_FWD_DEFINED__ */ +#endif /* __ICorDebugHeapValue_FWD_DEFINED__ */ #ifndef __ICorDebugHeapValue2_FWD_DEFINED__ #define __ICorDebugHeapValue2_FWD_DEFINED__ typedef interface ICorDebugHeapValue2 ICorDebugHeapValue2; -#endif /* __ICorDebugHeapValue2_FWD_DEFINED__ */ +#endif /* __ICorDebugHeapValue2_FWD_DEFINED__ */ #ifndef __ICorDebugHeapValue3_FWD_DEFINED__ #define __ICorDebugHeapValue3_FWD_DEFINED__ typedef interface ICorDebugHeapValue3 ICorDebugHeapValue3; -#endif /* __ICorDebugHeapValue3_FWD_DEFINED__ */ +#endif /* __ICorDebugHeapValue3_FWD_DEFINED__ */ #ifndef __ICorDebugHeapValue4_FWD_DEFINED__ #define __ICorDebugHeapValue4_FWD_DEFINED__ typedef interface ICorDebugHeapValue4 ICorDebugHeapValue4; -#endif /* __ICorDebugHeapValue4_FWD_DEFINED__ */ +#endif /* __ICorDebugHeapValue4_FWD_DEFINED__ */ #ifndef __ICorDebugObjectValue_FWD_DEFINED__ #define __ICorDebugObjectValue_FWD_DEFINED__ typedef interface ICorDebugObjectValue ICorDebugObjectValue; -#endif /* __ICorDebugObjectValue_FWD_DEFINED__ */ +#endif /* __ICorDebugObjectValue_FWD_DEFINED__ */ #ifndef __ICorDebugObjectValue2_FWD_DEFINED__ #define __ICorDebugObjectValue2_FWD_DEFINED__ typedef interface ICorDebugObjectValue2 ICorDebugObjectValue2; -#endif /* __ICorDebugObjectValue2_FWD_DEFINED__ */ +#endif /* __ICorDebugObjectValue2_FWD_DEFINED__ */ #ifndef __ICorDebugDelegateObjectValue_FWD_DEFINED__ #define __ICorDebugDelegateObjectValue_FWD_DEFINED__ typedef interface ICorDebugDelegateObjectValue ICorDebugDelegateObjectValue; -#endif /* __ICorDebugDelegateObjectValue_FWD_DEFINED__ */ +#endif /* __ICorDebugDelegateObjectValue_FWD_DEFINED__ */ #ifndef __ICorDebugBoxValue_FWD_DEFINED__ #define __ICorDebugBoxValue_FWD_DEFINED__ typedef interface ICorDebugBoxValue ICorDebugBoxValue; -#endif /* __ICorDebugBoxValue_FWD_DEFINED__ */ +#endif /* __ICorDebugBoxValue_FWD_DEFINED__ */ #ifndef __ICorDebugStringValue_FWD_DEFINED__ #define __ICorDebugStringValue_FWD_DEFINED__ typedef interface ICorDebugStringValue ICorDebugStringValue; -#endif /* __ICorDebugStringValue_FWD_DEFINED__ */ +#endif /* __ICorDebugStringValue_FWD_DEFINED__ */ #ifndef __ICorDebugArrayValue_FWD_DEFINED__ #define __ICorDebugArrayValue_FWD_DEFINED__ typedef interface ICorDebugArrayValue ICorDebugArrayValue; -#endif /* __ICorDebugArrayValue_FWD_DEFINED__ */ +#endif /* __ICorDebugArrayValue_FWD_DEFINED__ */ #ifndef __ICorDebugVariableHome_FWD_DEFINED__ #define __ICorDebugVariableHome_FWD_DEFINED__ typedef interface ICorDebugVariableHome ICorDebugVariableHome; -#endif /* __ICorDebugVariableHome_FWD_DEFINED__ */ +#endif /* __ICorDebugVariableHome_FWD_DEFINED__ */ #ifndef __ICorDebugHandleValue_FWD_DEFINED__ #define __ICorDebugHandleValue_FWD_DEFINED__ typedef interface ICorDebugHandleValue ICorDebugHandleValue; -#endif /* __ICorDebugHandleValue_FWD_DEFINED__ */ +#endif /* __ICorDebugHandleValue_FWD_DEFINED__ */ #ifndef __ICorDebugContext_FWD_DEFINED__ #define __ICorDebugContext_FWD_DEFINED__ typedef interface ICorDebugContext ICorDebugContext; -#endif /* __ICorDebugContext_FWD_DEFINED__ */ +#endif /* __ICorDebugContext_FWD_DEFINED__ */ #ifndef __ICorDebugComObjectValue_FWD_DEFINED__ #define __ICorDebugComObjectValue_FWD_DEFINED__ typedef interface ICorDebugComObjectValue ICorDebugComObjectValue; -#endif /* __ICorDebugComObjectValue_FWD_DEFINED__ */ +#endif /* __ICorDebugComObjectValue_FWD_DEFINED__ */ #ifndef __ICorDebugObjectEnum_FWD_DEFINED__ #define __ICorDebugObjectEnum_FWD_DEFINED__ typedef interface ICorDebugObjectEnum ICorDebugObjectEnum; -#endif /* __ICorDebugObjectEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugObjectEnum_FWD_DEFINED__ */ #ifndef __ICorDebugBreakpointEnum_FWD_DEFINED__ #define __ICorDebugBreakpointEnum_FWD_DEFINED__ typedef interface ICorDebugBreakpointEnum ICorDebugBreakpointEnum; -#endif /* __ICorDebugBreakpointEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugBreakpointEnum_FWD_DEFINED__ */ #ifndef __ICorDebugStepperEnum_FWD_DEFINED__ #define __ICorDebugStepperEnum_FWD_DEFINED__ typedef interface ICorDebugStepperEnum ICorDebugStepperEnum; -#endif /* __ICorDebugStepperEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugStepperEnum_FWD_DEFINED__ */ #ifndef __ICorDebugProcessEnum_FWD_DEFINED__ #define __ICorDebugProcessEnum_FWD_DEFINED__ typedef interface ICorDebugProcessEnum ICorDebugProcessEnum; -#endif /* __ICorDebugProcessEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugProcessEnum_FWD_DEFINED__ */ #ifndef __ICorDebugThreadEnum_FWD_DEFINED__ #define __ICorDebugThreadEnum_FWD_DEFINED__ typedef interface ICorDebugThreadEnum ICorDebugThreadEnum; -#endif /* __ICorDebugThreadEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugThreadEnum_FWD_DEFINED__ */ #ifndef __ICorDebugFrameEnum_FWD_DEFINED__ #define __ICorDebugFrameEnum_FWD_DEFINED__ typedef interface ICorDebugFrameEnum ICorDebugFrameEnum; -#endif /* __ICorDebugFrameEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugFrameEnum_FWD_DEFINED__ */ #ifndef __ICorDebugChainEnum_FWD_DEFINED__ #define __ICorDebugChainEnum_FWD_DEFINED__ typedef interface ICorDebugChainEnum ICorDebugChainEnum; -#endif /* __ICorDebugChainEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugChainEnum_FWD_DEFINED__ */ #ifndef __ICorDebugModuleEnum_FWD_DEFINED__ #define __ICorDebugModuleEnum_FWD_DEFINED__ typedef interface ICorDebugModuleEnum ICorDebugModuleEnum; -#endif /* __ICorDebugModuleEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugModuleEnum_FWD_DEFINED__ */ #ifndef __ICorDebugValueEnum_FWD_DEFINED__ #define __ICorDebugValueEnum_FWD_DEFINED__ typedef interface ICorDebugValueEnum ICorDebugValueEnum; -#endif /* __ICorDebugValueEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugValueEnum_FWD_DEFINED__ */ #ifndef __ICorDebugVariableHomeEnum_FWD_DEFINED__ #define __ICorDebugVariableHomeEnum_FWD_DEFINED__ typedef interface ICorDebugVariableHomeEnum ICorDebugVariableHomeEnum; -#endif /* __ICorDebugVariableHomeEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugVariableHomeEnum_FWD_DEFINED__ */ #ifndef __ICorDebugCodeEnum_FWD_DEFINED__ #define __ICorDebugCodeEnum_FWD_DEFINED__ typedef interface ICorDebugCodeEnum ICorDebugCodeEnum; -#endif /* __ICorDebugCodeEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugCodeEnum_FWD_DEFINED__ */ #ifndef __ICorDebugTypeEnum_FWD_DEFINED__ #define __ICorDebugTypeEnum_FWD_DEFINED__ typedef interface ICorDebugTypeEnum ICorDebugTypeEnum; -#endif /* __ICorDebugTypeEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugTypeEnum_FWD_DEFINED__ */ #ifndef __ICorDebugType_FWD_DEFINED__ #define __ICorDebugType_FWD_DEFINED__ typedef interface ICorDebugType ICorDebugType; -#endif /* __ICorDebugType_FWD_DEFINED__ */ +#endif /* __ICorDebugType_FWD_DEFINED__ */ #ifndef __ICorDebugType2_FWD_DEFINED__ #define __ICorDebugType2_FWD_DEFINED__ typedef interface ICorDebugType2 ICorDebugType2; -#endif /* __ICorDebugType2_FWD_DEFINED__ */ +#endif /* __ICorDebugType2_FWD_DEFINED__ */ #ifndef __ICorDebugErrorInfoEnum_FWD_DEFINED__ #define __ICorDebugErrorInfoEnum_FWD_DEFINED__ typedef interface ICorDebugErrorInfoEnum ICorDebugErrorInfoEnum; -#endif /* __ICorDebugErrorInfoEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugErrorInfoEnum_FWD_DEFINED__ */ #ifndef __ICorDebugAppDomainEnum_FWD_DEFINED__ #define __ICorDebugAppDomainEnum_FWD_DEFINED__ typedef interface ICorDebugAppDomainEnum ICorDebugAppDomainEnum; -#endif /* __ICorDebugAppDomainEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugAppDomainEnum_FWD_DEFINED__ */ #ifndef __ICorDebugAssemblyEnum_FWD_DEFINED__ #define __ICorDebugAssemblyEnum_FWD_DEFINED__ typedef interface ICorDebugAssemblyEnum ICorDebugAssemblyEnum; -#endif /* __ICorDebugAssemblyEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugAssemblyEnum_FWD_DEFINED__ */ #ifndef __ICorDebugBlockingObjectEnum_FWD_DEFINED__ #define __ICorDebugBlockingObjectEnum_FWD_DEFINED__ typedef interface ICorDebugBlockingObjectEnum ICorDebugBlockingObjectEnum; -#endif /* __ICorDebugBlockingObjectEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugBlockingObjectEnum_FWD_DEFINED__ */ #ifndef __ICorDebugMDA_FWD_DEFINED__ #define __ICorDebugMDA_FWD_DEFINED__ typedef interface ICorDebugMDA ICorDebugMDA; -#endif /* __ICorDebugMDA_FWD_DEFINED__ */ +#endif /* __ICorDebugMDA_FWD_DEFINED__ */ #ifndef __ICorDebugEditAndContinueErrorInfo_FWD_DEFINED__ #define __ICorDebugEditAndContinueErrorInfo_FWD_DEFINED__ typedef interface ICorDebugEditAndContinueErrorInfo ICorDebugEditAndContinueErrorInfo; -#endif /* __ICorDebugEditAndContinueErrorInfo_FWD_DEFINED__ */ +#endif /* __ICorDebugEditAndContinueErrorInfo_FWD_DEFINED__ */ #ifndef __ICorDebugEditAndContinueSnapshot_FWD_DEFINED__ #define __ICorDebugEditAndContinueSnapshot_FWD_DEFINED__ typedef interface ICorDebugEditAndContinueSnapshot ICorDebugEditAndContinueSnapshot; -#endif /* __ICorDebugEditAndContinueSnapshot_FWD_DEFINED__ */ +#endif /* __ICorDebugEditAndContinueSnapshot_FWD_DEFINED__ */ #ifndef __ICorDebugExceptionObjectCallStackEnum_FWD_DEFINED__ #define __ICorDebugExceptionObjectCallStackEnum_FWD_DEFINED__ typedef interface ICorDebugExceptionObjectCallStackEnum ICorDebugExceptionObjectCallStackEnum; -#endif /* __ICorDebugExceptionObjectCallStackEnum_FWD_DEFINED__ */ +#endif /* __ICorDebugExceptionObjectCallStackEnum_FWD_DEFINED__ */ #ifndef __ICorDebugExceptionObjectValue_FWD_DEFINED__ #define __ICorDebugExceptionObjectValue_FWD_DEFINED__ typedef interface ICorDebugExceptionObjectValue ICorDebugExceptionObjectValue; -#endif /* __ICorDebugExceptionObjectValue_FWD_DEFINED__ */ +#endif /* __ICorDebugExceptionObjectValue_FWD_DEFINED__ */ #ifndef __CorDebug_FWD_DEFINED__ @@ -998,7 +1012,7 @@ typedef class CorDebug CorDebug; typedef struct CorDebug CorDebug; #endif /* __cplusplus */ -#endif /* __CorDebug_FWD_DEFINED__ */ +#endif /* __CorDebug_FWD_DEFINED__ */ #ifndef __EmbeddedCLRCorDebug_FWD_DEFINED__ @@ -1010,238 +1024,238 @@ typedef class EmbeddedCLRCorDebug EmbeddedCLRCorDebug; typedef struct EmbeddedCLRCorDebug EmbeddedCLRCorDebug; #endif /* __cplusplus */ -#endif /* __EmbeddedCLRCorDebug_FWD_DEFINED__ */ +#endif /* __EmbeddedCLRCorDebug_FWD_DEFINED__ */ #ifndef __ICorDebugValue_FWD_DEFINED__ #define __ICorDebugValue_FWD_DEFINED__ typedef interface ICorDebugValue ICorDebugValue; -#endif /* __ICorDebugValue_FWD_DEFINED__ */ +#endif /* __ICorDebugValue_FWD_DEFINED__ */ #ifndef __ICorDebugReferenceValue_FWD_DEFINED__ #define __ICorDebugReferenceValue_FWD_DEFINED__ typedef interface ICorDebugReferenceValue ICorDebugReferenceValue; -#endif /* __ICorDebugReferenceValue_FWD_DEFINED__ */ +#endif /* __ICorDebugReferenceValue_FWD_DEFINED__ */ #ifndef __ICorDebugHeapValue_FWD_DEFINED__ #define __ICorDebugHeapValue_FWD_DEFINED__ typedef interface ICorDebugHeapValue ICorDebugHeapValue; -#endif /* __ICorDebugHeapValue_FWD_DEFINED__ */ +#endif /* __ICorDebugHeapValue_FWD_DEFINED__ */ #ifndef __ICorDebugStringValue_FWD_DEFINED__ #define __ICorDebugStringValue_FWD_DEFINED__ typedef interface ICorDebugStringValue ICorDebugStringValue; -#endif /* __ICorDebugStringValue_FWD_DEFINED__ */ +#endif /* __ICorDebugStringValue_FWD_DEFINED__ */ #ifndef __ICorDebugGenericValue_FWD_DEFINED__ #define __ICorDebugGenericValue_FWD_DEFINED__ typedef interface ICorDebugGenericValue ICorDebugGenericValue; -#endif /* __ICorDebugGenericValue_FWD_DEFINED__ */ +#endif /* __ICorDebugGenericValue_FWD_DEFINED__ */ #ifndef __ICorDebugBoxValue_FWD_DEFINED__ #define __ICorDebugBoxValue_FWD_DEFINED__ typedef interface ICorDebugBoxValue ICorDebugBoxValue; -#endif /* __ICorDebugBoxValue_FWD_DEFINED__ */ +#endif /* __ICorDebugBoxValue_FWD_DEFINED__ */ #ifndef __ICorDebugArrayValue_FWD_DEFINED__ #define __ICorDebugArrayValue_FWD_DEFINED__ typedef interface ICorDebugArrayValue ICorDebugArrayValue; -#endif /* __ICorDebugArrayValue_FWD_DEFINED__ */ +#endif /* __ICorDebugArrayValue_FWD_DEFINED__ */ #ifndef __ICorDebugFrame_FWD_DEFINED__ #define __ICorDebugFrame_FWD_DEFINED__ typedef interface ICorDebugFrame ICorDebugFrame; -#endif /* __ICorDebugFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugFrame_FWD_DEFINED__ */ #ifndef __ICorDebugILFrame_FWD_DEFINED__ #define __ICorDebugILFrame_FWD_DEFINED__ typedef interface ICorDebugILFrame ICorDebugILFrame; -#endif /* __ICorDebugILFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugILFrame_FWD_DEFINED__ */ #ifndef __ICorDebugInternalFrame_FWD_DEFINED__ #define __ICorDebugInternalFrame_FWD_DEFINED__ typedef interface ICorDebugInternalFrame ICorDebugInternalFrame; -#endif /* __ICorDebugInternalFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugInternalFrame_FWD_DEFINED__ */ #ifndef __ICorDebugInternalFrame2_FWD_DEFINED__ #define __ICorDebugInternalFrame2_FWD_DEFINED__ typedef interface ICorDebugInternalFrame2 ICorDebugInternalFrame2; -#endif /* __ICorDebugInternalFrame2_FWD_DEFINED__ */ +#endif /* __ICorDebugInternalFrame2_FWD_DEFINED__ */ #ifndef __ICorDebugNativeFrame_FWD_DEFINED__ #define __ICorDebugNativeFrame_FWD_DEFINED__ typedef interface ICorDebugNativeFrame ICorDebugNativeFrame; -#endif /* __ICorDebugNativeFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugNativeFrame_FWD_DEFINED__ */ #ifndef __ICorDebugNativeFrame2_FWD_DEFINED__ #define __ICorDebugNativeFrame2_FWD_DEFINED__ typedef interface ICorDebugNativeFrame2 ICorDebugNativeFrame2; -#endif /* __ICorDebugNativeFrame2_FWD_DEFINED__ */ +#endif /* __ICorDebugNativeFrame2_FWD_DEFINED__ */ #ifndef __ICorDebugRuntimeUnwindableFrame_FWD_DEFINED__ #define __ICorDebugRuntimeUnwindableFrame_FWD_DEFINED__ typedef interface ICorDebugRuntimeUnwindableFrame ICorDebugRuntimeUnwindableFrame; -#endif /* __ICorDebugRuntimeUnwindableFrame_FWD_DEFINED__ */ +#endif /* __ICorDebugRuntimeUnwindableFrame_FWD_DEFINED__ */ #ifndef __ICorDebugManagedCallback2_FWD_DEFINED__ #define __ICorDebugManagedCallback2_FWD_DEFINED__ typedef interface ICorDebugManagedCallback2 ICorDebugManagedCallback2; -#endif /* __ICorDebugManagedCallback2_FWD_DEFINED__ */ +#endif /* __ICorDebugManagedCallback2_FWD_DEFINED__ */ #ifndef __ICorDebugAppDomain2_FWD_DEFINED__ #define __ICorDebugAppDomain2_FWD_DEFINED__ typedef interface ICorDebugAppDomain2 ICorDebugAppDomain2; -#endif /* __ICorDebugAppDomain2_FWD_DEFINED__ */ +#endif /* __ICorDebugAppDomain2_FWD_DEFINED__ */ #ifndef __ICorDebugAppDomain3_FWD_DEFINED__ #define __ICorDebugAppDomain3_FWD_DEFINED__ typedef interface ICorDebugAppDomain3 ICorDebugAppDomain3; -#endif /* __ICorDebugAppDomain3_FWD_DEFINED__ */ +#endif /* __ICorDebugAppDomain3_FWD_DEFINED__ */ #ifndef __ICorDebugAssembly2_FWD_DEFINED__ #define __ICorDebugAssembly2_FWD_DEFINED__ typedef interface ICorDebugAssembly2 ICorDebugAssembly2; -#endif /* __ICorDebugAssembly2_FWD_DEFINED__ */ +#endif /* __ICorDebugAssembly2_FWD_DEFINED__ */ #ifndef __ICorDebugProcess2_FWD_DEFINED__ #define __ICorDebugProcess2_FWD_DEFINED__ typedef interface ICorDebugProcess2 ICorDebugProcess2; -#endif /* __ICorDebugProcess2_FWD_DEFINED__ */ +#endif /* __ICorDebugProcess2_FWD_DEFINED__ */ #ifndef __ICorDebugStepper2_FWD_DEFINED__ #define __ICorDebugStepper2_FWD_DEFINED__ typedef interface ICorDebugStepper2 ICorDebugStepper2; -#endif /* __ICorDebugStepper2_FWD_DEFINED__ */ +#endif /* __ICorDebugStepper2_FWD_DEFINED__ */ #ifndef __ICorDebugThread2_FWD_DEFINED__ #define __ICorDebugThread2_FWD_DEFINED__ typedef interface ICorDebugThread2 ICorDebugThread2; -#endif /* __ICorDebugThread2_FWD_DEFINED__ */ +#endif /* __ICorDebugThread2_FWD_DEFINED__ */ #ifndef __ICorDebugThread3_FWD_DEFINED__ #define __ICorDebugThread3_FWD_DEFINED__ typedef interface ICorDebugThread3 ICorDebugThread3; -#endif /* __ICorDebugThread3_FWD_DEFINED__ */ +#endif /* __ICorDebugThread3_FWD_DEFINED__ */ #ifndef __ICorDebugILFrame2_FWD_DEFINED__ #define __ICorDebugILFrame2_FWD_DEFINED__ typedef interface ICorDebugILFrame2 ICorDebugILFrame2; -#endif /* __ICorDebugILFrame2_FWD_DEFINED__ */ +#endif /* __ICorDebugILFrame2_FWD_DEFINED__ */ #ifndef __ICorDebugModule2_FWD_DEFINED__ #define __ICorDebugModule2_FWD_DEFINED__ typedef interface ICorDebugModule2 ICorDebugModule2; -#endif /* __ICorDebugModule2_FWD_DEFINED__ */ +#endif /* __ICorDebugModule2_FWD_DEFINED__ */ #ifndef __ICorDebugFunction2_FWD_DEFINED__ #define __ICorDebugFunction2_FWD_DEFINED__ typedef interface ICorDebugFunction2 ICorDebugFunction2; -#endif /* __ICorDebugFunction2_FWD_DEFINED__ */ +#endif /* __ICorDebugFunction2_FWD_DEFINED__ */ #ifndef __ICorDebugClass2_FWD_DEFINED__ #define __ICorDebugClass2_FWD_DEFINED__ typedef interface ICorDebugClass2 ICorDebugClass2; -#endif /* __ICorDebugClass2_FWD_DEFINED__ */ +#endif /* __ICorDebugClass2_FWD_DEFINED__ */ #ifndef __ICorDebugEval2_FWD_DEFINED__ #define __ICorDebugEval2_FWD_DEFINED__ typedef interface ICorDebugEval2 ICorDebugEval2; -#endif /* __ICorDebugEval2_FWD_DEFINED__ */ +#endif /* __ICorDebugEval2_FWD_DEFINED__ */ #ifndef __ICorDebugValue2_FWD_DEFINED__ #define __ICorDebugValue2_FWD_DEFINED__ typedef interface ICorDebugValue2 ICorDebugValue2; -#endif /* __ICorDebugValue2_FWD_DEFINED__ */ +#endif /* __ICorDebugValue2_FWD_DEFINED__ */ #ifndef __ICorDebugObjectValue2_FWD_DEFINED__ #define __ICorDebugObjectValue2_FWD_DEFINED__ typedef interface ICorDebugObjectValue2 ICorDebugObjectValue2; -#endif /* __ICorDebugObjectValue2_FWD_DEFINED__ */ +#endif /* __ICorDebugObjectValue2_FWD_DEFINED__ */ #ifndef __ICorDebugHandleValue_FWD_DEFINED__ #define __ICorDebugHandleValue_FWD_DEFINED__ typedef interface ICorDebugHandleValue ICorDebugHandleValue; -#endif /* __ICorDebugHandleValue_FWD_DEFINED__ */ +#endif /* __ICorDebugHandleValue_FWD_DEFINED__ */ #ifndef __ICorDebugHeapValue2_FWD_DEFINED__ #define __ICorDebugHeapValue2_FWD_DEFINED__ typedef interface ICorDebugHeapValue2 ICorDebugHeapValue2; -#endif /* __ICorDebugHeapValue2_FWD_DEFINED__ */ +#endif /* __ICorDebugHeapValue2_FWD_DEFINED__ */ #ifndef __ICorDebugComObjectValue_FWD_DEFINED__ #define __ICorDebugComObjectValue_FWD_DEFINED__ typedef interface ICorDebugComObjectValue ICorDebugComObjectValue; -#endif /* __ICorDebugComObjectValue_FWD_DEFINED__ */ +#endif /* __ICorDebugComObjectValue_FWD_DEFINED__ */ #ifndef __ICorDebugModule3_FWD_DEFINED__ #define __ICorDebugModule3_FWD_DEFINED__ typedef interface ICorDebugModule3 ICorDebugModule3; -#endif /* __ICorDebugModule3_FWD_DEFINED__ */ +#endif /* __ICorDebugModule3_FWD_DEFINED__ */ /* header files for imported files */ @@ -1250,11 +1264,11 @@ typedef interface ICorDebugModule3 ICorDebugModule3; #ifdef __cplusplus extern "C"{ -#endif +#endif /* interface __MIDL_itf_cordebug_0000_0000 */ -/* [local] */ +/* [local] */ #if 0 typedef UINT32 mdToken; @@ -1303,50 +1317,50 @@ typedef struct _COR_IL_MAP ULONG32 oldOffset; ULONG32 newOffset; BOOL fAccurate; - } COR_IL_MAP; + } COR_IL_MAP; #endif //_COR_IL_MAP #ifndef _COR_DEBUG_IL_TO_NATIVE_MAP_ #define _COR_DEBUG_IL_TO_NATIVE_MAP_ -typedef +typedef enum CorDebugIlToNativeMappingTypes { - NO_MAPPING = -1, - PROLOG = -2, - EPILOG = -3 - } CorDebugIlToNativeMappingTypes; + NO_MAPPING = -1, + PROLOG = -2, + EPILOG = -3 + } CorDebugIlToNativeMappingTypes; typedef struct COR_DEBUG_IL_TO_NATIVE_MAP { ULONG32 ilOffset; ULONG32 nativeStartOffset; ULONG32 nativeEndOffset; - } COR_DEBUG_IL_TO_NATIVE_MAP; + } COR_DEBUG_IL_TO_NATIVE_MAP; #endif // _COR_DEBUG_IL_TO_NATIVE_MAP_ #define REMOTE_DEBUGGING_DLL_ENTRY L"Software\\Microsoft\\.NETFramework\\Debugger\\ActivateRemoteDebugging" -typedef +typedef enum CorDebugJITCompilerFlags { - CORDEBUG_JIT_DEFAULT = 0x1, - CORDEBUG_JIT_DISABLE_OPTIMIZATION = 0x3, - CORDEBUG_JIT_ENABLE_ENC = 0x7 - } CorDebugJITCompilerFlags; + CORDEBUG_JIT_DEFAULT = 0x1, + CORDEBUG_JIT_DISABLE_OPTIMIZATION = 0x3, + CORDEBUG_JIT_ENABLE_ENC = 0x7 + } CorDebugJITCompilerFlags; -typedef +typedef enum CorDebugJITCompilerFlagsDecprecated { - CORDEBUG_JIT_TRACK_DEBUG_INFO = 0x1 - } CorDebugJITCompilerFlagsDeprecated; + CORDEBUG_JIT_TRACK_DEBUG_INFO = 0x1 + } CorDebugJITCompilerFlagsDeprecated; -typedef +typedef enum CorDebugNGENPolicy { - DISABLE_LOCAL_NIC = 1 - } CorDebugNGENPolicy; + DISABLE_LOCAL_NIC = 1 + } CorDebugNGENPolicy; #pragma warning(push) -#pragma warning(disable:28718) +#pragma warning(disable:28718) @@ -1421,20 +1435,20 @@ typedef ULONG64 CORDB_REGISTER; typedef DWORD CORDB_CONTINUE_STATUS; -typedef +typedef enum CorDebugBlockingReason { - BLOCKING_NONE = 0, - BLOCKING_MONITOR_CRITICAL_SECTION = 0x1, - BLOCKING_MONITOR_EVENT = 0x2 - } CorDebugBlockingReason; + BLOCKING_NONE = 0, + BLOCKING_MONITOR_CRITICAL_SECTION = 0x1, + BLOCKING_MONITOR_EVENT = 0x2 + } CorDebugBlockingReason; typedef struct CorDebugBlockingObject { ICorDebugValue *pBlockingObject; DWORD dwTimeout; CorDebugBlockingReason blockingReason; - } CorDebugBlockingObject; + } CorDebugBlockingObject; typedef struct CorDebugExceptionObjectStackFrame { @@ -1442,13 +1456,13 @@ typedef struct CorDebugExceptionObjectStackFrame CORDB_ADDRESS ip; mdMethodDef methodDef; BOOL isLastForeignExceptionFrame; - } CorDebugExceptionObjectStackFrame; + } CorDebugExceptionObjectStackFrame; typedef struct CorDebugGuidToTypeMapping { GUID iid; ICorDebugType *pType; - } CorDebugGuidToTypeMapping; + } CorDebugGuidToTypeMapping; @@ -1459,89 +1473,96 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0000_v0_0_s_ifspec; #define __ICorDebugDataTarget_INTERFACE_DEFINED__ /* interface ICorDebugDataTarget */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugPlatform { - CORDB_PLATFORM_WINDOWS_X86 = 0, - CORDB_PLATFORM_WINDOWS_AMD64 = ( CORDB_PLATFORM_WINDOWS_X86 + 1 ) , - CORDB_PLATFORM_WINDOWS_IA64 = ( CORDB_PLATFORM_WINDOWS_AMD64 + 1 ) , - CORDB_PLATFORM_MAC_PPC = ( CORDB_PLATFORM_WINDOWS_IA64 + 1 ) , - CORDB_PLATFORM_MAC_X86 = ( CORDB_PLATFORM_MAC_PPC + 1 ) , - CORDB_PLATFORM_WINDOWS_ARM = ( CORDB_PLATFORM_MAC_X86 + 1 ) , - CORDB_PLATFORM_MAC_AMD64 = ( CORDB_PLATFORM_WINDOWS_ARM + 1 ) , - CORDB_PLATFORM_WINDOWS_ARM64 = ( CORDB_PLATFORM_MAC_AMD64 + 1 ) , - CORDB_PLATFORM_POSIX_AMD64 = ( CORDB_PLATFORM_WINDOWS_ARM64 + 1 ) , - CORDB_PLATFORM_POSIX_X86 = ( CORDB_PLATFORM_POSIX_AMD64 + 1 ) , - CORDB_PLATFORM_POSIX_ARM = ( CORDB_PLATFORM_POSIX_X86 + 1 ) , - CORDB_PLATFORM_POSIX_ARM64 = ( CORDB_PLATFORM_POSIX_ARM + 1 ) , - CORDB_PLATFORM_POSIX_LOONGARCH64 = ( CORDB_PLATFORM_POSIX_ARM64 + 1 ) - } CorDebugPlatform; + CORDB_PLATFORM_WINDOWS_X86 = 0, + CORDB_PLATFORM_WINDOWS_AMD64 = ( CORDB_PLATFORM_WINDOWS_X86 + 1 ) , + CORDB_PLATFORM_WINDOWS_IA64 = ( CORDB_PLATFORM_WINDOWS_AMD64 + 1 ) , + CORDB_PLATFORM_MAC_PPC = ( CORDB_PLATFORM_WINDOWS_IA64 + 1 ) , + CORDB_PLATFORM_MAC_X86 = ( CORDB_PLATFORM_MAC_PPC + 1 ) , + CORDB_PLATFORM_WINDOWS_ARM = ( CORDB_PLATFORM_MAC_X86 + 1 ) , + CORDB_PLATFORM_MAC_AMD64 = ( CORDB_PLATFORM_WINDOWS_ARM + 1 ) , + CORDB_PLATFORM_WINDOWS_ARM64 = ( CORDB_PLATFORM_MAC_AMD64 + 1 ) , + CORDB_PLATFORM_POSIX_AMD64 = ( CORDB_PLATFORM_WINDOWS_ARM64 + 1 ) , + CORDB_PLATFORM_POSIX_X86 = ( CORDB_PLATFORM_POSIX_AMD64 + 1 ) , + CORDB_PLATFORM_POSIX_ARM = ( CORDB_PLATFORM_POSIX_X86 + 1 ) , + CORDB_PLATFORM_POSIX_ARM64 = ( CORDB_PLATFORM_POSIX_ARM + 1 ) , + CORDB_PLATFORM_POSIX_LOONGARCH64 = ( CORDB_PLATFORM_POSIX_ARM64 + 1 ) , + CORDB_PLATFORM_POSIX_RISCV64 = ( CORDB_PLATFORM_POSIX_LOONGARCH64 + 1 ) + } CorDebugPlatform; EXTERN_C const IID IID_ICorDebugDataTarget; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("FE06DC28-49FB-4636-A4A3-E80DB4AE116C") ICorDebugDataTarget : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetPlatform( + virtual HRESULT STDMETHODCALLTYPE GetPlatform( /* [out] */ CorDebugPlatform *pTargetPlatform) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReadVirtual( + + virtual HRESULT STDMETHODCALLTYPE ReadVirtual( /* [in] */ CORDB_ADDRESS address, /* [length_is][size_is][out] */ BYTE *pBuffer, /* [in] */ ULONG32 bytesRequested, /* [out] */ ULONG32 *pBytesRead) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadContext( + + virtual HRESULT STDMETHODCALLTYPE GetThreadContext( /* [in] */ DWORD dwThreadID, /* [in] */ ULONG32 contextFlags, /* [in] */ ULONG32 contextSize, /* [size_is][out] */ BYTE *pContext) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugDataTargetVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugDataTarget * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugDataTarget * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugDataTarget * This); - - HRESULT ( STDMETHODCALLTYPE *GetPlatform )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget, GetPlatform) + HRESULT ( STDMETHODCALLTYPE *GetPlatform )( ICorDebugDataTarget * This, /* [out] */ CorDebugPlatform *pTargetPlatform); - - HRESULT ( STDMETHODCALLTYPE *ReadVirtual )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget, ReadVirtual) + HRESULT ( STDMETHODCALLTYPE *ReadVirtual )( ICorDebugDataTarget * This, /* [in] */ CORDB_ADDRESS address, /* [length_is][size_is][out] */ BYTE *pBuffer, /* [in] */ ULONG32 bytesRequested, /* [out] */ ULONG32 *pBytesRead); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorDebugDataTarget * This, /* [in] */ DWORD dwThreadID, /* [in] */ ULONG32 contextFlags, /* [in] */ ULONG32 contextSize, /* [size_is][out] */ BYTE *pContext); - + END_INTERFACE } ICorDebugDataTargetVtbl; @@ -1550,102 +1571,108 @@ EXTERN_C const IID IID_ICorDebugDataTarget; CONST_VTBL struct ICorDebugDataTargetVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugDataTarget_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugDataTarget_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugDataTarget_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugDataTarget_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugDataTarget_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugDataTarget_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugDataTarget_GetPlatform(This,pTargetPlatform) \ - ( (This)->lpVtbl -> GetPlatform(This,pTargetPlatform) ) +#define ICorDebugDataTarget_GetPlatform(This,pTargetPlatform) \ + ( (This)->lpVtbl -> GetPlatform(This,pTargetPlatform) ) -#define ICorDebugDataTarget_ReadVirtual(This,address,pBuffer,bytesRequested,pBytesRead) \ - ( (This)->lpVtbl -> ReadVirtual(This,address,pBuffer,bytesRequested,pBytesRead) ) +#define ICorDebugDataTarget_ReadVirtual(This,address,pBuffer,bytesRequested,pBytesRead) \ + ( (This)->lpVtbl -> ReadVirtual(This,address,pBuffer,bytesRequested,pBytesRead) ) -#define ICorDebugDataTarget_GetThreadContext(This,dwThreadID,contextFlags,contextSize,pContext) \ - ( (This)->lpVtbl -> GetThreadContext(This,dwThreadID,contextFlags,contextSize,pContext) ) +#define ICorDebugDataTarget_GetThreadContext(This,dwThreadID,contextFlags,contextSize,pContext) \ + ( (This)->lpVtbl -> GetThreadContext(This,dwThreadID,contextFlags,contextSize,pContext) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugDataTarget_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugDataTarget_INTERFACE_DEFINED__ */ #ifndef __ICorDebugStaticFieldSymbol_INTERFACE_DEFINED__ #define __ICorDebugStaticFieldSymbol_INTERFACE_DEFINED__ /* interface ICorDebugStaticFieldSymbol */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugStaticFieldSymbol; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CBF9DA63-F68D-4BBB-A21C-15A45EAADF5B") ICorDebugStaticFieldSymbol : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetName( + virtual HRESULT STDMETHODCALLTYPE GetName( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSize( + + virtual HRESULT STDMETHODCALLTYPE GetSize( /* [out] */ ULONG32 *pcbSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAddress( + + virtual HRESULT STDMETHODCALLTYPE GetAddress( /* [out] */ CORDB_ADDRESS *pRVA) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugStaticFieldSymbolVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugStaticFieldSymbol * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugStaticFieldSymbol * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugStaticFieldSymbol * This); - - HRESULT ( STDMETHODCALLTYPE *GetName )( + + DECLSPEC_XFGVIRT(ICorDebugStaticFieldSymbol, GetName) + HRESULT ( STDMETHODCALLTYPE *GetName )( ICorDebugStaticFieldSymbol * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugStaticFieldSymbol, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugStaticFieldSymbol * This, /* [out] */ ULONG32 *pcbSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugStaticFieldSymbol, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugStaticFieldSymbol * This, /* [out] */ CORDB_ADDRESS *pRVA); - + END_INTERFACE } ICorDebugStaticFieldSymbolVtbl; @@ -1654,102 +1681,108 @@ EXTERN_C const IID IID_ICorDebugStaticFieldSymbol; CONST_VTBL struct ICorDebugStaticFieldSymbolVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugStaticFieldSymbol_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugStaticFieldSymbol_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugStaticFieldSymbol_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugStaticFieldSymbol_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugStaticFieldSymbol_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugStaticFieldSymbol_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugStaticFieldSymbol_GetName(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) +#define ICorDebugStaticFieldSymbol_GetName(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) -#define ICorDebugStaticFieldSymbol_GetSize(This,pcbSize) \ - ( (This)->lpVtbl -> GetSize(This,pcbSize) ) +#define ICorDebugStaticFieldSymbol_GetSize(This,pcbSize) \ + ( (This)->lpVtbl -> GetSize(This,pcbSize) ) -#define ICorDebugStaticFieldSymbol_GetAddress(This,pRVA) \ - ( (This)->lpVtbl -> GetAddress(This,pRVA) ) +#define ICorDebugStaticFieldSymbol_GetAddress(This,pRVA) \ + ( (This)->lpVtbl -> GetAddress(This,pRVA) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugStaticFieldSymbol_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugStaticFieldSymbol_INTERFACE_DEFINED__ */ #ifndef __ICorDebugInstanceFieldSymbol_INTERFACE_DEFINED__ #define __ICorDebugInstanceFieldSymbol_INTERFACE_DEFINED__ /* interface ICorDebugInstanceFieldSymbol */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugInstanceFieldSymbol; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("A074096B-3ADC-4485-81DA-68C7A4EA52DB") ICorDebugInstanceFieldSymbol : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetName( + virtual HRESULT STDMETHODCALLTYPE GetName( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSize( + + virtual HRESULT STDMETHODCALLTYPE GetSize( /* [out] */ ULONG32 *pcbSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetOffset( + + virtual HRESULT STDMETHODCALLTYPE GetOffset( /* [out] */ ULONG32 *pcbOffset) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugInstanceFieldSymbolVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugInstanceFieldSymbol * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugInstanceFieldSymbol * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugInstanceFieldSymbol * This); - - HRESULT ( STDMETHODCALLTYPE *GetName )( + + DECLSPEC_XFGVIRT(ICorDebugInstanceFieldSymbol, GetName) + HRESULT ( STDMETHODCALLTYPE *GetName )( ICorDebugInstanceFieldSymbol * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugInstanceFieldSymbol, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugInstanceFieldSymbol * This, /* [out] */ ULONG32 *pcbSize); - - HRESULT ( STDMETHODCALLTYPE *GetOffset )( + + DECLSPEC_XFGVIRT(ICorDebugInstanceFieldSymbol, GetOffset) + HRESULT ( STDMETHODCALLTYPE *GetOffset )( ICorDebugInstanceFieldSymbol * This, /* [out] */ ULONG32 *pcbOffset); - + END_INTERFACE } ICorDebugInstanceFieldSymbolVtbl; @@ -1758,115 +1791,121 @@ EXTERN_C const IID IID_ICorDebugInstanceFieldSymbol; CONST_VTBL struct ICorDebugInstanceFieldSymbolVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugInstanceFieldSymbol_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugInstanceFieldSymbol_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugInstanceFieldSymbol_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugInstanceFieldSymbol_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugInstanceFieldSymbol_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugInstanceFieldSymbol_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugInstanceFieldSymbol_GetName(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) +#define ICorDebugInstanceFieldSymbol_GetName(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) -#define ICorDebugInstanceFieldSymbol_GetSize(This,pcbSize) \ - ( (This)->lpVtbl -> GetSize(This,pcbSize) ) +#define ICorDebugInstanceFieldSymbol_GetSize(This,pcbSize) \ + ( (This)->lpVtbl -> GetSize(This,pcbSize) ) -#define ICorDebugInstanceFieldSymbol_GetOffset(This,pcbOffset) \ - ( (This)->lpVtbl -> GetOffset(This,pcbOffset) ) +#define ICorDebugInstanceFieldSymbol_GetOffset(This,pcbOffset) \ + ( (This)->lpVtbl -> GetOffset(This,pcbOffset) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugInstanceFieldSymbol_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugInstanceFieldSymbol_INTERFACE_DEFINED__ */ #ifndef __ICorDebugVariableSymbol_INTERFACE_DEFINED__ #define __ICorDebugVariableSymbol_INTERFACE_DEFINED__ /* interface ICorDebugVariableSymbol */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugVariableSymbol; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("707E8932-1163-48D9-8A93-F5B1F480FBB7") ICorDebugVariableSymbol : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetName( + virtual HRESULT STDMETHODCALLTYPE GetName( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSize( + + virtual HRESULT STDMETHODCALLTYPE GetSize( /* [out] */ ULONG32 *pcbValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetValue( + + virtual HRESULT STDMETHODCALLTYPE GetValue( /* [in] */ ULONG32 offset, /* [in] */ ULONG32 cbContext, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 cbValue, /* [out] */ ULONG32 *pcbValue, /* [length_is][size_is][out] */ BYTE pValue[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetValue( + + virtual HRESULT STDMETHODCALLTYPE SetValue( /* [in] */ ULONG32 offset, /* [in] */ DWORD threadID, /* [in] */ ULONG32 cbContext, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 cbValue, /* [size_is][in] */ BYTE pValue[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSlotIndex( + + virtual HRESULT STDMETHODCALLTYPE GetSlotIndex( /* [out] */ ULONG32 *pSlotIndex) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugVariableSymbolVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugVariableSymbol * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugVariableSymbol * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugVariableSymbol * This); - - HRESULT ( STDMETHODCALLTYPE *GetName )( + + DECLSPEC_XFGVIRT(ICorDebugVariableSymbol, GetName) + HRESULT ( STDMETHODCALLTYPE *GetName )( ICorDebugVariableSymbol * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugVariableSymbol, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugVariableSymbol * This, /* [out] */ ULONG32 *pcbValue); - - HRESULT ( STDMETHODCALLTYPE *GetValue )( + + DECLSPEC_XFGVIRT(ICorDebugVariableSymbol, GetValue) + HRESULT ( STDMETHODCALLTYPE *GetValue )( ICorDebugVariableSymbol * This, /* [in] */ ULONG32 offset, /* [in] */ ULONG32 cbContext, @@ -1874,8 +1913,9 @@ EXTERN_C const IID IID_ICorDebugVariableSymbol; /* [in] */ ULONG32 cbValue, /* [out] */ ULONG32 *pcbValue, /* [length_is][size_is][out] */ BYTE pValue[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetValue )( + + DECLSPEC_XFGVIRT(ICorDebugVariableSymbol, SetValue) + HRESULT ( STDMETHODCALLTYPE *SetValue )( ICorDebugVariableSymbol * This, /* [in] */ ULONG32 offset, /* [in] */ DWORD threadID, @@ -1883,11 +1923,12 @@ EXTERN_C const IID IID_ICorDebugVariableSymbol; /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 cbValue, /* [size_is][in] */ BYTE pValue[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetSlotIndex )( + + DECLSPEC_XFGVIRT(ICorDebugVariableSymbol, GetSlotIndex) + HRESULT ( STDMETHODCALLTYPE *GetSlotIndex )( ICorDebugVariableSymbol * This, /* [out] */ ULONG32 *pSlotIndex); - + END_INTERFACE } ICorDebugVariableSymbolVtbl; @@ -1896,97 +1937,102 @@ EXTERN_C const IID IID_ICorDebugVariableSymbol; CONST_VTBL struct ICorDebugVariableSymbolVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugVariableSymbol_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugVariableSymbol_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugVariableSymbol_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugVariableSymbol_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugVariableSymbol_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugVariableSymbol_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugVariableSymbol_GetName(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) +#define ICorDebugVariableSymbol_GetName(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) -#define ICorDebugVariableSymbol_GetSize(This,pcbValue) \ - ( (This)->lpVtbl -> GetSize(This,pcbValue) ) +#define ICorDebugVariableSymbol_GetSize(This,pcbValue) \ + ( (This)->lpVtbl -> GetSize(This,pcbValue) ) -#define ICorDebugVariableSymbol_GetValue(This,offset,cbContext,context,cbValue,pcbValue,pValue) \ - ( (This)->lpVtbl -> GetValue(This,offset,cbContext,context,cbValue,pcbValue,pValue) ) +#define ICorDebugVariableSymbol_GetValue(This,offset,cbContext,context,cbValue,pcbValue,pValue) \ + ( (This)->lpVtbl -> GetValue(This,offset,cbContext,context,cbValue,pcbValue,pValue) ) -#define ICorDebugVariableSymbol_SetValue(This,offset,threadID,cbContext,context,cbValue,pValue) \ - ( (This)->lpVtbl -> SetValue(This,offset,threadID,cbContext,context,cbValue,pValue) ) +#define ICorDebugVariableSymbol_SetValue(This,offset,threadID,cbContext,context,cbValue,pValue) \ + ( (This)->lpVtbl -> SetValue(This,offset,threadID,cbContext,context,cbValue,pValue) ) -#define ICorDebugVariableSymbol_GetSlotIndex(This,pSlotIndex) \ - ( (This)->lpVtbl -> GetSlotIndex(This,pSlotIndex) ) +#define ICorDebugVariableSymbol_GetSlotIndex(This,pSlotIndex) \ + ( (This)->lpVtbl -> GetSlotIndex(This,pSlotIndex) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugVariableSymbol_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugVariableSymbol_INTERFACE_DEFINED__ */ #ifndef __ICorDebugMemoryBuffer_INTERFACE_DEFINED__ #define __ICorDebugMemoryBuffer_INTERFACE_DEFINED__ /* interface ICorDebugMemoryBuffer */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugMemoryBuffer; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("677888B3-D160-4B8C-A73B-D79E6AAA1D13") ICorDebugMemoryBuffer : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetStartAddress( + virtual HRESULT STDMETHODCALLTYPE GetStartAddress( /* [out] */ LPCVOID *address) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSize( + + virtual HRESULT STDMETHODCALLTYPE GetSize( /* [out] */ ULONG32 *pcbBufferLength) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugMemoryBufferVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugMemoryBuffer * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugMemoryBuffer * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugMemoryBuffer * This); - - HRESULT ( STDMETHODCALLTYPE *GetStartAddress )( + + DECLSPEC_XFGVIRT(ICorDebugMemoryBuffer, GetStartAddress) + HRESULT ( STDMETHODCALLTYPE *GetStartAddress )( ICorDebugMemoryBuffer * This, /* [out] */ LPCVOID *address); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugMemoryBuffer, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugMemoryBuffer * This, /* [out] */ ULONG32 *pcbBufferLength); - + END_INTERFACE } ICorDebugMemoryBufferVtbl; @@ -1995,138 +2041,147 @@ EXTERN_C const IID IID_ICorDebugMemoryBuffer; CONST_VTBL struct ICorDebugMemoryBufferVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugMemoryBuffer_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugMemoryBuffer_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugMemoryBuffer_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugMemoryBuffer_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugMemoryBuffer_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugMemoryBuffer_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugMemoryBuffer_GetStartAddress(This,address) \ - ( (This)->lpVtbl -> GetStartAddress(This,address) ) +#define ICorDebugMemoryBuffer_GetStartAddress(This,address) \ + ( (This)->lpVtbl -> GetStartAddress(This,address) ) -#define ICorDebugMemoryBuffer_GetSize(This,pcbBufferLength) \ - ( (This)->lpVtbl -> GetSize(This,pcbBufferLength) ) +#define ICorDebugMemoryBuffer_GetSize(This,pcbBufferLength) \ + ( (This)->lpVtbl -> GetSize(This,pcbBufferLength) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugMemoryBuffer_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugMemoryBuffer_INTERFACE_DEFINED__ */ #ifndef __ICorDebugMergedAssemblyRecord_INTERFACE_DEFINED__ #define __ICorDebugMergedAssemblyRecord_INTERFACE_DEFINED__ /* interface ICorDebugMergedAssemblyRecord */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugMergedAssemblyRecord; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("FAA8637B-3BBE-4671-8E26-3B59875B922A") ICorDebugMergedAssemblyRecord : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetSimpleName( + virtual HRESULT STDMETHODCALLTYPE GetSimpleName( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVersion( + + virtual HRESULT STDMETHODCALLTYPE GetVersion( /* [out] */ USHORT *pMajor, /* [out] */ USHORT *pMinor, /* [out] */ USHORT *pBuild, /* [out] */ USHORT *pRevision) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCulture( + + virtual HRESULT STDMETHODCALLTYPE GetCulture( /* [in] */ ULONG32 cchCulture, /* [out] */ ULONG32 *pcchCulture, /* [length_is][size_is][out] */ WCHAR szCulture[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPublicKey( + + virtual HRESULT STDMETHODCALLTYPE GetPublicKey( /* [in] */ ULONG32 cbPublicKey, /* [out] */ ULONG32 *pcbPublicKey, /* [length_is][size_is][out] */ BYTE pbPublicKey[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPublicKeyToken( + + virtual HRESULT STDMETHODCALLTYPE GetPublicKeyToken( /* [in] */ ULONG32 cbPublicKeyToken, /* [out] */ ULONG32 *pcbPublicKeyToken, /* [length_is][size_is][out] */ BYTE pbPublicKeyToken[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetIndex( + + virtual HRESULT STDMETHODCALLTYPE GetIndex( /* [out] */ ULONG32 *pIndex) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugMergedAssemblyRecordVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugMergedAssemblyRecord * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugMergedAssemblyRecord * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugMergedAssemblyRecord * This); - - HRESULT ( STDMETHODCALLTYPE *GetSimpleName )( + + DECLSPEC_XFGVIRT(ICorDebugMergedAssemblyRecord, GetSimpleName) + HRESULT ( STDMETHODCALLTYPE *GetSimpleName )( ICorDebugMergedAssemblyRecord * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetVersion )( + + DECLSPEC_XFGVIRT(ICorDebugMergedAssemblyRecord, GetVersion) + HRESULT ( STDMETHODCALLTYPE *GetVersion )( ICorDebugMergedAssemblyRecord * This, /* [out] */ USHORT *pMajor, /* [out] */ USHORT *pMinor, /* [out] */ USHORT *pBuild, /* [out] */ USHORT *pRevision); - - HRESULT ( STDMETHODCALLTYPE *GetCulture )( + + DECLSPEC_XFGVIRT(ICorDebugMergedAssemblyRecord, GetCulture) + HRESULT ( STDMETHODCALLTYPE *GetCulture )( ICorDebugMergedAssemblyRecord * This, /* [in] */ ULONG32 cchCulture, /* [out] */ ULONG32 *pcchCulture, /* [length_is][size_is][out] */ WCHAR szCulture[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetPublicKey )( + + DECLSPEC_XFGVIRT(ICorDebugMergedAssemblyRecord, GetPublicKey) + HRESULT ( STDMETHODCALLTYPE *GetPublicKey )( ICorDebugMergedAssemblyRecord * This, /* [in] */ ULONG32 cbPublicKey, /* [out] */ ULONG32 *pcbPublicKey, /* [length_is][size_is][out] */ BYTE pbPublicKey[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetPublicKeyToken )( + + DECLSPEC_XFGVIRT(ICorDebugMergedAssemblyRecord, GetPublicKeyToken) + HRESULT ( STDMETHODCALLTYPE *GetPublicKeyToken )( ICorDebugMergedAssemblyRecord * This, /* [in] */ ULONG32 cbPublicKeyToken, /* [out] */ ULONG32 *pcbPublicKeyToken, /* [length_is][size_is][out] */ BYTE pbPublicKeyToken[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetIndex )( + + DECLSPEC_XFGVIRT(ICorDebugMergedAssemblyRecord, GetIndex) + HRESULT ( STDMETHODCALLTYPE *GetIndex )( ICorDebugMergedAssemblyRecord * This, /* [out] */ ULONG32 *pIndex); - + END_INTERFACE } ICorDebugMergedAssemblyRecordVtbl; @@ -2135,186 +2190,195 @@ EXTERN_C const IID IID_ICorDebugMergedAssemblyRecord; CONST_VTBL struct ICorDebugMergedAssemblyRecordVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugMergedAssemblyRecord_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugMergedAssemblyRecord_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugMergedAssemblyRecord_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugMergedAssemblyRecord_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugMergedAssemblyRecord_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugMergedAssemblyRecord_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugMergedAssemblyRecord_GetSimpleName(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetSimpleName(This,cchName,pcchName,szName) ) +#define ICorDebugMergedAssemblyRecord_GetSimpleName(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetSimpleName(This,cchName,pcchName,szName) ) -#define ICorDebugMergedAssemblyRecord_GetVersion(This,pMajor,pMinor,pBuild,pRevision) \ - ( (This)->lpVtbl -> GetVersion(This,pMajor,pMinor,pBuild,pRevision) ) +#define ICorDebugMergedAssemblyRecord_GetVersion(This,pMajor,pMinor,pBuild,pRevision) \ + ( (This)->lpVtbl -> GetVersion(This,pMajor,pMinor,pBuild,pRevision) ) -#define ICorDebugMergedAssemblyRecord_GetCulture(This,cchCulture,pcchCulture,szCulture) \ - ( (This)->lpVtbl -> GetCulture(This,cchCulture,pcchCulture,szCulture) ) +#define ICorDebugMergedAssemblyRecord_GetCulture(This,cchCulture,pcchCulture,szCulture) \ + ( (This)->lpVtbl -> GetCulture(This,cchCulture,pcchCulture,szCulture) ) -#define ICorDebugMergedAssemblyRecord_GetPublicKey(This,cbPublicKey,pcbPublicKey,pbPublicKey) \ - ( (This)->lpVtbl -> GetPublicKey(This,cbPublicKey,pcbPublicKey,pbPublicKey) ) +#define ICorDebugMergedAssemblyRecord_GetPublicKey(This,cbPublicKey,pcbPublicKey,pbPublicKey) \ + ( (This)->lpVtbl -> GetPublicKey(This,cbPublicKey,pcbPublicKey,pbPublicKey) ) -#define ICorDebugMergedAssemblyRecord_GetPublicKeyToken(This,cbPublicKeyToken,pcbPublicKeyToken,pbPublicKeyToken) \ - ( (This)->lpVtbl -> GetPublicKeyToken(This,cbPublicKeyToken,pcbPublicKeyToken,pbPublicKeyToken) ) +#define ICorDebugMergedAssemblyRecord_GetPublicKeyToken(This,cbPublicKeyToken,pcbPublicKeyToken,pbPublicKeyToken) \ + ( (This)->lpVtbl -> GetPublicKeyToken(This,cbPublicKeyToken,pcbPublicKeyToken,pbPublicKeyToken) ) -#define ICorDebugMergedAssemblyRecord_GetIndex(This,pIndex) \ - ( (This)->lpVtbl -> GetIndex(This,pIndex) ) +#define ICorDebugMergedAssemblyRecord_GetIndex(This,pIndex) \ + ( (This)->lpVtbl -> GetIndex(This,pIndex) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugMergedAssemblyRecord_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugMergedAssemblyRecord_INTERFACE_DEFINED__ */ #ifndef __ICorDebugSymbolProvider_INTERFACE_DEFINED__ #define __ICorDebugSymbolProvider_INTERFACE_DEFINED__ /* interface ICorDebugSymbolProvider */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugSymbolProvider; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("3948A999-FD8A-4C38-A708-8A71E9B04DBB") ICorDebugSymbolProvider : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetStaticFieldSymbols( + virtual HRESULT STDMETHODCALLTYPE GetStaticFieldSymbols( /* [in] */ ULONG32 cbSignature, /* [size_is][in] */ BYTE typeSig[ ], /* [in] */ ULONG32 cRequestedSymbols, /* [out] */ ULONG32 *pcFetchedSymbols, /* [length_is][size_is][out] */ ICorDebugStaticFieldSymbol *pSymbols[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInstanceFieldSymbols( + + virtual HRESULT STDMETHODCALLTYPE GetInstanceFieldSymbols( /* [in] */ ULONG32 cbSignature, /* [size_is][in] */ BYTE typeSig[ ], /* [in] */ ULONG32 cRequestedSymbols, /* [out] */ ULONG32 *pcFetchedSymbols, /* [length_is][size_is][out] */ ICorDebugInstanceFieldSymbol *pSymbols[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMethodLocalSymbols( + + virtual HRESULT STDMETHODCALLTYPE GetMethodLocalSymbols( /* [in] */ ULONG32 nativeRVA, /* [in] */ ULONG32 cRequestedSymbols, /* [out] */ ULONG32 *pcFetchedSymbols, /* [length_is][size_is][out] */ ICorDebugVariableSymbol *pSymbols[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMethodParameterSymbols( + + virtual HRESULT STDMETHODCALLTYPE GetMethodParameterSymbols( /* [in] */ ULONG32 nativeRVA, /* [in] */ ULONG32 cRequestedSymbols, /* [out] */ ULONG32 *pcFetchedSymbols, /* [length_is][size_is][out] */ ICorDebugVariableSymbol *pSymbols[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMergedAssemblyRecords( + + virtual HRESULT STDMETHODCALLTYPE GetMergedAssemblyRecords( /* [in] */ ULONG32 cRequestedRecords, /* [out] */ ULONG32 *pcFetchedRecords, /* [length_is][size_is][out] */ ICorDebugMergedAssemblyRecord *pRecords[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMethodProps( + + virtual HRESULT STDMETHODCALLTYPE GetMethodProps( /* [in] */ ULONG32 codeRva, /* [out] */ mdToken *pMethodToken, /* [out] */ ULONG32 *pcGenericParams, /* [in] */ ULONG32 cbSignature, /* [out] */ ULONG32 *pcbSignature, /* [length_is][size_is][out] */ BYTE signature[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTypeProps( + + virtual HRESULT STDMETHODCALLTYPE GetTypeProps( /* [in] */ ULONG32 vtableRva, /* [in] */ ULONG32 cbSignature, /* [out] */ ULONG32 *pcbSignature, /* [length_is][size_is][out] */ BYTE signature[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeRange( + + virtual HRESULT STDMETHODCALLTYPE GetCodeRange( /* [in] */ ULONG32 codeRva, /* [out] */ ULONG32 *pCodeStartAddress, ULONG32 *pCodeSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAssemblyImageBytes( + + virtual HRESULT STDMETHODCALLTYPE GetAssemblyImageBytes( /* [in] */ CORDB_ADDRESS rva, /* [in] */ ULONG32 length, /* [out] */ ICorDebugMemoryBuffer **ppMemoryBuffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObjectSize( + + virtual HRESULT STDMETHODCALLTYPE GetObjectSize( /* [in] */ ULONG32 cbSignature, /* [size_is][in] */ BYTE typeSig[ ], /* [out] */ ULONG32 *pObjectSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAssemblyImageMetadata( + + virtual HRESULT STDMETHODCALLTYPE GetAssemblyImageMetadata( /* [out] */ ICorDebugMemoryBuffer **ppMemoryBuffer) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugSymbolProviderVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugSymbolProvider * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugSymbolProvider * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugSymbolProvider * This); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldSymbols )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetStaticFieldSymbols) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldSymbols )( ICorDebugSymbolProvider * This, /* [in] */ ULONG32 cbSignature, /* [size_is][in] */ BYTE typeSig[ ], /* [in] */ ULONG32 cRequestedSymbols, /* [out] */ ULONG32 *pcFetchedSymbols, /* [length_is][size_is][out] */ ICorDebugStaticFieldSymbol *pSymbols[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInstanceFieldSymbols )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetInstanceFieldSymbols) + HRESULT ( STDMETHODCALLTYPE *GetInstanceFieldSymbols )( ICorDebugSymbolProvider * This, /* [in] */ ULONG32 cbSignature, /* [size_is][in] */ BYTE typeSig[ ], /* [in] */ ULONG32 cRequestedSymbols, /* [out] */ ULONG32 *pcFetchedSymbols, /* [length_is][size_is][out] */ ICorDebugInstanceFieldSymbol *pSymbols[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetMethodLocalSymbols )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetMethodLocalSymbols) + HRESULT ( STDMETHODCALLTYPE *GetMethodLocalSymbols )( ICorDebugSymbolProvider * This, /* [in] */ ULONG32 nativeRVA, /* [in] */ ULONG32 cRequestedSymbols, /* [out] */ ULONG32 *pcFetchedSymbols, /* [length_is][size_is][out] */ ICorDebugVariableSymbol *pSymbols[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetMethodParameterSymbols )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetMethodParameterSymbols) + HRESULT ( STDMETHODCALLTYPE *GetMethodParameterSymbols )( ICorDebugSymbolProvider * This, /* [in] */ ULONG32 nativeRVA, /* [in] */ ULONG32 cRequestedSymbols, /* [out] */ ULONG32 *pcFetchedSymbols, /* [length_is][size_is][out] */ ICorDebugVariableSymbol *pSymbols[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetMergedAssemblyRecords )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetMergedAssemblyRecords) + HRESULT ( STDMETHODCALLTYPE *GetMergedAssemblyRecords )( ICorDebugSymbolProvider * This, /* [in] */ ULONG32 cRequestedRecords, /* [out] */ ULONG32 *pcFetchedRecords, /* [length_is][size_is][out] */ ICorDebugMergedAssemblyRecord *pRecords[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetMethodProps )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetMethodProps) + HRESULT ( STDMETHODCALLTYPE *GetMethodProps )( ICorDebugSymbolProvider * This, /* [in] */ ULONG32 codeRva, /* [out] */ mdToken *pMethodToken, @@ -2322,36 +2386,41 @@ EXTERN_C const IID IID_ICorDebugSymbolProvider; /* [in] */ ULONG32 cbSignature, /* [out] */ ULONG32 *pcbSignature, /* [length_is][size_is][out] */ BYTE signature[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetTypeProps )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetTypeProps) + HRESULT ( STDMETHODCALLTYPE *GetTypeProps )( ICorDebugSymbolProvider * This, /* [in] */ ULONG32 vtableRva, /* [in] */ ULONG32 cbSignature, /* [out] */ ULONG32 *pcbSignature, /* [length_is][size_is][out] */ BYTE signature[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeRange )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetCodeRange) + HRESULT ( STDMETHODCALLTYPE *GetCodeRange )( ICorDebugSymbolProvider * This, /* [in] */ ULONG32 codeRva, /* [out] */ ULONG32 *pCodeStartAddress, ULONG32 *pCodeSize); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyImageBytes )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetAssemblyImageBytes) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyImageBytes )( ICorDebugSymbolProvider * This, /* [in] */ CORDB_ADDRESS rva, /* [in] */ ULONG32 length, /* [out] */ ICorDebugMemoryBuffer **ppMemoryBuffer); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorDebugSymbolProvider * This, /* [in] */ ULONG32 cbSignature, /* [size_is][in] */ BYTE typeSig[ ], /* [out] */ ULONG32 *pObjectSize); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyImageMetadata )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider, GetAssemblyImageMetadata) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyImageMetadata )( ICorDebugSymbolProvider * This, /* [out] */ ICorDebugMemoryBuffer **ppMemoryBuffer); - + END_INTERFACE } ICorDebugSymbolProviderVtbl; @@ -2360,119 +2429,124 @@ EXTERN_C const IID IID_ICorDebugSymbolProvider; CONST_VTBL struct ICorDebugSymbolProviderVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugSymbolProvider_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugSymbolProvider_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugSymbolProvider_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugSymbolProvider_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugSymbolProvider_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugSymbolProvider_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugSymbolProvider_GetStaticFieldSymbols(This,cbSignature,typeSig,cRequestedSymbols,pcFetchedSymbols,pSymbols) \ - ( (This)->lpVtbl -> GetStaticFieldSymbols(This,cbSignature,typeSig,cRequestedSymbols,pcFetchedSymbols,pSymbols) ) +#define ICorDebugSymbolProvider_GetStaticFieldSymbols(This,cbSignature,typeSig,cRequestedSymbols,pcFetchedSymbols,pSymbols) \ + ( (This)->lpVtbl -> GetStaticFieldSymbols(This,cbSignature,typeSig,cRequestedSymbols,pcFetchedSymbols,pSymbols) ) -#define ICorDebugSymbolProvider_GetInstanceFieldSymbols(This,cbSignature,typeSig,cRequestedSymbols,pcFetchedSymbols,pSymbols) \ - ( (This)->lpVtbl -> GetInstanceFieldSymbols(This,cbSignature,typeSig,cRequestedSymbols,pcFetchedSymbols,pSymbols) ) +#define ICorDebugSymbolProvider_GetInstanceFieldSymbols(This,cbSignature,typeSig,cRequestedSymbols,pcFetchedSymbols,pSymbols) \ + ( (This)->lpVtbl -> GetInstanceFieldSymbols(This,cbSignature,typeSig,cRequestedSymbols,pcFetchedSymbols,pSymbols) ) -#define ICorDebugSymbolProvider_GetMethodLocalSymbols(This,nativeRVA,cRequestedSymbols,pcFetchedSymbols,pSymbols) \ - ( (This)->lpVtbl -> GetMethodLocalSymbols(This,nativeRVA,cRequestedSymbols,pcFetchedSymbols,pSymbols) ) +#define ICorDebugSymbolProvider_GetMethodLocalSymbols(This,nativeRVA,cRequestedSymbols,pcFetchedSymbols,pSymbols) \ + ( (This)->lpVtbl -> GetMethodLocalSymbols(This,nativeRVA,cRequestedSymbols,pcFetchedSymbols,pSymbols) ) -#define ICorDebugSymbolProvider_GetMethodParameterSymbols(This,nativeRVA,cRequestedSymbols,pcFetchedSymbols,pSymbols) \ - ( (This)->lpVtbl -> GetMethodParameterSymbols(This,nativeRVA,cRequestedSymbols,pcFetchedSymbols,pSymbols) ) +#define ICorDebugSymbolProvider_GetMethodParameterSymbols(This,nativeRVA,cRequestedSymbols,pcFetchedSymbols,pSymbols) \ + ( (This)->lpVtbl -> GetMethodParameterSymbols(This,nativeRVA,cRequestedSymbols,pcFetchedSymbols,pSymbols) ) -#define ICorDebugSymbolProvider_GetMergedAssemblyRecords(This,cRequestedRecords,pcFetchedRecords,pRecords) \ - ( (This)->lpVtbl -> GetMergedAssemblyRecords(This,cRequestedRecords,pcFetchedRecords,pRecords) ) +#define ICorDebugSymbolProvider_GetMergedAssemblyRecords(This,cRequestedRecords,pcFetchedRecords,pRecords) \ + ( (This)->lpVtbl -> GetMergedAssemblyRecords(This,cRequestedRecords,pcFetchedRecords,pRecords) ) -#define ICorDebugSymbolProvider_GetMethodProps(This,codeRva,pMethodToken,pcGenericParams,cbSignature,pcbSignature,signature) \ - ( (This)->lpVtbl -> GetMethodProps(This,codeRva,pMethodToken,pcGenericParams,cbSignature,pcbSignature,signature) ) +#define ICorDebugSymbolProvider_GetMethodProps(This,codeRva,pMethodToken,pcGenericParams,cbSignature,pcbSignature,signature) \ + ( (This)->lpVtbl -> GetMethodProps(This,codeRva,pMethodToken,pcGenericParams,cbSignature,pcbSignature,signature) ) -#define ICorDebugSymbolProvider_GetTypeProps(This,vtableRva,cbSignature,pcbSignature,signature) \ - ( (This)->lpVtbl -> GetTypeProps(This,vtableRva,cbSignature,pcbSignature,signature) ) +#define ICorDebugSymbolProvider_GetTypeProps(This,vtableRva,cbSignature,pcbSignature,signature) \ + ( (This)->lpVtbl -> GetTypeProps(This,vtableRva,cbSignature,pcbSignature,signature) ) -#define ICorDebugSymbolProvider_GetCodeRange(This,codeRva,pCodeStartAddress,pCodeSize) \ - ( (This)->lpVtbl -> GetCodeRange(This,codeRva,pCodeStartAddress,pCodeSize) ) +#define ICorDebugSymbolProvider_GetCodeRange(This,codeRva,pCodeStartAddress,pCodeSize) \ + ( (This)->lpVtbl -> GetCodeRange(This,codeRva,pCodeStartAddress,pCodeSize) ) -#define ICorDebugSymbolProvider_GetAssemblyImageBytes(This,rva,length,ppMemoryBuffer) \ - ( (This)->lpVtbl -> GetAssemblyImageBytes(This,rva,length,ppMemoryBuffer) ) +#define ICorDebugSymbolProvider_GetAssemblyImageBytes(This,rva,length,ppMemoryBuffer) \ + ( (This)->lpVtbl -> GetAssemblyImageBytes(This,rva,length,ppMemoryBuffer) ) -#define ICorDebugSymbolProvider_GetObjectSize(This,cbSignature,typeSig,pObjectSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,cbSignature,typeSig,pObjectSize) ) +#define ICorDebugSymbolProvider_GetObjectSize(This,cbSignature,typeSig,pObjectSize) \ + ( (This)->lpVtbl -> GetObjectSize(This,cbSignature,typeSig,pObjectSize) ) -#define ICorDebugSymbolProvider_GetAssemblyImageMetadata(This,ppMemoryBuffer) \ - ( (This)->lpVtbl -> GetAssemblyImageMetadata(This,ppMemoryBuffer) ) +#define ICorDebugSymbolProvider_GetAssemblyImageMetadata(This,ppMemoryBuffer) \ + ( (This)->lpVtbl -> GetAssemblyImageMetadata(This,ppMemoryBuffer) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugSymbolProvider_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugSymbolProvider_INTERFACE_DEFINED__ */ #ifndef __ICorDebugSymbolProvider2_INTERFACE_DEFINED__ #define __ICorDebugSymbolProvider2_INTERFACE_DEFINED__ /* interface ICorDebugSymbolProvider2 */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugSymbolProvider2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F9801807-4764-4330-9E67-4F685094165E") ICorDebugSymbolProvider2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetGenericDictionaryInfo( + virtual HRESULT STDMETHODCALLTYPE GetGenericDictionaryInfo( /* [out] */ ICorDebugMemoryBuffer **ppMemoryBuffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFrameProps( + + virtual HRESULT STDMETHODCALLTYPE GetFrameProps( /* [in] */ ULONG32 codeRva, /* [out] */ ULONG32 *pCodeStartRva, /* [out] */ ULONG32 *pParentFrameStartRva) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugSymbolProvider2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugSymbolProvider2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugSymbolProvider2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugSymbolProvider2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetGenericDictionaryInfo )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider2, GetGenericDictionaryInfo) + HRESULT ( STDMETHODCALLTYPE *GetGenericDictionaryInfo )( ICorDebugSymbolProvider2 * This, /* [out] */ ICorDebugMemoryBuffer **ppMemoryBuffer); - - HRESULT ( STDMETHODCALLTYPE *GetFrameProps )( + + DECLSPEC_XFGVIRT(ICorDebugSymbolProvider2, GetFrameProps) + HRESULT ( STDMETHODCALLTYPE *GetFrameProps )( ICorDebugSymbolProvider2 * This, /* [in] */ ULONG32 codeRva, /* [out] */ ULONG32 *pCodeStartRva, /* [out] */ ULONG32 *pParentFrameStartRva); - + END_INTERFACE } ICorDebugSymbolProvider2Vtbl; @@ -2481,92 +2555,97 @@ EXTERN_C const IID IID_ICorDebugSymbolProvider2; CONST_VTBL struct ICorDebugSymbolProvider2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugSymbolProvider2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugSymbolProvider2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugSymbolProvider2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugSymbolProvider2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugSymbolProvider2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugSymbolProvider2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugSymbolProvider2_GetGenericDictionaryInfo(This,ppMemoryBuffer) \ - ( (This)->lpVtbl -> GetGenericDictionaryInfo(This,ppMemoryBuffer) ) +#define ICorDebugSymbolProvider2_GetGenericDictionaryInfo(This,ppMemoryBuffer) \ + ( (This)->lpVtbl -> GetGenericDictionaryInfo(This,ppMemoryBuffer) ) -#define ICorDebugSymbolProvider2_GetFrameProps(This,codeRva,pCodeStartRva,pParentFrameStartRva) \ - ( (This)->lpVtbl -> GetFrameProps(This,codeRva,pCodeStartRva,pParentFrameStartRva) ) +#define ICorDebugSymbolProvider2_GetFrameProps(This,codeRva,pCodeStartRva,pParentFrameStartRva) \ + ( (This)->lpVtbl -> GetFrameProps(This,codeRva,pCodeStartRva,pParentFrameStartRva) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugSymbolProvider2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugSymbolProvider2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugVirtualUnwinder_INTERFACE_DEFINED__ #define __ICorDebugVirtualUnwinder_INTERFACE_DEFINED__ /* interface ICorDebugVirtualUnwinder */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugVirtualUnwinder; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F69126B7-C787-4F6B-AE96-A569786FC670") ICorDebugVirtualUnwinder : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetContext( + virtual HRESULT STDMETHODCALLTYPE GetContext( /* [in] */ ULONG32 contextFlags, /* [in] */ ULONG32 cbContextBuf, /* [out] */ ULONG32 *contextSize, /* [size_is][out] */ BYTE contextBuf[ ]) = 0; - + virtual HRESULT STDMETHODCALLTYPE Next( void) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugVirtualUnwinderVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugVirtualUnwinder * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugVirtualUnwinder * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugVirtualUnwinder * This); - - HRESULT ( STDMETHODCALLTYPE *GetContext )( + + DECLSPEC_XFGVIRT(ICorDebugVirtualUnwinder, GetContext) + HRESULT ( STDMETHODCALLTYPE *GetContext )( ICorDebugVirtualUnwinder * This, /* [in] */ ULONG32 contextFlags, /* [in] */ ULONG32 cbContextBuf, /* [out] */ ULONG32 *contextSize, /* [size_is][out] */ BYTE contextBuf[ ]); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugVirtualUnwinder, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugVirtualUnwinder * This); - + END_INTERFACE } ICorDebugVirtualUnwinderVtbl; @@ -2575,133 +2654,141 @@ EXTERN_C const IID IID_ICorDebugVirtualUnwinder; CONST_VTBL struct ICorDebugVirtualUnwinderVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugVirtualUnwinder_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugVirtualUnwinder_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugVirtualUnwinder_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugVirtualUnwinder_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugVirtualUnwinder_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugVirtualUnwinder_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugVirtualUnwinder_GetContext(This,contextFlags,cbContextBuf,contextSize,contextBuf) \ - ( (This)->lpVtbl -> GetContext(This,contextFlags,cbContextBuf,contextSize,contextBuf) ) +#define ICorDebugVirtualUnwinder_GetContext(This,contextFlags,cbContextBuf,contextSize,contextBuf) \ + ( (This)->lpVtbl -> GetContext(This,contextFlags,cbContextBuf,contextSize,contextBuf) ) -#define ICorDebugVirtualUnwinder_Next(This) \ - ( (This)->lpVtbl -> Next(This) ) +#define ICorDebugVirtualUnwinder_Next(This) \ + ( (This)->lpVtbl -> Next(This) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugVirtualUnwinder_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugVirtualUnwinder_INTERFACE_DEFINED__ */ #ifndef __ICorDebugDataTarget2_INTERFACE_DEFINED__ #define __ICorDebugDataTarget2_INTERFACE_DEFINED__ /* interface ICorDebugDataTarget2 */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugDataTarget2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("2eb364da-605b-4e8d-b333-3394c4828d41") ICorDebugDataTarget2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetImageFromPointer( + virtual HRESULT STDMETHODCALLTYPE GetImageFromPointer( /* [in] */ CORDB_ADDRESS addr, /* [out] */ CORDB_ADDRESS *pImageBase, /* [out] */ ULONG32 *pSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetImageLocation( + + virtual HRESULT STDMETHODCALLTYPE GetImageLocation( /* [in] */ CORDB_ADDRESS baseAddress, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSymbolProviderForImage( + + virtual HRESULT STDMETHODCALLTYPE GetSymbolProviderForImage( /* [in] */ CORDB_ADDRESS imageBaseAddress, /* [out] */ ICorDebugSymbolProvider **ppSymProvider) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateThreadIDs( + + virtual HRESULT STDMETHODCALLTYPE EnumerateThreadIDs( /* [in] */ ULONG32 cThreadIds, /* [out] */ ULONG32 *pcThreadIds, /* [length_is][size_is][out] */ ULONG32 pThreadIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateVirtualUnwinder( + + virtual HRESULT STDMETHODCALLTYPE CreateVirtualUnwinder( /* [in] */ DWORD nativeThreadID, /* [in] */ ULONG32 contextFlags, /* [in] */ ULONG32 cbContext, /* [size_is][in] */ BYTE initialContext[ ], /* [out] */ ICorDebugVirtualUnwinder **ppUnwinder) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugDataTarget2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugDataTarget2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugDataTarget2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugDataTarget2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetImageFromPointer )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget2, GetImageFromPointer) + HRESULT ( STDMETHODCALLTYPE *GetImageFromPointer )( ICorDebugDataTarget2 * This, /* [in] */ CORDB_ADDRESS addr, /* [out] */ CORDB_ADDRESS *pImageBase, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetImageLocation )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget2, GetImageLocation) + HRESULT ( STDMETHODCALLTYPE *GetImageLocation )( ICorDebugDataTarget2 * This, /* [in] */ CORDB_ADDRESS baseAddress, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetSymbolProviderForImage )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget2, GetSymbolProviderForImage) + HRESULT ( STDMETHODCALLTYPE *GetSymbolProviderForImage )( ICorDebugDataTarget2 * This, /* [in] */ CORDB_ADDRESS imageBaseAddress, /* [out] */ ICorDebugSymbolProvider **ppSymProvider); - - HRESULT ( STDMETHODCALLTYPE *EnumerateThreadIDs )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget2, EnumerateThreadIDs) + HRESULT ( STDMETHODCALLTYPE *EnumerateThreadIDs )( ICorDebugDataTarget2 * This, /* [in] */ ULONG32 cThreadIds, /* [out] */ ULONG32 *pcThreadIds, /* [length_is][size_is][out] */ ULONG32 pThreadIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *CreateVirtualUnwinder )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget2, CreateVirtualUnwinder) + HRESULT ( STDMETHODCALLTYPE *CreateVirtualUnwinder )( ICorDebugDataTarget2 * This, /* [in] */ DWORD nativeThreadID, /* [in] */ ULONG32 contextFlags, /* [in] */ ULONG32 cbContext, /* [size_is][in] */ BYTE initialContext[ ], /* [out] */ ICorDebugVirtualUnwinder **ppUnwinder); - + END_INTERFACE } ICorDebugDataTarget2Vtbl; @@ -2710,108 +2797,114 @@ EXTERN_C const IID IID_ICorDebugDataTarget2; CONST_VTBL struct ICorDebugDataTarget2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugDataTarget2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugDataTarget2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugDataTarget2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugDataTarget2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugDataTarget2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugDataTarget2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugDataTarget2_GetImageFromPointer(This,addr,pImageBase,pSize) \ - ( (This)->lpVtbl -> GetImageFromPointer(This,addr,pImageBase,pSize) ) +#define ICorDebugDataTarget2_GetImageFromPointer(This,addr,pImageBase,pSize) \ + ( (This)->lpVtbl -> GetImageFromPointer(This,addr,pImageBase,pSize) ) -#define ICorDebugDataTarget2_GetImageLocation(This,baseAddress,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetImageLocation(This,baseAddress,cchName,pcchName,szName) ) +#define ICorDebugDataTarget2_GetImageLocation(This,baseAddress,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetImageLocation(This,baseAddress,cchName,pcchName,szName) ) -#define ICorDebugDataTarget2_GetSymbolProviderForImage(This,imageBaseAddress,ppSymProvider) \ - ( (This)->lpVtbl -> GetSymbolProviderForImage(This,imageBaseAddress,ppSymProvider) ) +#define ICorDebugDataTarget2_GetSymbolProviderForImage(This,imageBaseAddress,ppSymProvider) \ + ( (This)->lpVtbl -> GetSymbolProviderForImage(This,imageBaseAddress,ppSymProvider) ) -#define ICorDebugDataTarget2_EnumerateThreadIDs(This,cThreadIds,pcThreadIds,pThreadIds) \ - ( (This)->lpVtbl -> EnumerateThreadIDs(This,cThreadIds,pcThreadIds,pThreadIds) ) +#define ICorDebugDataTarget2_EnumerateThreadIDs(This,cThreadIds,pcThreadIds,pThreadIds) \ + ( (This)->lpVtbl -> EnumerateThreadIDs(This,cThreadIds,pcThreadIds,pThreadIds) ) -#define ICorDebugDataTarget2_CreateVirtualUnwinder(This,nativeThreadID,contextFlags,cbContext,initialContext,ppUnwinder) \ - ( (This)->lpVtbl -> CreateVirtualUnwinder(This,nativeThreadID,contextFlags,cbContext,initialContext,ppUnwinder) ) +#define ICorDebugDataTarget2_CreateVirtualUnwinder(This,nativeThreadID,contextFlags,cbContext,initialContext,ppUnwinder) \ + ( (This)->lpVtbl -> CreateVirtualUnwinder(This,nativeThreadID,contextFlags,cbContext,initialContext,ppUnwinder) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugDataTarget2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugDataTarget2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugLoadedModule_INTERFACE_DEFINED__ #define __ICorDebugLoadedModule_INTERFACE_DEFINED__ /* interface ICorDebugLoadedModule */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugLoadedModule; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("817F343A-6630-4578-96C5-D11BC0EC5EE2") ICorDebugLoadedModule : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetBaseAddress( + virtual HRESULT STDMETHODCALLTYPE GetBaseAddress( /* [out] */ CORDB_ADDRESS *pAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetName( + + virtual HRESULT STDMETHODCALLTYPE GetName( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSize( + + virtual HRESULT STDMETHODCALLTYPE GetSize( /* [out] */ ULONG32 *pcBytes) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugLoadedModuleVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugLoadedModule * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugLoadedModule * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugLoadedModule * This); - - HRESULT ( STDMETHODCALLTYPE *GetBaseAddress )( + + DECLSPEC_XFGVIRT(ICorDebugLoadedModule, GetBaseAddress) + HRESULT ( STDMETHODCALLTYPE *GetBaseAddress )( ICorDebugLoadedModule * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *GetName )( + + DECLSPEC_XFGVIRT(ICorDebugLoadedModule, GetName) + HRESULT ( STDMETHODCALLTYPE *GetName )( ICorDebugLoadedModule * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugLoadedModule, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugLoadedModule * This, /* [out] */ ULONG32 *pcBytes); - + END_INTERFACE } ICorDebugLoadedModuleVtbl; @@ -2820,88 +2913,92 @@ EXTERN_C const IID IID_ICorDebugLoadedModule; CONST_VTBL struct ICorDebugLoadedModuleVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugLoadedModule_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugLoadedModule_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugLoadedModule_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugLoadedModule_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugLoadedModule_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugLoadedModule_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugLoadedModule_GetBaseAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetBaseAddress(This,pAddress) ) +#define ICorDebugLoadedModule_GetBaseAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetBaseAddress(This,pAddress) ) -#define ICorDebugLoadedModule_GetName(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) +#define ICorDebugLoadedModule_GetName(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) -#define ICorDebugLoadedModule_GetSize(This,pcBytes) \ - ( (This)->lpVtbl -> GetSize(This,pcBytes) ) +#define ICorDebugLoadedModule_GetSize(This,pcBytes) \ + ( (This)->lpVtbl -> GetSize(This,pcBytes) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugLoadedModule_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugLoadedModule_INTERFACE_DEFINED__ */ #ifndef __ICorDebugDataTarget3_INTERFACE_DEFINED__ #define __ICorDebugDataTarget3_INTERFACE_DEFINED__ /* interface ICorDebugDataTarget3 */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugDataTarget3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("D05E60C3-848C-4E7D-894E-623320FF6AFA") ICorDebugDataTarget3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetLoadedModules( + virtual HRESULT STDMETHODCALLTYPE GetLoadedModules( /* [in] */ ULONG32 cRequestedModules, /* [out] */ ULONG32 *pcFetchedModules, /* [length_is][size_is][out] */ ICorDebugLoadedModule *pLoadedModules[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugDataTarget3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugDataTarget3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugDataTarget3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugDataTarget3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetLoadedModules )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget3, GetLoadedModules) + HRESULT ( STDMETHODCALLTYPE *GetLoadedModules )( ICorDebugDataTarget3 * This, /* [in] */ ULONG32 cRequestedModules, /* [out] */ ULONG32 *pcFetchedModules, /* [length_is][size_is][out] */ ICorDebugLoadedModule *pLoadedModules[ ]); - + END_INTERFACE } ICorDebugDataTarget3Vtbl; @@ -2910,82 +3007,86 @@ EXTERN_C const IID IID_ICorDebugDataTarget3; CONST_VTBL struct ICorDebugDataTarget3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugDataTarget3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugDataTarget3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugDataTarget3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugDataTarget3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugDataTarget3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugDataTarget3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugDataTarget3_GetLoadedModules(This,cRequestedModules,pcFetchedModules,pLoadedModules) \ - ( (This)->lpVtbl -> GetLoadedModules(This,cRequestedModules,pcFetchedModules,pLoadedModules) ) +#define ICorDebugDataTarget3_GetLoadedModules(This,cRequestedModules,pcFetchedModules,pLoadedModules) \ + ( (This)->lpVtbl -> GetLoadedModules(This,cRequestedModules,pcFetchedModules,pLoadedModules) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugDataTarget3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugDataTarget3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugDataTarget4_INTERFACE_DEFINED__ #define __ICorDebugDataTarget4_INTERFACE_DEFINED__ /* interface ICorDebugDataTarget4 */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugDataTarget4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("E799DC06-E099-4713-BDD9-906D3CC02CF2") ICorDebugDataTarget4 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE VirtualUnwind( + virtual HRESULT STDMETHODCALLTYPE VirtualUnwind( /* [in] */ DWORD threadId, /* [in] */ ULONG32 contextSize, /* [size_is][out][in] */ BYTE *context) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugDataTarget4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugDataTarget4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugDataTarget4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugDataTarget4 * This); - - HRESULT ( STDMETHODCALLTYPE *VirtualUnwind )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget4, VirtualUnwind) + HRESULT ( STDMETHODCALLTYPE *VirtualUnwind )( ICorDebugDataTarget4 * This, /* [in] */ DWORD threadId, /* [in] */ ULONG32 contextSize, /* [size_is][out][in] */ BYTE *context); - + END_INTERFACE } ICorDebugDataTarget4Vtbl; @@ -2994,120 +3095,129 @@ EXTERN_C const IID IID_ICorDebugDataTarget4; CONST_VTBL struct ICorDebugDataTarget4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugDataTarget4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugDataTarget4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugDataTarget4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugDataTarget4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugDataTarget4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugDataTarget4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugDataTarget4_VirtualUnwind(This,threadId,contextSize,context) \ - ( (This)->lpVtbl -> VirtualUnwind(This,threadId,contextSize,context) ) +#define ICorDebugDataTarget4_VirtualUnwind(This,threadId,contextSize,context) \ + ( (This)->lpVtbl -> VirtualUnwind(This,threadId,contextSize,context) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugDataTarget4_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugDataTarget4_INTERFACE_DEFINED__ */ #ifndef __ICorDebugMutableDataTarget_INTERFACE_DEFINED__ #define __ICorDebugMutableDataTarget_INTERFACE_DEFINED__ /* interface ICorDebugMutableDataTarget */ -/* [unique][local][uuid][object] */ +/* [unique][local][uuid][object] */ EXTERN_C const IID IID_ICorDebugMutableDataTarget; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("A1B8A756-3CB6-4CCB-979F-3DF999673A59") ICorDebugMutableDataTarget : public ICorDebugDataTarget { public: - virtual HRESULT STDMETHODCALLTYPE WriteVirtual( + virtual HRESULT STDMETHODCALLTYPE WriteVirtual( /* [in] */ CORDB_ADDRESS address, /* [size_is][in] */ const BYTE *pBuffer, /* [in] */ ULONG32 bytesRequested) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetThreadContext( + + virtual HRESULT STDMETHODCALLTYPE SetThreadContext( /* [in] */ DWORD dwThreadID, /* [in] */ ULONG32 contextSize, /* [size_is][in] */ const BYTE *pContext) = 0; - - virtual HRESULT STDMETHODCALLTYPE ContinueStatusChanged( + + virtual HRESULT STDMETHODCALLTYPE ContinueStatusChanged( /* [in] */ DWORD dwThreadId, /* [in] */ CORDB_CONTINUE_STATUS continueStatus) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugMutableDataTargetVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugMutableDataTarget * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugMutableDataTarget * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugMutableDataTarget * This); - - HRESULT ( STDMETHODCALLTYPE *GetPlatform )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget, GetPlatform) + HRESULT ( STDMETHODCALLTYPE *GetPlatform )( ICorDebugMutableDataTarget * This, /* [out] */ CorDebugPlatform *pTargetPlatform); - - HRESULT ( STDMETHODCALLTYPE *ReadVirtual )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget, ReadVirtual) + HRESULT ( STDMETHODCALLTYPE *ReadVirtual )( ICorDebugMutableDataTarget * This, /* [in] */ CORDB_ADDRESS address, /* [length_is][size_is][out] */ BYTE *pBuffer, /* [in] */ ULONG32 bytesRequested, /* [out] */ ULONG32 *pBytesRead); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorDebugDataTarget, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorDebugMutableDataTarget * This, /* [in] */ DWORD dwThreadID, /* [in] */ ULONG32 contextFlags, /* [in] */ ULONG32 contextSize, /* [size_is][out] */ BYTE *pContext); - - HRESULT ( STDMETHODCALLTYPE *WriteVirtual )( + + DECLSPEC_XFGVIRT(ICorDebugMutableDataTarget, WriteVirtual) + HRESULT ( STDMETHODCALLTYPE *WriteVirtual )( ICorDebugMutableDataTarget * This, /* [in] */ CORDB_ADDRESS address, /* [size_is][in] */ const BYTE *pBuffer, /* [in] */ ULONG32 bytesRequested); - - HRESULT ( STDMETHODCALLTYPE *SetThreadContext )( + + DECLSPEC_XFGVIRT(ICorDebugMutableDataTarget, SetThreadContext) + HRESULT ( STDMETHODCALLTYPE *SetThreadContext )( ICorDebugMutableDataTarget * This, /* [in] */ DWORD dwThreadID, /* [in] */ ULONG32 contextSize, /* [size_is][in] */ const BYTE *pContext); - - HRESULT ( STDMETHODCALLTYPE *ContinueStatusChanged )( + + DECLSPEC_XFGVIRT(ICorDebugMutableDataTarget, ContinueStatusChanged) + HRESULT ( STDMETHODCALLTYPE *ContinueStatusChanged )( ICorDebugMutableDataTarget * This, /* [in] */ DWORD dwThreadId, /* [in] */ CORDB_CONTINUE_STATUS continueStatus); - + END_INTERFACE } ICorDebugMutableDataTargetVtbl; @@ -3116,108 +3226,112 @@ EXTERN_C const IID IID_ICorDebugMutableDataTarget; CONST_VTBL struct ICorDebugMutableDataTargetVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugMutableDataTarget_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugMutableDataTarget_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugMutableDataTarget_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugMutableDataTarget_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugMutableDataTarget_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugMutableDataTarget_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugMutableDataTarget_GetPlatform(This,pTargetPlatform) \ - ( (This)->lpVtbl -> GetPlatform(This,pTargetPlatform) ) +#define ICorDebugMutableDataTarget_GetPlatform(This,pTargetPlatform) \ + ( (This)->lpVtbl -> GetPlatform(This,pTargetPlatform) ) -#define ICorDebugMutableDataTarget_ReadVirtual(This,address,pBuffer,bytesRequested,pBytesRead) \ - ( (This)->lpVtbl -> ReadVirtual(This,address,pBuffer,bytesRequested,pBytesRead) ) +#define ICorDebugMutableDataTarget_ReadVirtual(This,address,pBuffer,bytesRequested,pBytesRead) \ + ( (This)->lpVtbl -> ReadVirtual(This,address,pBuffer,bytesRequested,pBytesRead) ) -#define ICorDebugMutableDataTarget_GetThreadContext(This,dwThreadID,contextFlags,contextSize,pContext) \ - ( (This)->lpVtbl -> GetThreadContext(This,dwThreadID,contextFlags,contextSize,pContext) ) +#define ICorDebugMutableDataTarget_GetThreadContext(This,dwThreadID,contextFlags,contextSize,pContext) \ + ( (This)->lpVtbl -> GetThreadContext(This,dwThreadID,contextFlags,contextSize,pContext) ) -#define ICorDebugMutableDataTarget_WriteVirtual(This,address,pBuffer,bytesRequested) \ - ( (This)->lpVtbl -> WriteVirtual(This,address,pBuffer,bytesRequested) ) +#define ICorDebugMutableDataTarget_WriteVirtual(This,address,pBuffer,bytesRequested) \ + ( (This)->lpVtbl -> WriteVirtual(This,address,pBuffer,bytesRequested) ) -#define ICorDebugMutableDataTarget_SetThreadContext(This,dwThreadID,contextSize,pContext) \ - ( (This)->lpVtbl -> SetThreadContext(This,dwThreadID,contextSize,pContext) ) +#define ICorDebugMutableDataTarget_SetThreadContext(This,dwThreadID,contextSize,pContext) \ + ( (This)->lpVtbl -> SetThreadContext(This,dwThreadID,contextSize,pContext) ) -#define ICorDebugMutableDataTarget_ContinueStatusChanged(This,dwThreadId,continueStatus) \ - ( (This)->lpVtbl -> ContinueStatusChanged(This,dwThreadId,continueStatus) ) +#define ICorDebugMutableDataTarget_ContinueStatusChanged(This,dwThreadId,continueStatus) \ + ( (This)->lpVtbl -> ContinueStatusChanged(This,dwThreadId,continueStatus) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugMutableDataTarget_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugMutableDataTarget_INTERFACE_DEFINED__ */ #ifndef __ICorDebugMetaDataLocator_INTERFACE_DEFINED__ #define __ICorDebugMetaDataLocator_INTERFACE_DEFINED__ /* interface ICorDebugMetaDataLocator */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugMetaDataLocator; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("7cef8ba9-2ef7-42bf-973f-4171474f87d9") ICorDebugMetaDataLocator : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetMetaData( + virtual HRESULT STDMETHODCALLTYPE GetMetaData( /* [in] */ LPCWSTR wszImagePath, /* [in] */ DWORD dwImageTimeStamp, /* [in] */ DWORD dwImageSize, /* [in] */ ULONG32 cchPathBuffer, - /* [annotation][out] */ + /* [annotation][out] */ _Out_ ULONG32 *pcchPathBuffer, - /* [annotation][length_is][size_is][out] */ + /* [annotation][length_is][size_is][out] */ _Out_writes_to_(cchPathBuffer, *pcchPathBuffer) WCHAR wszPathBuffer[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugMetaDataLocatorVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugMetaDataLocator * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugMetaDataLocator * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugMetaDataLocator * This); - - HRESULT ( STDMETHODCALLTYPE *GetMetaData )( + + DECLSPEC_XFGVIRT(ICorDebugMetaDataLocator, GetMetaData) + HRESULT ( STDMETHODCALLTYPE *GetMetaData )( ICorDebugMetaDataLocator * This, /* [in] */ LPCWSTR wszImagePath, /* [in] */ DWORD dwImageTimeStamp, /* [in] */ DWORD dwImageSize, /* [in] */ ULONG32 cchPathBuffer, - /* [annotation][out] */ + /* [annotation][out] */ _Out_ ULONG32 *pcchPathBuffer, - /* [annotation][length_is][size_is][out] */ + /* [annotation][length_is][size_is][out] */ _Out_writes_to_(cchPathBuffer, *pcchPathBuffer) WCHAR wszPathBuffer[ ]); - + END_INTERFACE } ICorDebugMetaDataLocatorVtbl; @@ -3226,40 +3340,40 @@ EXTERN_C const IID IID_ICorDebugMetaDataLocator; CONST_VTBL struct ICorDebugMetaDataLocatorVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugMetaDataLocator_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugMetaDataLocator_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugMetaDataLocator_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugMetaDataLocator_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugMetaDataLocator_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugMetaDataLocator_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugMetaDataLocator_GetMetaData(This,wszImagePath,dwImageTimeStamp,dwImageSize,cchPathBuffer,pcchPathBuffer,wszPathBuffer) \ - ( (This)->lpVtbl -> GetMetaData(This,wszImagePath,dwImageTimeStamp,dwImageSize,cchPathBuffer,pcchPathBuffer,wszPathBuffer) ) +#define ICorDebugMetaDataLocator_GetMetaData(This,wszImagePath,dwImageTimeStamp,dwImageSize,cchPathBuffer,pcchPathBuffer,wszPathBuffer) \ + ( (This)->lpVtbl -> GetMetaData(This,wszImagePath,dwImageTimeStamp,dwImageSize,cchPathBuffer,pcchPathBuffer,wszPathBuffer) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugMetaDataLocator_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugMetaDataLocator_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0015 */ -/* [local] */ +/* [local] */ #pragma warning(push) -#pragma warning(disable:28718) +#pragma warning(disable:28718) extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0015_v0_0_c_ifspec; @@ -3269,285 +3383,305 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0015_v0_0_s_ifspec; #define __ICorDebugManagedCallback_INTERFACE_DEFINED__ /* interface ICorDebugManagedCallback */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugStepReason { - STEP_NORMAL = 0, - STEP_RETURN = ( STEP_NORMAL + 1 ) , - STEP_CALL = ( STEP_RETURN + 1 ) , - STEP_EXCEPTION_FILTER = ( STEP_CALL + 1 ) , - STEP_EXCEPTION_HANDLER = ( STEP_EXCEPTION_FILTER + 1 ) , - STEP_INTERCEPT = ( STEP_EXCEPTION_HANDLER + 1 ) , - STEP_EXIT = ( STEP_INTERCEPT + 1 ) - } CorDebugStepReason; + STEP_NORMAL = 0, + STEP_RETURN = ( STEP_NORMAL + 1 ) , + STEP_CALL = ( STEP_RETURN + 1 ) , + STEP_EXCEPTION_FILTER = ( STEP_CALL + 1 ) , + STEP_EXCEPTION_HANDLER = ( STEP_EXCEPTION_FILTER + 1 ) , + STEP_INTERCEPT = ( STEP_EXCEPTION_HANDLER + 1 ) , + STEP_EXIT = ( STEP_INTERCEPT + 1 ) + } CorDebugStepReason; -typedef +typedef enum LoggingLevelEnum { - LTraceLevel0 = 0, - LTraceLevel1 = ( LTraceLevel0 + 1 ) , - LTraceLevel2 = ( LTraceLevel1 + 1 ) , - LTraceLevel3 = ( LTraceLevel2 + 1 ) , - LTraceLevel4 = ( LTraceLevel3 + 1 ) , - LStatusLevel0 = 20, - LStatusLevel1 = ( LStatusLevel0 + 1 ) , - LStatusLevel2 = ( LStatusLevel1 + 1 ) , - LStatusLevel3 = ( LStatusLevel2 + 1 ) , - LStatusLevel4 = ( LStatusLevel3 + 1 ) , - LWarningLevel = 40, - LErrorLevel = 50, - LPanicLevel = 100 - } LoggingLevelEnum; - -typedef + LTraceLevel0 = 0, + LTraceLevel1 = ( LTraceLevel0 + 1 ) , + LTraceLevel2 = ( LTraceLevel1 + 1 ) , + LTraceLevel3 = ( LTraceLevel2 + 1 ) , + LTraceLevel4 = ( LTraceLevel3 + 1 ) , + LStatusLevel0 = 20, + LStatusLevel1 = ( LStatusLevel0 + 1 ) , + LStatusLevel2 = ( LStatusLevel1 + 1 ) , + LStatusLevel3 = ( LStatusLevel2 + 1 ) , + LStatusLevel4 = ( LStatusLevel3 + 1 ) , + LWarningLevel = 40, + LErrorLevel = 50, + LPanicLevel = 100 + } LoggingLevelEnum; + +typedef enum LogSwitchCallReason { - SWITCH_CREATE = 0, - SWITCH_MODIFY = ( SWITCH_CREATE + 1 ) , - SWITCH_DELETE = ( SWITCH_MODIFY + 1 ) - } LogSwitchCallReason; + SWITCH_CREATE = 0, + SWITCH_MODIFY = ( SWITCH_CREATE + 1 ) , + SWITCH_DELETE = ( SWITCH_MODIFY + 1 ) + } LogSwitchCallReason; EXTERN_C const IID IID_ICorDebugManagedCallback; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("3d6f5f60-7538-11d3-8d5b-00104b35e7ef") ICorDebugManagedCallback : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Breakpoint( + virtual HRESULT STDMETHODCALLTYPE Breakpoint( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugBreakpoint *pBreakpoint) = 0; - - virtual HRESULT STDMETHODCALLTYPE StepComplete( + + virtual HRESULT STDMETHODCALLTYPE StepComplete( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugStepper *pStepper, /* [in] */ CorDebugStepReason reason) = 0; - - virtual HRESULT STDMETHODCALLTYPE Break( + + virtual HRESULT STDMETHODCALLTYPE Break( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *thread) = 0; - - virtual HRESULT STDMETHODCALLTYPE Exception( + + virtual HRESULT STDMETHODCALLTYPE Exception( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ BOOL unhandled) = 0; - - virtual HRESULT STDMETHODCALLTYPE EvalComplete( + + virtual HRESULT STDMETHODCALLTYPE EvalComplete( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugEval *pEval) = 0; - - virtual HRESULT STDMETHODCALLTYPE EvalException( + + virtual HRESULT STDMETHODCALLTYPE EvalException( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugEval *pEval) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateProcess( + + virtual HRESULT STDMETHODCALLTYPE CreateProcess( /* [in] */ ICorDebugProcess *pProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExitProcess( + + virtual HRESULT STDMETHODCALLTYPE ExitProcess( /* [in] */ ICorDebugProcess *pProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateThread( + + virtual HRESULT STDMETHODCALLTYPE CreateThread( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *thread) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExitThread( + + virtual HRESULT STDMETHODCALLTYPE ExitThread( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *thread) = 0; - - virtual HRESULT STDMETHODCALLTYPE LoadModule( + + virtual HRESULT STDMETHODCALLTYPE LoadModule( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugModule *pModule) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnloadModule( + + virtual HRESULT STDMETHODCALLTYPE UnloadModule( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugModule *pModule) = 0; - - virtual HRESULT STDMETHODCALLTYPE LoadClass( + + virtual HRESULT STDMETHODCALLTYPE LoadClass( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugClass *c) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnloadClass( + + virtual HRESULT STDMETHODCALLTYPE UnloadClass( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugClass *c) = 0; - - virtual HRESULT STDMETHODCALLTYPE DebuggerError( + + virtual HRESULT STDMETHODCALLTYPE DebuggerError( /* [in] */ ICorDebugProcess *pProcess, /* [in] */ HRESULT errorHR, /* [in] */ DWORD errorCode) = 0; - - virtual HRESULT STDMETHODCALLTYPE LogMessage( + + virtual HRESULT STDMETHODCALLTYPE LogMessage( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ LONG lLevel, /* [in] */ WCHAR *pLogSwitchName, /* [in] */ WCHAR *pMessage) = 0; - - virtual HRESULT STDMETHODCALLTYPE LogSwitch( + + virtual HRESULT STDMETHODCALLTYPE LogSwitch( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ LONG lLevel, /* [in] */ ULONG ulReason, /* [in] */ WCHAR *pLogSwitchName, /* [in] */ WCHAR *pParentName) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateAppDomain( + + virtual HRESULT STDMETHODCALLTYPE CreateAppDomain( /* [in] */ ICorDebugProcess *pProcess, /* [in] */ ICorDebugAppDomain *pAppDomain) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExitAppDomain( + + virtual HRESULT STDMETHODCALLTYPE ExitAppDomain( /* [in] */ ICorDebugProcess *pProcess, /* [in] */ ICorDebugAppDomain *pAppDomain) = 0; - - virtual HRESULT STDMETHODCALLTYPE LoadAssembly( + + virtual HRESULT STDMETHODCALLTYPE LoadAssembly( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugAssembly *pAssembly) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnloadAssembly( + + virtual HRESULT STDMETHODCALLTYPE UnloadAssembly( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugAssembly *pAssembly) = 0; - - virtual HRESULT STDMETHODCALLTYPE ControlCTrap( + + virtual HRESULT STDMETHODCALLTYPE ControlCTrap( /* [in] */ ICorDebugProcess *pProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE NameChange( + + virtual HRESULT STDMETHODCALLTYPE NameChange( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread) = 0; - - virtual HRESULT STDMETHODCALLTYPE UpdateModuleSymbols( + + virtual HRESULT STDMETHODCALLTYPE UpdateModuleSymbols( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugModule *pModule, /* [in] */ IStream *pSymbolStream) = 0; - - virtual HRESULT STDMETHODCALLTYPE EditAndContinueRemap( + + virtual HRESULT STDMETHODCALLTYPE EditAndContinueRemap( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugFunction *pFunction, /* [in] */ BOOL fAccurate) = 0; - - virtual HRESULT STDMETHODCALLTYPE BreakpointSetError( + + virtual HRESULT STDMETHODCALLTYPE BreakpointSetError( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugBreakpoint *pBreakpoint, /* [in] */ DWORD dwError) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugManagedCallbackVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugManagedCallback * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugManagedCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugManagedCallback * This); - - HRESULT ( STDMETHODCALLTYPE *Breakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, Breakpoint) + HRESULT ( STDMETHODCALLTYPE *Breakpoint )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugBreakpoint *pBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *StepComplete )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, StepComplete) + HRESULT ( STDMETHODCALLTYPE *StepComplete )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugStepper *pStepper, /* [in] */ CorDebugStepReason reason); - - HRESULT ( STDMETHODCALLTYPE *Break )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, Break) + HRESULT ( STDMETHODCALLTYPE *Break )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *thread); - - HRESULT ( STDMETHODCALLTYPE *Exception )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, Exception) + HRESULT ( STDMETHODCALLTYPE *Exception )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ BOOL unhandled); - - HRESULT ( STDMETHODCALLTYPE *EvalComplete )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, EvalComplete) + HRESULT ( STDMETHODCALLTYPE *EvalComplete )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugEval *pEval); - - HRESULT ( STDMETHODCALLTYPE *EvalException )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, EvalException) + HRESULT ( STDMETHODCALLTYPE *EvalException )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugEval *pEval); - - HRESULT ( STDMETHODCALLTYPE *CreateProcess )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, CreateProcess) + HRESULT ( STDMETHODCALLTYPE *CreateProcess )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugProcess *pProcess); - - HRESULT ( STDMETHODCALLTYPE *ExitProcess )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, ExitProcess) + HRESULT ( STDMETHODCALLTYPE *ExitProcess )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugProcess *pProcess); - - HRESULT ( STDMETHODCALLTYPE *CreateThread )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, CreateThread) + HRESULT ( STDMETHODCALLTYPE *CreateThread )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *thread); - - HRESULT ( STDMETHODCALLTYPE *ExitThread )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, ExitThread) + HRESULT ( STDMETHODCALLTYPE *ExitThread )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *thread); - - HRESULT ( STDMETHODCALLTYPE *LoadModule )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, LoadModule) + HRESULT ( STDMETHODCALLTYPE *LoadModule )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugModule *pModule); - - HRESULT ( STDMETHODCALLTYPE *UnloadModule )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, UnloadModule) + HRESULT ( STDMETHODCALLTYPE *UnloadModule )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugModule *pModule); - - HRESULT ( STDMETHODCALLTYPE *LoadClass )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, LoadClass) + HRESULT ( STDMETHODCALLTYPE *LoadClass )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugClass *c); - - HRESULT ( STDMETHODCALLTYPE *UnloadClass )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, UnloadClass) + HRESULT ( STDMETHODCALLTYPE *UnloadClass )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugClass *c); - - HRESULT ( STDMETHODCALLTYPE *DebuggerError )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, DebuggerError) + HRESULT ( STDMETHODCALLTYPE *DebuggerError )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugProcess *pProcess, /* [in] */ HRESULT errorHR, /* [in] */ DWORD errorCode); - - HRESULT ( STDMETHODCALLTYPE *LogMessage )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, LogMessage) + HRESULT ( STDMETHODCALLTYPE *LogMessage )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ LONG lLevel, /* [in] */ WCHAR *pLogSwitchName, /* [in] */ WCHAR *pMessage); - - HRESULT ( STDMETHODCALLTYPE *LogSwitch )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, LogSwitch) + HRESULT ( STDMETHODCALLTYPE *LogSwitch )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, @@ -3555,56 +3689,65 @@ EXTERN_C const IID IID_ICorDebugManagedCallback; /* [in] */ ULONG ulReason, /* [in] */ WCHAR *pLogSwitchName, /* [in] */ WCHAR *pParentName); - - HRESULT ( STDMETHODCALLTYPE *CreateAppDomain )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, CreateAppDomain) + HRESULT ( STDMETHODCALLTYPE *CreateAppDomain )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugProcess *pProcess, /* [in] */ ICorDebugAppDomain *pAppDomain); - - HRESULT ( STDMETHODCALLTYPE *ExitAppDomain )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, ExitAppDomain) + HRESULT ( STDMETHODCALLTYPE *ExitAppDomain )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugProcess *pProcess, /* [in] */ ICorDebugAppDomain *pAppDomain); - - HRESULT ( STDMETHODCALLTYPE *LoadAssembly )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, LoadAssembly) + HRESULT ( STDMETHODCALLTYPE *LoadAssembly )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugAssembly *pAssembly); - - HRESULT ( STDMETHODCALLTYPE *UnloadAssembly )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, UnloadAssembly) + HRESULT ( STDMETHODCALLTYPE *UnloadAssembly )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugAssembly *pAssembly); - - HRESULT ( STDMETHODCALLTYPE *ControlCTrap )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, ControlCTrap) + HRESULT ( STDMETHODCALLTYPE *ControlCTrap )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugProcess *pProcess); - - HRESULT ( STDMETHODCALLTYPE *NameChange )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, NameChange) + HRESULT ( STDMETHODCALLTYPE *NameChange )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread); - - HRESULT ( STDMETHODCALLTYPE *UpdateModuleSymbols )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, UpdateModuleSymbols) + HRESULT ( STDMETHODCALLTYPE *UpdateModuleSymbols )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugModule *pModule, /* [in] */ IStream *pSymbolStream); - - HRESULT ( STDMETHODCALLTYPE *EditAndContinueRemap )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, EditAndContinueRemap) + HRESULT ( STDMETHODCALLTYPE *EditAndContinueRemap )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugFunction *pFunction, /* [in] */ BOOL fAccurate); - - HRESULT ( STDMETHODCALLTYPE *BreakpointSetError )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback, BreakpointSetError) + HRESULT ( STDMETHODCALLTYPE *BreakpointSetError )( ICorDebugManagedCallback * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugBreakpoint *pBreakpoint, /* [in] */ DWORD dwError); - + END_INTERFACE } ICorDebugManagedCallbackVtbl; @@ -3613,112 +3756,112 @@ EXTERN_C const IID IID_ICorDebugManagedCallback; CONST_VTBL struct ICorDebugManagedCallbackVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugManagedCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugManagedCallback_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugManagedCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugManagedCallback_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugManagedCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugManagedCallback_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugManagedCallback_Breakpoint(This,pAppDomain,pThread,pBreakpoint) \ - ( (This)->lpVtbl -> Breakpoint(This,pAppDomain,pThread,pBreakpoint) ) +#define ICorDebugManagedCallback_Breakpoint(This,pAppDomain,pThread,pBreakpoint) \ + ( (This)->lpVtbl -> Breakpoint(This,pAppDomain,pThread,pBreakpoint) ) -#define ICorDebugManagedCallback_StepComplete(This,pAppDomain,pThread,pStepper,reason) \ - ( (This)->lpVtbl -> StepComplete(This,pAppDomain,pThread,pStepper,reason) ) +#define ICorDebugManagedCallback_StepComplete(This,pAppDomain,pThread,pStepper,reason) \ + ( (This)->lpVtbl -> StepComplete(This,pAppDomain,pThread,pStepper,reason) ) -#define ICorDebugManagedCallback_Break(This,pAppDomain,thread) \ - ( (This)->lpVtbl -> Break(This,pAppDomain,thread) ) +#define ICorDebugManagedCallback_Break(This,pAppDomain,thread) \ + ( (This)->lpVtbl -> Break(This,pAppDomain,thread) ) -#define ICorDebugManagedCallback_Exception(This,pAppDomain,pThread,unhandled) \ - ( (This)->lpVtbl -> Exception(This,pAppDomain,pThread,unhandled) ) +#define ICorDebugManagedCallback_Exception(This,pAppDomain,pThread,unhandled) \ + ( (This)->lpVtbl -> Exception(This,pAppDomain,pThread,unhandled) ) -#define ICorDebugManagedCallback_EvalComplete(This,pAppDomain,pThread,pEval) \ - ( (This)->lpVtbl -> EvalComplete(This,pAppDomain,pThread,pEval) ) +#define ICorDebugManagedCallback_EvalComplete(This,pAppDomain,pThread,pEval) \ + ( (This)->lpVtbl -> EvalComplete(This,pAppDomain,pThread,pEval) ) -#define ICorDebugManagedCallback_EvalException(This,pAppDomain,pThread,pEval) \ - ( (This)->lpVtbl -> EvalException(This,pAppDomain,pThread,pEval) ) +#define ICorDebugManagedCallback_EvalException(This,pAppDomain,pThread,pEval) \ + ( (This)->lpVtbl -> EvalException(This,pAppDomain,pThread,pEval) ) -#define ICorDebugManagedCallback_CreateProcess(This,pProcess) \ - ( (This)->lpVtbl -> CreateProcess(This,pProcess) ) +#define ICorDebugManagedCallback_CreateProcess(This,pProcess) \ + ( (This)->lpVtbl -> CreateProcess(This,pProcess) ) -#define ICorDebugManagedCallback_ExitProcess(This,pProcess) \ - ( (This)->lpVtbl -> ExitProcess(This,pProcess) ) +#define ICorDebugManagedCallback_ExitProcess(This,pProcess) \ + ( (This)->lpVtbl -> ExitProcess(This,pProcess) ) -#define ICorDebugManagedCallback_CreateThread(This,pAppDomain,thread) \ - ( (This)->lpVtbl -> CreateThread(This,pAppDomain,thread) ) +#define ICorDebugManagedCallback_CreateThread(This,pAppDomain,thread) \ + ( (This)->lpVtbl -> CreateThread(This,pAppDomain,thread) ) -#define ICorDebugManagedCallback_ExitThread(This,pAppDomain,thread) \ - ( (This)->lpVtbl -> ExitThread(This,pAppDomain,thread) ) +#define ICorDebugManagedCallback_ExitThread(This,pAppDomain,thread) \ + ( (This)->lpVtbl -> ExitThread(This,pAppDomain,thread) ) -#define ICorDebugManagedCallback_LoadModule(This,pAppDomain,pModule) \ - ( (This)->lpVtbl -> LoadModule(This,pAppDomain,pModule) ) +#define ICorDebugManagedCallback_LoadModule(This,pAppDomain,pModule) \ + ( (This)->lpVtbl -> LoadModule(This,pAppDomain,pModule) ) -#define ICorDebugManagedCallback_UnloadModule(This,pAppDomain,pModule) \ - ( (This)->lpVtbl -> UnloadModule(This,pAppDomain,pModule) ) +#define ICorDebugManagedCallback_UnloadModule(This,pAppDomain,pModule) \ + ( (This)->lpVtbl -> UnloadModule(This,pAppDomain,pModule) ) -#define ICorDebugManagedCallback_LoadClass(This,pAppDomain,c) \ - ( (This)->lpVtbl -> LoadClass(This,pAppDomain,c) ) +#define ICorDebugManagedCallback_LoadClass(This,pAppDomain,c) \ + ( (This)->lpVtbl -> LoadClass(This,pAppDomain,c) ) -#define ICorDebugManagedCallback_UnloadClass(This,pAppDomain,c) \ - ( (This)->lpVtbl -> UnloadClass(This,pAppDomain,c) ) +#define ICorDebugManagedCallback_UnloadClass(This,pAppDomain,c) \ + ( (This)->lpVtbl -> UnloadClass(This,pAppDomain,c) ) -#define ICorDebugManagedCallback_DebuggerError(This,pProcess,errorHR,errorCode) \ - ( (This)->lpVtbl -> DebuggerError(This,pProcess,errorHR,errorCode) ) +#define ICorDebugManagedCallback_DebuggerError(This,pProcess,errorHR,errorCode) \ + ( (This)->lpVtbl -> DebuggerError(This,pProcess,errorHR,errorCode) ) -#define ICorDebugManagedCallback_LogMessage(This,pAppDomain,pThread,lLevel,pLogSwitchName,pMessage) \ - ( (This)->lpVtbl -> LogMessage(This,pAppDomain,pThread,lLevel,pLogSwitchName,pMessage) ) +#define ICorDebugManagedCallback_LogMessage(This,pAppDomain,pThread,lLevel,pLogSwitchName,pMessage) \ + ( (This)->lpVtbl -> LogMessage(This,pAppDomain,pThread,lLevel,pLogSwitchName,pMessage) ) -#define ICorDebugManagedCallback_LogSwitch(This,pAppDomain,pThread,lLevel,ulReason,pLogSwitchName,pParentName) \ - ( (This)->lpVtbl -> LogSwitch(This,pAppDomain,pThread,lLevel,ulReason,pLogSwitchName,pParentName) ) +#define ICorDebugManagedCallback_LogSwitch(This,pAppDomain,pThread,lLevel,ulReason,pLogSwitchName,pParentName) \ + ( (This)->lpVtbl -> LogSwitch(This,pAppDomain,pThread,lLevel,ulReason,pLogSwitchName,pParentName) ) -#define ICorDebugManagedCallback_CreateAppDomain(This,pProcess,pAppDomain) \ - ( (This)->lpVtbl -> CreateAppDomain(This,pProcess,pAppDomain) ) +#define ICorDebugManagedCallback_CreateAppDomain(This,pProcess,pAppDomain) \ + ( (This)->lpVtbl -> CreateAppDomain(This,pProcess,pAppDomain) ) -#define ICorDebugManagedCallback_ExitAppDomain(This,pProcess,pAppDomain) \ - ( (This)->lpVtbl -> ExitAppDomain(This,pProcess,pAppDomain) ) +#define ICorDebugManagedCallback_ExitAppDomain(This,pProcess,pAppDomain) \ + ( (This)->lpVtbl -> ExitAppDomain(This,pProcess,pAppDomain) ) -#define ICorDebugManagedCallback_LoadAssembly(This,pAppDomain,pAssembly) \ - ( (This)->lpVtbl -> LoadAssembly(This,pAppDomain,pAssembly) ) +#define ICorDebugManagedCallback_LoadAssembly(This,pAppDomain,pAssembly) \ + ( (This)->lpVtbl -> LoadAssembly(This,pAppDomain,pAssembly) ) -#define ICorDebugManagedCallback_UnloadAssembly(This,pAppDomain,pAssembly) \ - ( (This)->lpVtbl -> UnloadAssembly(This,pAppDomain,pAssembly) ) +#define ICorDebugManagedCallback_UnloadAssembly(This,pAppDomain,pAssembly) \ + ( (This)->lpVtbl -> UnloadAssembly(This,pAppDomain,pAssembly) ) -#define ICorDebugManagedCallback_ControlCTrap(This,pProcess) \ - ( (This)->lpVtbl -> ControlCTrap(This,pProcess) ) +#define ICorDebugManagedCallback_ControlCTrap(This,pProcess) \ + ( (This)->lpVtbl -> ControlCTrap(This,pProcess) ) -#define ICorDebugManagedCallback_NameChange(This,pAppDomain,pThread) \ - ( (This)->lpVtbl -> NameChange(This,pAppDomain,pThread) ) +#define ICorDebugManagedCallback_NameChange(This,pAppDomain,pThread) \ + ( (This)->lpVtbl -> NameChange(This,pAppDomain,pThread) ) -#define ICorDebugManagedCallback_UpdateModuleSymbols(This,pAppDomain,pModule,pSymbolStream) \ - ( (This)->lpVtbl -> UpdateModuleSymbols(This,pAppDomain,pModule,pSymbolStream) ) +#define ICorDebugManagedCallback_UpdateModuleSymbols(This,pAppDomain,pModule,pSymbolStream) \ + ( (This)->lpVtbl -> UpdateModuleSymbols(This,pAppDomain,pModule,pSymbolStream) ) -#define ICorDebugManagedCallback_EditAndContinueRemap(This,pAppDomain,pThread,pFunction,fAccurate) \ - ( (This)->lpVtbl -> EditAndContinueRemap(This,pAppDomain,pThread,pFunction,fAccurate) ) +#define ICorDebugManagedCallback_EditAndContinueRemap(This,pAppDomain,pThread,pFunction,fAccurate) \ + ( (This)->lpVtbl -> EditAndContinueRemap(This,pAppDomain,pThread,pFunction,fAccurate) ) -#define ICorDebugManagedCallback_BreakpointSetError(This,pAppDomain,pThread,pBreakpoint,dwError) \ - ( (This)->lpVtbl -> BreakpointSetError(This,pAppDomain,pThread,pBreakpoint,dwError) ) +#define ICorDebugManagedCallback_BreakpointSetError(This,pAppDomain,pThread,pBreakpoint,dwError) \ + ( (This)->lpVtbl -> BreakpointSetError(This,pAppDomain,pThread,pBreakpoint,dwError) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugManagedCallback_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugManagedCallback_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0016 */ -/* [local] */ +/* [local] */ #pragma warning(pop) #pragma warning(push) @@ -3731,47 +3874,51 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0016_v0_0_s_ifspec; #define __ICorDebugManagedCallback3_INTERFACE_DEFINED__ /* interface ICorDebugManagedCallback3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugManagedCallback3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("264EA0FC-2591-49AA-868E-835E6515323F") ICorDebugManagedCallback3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CustomNotification( + virtual HRESULT STDMETHODCALLTYPE CustomNotification( /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugAppDomain *pAppDomain) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugManagedCallback3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugManagedCallback3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugManagedCallback3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugManagedCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *CustomNotification )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback3, CustomNotification) + HRESULT ( STDMETHODCALLTYPE *CustomNotification )( ICorDebugManagedCallback3 * This, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugAppDomain *pAppDomain); - + END_INTERFACE } ICorDebugManagedCallback3Vtbl; @@ -3780,98 +3927,104 @@ EXTERN_C const IID IID_ICorDebugManagedCallback3; CONST_VTBL struct ICorDebugManagedCallback3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugManagedCallback3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugManagedCallback3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugManagedCallback3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugManagedCallback3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugManagedCallback3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugManagedCallback3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugManagedCallback3_CustomNotification(This,pThread,pAppDomain) \ - ( (This)->lpVtbl -> CustomNotification(This,pThread,pAppDomain) ) +#define ICorDebugManagedCallback3_CustomNotification(This,pThread,pAppDomain) \ + ( (This)->lpVtbl -> CustomNotification(This,pThread,pAppDomain) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugManagedCallback3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugManagedCallback3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugManagedCallback4_INTERFACE_DEFINED__ #define __ICorDebugManagedCallback4_INTERFACE_DEFINED__ /* interface ICorDebugManagedCallback4 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugManagedCallback4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("322911AE-16A5-49BA-84A3-ED69678138A3") ICorDebugManagedCallback4 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE BeforeGarbageCollection( + virtual HRESULT STDMETHODCALLTYPE BeforeGarbageCollection( /* [in] */ ICorDebugProcess *pProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE AfterGarbageCollection( + + virtual HRESULT STDMETHODCALLTYPE AfterGarbageCollection( /* [in] */ ICorDebugProcess *pProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE DataBreakpoint( + + virtual HRESULT STDMETHODCALLTYPE DataBreakpoint( /* [in] */ ICorDebugProcess *pProcess, /* [in] */ ICorDebugThread *pThread, /* [in] */ BYTE *pContext, /* [in] */ ULONG32 contextSize) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugManagedCallback4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugManagedCallback4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugManagedCallback4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugManagedCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *BeforeGarbageCollection )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback4, BeforeGarbageCollection) + HRESULT ( STDMETHODCALLTYPE *BeforeGarbageCollection )( ICorDebugManagedCallback4 * This, /* [in] */ ICorDebugProcess *pProcess); - - HRESULT ( STDMETHODCALLTYPE *AfterGarbageCollection )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback4, AfterGarbageCollection) + HRESULT ( STDMETHODCALLTYPE *AfterGarbageCollection )( ICorDebugManagedCallback4 * This, /* [in] */ ICorDebugProcess *pProcess); - - HRESULT ( STDMETHODCALLTYPE *DataBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback4, DataBreakpoint) + HRESULT ( STDMETHODCALLTYPE *DataBreakpoint )( ICorDebugManagedCallback4 * This, /* [in] */ ICorDebugProcess *pProcess, /* [in] */ ICorDebugThread *pThread, /* [in] */ BYTE *pContext, /* [in] */ ULONG32 contextSize); - + END_INTERFACE } ICorDebugManagedCallback4Vtbl; @@ -3880,45 +4033,45 @@ EXTERN_C const IID IID_ICorDebugManagedCallback4; CONST_VTBL struct ICorDebugManagedCallback4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugManagedCallback4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugManagedCallback4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugManagedCallback4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugManagedCallback4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugManagedCallback4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugManagedCallback4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugManagedCallback4_BeforeGarbageCollection(This,pProcess) \ - ( (This)->lpVtbl -> BeforeGarbageCollection(This,pProcess) ) +#define ICorDebugManagedCallback4_BeforeGarbageCollection(This,pProcess) \ + ( (This)->lpVtbl -> BeforeGarbageCollection(This,pProcess) ) -#define ICorDebugManagedCallback4_AfterGarbageCollection(This,pProcess) \ - ( (This)->lpVtbl -> AfterGarbageCollection(This,pProcess) ) +#define ICorDebugManagedCallback4_AfterGarbageCollection(This,pProcess) \ + ( (This)->lpVtbl -> AfterGarbageCollection(This,pProcess) ) -#define ICorDebugManagedCallback4_DataBreakpoint(This,pProcess,pThread,pContext,contextSize) \ - ( (This)->lpVtbl -> DataBreakpoint(This,pProcess,pThread,pContext,contextSize) ) +#define ICorDebugManagedCallback4_DataBreakpoint(This,pProcess,pThread,pContext,contextSize) \ + ( (This)->lpVtbl -> DataBreakpoint(This,pProcess,pThread,pContext,contextSize) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugManagedCallback4_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugManagedCallback4_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0018 */ -/* [local] */ +/* [local] */ -#pragma warning(disable:28718) +#pragma warning(disable:28718) extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0018_v0_0_c_ifspec; @@ -3928,130 +4081,138 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0018_v0_0_s_ifspec; #define __ICorDebugManagedCallback2_INTERFACE_DEFINED__ /* interface ICorDebugManagedCallback2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugExceptionCallbackType { - DEBUG_EXCEPTION_FIRST_CHANCE = 1, - DEBUG_EXCEPTION_USER_FIRST_CHANCE = 2, - DEBUG_EXCEPTION_CATCH_HANDLER_FOUND = 3, - DEBUG_EXCEPTION_UNHANDLED = 4 - } CorDebugExceptionCallbackType; + DEBUG_EXCEPTION_FIRST_CHANCE = 1, + DEBUG_EXCEPTION_USER_FIRST_CHANCE = 2, + DEBUG_EXCEPTION_CATCH_HANDLER_FOUND = 3, + DEBUG_EXCEPTION_UNHANDLED = 4 + } CorDebugExceptionCallbackType; -typedef +typedef enum CorDebugExceptionFlags { - DEBUG_EXCEPTION_NONE = 0, - DEBUG_EXCEPTION_CAN_BE_INTERCEPTED = 0x1 - } CorDebugExceptionFlags; + DEBUG_EXCEPTION_NONE = 0, + DEBUG_EXCEPTION_CAN_BE_INTERCEPTED = 0x1 + } CorDebugExceptionFlags; -typedef +typedef enum CorDebugExceptionUnwindCallbackType { - DEBUG_EXCEPTION_UNWIND_BEGIN = 1, - DEBUG_EXCEPTION_INTERCEPTED = 2 - } CorDebugExceptionUnwindCallbackType; + DEBUG_EXCEPTION_UNWIND_BEGIN = 1, + DEBUG_EXCEPTION_INTERCEPTED = 2 + } CorDebugExceptionUnwindCallbackType; EXTERN_C const IID IID_ICorDebugManagedCallback2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("250E5EEA-DB5C-4C76-B6F3-8C46F12E3203") ICorDebugManagedCallback2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE FunctionRemapOpportunity( + virtual HRESULT STDMETHODCALLTYPE FunctionRemapOpportunity( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugFunction *pOldFunction, /* [in] */ ICorDebugFunction *pNewFunction, /* [in] */ ULONG32 oldILOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateConnection( + + virtual HRESULT STDMETHODCALLTYPE CreateConnection( /* [in] */ ICorDebugProcess *pProcess, /* [in] */ CONNID dwConnectionId, /* [in] */ WCHAR *pConnName) = 0; - - virtual HRESULT STDMETHODCALLTYPE ChangeConnection( + + virtual HRESULT STDMETHODCALLTYPE ChangeConnection( /* [in] */ ICorDebugProcess *pProcess, /* [in] */ CONNID dwConnectionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE DestroyConnection( + + virtual HRESULT STDMETHODCALLTYPE DestroyConnection( /* [in] */ ICorDebugProcess *pProcess, /* [in] */ CONNID dwConnectionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE Exception( + + virtual HRESULT STDMETHODCALLTYPE Exception( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugFrame *pFrame, /* [in] */ ULONG32 nOffset, /* [in] */ CorDebugExceptionCallbackType dwEventType, /* [in] */ DWORD dwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionUnwind( + + virtual HRESULT STDMETHODCALLTYPE ExceptionUnwind( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ CorDebugExceptionUnwindCallbackType dwEventType, /* [in] */ DWORD dwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE FunctionRemapComplete( + + virtual HRESULT STDMETHODCALLTYPE FunctionRemapComplete( /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugFunction *pFunction) = 0; - - virtual HRESULT STDMETHODCALLTYPE MDANotification( + + virtual HRESULT STDMETHODCALLTYPE MDANotification( /* [in] */ ICorDebugController *pController, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugMDA *pMDA) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugManagedCallback2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugManagedCallback2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugManagedCallback2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugManagedCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *FunctionRemapOpportunity )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback2, FunctionRemapOpportunity) + HRESULT ( STDMETHODCALLTYPE *FunctionRemapOpportunity )( ICorDebugManagedCallback2 * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugFunction *pOldFunction, /* [in] */ ICorDebugFunction *pNewFunction, /* [in] */ ULONG32 oldILOffset); - - HRESULT ( STDMETHODCALLTYPE *CreateConnection )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback2, CreateConnection) + HRESULT ( STDMETHODCALLTYPE *CreateConnection )( ICorDebugManagedCallback2 * This, /* [in] */ ICorDebugProcess *pProcess, /* [in] */ CONNID dwConnectionId, /* [in] */ WCHAR *pConnName); - - HRESULT ( STDMETHODCALLTYPE *ChangeConnection )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback2, ChangeConnection) + HRESULT ( STDMETHODCALLTYPE *ChangeConnection )( ICorDebugManagedCallback2 * This, /* [in] */ ICorDebugProcess *pProcess, /* [in] */ CONNID dwConnectionId); - - HRESULT ( STDMETHODCALLTYPE *DestroyConnection )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback2, DestroyConnection) + HRESULT ( STDMETHODCALLTYPE *DestroyConnection )( ICorDebugManagedCallback2 * This, /* [in] */ ICorDebugProcess *pProcess, /* [in] */ CONNID dwConnectionId); - - HRESULT ( STDMETHODCALLTYPE *Exception )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback2, Exception) + HRESULT ( STDMETHODCALLTYPE *Exception )( ICorDebugManagedCallback2 * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, @@ -4059,26 +4220,29 @@ EXTERN_C const IID IID_ICorDebugManagedCallback2; /* [in] */ ULONG32 nOffset, /* [in] */ CorDebugExceptionCallbackType dwEventType, /* [in] */ DWORD dwFlags); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwind )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback2, ExceptionUnwind) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwind )( ICorDebugManagedCallback2 * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ CorDebugExceptionUnwindCallbackType dwEventType, /* [in] */ DWORD dwFlags); - - HRESULT ( STDMETHODCALLTYPE *FunctionRemapComplete )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback2, FunctionRemapComplete) + HRESULT ( STDMETHODCALLTYPE *FunctionRemapComplete )( ICorDebugManagedCallback2 * This, /* [in] */ ICorDebugAppDomain *pAppDomain, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugFunction *pFunction); - - HRESULT ( STDMETHODCALLTYPE *MDANotification )( + + DECLSPEC_XFGVIRT(ICorDebugManagedCallback2, MDANotification) + HRESULT ( STDMETHODCALLTYPE *MDANotification )( ICorDebugManagedCallback2 * This, /* [in] */ ICorDebugController *pController, /* [in] */ ICorDebugThread *pThread, /* [in] */ ICorDebugMDA *pMDA); - + END_INTERFACE } ICorDebugManagedCallback2Vtbl; @@ -4087,58 +4251,58 @@ EXTERN_C const IID IID_ICorDebugManagedCallback2; CONST_VTBL struct ICorDebugManagedCallback2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugManagedCallback2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugManagedCallback2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugManagedCallback2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugManagedCallback2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugManagedCallback2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugManagedCallback2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugManagedCallback2_FunctionRemapOpportunity(This,pAppDomain,pThread,pOldFunction,pNewFunction,oldILOffset) \ - ( (This)->lpVtbl -> FunctionRemapOpportunity(This,pAppDomain,pThread,pOldFunction,pNewFunction,oldILOffset) ) +#define ICorDebugManagedCallback2_FunctionRemapOpportunity(This,pAppDomain,pThread,pOldFunction,pNewFunction,oldILOffset) \ + ( (This)->lpVtbl -> FunctionRemapOpportunity(This,pAppDomain,pThread,pOldFunction,pNewFunction,oldILOffset) ) -#define ICorDebugManagedCallback2_CreateConnection(This,pProcess,dwConnectionId,pConnName) \ - ( (This)->lpVtbl -> CreateConnection(This,pProcess,dwConnectionId,pConnName) ) +#define ICorDebugManagedCallback2_CreateConnection(This,pProcess,dwConnectionId,pConnName) \ + ( (This)->lpVtbl -> CreateConnection(This,pProcess,dwConnectionId,pConnName) ) -#define ICorDebugManagedCallback2_ChangeConnection(This,pProcess,dwConnectionId) \ - ( (This)->lpVtbl -> ChangeConnection(This,pProcess,dwConnectionId) ) +#define ICorDebugManagedCallback2_ChangeConnection(This,pProcess,dwConnectionId) \ + ( (This)->lpVtbl -> ChangeConnection(This,pProcess,dwConnectionId) ) -#define ICorDebugManagedCallback2_DestroyConnection(This,pProcess,dwConnectionId) \ - ( (This)->lpVtbl -> DestroyConnection(This,pProcess,dwConnectionId) ) +#define ICorDebugManagedCallback2_DestroyConnection(This,pProcess,dwConnectionId) \ + ( (This)->lpVtbl -> DestroyConnection(This,pProcess,dwConnectionId) ) -#define ICorDebugManagedCallback2_Exception(This,pAppDomain,pThread,pFrame,nOffset,dwEventType,dwFlags) \ - ( (This)->lpVtbl -> Exception(This,pAppDomain,pThread,pFrame,nOffset,dwEventType,dwFlags) ) +#define ICorDebugManagedCallback2_Exception(This,pAppDomain,pThread,pFrame,nOffset,dwEventType,dwFlags) \ + ( (This)->lpVtbl -> Exception(This,pAppDomain,pThread,pFrame,nOffset,dwEventType,dwFlags) ) -#define ICorDebugManagedCallback2_ExceptionUnwind(This,pAppDomain,pThread,dwEventType,dwFlags) \ - ( (This)->lpVtbl -> ExceptionUnwind(This,pAppDomain,pThread,dwEventType,dwFlags) ) +#define ICorDebugManagedCallback2_ExceptionUnwind(This,pAppDomain,pThread,dwEventType,dwFlags) \ + ( (This)->lpVtbl -> ExceptionUnwind(This,pAppDomain,pThread,dwEventType,dwFlags) ) -#define ICorDebugManagedCallback2_FunctionRemapComplete(This,pAppDomain,pThread,pFunction) \ - ( (This)->lpVtbl -> FunctionRemapComplete(This,pAppDomain,pThread,pFunction) ) +#define ICorDebugManagedCallback2_FunctionRemapComplete(This,pAppDomain,pThread,pFunction) \ + ( (This)->lpVtbl -> FunctionRemapComplete(This,pAppDomain,pThread,pFunction) ) -#define ICorDebugManagedCallback2_MDANotification(This,pController,pThread,pMDA) \ - ( (This)->lpVtbl -> MDANotification(This,pController,pThread,pMDA) ) +#define ICorDebugManagedCallback2_MDANotification(This,pController,pThread,pMDA) \ + ( (This)->lpVtbl -> MDANotification(This,pController,pThread,pMDA) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugManagedCallback2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugManagedCallback2_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0019 */ -/* [local] */ +/* [local] */ #pragma warning(pop) @@ -4150,47 +4314,51 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0019_v0_0_s_ifspec; #define __ICorDebugUnmanagedCallback_INTERFACE_DEFINED__ /* interface ICorDebugUnmanagedCallback */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugUnmanagedCallback; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("5263E909-8CB5-11d3-BD2F-0000F80849BD") ICorDebugUnmanagedCallback : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE DebugEvent( + virtual HRESULT STDMETHODCALLTYPE DebugEvent( /* [in] */ LPDEBUG_EVENT pDebugEvent, /* [in] */ BOOL fOutOfBand) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugUnmanagedCallbackVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugUnmanagedCallback * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugUnmanagedCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugUnmanagedCallback * This); - - HRESULT ( STDMETHODCALLTYPE *DebugEvent )( + + DECLSPEC_XFGVIRT(ICorDebugUnmanagedCallback, DebugEvent) + HRESULT ( STDMETHODCALLTYPE *DebugEvent )( ICorDebugUnmanagedCallback * This, /* [in] */ LPDEBUG_EVENT pDebugEvent, /* [in] */ BOOL fOutOfBand); - + END_INTERFACE } ICorDebugUnmanagedCallbackVtbl; @@ -4199,54 +4367,54 @@ EXTERN_C const IID IID_ICorDebugUnmanagedCallback; CONST_VTBL struct ICorDebugUnmanagedCallbackVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugUnmanagedCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugUnmanagedCallback_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugUnmanagedCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugUnmanagedCallback_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugUnmanagedCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugUnmanagedCallback_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugUnmanagedCallback_DebugEvent(This,pDebugEvent,fOutOfBand) \ - ( (This)->lpVtbl -> DebugEvent(This,pDebugEvent,fOutOfBand) ) +#define ICorDebugUnmanagedCallback_DebugEvent(This,pDebugEvent,fOutOfBand) \ + ( (This)->lpVtbl -> DebugEvent(This,pDebugEvent,fOutOfBand) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugUnmanagedCallback_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugUnmanagedCallback_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0020 */ -/* [local] */ +/* [local] */ -typedef +typedef enum CorDebugCreateProcessFlags { - DEBUG_NO_SPECIAL_OPTIONS = 0 - } CorDebugCreateProcessFlags; + DEBUG_NO_SPECIAL_OPTIONS = 0 + } CorDebugCreateProcessFlags; -typedef +typedef enum CorDebugHandleType { - HANDLE_STRONG = 1, - HANDLE_WEAK_TRACK_RESURRECTION = 2, - HANDLE_PINNED = 3 - } CorDebugHandleType; + HANDLE_STRONG = 1, + HANDLE_WEAK_TRACK_RESURRECTION = 2, + HANDLE_PINNED = 3 + } CorDebugHandleType; #pragma warning(push) -#pragma warning(disable:28718) +#pragma warning(disable:28718) extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0020_v0_0_c_ifspec; @@ -4256,28 +4424,28 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0020_v0_0_s_ifspec; #define __ICorDebug_INTERFACE_DEFINED__ /* interface ICorDebug */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebug; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("3d6f5f61-7538-11d3-8d5b-00104b35e7ef") ICorDebug : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE Terminate( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetManagedHandler( + + virtual HRESULT STDMETHODCALLTYPE SetManagedHandler( /* [in] */ ICorDebugManagedCallback *pCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetUnmanagedHandler( + + virtual HRESULT STDMETHODCALLTYPE SetUnmanagedHandler( /* [in] */ ICorDebugUnmanagedCallback *pCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateProcess( + + virtual HRESULT STDMETHODCALLTYPE CreateProcess( /* [in] */ LPCWSTR lpApplicationName, /* [in] */ LPWSTR lpCommandLine, /* [in] */ LPSECURITY_ATTRIBUTES lpProcessAttributes, @@ -4290,59 +4458,67 @@ EXTERN_C const IID IID_ICorDebug; /* [in] */ LPPROCESS_INFORMATION lpProcessInformation, /* [in] */ CorDebugCreateProcessFlags debuggingFlags, /* [out] */ ICorDebugProcess **ppProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE DebugActiveProcess( + + virtual HRESULT STDMETHODCALLTYPE DebugActiveProcess( /* [in] */ DWORD id, /* [in] */ BOOL win32Attach, /* [out] */ ICorDebugProcess **ppProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateProcesses( + + virtual HRESULT STDMETHODCALLTYPE EnumerateProcesses( /* [out] */ ICorDebugProcessEnum **ppProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetProcess( + + virtual HRESULT STDMETHODCALLTYPE GetProcess( /* [in] */ DWORD dwProcessId, /* [out] */ ICorDebugProcess **ppProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE CanLaunchOrAttach( + + virtual HRESULT STDMETHODCALLTYPE CanLaunchOrAttach( /* [in] */ DWORD dwProcessId, /* [in] */ BOOL win32DebuggingEnabled) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebug * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebug * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebug * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorDebug, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorDebug * This); - - HRESULT ( STDMETHODCALLTYPE *Terminate )( + + DECLSPEC_XFGVIRT(ICorDebug, Terminate) + HRESULT ( STDMETHODCALLTYPE *Terminate )( ICorDebug * This); - - HRESULT ( STDMETHODCALLTYPE *SetManagedHandler )( + + DECLSPEC_XFGVIRT(ICorDebug, SetManagedHandler) + HRESULT ( STDMETHODCALLTYPE *SetManagedHandler )( ICorDebug * This, /* [in] */ ICorDebugManagedCallback *pCallback); - - HRESULT ( STDMETHODCALLTYPE *SetUnmanagedHandler )( + + DECLSPEC_XFGVIRT(ICorDebug, SetUnmanagedHandler) + HRESULT ( STDMETHODCALLTYPE *SetUnmanagedHandler )( ICorDebug * This, /* [in] */ ICorDebugUnmanagedCallback *pCallback); - - HRESULT ( STDMETHODCALLTYPE *CreateProcess )( + + DECLSPEC_XFGVIRT(ICorDebug, CreateProcess) + HRESULT ( STDMETHODCALLTYPE *CreateProcess )( ICorDebug * This, /* [in] */ LPCWSTR lpApplicationName, /* [in] */ LPWSTR lpCommandLine, @@ -4356,27 +4532,31 @@ EXTERN_C const IID IID_ICorDebug; /* [in] */ LPPROCESS_INFORMATION lpProcessInformation, /* [in] */ CorDebugCreateProcessFlags debuggingFlags, /* [out] */ ICorDebugProcess **ppProcess); - - HRESULT ( STDMETHODCALLTYPE *DebugActiveProcess )( + + DECLSPEC_XFGVIRT(ICorDebug, DebugActiveProcess) + HRESULT ( STDMETHODCALLTYPE *DebugActiveProcess )( ICorDebug * This, /* [in] */ DWORD id, /* [in] */ BOOL win32Attach, /* [out] */ ICorDebugProcess **ppProcess); - - HRESULT ( STDMETHODCALLTYPE *EnumerateProcesses )( + + DECLSPEC_XFGVIRT(ICorDebug, EnumerateProcesses) + HRESULT ( STDMETHODCALLTYPE *EnumerateProcesses )( ICorDebug * This, /* [out] */ ICorDebugProcessEnum **ppProcess); - - HRESULT ( STDMETHODCALLTYPE *GetProcess )( + + DECLSPEC_XFGVIRT(ICorDebug, GetProcess) + HRESULT ( STDMETHODCALLTYPE *GetProcess )( ICorDebug * This, /* [in] */ DWORD dwProcessId, /* [out] */ ICorDebugProcess **ppProcess); - - HRESULT ( STDMETHODCALLTYPE *CanLaunchOrAttach )( + + DECLSPEC_XFGVIRT(ICorDebug, CanLaunchOrAttach) + HRESULT ( STDMETHODCALLTYPE *CanLaunchOrAttach )( ICorDebug * This, /* [in] */ DWORD dwProcessId, /* [in] */ BOOL win32DebuggingEnabled); - + END_INTERFACE } ICorDebugVtbl; @@ -4385,61 +4565,61 @@ EXTERN_C const IID IID_ICorDebug; CONST_VTBL struct ICorDebugVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebug_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebug_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebug_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebug_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebug_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebug_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebug_Initialize(This) \ - ( (This)->lpVtbl -> Initialize(This) ) +#define ICorDebug_Initialize(This) \ + ( (This)->lpVtbl -> Initialize(This) ) -#define ICorDebug_Terminate(This) \ - ( (This)->lpVtbl -> Terminate(This) ) +#define ICorDebug_Terminate(This) \ + ( (This)->lpVtbl -> Terminate(This) ) -#define ICorDebug_SetManagedHandler(This,pCallback) \ - ( (This)->lpVtbl -> SetManagedHandler(This,pCallback) ) +#define ICorDebug_SetManagedHandler(This,pCallback) \ + ( (This)->lpVtbl -> SetManagedHandler(This,pCallback) ) -#define ICorDebug_SetUnmanagedHandler(This,pCallback) \ - ( (This)->lpVtbl -> SetUnmanagedHandler(This,pCallback) ) +#define ICorDebug_SetUnmanagedHandler(This,pCallback) \ + ( (This)->lpVtbl -> SetUnmanagedHandler(This,pCallback) ) -#define ICorDebug_CreateProcess(This,lpApplicationName,lpCommandLine,lpProcessAttributes,lpThreadAttributes,bInheritHandles,dwCreationFlags,lpEnvironment,lpCurrentDirectory,lpStartupInfo,lpProcessInformation,debuggingFlags,ppProcess) \ - ( (This)->lpVtbl -> CreateProcess(This,lpApplicationName,lpCommandLine,lpProcessAttributes,lpThreadAttributes,bInheritHandles,dwCreationFlags,lpEnvironment,lpCurrentDirectory,lpStartupInfo,lpProcessInformation,debuggingFlags,ppProcess) ) +#define ICorDebug_CreateProcess(This,lpApplicationName,lpCommandLine,lpProcessAttributes,lpThreadAttributes,bInheritHandles,dwCreationFlags,lpEnvironment,lpCurrentDirectory,lpStartupInfo,lpProcessInformation,debuggingFlags,ppProcess) \ + ( (This)->lpVtbl -> CreateProcess(This,lpApplicationName,lpCommandLine,lpProcessAttributes,lpThreadAttributes,bInheritHandles,dwCreationFlags,lpEnvironment,lpCurrentDirectory,lpStartupInfo,lpProcessInformation,debuggingFlags,ppProcess) ) -#define ICorDebug_DebugActiveProcess(This,id,win32Attach,ppProcess) \ - ( (This)->lpVtbl -> DebugActiveProcess(This,id,win32Attach,ppProcess) ) +#define ICorDebug_DebugActiveProcess(This,id,win32Attach,ppProcess) \ + ( (This)->lpVtbl -> DebugActiveProcess(This,id,win32Attach,ppProcess) ) -#define ICorDebug_EnumerateProcesses(This,ppProcess) \ - ( (This)->lpVtbl -> EnumerateProcesses(This,ppProcess) ) +#define ICorDebug_EnumerateProcesses(This,ppProcess) \ + ( (This)->lpVtbl -> EnumerateProcesses(This,ppProcess) ) -#define ICorDebug_GetProcess(This,dwProcessId,ppProcess) \ - ( (This)->lpVtbl -> GetProcess(This,dwProcessId,ppProcess) ) +#define ICorDebug_GetProcess(This,dwProcessId,ppProcess) \ + ( (This)->lpVtbl -> GetProcess(This,dwProcessId,ppProcess) ) -#define ICorDebug_CanLaunchOrAttach(This,dwProcessId,win32DebuggingEnabled) \ - ( (This)->lpVtbl -> CanLaunchOrAttach(This,dwProcessId,win32DebuggingEnabled) ) +#define ICorDebug_CanLaunchOrAttach(This,dwProcessId,win32DebuggingEnabled) \ + ( (This)->lpVtbl -> CanLaunchOrAttach(This,dwProcessId,win32DebuggingEnabled) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebug_INTERFACE_DEFINED__ */ +#endif /* __ICorDebug_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0021 */ -/* [local] */ +/* [local] */ #pragma warning(pop) @@ -4451,53 +4631,57 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0021_v0_0_s_ifspec; #define __ICorDebugRemoteTarget_INTERFACE_DEFINED__ /* interface ICorDebugRemoteTarget */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugRemoteTarget; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("C3ED8383-5A49-4cf5-B4B7-01864D9E582D") ICorDebugRemoteTarget : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetHostName( + virtual HRESULT STDMETHODCALLTYPE GetHostName( /* [in] */ ULONG32 cchHostName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_ ULONG32 *pcchHostName, - /* [annotation][length_is][size_is][out] */ + /* [annotation][length_is][size_is][out] */ _Out_writes_to_opt_(cchHostName, *pcchHostName) WCHAR szHostName[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugRemoteTargetVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugRemoteTarget * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugRemoteTarget * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugRemoteTarget * This); - - HRESULT ( STDMETHODCALLTYPE *GetHostName )( + + DECLSPEC_XFGVIRT(ICorDebugRemoteTarget, GetHostName) + HRESULT ( STDMETHODCALLTYPE *GetHostName )( ICorDebugRemoteTarget * This, /* [in] */ ULONG32 cchHostName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_ ULONG32 *pcchHostName, - /* [annotation][length_is][size_is][out] */ + /* [annotation][length_is][size_is][out] */ _Out_writes_to_opt_(cchHostName, *pcchHostName) WCHAR szHostName[ ]); - + END_INTERFACE } ICorDebugRemoteTargetVtbl; @@ -4506,54 +4690,54 @@ EXTERN_C const IID IID_ICorDebugRemoteTarget; CONST_VTBL struct ICorDebugRemoteTargetVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugRemoteTarget_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugRemoteTarget_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugRemoteTarget_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugRemoteTarget_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugRemoteTarget_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugRemoteTarget_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugRemoteTarget_GetHostName(This,cchHostName,pcchHostName,szHostName) \ - ( (This)->lpVtbl -> GetHostName(This,cchHostName,pcchHostName,szHostName) ) +#define ICorDebugRemoteTarget_GetHostName(This,cchHostName,pcchHostName,szHostName) \ + ( (This)->lpVtbl -> GetHostName(This,cchHostName,pcchHostName,szHostName) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugRemoteTarget_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugRemoteTarget_INTERFACE_DEFINED__ */ #ifndef __ICorDebugRemote_INTERFACE_DEFINED__ #define __ICorDebugRemote_INTERFACE_DEFINED__ /* interface ICorDebugRemote */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugRemote; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("D5EBB8E2-7BBE-4c1d-98A6-A3C04CBDEF64") ICorDebugRemote : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CreateProcessEx( + virtual HRESULT STDMETHODCALLTYPE CreateProcessEx( /* [in] */ ICorDebugRemoteTarget *pRemoteTarget, /* [in] */ LPCWSTR lpApplicationName, - /* [annotation][in] */ + /* [annotation][in] */ _In_ LPWSTR lpCommandLine, /* [in] */ LPSECURITY_ATTRIBUTES lpProcessAttributes, /* [in] */ LPSECURITY_ATTRIBUTES lpThreadAttributes, @@ -4565,39 +4749,43 @@ EXTERN_C const IID IID_ICorDebugRemote; /* [in] */ LPPROCESS_INFORMATION lpProcessInformation, /* [in] */ CorDebugCreateProcessFlags debuggingFlags, /* [out] */ ICorDebugProcess **ppProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE DebugActiveProcessEx( + + virtual HRESULT STDMETHODCALLTYPE DebugActiveProcessEx( /* [in] */ ICorDebugRemoteTarget *pRemoteTarget, /* [in] */ DWORD dwProcessId, /* [in] */ BOOL fWin32Attach, /* [out] */ ICorDebugProcess **ppProcess) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugRemoteVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugRemote * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugRemote * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugRemote * This); - - HRESULT ( STDMETHODCALLTYPE *CreateProcessEx )( + + DECLSPEC_XFGVIRT(ICorDebugRemote, CreateProcessEx) + HRESULT ( STDMETHODCALLTYPE *CreateProcessEx )( ICorDebugRemote * This, /* [in] */ ICorDebugRemoteTarget *pRemoteTarget, /* [in] */ LPCWSTR lpApplicationName, - /* [annotation][in] */ + /* [annotation][in] */ _In_ LPWSTR lpCommandLine, /* [in] */ LPSECURITY_ATTRIBUTES lpProcessAttributes, /* [in] */ LPSECURITY_ATTRIBUTES lpThreadAttributes, @@ -4609,14 +4797,15 @@ EXTERN_C const IID IID_ICorDebugRemote; /* [in] */ LPPROCESS_INFORMATION lpProcessInformation, /* [in] */ CorDebugCreateProcessFlags debuggingFlags, /* [out] */ ICorDebugProcess **ppProcess); - - HRESULT ( STDMETHODCALLTYPE *DebugActiveProcessEx )( + + DECLSPEC_XFGVIRT(ICorDebugRemote, DebugActiveProcessEx) + HRESULT ( STDMETHODCALLTYPE *DebugActiveProcessEx )( ICorDebugRemote * This, /* [in] */ ICorDebugRemoteTarget *pRemoteTarget, /* [in] */ DWORD dwProcessId, /* [in] */ BOOL fWin32Attach, /* [out] */ ICorDebugProcess **ppProcess); - + END_INTERFACE } ICorDebugRemoteVtbl; @@ -4625,40 +4814,40 @@ EXTERN_C const IID IID_ICorDebugRemote; CONST_VTBL struct ICorDebugRemoteVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugRemote_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugRemote_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugRemote_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugRemote_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugRemote_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugRemote_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugRemote_CreateProcessEx(This,pRemoteTarget,lpApplicationName,lpCommandLine,lpProcessAttributes,lpThreadAttributes,bInheritHandles,dwCreationFlags,lpEnvironment,lpCurrentDirectory,lpStartupInfo,lpProcessInformation,debuggingFlags,ppProcess) \ - ( (This)->lpVtbl -> CreateProcessEx(This,pRemoteTarget,lpApplicationName,lpCommandLine,lpProcessAttributes,lpThreadAttributes,bInheritHandles,dwCreationFlags,lpEnvironment,lpCurrentDirectory,lpStartupInfo,lpProcessInformation,debuggingFlags,ppProcess) ) +#define ICorDebugRemote_CreateProcessEx(This,pRemoteTarget,lpApplicationName,lpCommandLine,lpProcessAttributes,lpThreadAttributes,bInheritHandles,dwCreationFlags,lpEnvironment,lpCurrentDirectory,lpStartupInfo,lpProcessInformation,debuggingFlags,ppProcess) \ + ( (This)->lpVtbl -> CreateProcessEx(This,pRemoteTarget,lpApplicationName,lpCommandLine,lpProcessAttributes,lpThreadAttributes,bInheritHandles,dwCreationFlags,lpEnvironment,lpCurrentDirectory,lpStartupInfo,lpProcessInformation,debuggingFlags,ppProcess) ) -#define ICorDebugRemote_DebugActiveProcessEx(This,pRemoteTarget,dwProcessId,fWin32Attach,ppProcess) \ - ( (This)->lpVtbl -> DebugActiveProcessEx(This,pRemoteTarget,dwProcessId,fWin32Attach,ppProcess) ) +#define ICorDebugRemote_DebugActiveProcessEx(This,pRemoteTarget,dwProcessId,fWin32Attach,ppProcess) \ + ( (This)->lpVtbl -> DebugActiveProcessEx(This,pRemoteTarget,dwProcessId,fWin32Attach,ppProcess) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugRemote_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugRemote_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0023 */ -/* [local] */ +/* [local] */ typedef struct _COR_VERSION { @@ -4666,7 +4855,7 @@ typedef struct _COR_VERSION DWORD dwMinor; DWORD dwBuild; DWORD dwSubBuild; - } COR_VERSION; + } COR_VERSION; @@ -4677,128 +4866,131 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0023_v0_0_s_ifspec; #define __ICorDebug2_INTERFACE_DEFINED__ /* interface ICorDebug2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugInterfaceVersion { - CorDebugInvalidVersion = 0, - CorDebugVersion_1_0 = ( CorDebugInvalidVersion + 1 ) , - ver_ICorDebugManagedCallback = CorDebugVersion_1_0, - ver_ICorDebugUnmanagedCallback = CorDebugVersion_1_0, - ver_ICorDebug = CorDebugVersion_1_0, - ver_ICorDebugController = CorDebugVersion_1_0, - ver_ICorDebugAppDomain = CorDebugVersion_1_0, - ver_ICorDebugAssembly = CorDebugVersion_1_0, - ver_ICorDebugProcess = CorDebugVersion_1_0, - ver_ICorDebugBreakpoint = CorDebugVersion_1_0, - ver_ICorDebugFunctionBreakpoint = CorDebugVersion_1_0, - ver_ICorDebugModuleBreakpoint = CorDebugVersion_1_0, - ver_ICorDebugValueBreakpoint = CorDebugVersion_1_0, - ver_ICorDebugStepper = CorDebugVersion_1_0, - ver_ICorDebugRegisterSet = CorDebugVersion_1_0, - ver_ICorDebugThread = CorDebugVersion_1_0, - ver_ICorDebugChain = CorDebugVersion_1_0, - ver_ICorDebugFrame = CorDebugVersion_1_0, - ver_ICorDebugILFrame = CorDebugVersion_1_0, - ver_ICorDebugNativeFrame = CorDebugVersion_1_0, - ver_ICorDebugModule = CorDebugVersion_1_0, - ver_ICorDebugFunction = CorDebugVersion_1_0, - ver_ICorDebugCode = CorDebugVersion_1_0, - ver_ICorDebugClass = CorDebugVersion_1_0, - ver_ICorDebugEval = CorDebugVersion_1_0, - ver_ICorDebugValue = CorDebugVersion_1_0, - ver_ICorDebugGenericValue = CorDebugVersion_1_0, - ver_ICorDebugReferenceValue = CorDebugVersion_1_0, - ver_ICorDebugHeapValue = CorDebugVersion_1_0, - ver_ICorDebugObjectValue = CorDebugVersion_1_0, - ver_ICorDebugBoxValue = CorDebugVersion_1_0, - ver_ICorDebugStringValue = CorDebugVersion_1_0, - ver_ICorDebugArrayValue = CorDebugVersion_1_0, - ver_ICorDebugContext = CorDebugVersion_1_0, - ver_ICorDebugEnum = CorDebugVersion_1_0, - ver_ICorDebugObjectEnum = CorDebugVersion_1_0, - ver_ICorDebugBreakpointEnum = CorDebugVersion_1_0, - ver_ICorDebugStepperEnum = CorDebugVersion_1_0, - ver_ICorDebugProcessEnum = CorDebugVersion_1_0, - ver_ICorDebugThreadEnum = CorDebugVersion_1_0, - ver_ICorDebugFrameEnum = CorDebugVersion_1_0, - ver_ICorDebugChainEnum = CorDebugVersion_1_0, - ver_ICorDebugModuleEnum = CorDebugVersion_1_0, - ver_ICorDebugValueEnum = CorDebugVersion_1_0, - ver_ICorDebugCodeEnum = CorDebugVersion_1_0, - ver_ICorDebugTypeEnum = CorDebugVersion_1_0, - ver_ICorDebugErrorInfoEnum = CorDebugVersion_1_0, - ver_ICorDebugAppDomainEnum = CorDebugVersion_1_0, - ver_ICorDebugAssemblyEnum = CorDebugVersion_1_0, - ver_ICorDebugEditAndContinueErrorInfo = CorDebugVersion_1_0, - ver_ICorDebugEditAndContinueSnapshot = CorDebugVersion_1_0, - CorDebugVersion_1_1 = ( CorDebugVersion_1_0 + 1 ) , - CorDebugVersion_2_0 = ( CorDebugVersion_1_1 + 1 ) , - ver_ICorDebugManagedCallback2 = CorDebugVersion_2_0, - ver_ICorDebugAppDomain2 = CorDebugVersion_2_0, - ver_ICorDebugAssembly2 = CorDebugVersion_2_0, - ver_ICorDebugProcess2 = CorDebugVersion_2_0, - ver_ICorDebugStepper2 = CorDebugVersion_2_0, - ver_ICorDebugRegisterSet2 = CorDebugVersion_2_0, - ver_ICorDebugThread2 = CorDebugVersion_2_0, - ver_ICorDebugILFrame2 = CorDebugVersion_2_0, - ver_ICorDebugInternalFrame = CorDebugVersion_2_0, - ver_ICorDebugModule2 = CorDebugVersion_2_0, - ver_ICorDebugFunction2 = CorDebugVersion_2_0, - ver_ICorDebugCode2 = CorDebugVersion_2_0, - ver_ICorDebugClass2 = CorDebugVersion_2_0, - ver_ICorDebugValue2 = CorDebugVersion_2_0, - ver_ICorDebugEval2 = CorDebugVersion_2_0, - ver_ICorDebugObjectValue2 = CorDebugVersion_2_0, - CorDebugVersion_4_0 = ( CorDebugVersion_2_0 + 1 ) , - ver_ICorDebugThread3 = CorDebugVersion_4_0, - ver_ICorDebugThread4 = CorDebugVersion_4_0, - ver_ICorDebugStackWalk = CorDebugVersion_4_0, - ver_ICorDebugNativeFrame2 = CorDebugVersion_4_0, - ver_ICorDebugInternalFrame2 = CorDebugVersion_4_0, - ver_ICorDebugRuntimeUnwindableFrame = CorDebugVersion_4_0, - ver_ICorDebugHeapValue3 = CorDebugVersion_4_0, - ver_ICorDebugBlockingObjectEnum = CorDebugVersion_4_0, - ver_ICorDebugValue3 = CorDebugVersion_4_0, - CorDebugVersion_4_5 = ( CorDebugVersion_4_0 + 1 ) , - ver_ICorDebugComObjectValue = CorDebugVersion_4_5, - ver_ICorDebugAppDomain3 = CorDebugVersion_4_5, - ver_ICorDebugCode3 = CorDebugVersion_4_5, - ver_ICorDebugILFrame3 = CorDebugVersion_4_5, - CorDebugLatestVersion = CorDebugVersion_4_5 - } CorDebugInterfaceVersion; + CorDebugInvalidVersion = 0, + CorDebugVersion_1_0 = ( CorDebugInvalidVersion + 1 ) , + ver_ICorDebugManagedCallback = CorDebugVersion_1_0, + ver_ICorDebugUnmanagedCallback = CorDebugVersion_1_0, + ver_ICorDebug = CorDebugVersion_1_0, + ver_ICorDebugController = CorDebugVersion_1_0, + ver_ICorDebugAppDomain = CorDebugVersion_1_0, + ver_ICorDebugAssembly = CorDebugVersion_1_0, + ver_ICorDebugProcess = CorDebugVersion_1_0, + ver_ICorDebugBreakpoint = CorDebugVersion_1_0, + ver_ICorDebugFunctionBreakpoint = CorDebugVersion_1_0, + ver_ICorDebugModuleBreakpoint = CorDebugVersion_1_0, + ver_ICorDebugValueBreakpoint = CorDebugVersion_1_0, + ver_ICorDebugStepper = CorDebugVersion_1_0, + ver_ICorDebugRegisterSet = CorDebugVersion_1_0, + ver_ICorDebugThread = CorDebugVersion_1_0, + ver_ICorDebugChain = CorDebugVersion_1_0, + ver_ICorDebugFrame = CorDebugVersion_1_0, + ver_ICorDebugILFrame = CorDebugVersion_1_0, + ver_ICorDebugNativeFrame = CorDebugVersion_1_0, + ver_ICorDebugModule = CorDebugVersion_1_0, + ver_ICorDebugFunction = CorDebugVersion_1_0, + ver_ICorDebugCode = CorDebugVersion_1_0, + ver_ICorDebugClass = CorDebugVersion_1_0, + ver_ICorDebugEval = CorDebugVersion_1_0, + ver_ICorDebugValue = CorDebugVersion_1_0, + ver_ICorDebugGenericValue = CorDebugVersion_1_0, + ver_ICorDebugReferenceValue = CorDebugVersion_1_0, + ver_ICorDebugHeapValue = CorDebugVersion_1_0, + ver_ICorDebugObjectValue = CorDebugVersion_1_0, + ver_ICorDebugBoxValue = CorDebugVersion_1_0, + ver_ICorDebugStringValue = CorDebugVersion_1_0, + ver_ICorDebugArrayValue = CorDebugVersion_1_0, + ver_ICorDebugContext = CorDebugVersion_1_0, + ver_ICorDebugEnum = CorDebugVersion_1_0, + ver_ICorDebugObjectEnum = CorDebugVersion_1_0, + ver_ICorDebugBreakpointEnum = CorDebugVersion_1_0, + ver_ICorDebugStepperEnum = CorDebugVersion_1_0, + ver_ICorDebugProcessEnum = CorDebugVersion_1_0, + ver_ICorDebugThreadEnum = CorDebugVersion_1_0, + ver_ICorDebugFrameEnum = CorDebugVersion_1_0, + ver_ICorDebugChainEnum = CorDebugVersion_1_0, + ver_ICorDebugModuleEnum = CorDebugVersion_1_0, + ver_ICorDebugValueEnum = CorDebugVersion_1_0, + ver_ICorDebugCodeEnum = CorDebugVersion_1_0, + ver_ICorDebugTypeEnum = CorDebugVersion_1_0, + ver_ICorDebugErrorInfoEnum = CorDebugVersion_1_0, + ver_ICorDebugAppDomainEnum = CorDebugVersion_1_0, + ver_ICorDebugAssemblyEnum = CorDebugVersion_1_0, + ver_ICorDebugEditAndContinueErrorInfo = CorDebugVersion_1_0, + ver_ICorDebugEditAndContinueSnapshot = CorDebugVersion_1_0, + CorDebugVersion_1_1 = ( CorDebugVersion_1_0 + 1 ) , + CorDebugVersion_2_0 = ( CorDebugVersion_1_1 + 1 ) , + ver_ICorDebugManagedCallback2 = CorDebugVersion_2_0, + ver_ICorDebugAppDomain2 = CorDebugVersion_2_0, + ver_ICorDebugAssembly2 = CorDebugVersion_2_0, + ver_ICorDebugProcess2 = CorDebugVersion_2_0, + ver_ICorDebugStepper2 = CorDebugVersion_2_0, + ver_ICorDebugRegisterSet2 = CorDebugVersion_2_0, + ver_ICorDebugThread2 = CorDebugVersion_2_0, + ver_ICorDebugILFrame2 = CorDebugVersion_2_0, + ver_ICorDebugInternalFrame = CorDebugVersion_2_0, + ver_ICorDebugModule2 = CorDebugVersion_2_0, + ver_ICorDebugFunction2 = CorDebugVersion_2_0, + ver_ICorDebugCode2 = CorDebugVersion_2_0, + ver_ICorDebugClass2 = CorDebugVersion_2_0, + ver_ICorDebugValue2 = CorDebugVersion_2_0, + ver_ICorDebugEval2 = CorDebugVersion_2_0, + ver_ICorDebugObjectValue2 = CorDebugVersion_2_0, + CorDebugVersion_4_0 = ( CorDebugVersion_2_0 + 1 ) , + ver_ICorDebugThread3 = CorDebugVersion_4_0, + ver_ICorDebugThread4 = CorDebugVersion_4_0, + ver_ICorDebugStackWalk = CorDebugVersion_4_0, + ver_ICorDebugNativeFrame2 = CorDebugVersion_4_0, + ver_ICorDebugInternalFrame2 = CorDebugVersion_4_0, + ver_ICorDebugRuntimeUnwindableFrame = CorDebugVersion_4_0, + ver_ICorDebugHeapValue3 = CorDebugVersion_4_0, + ver_ICorDebugBlockingObjectEnum = CorDebugVersion_4_0, + ver_ICorDebugValue3 = CorDebugVersion_4_0, + CorDebugVersion_4_5 = ( CorDebugVersion_4_0 + 1 ) , + ver_ICorDebugComObjectValue = CorDebugVersion_4_5, + ver_ICorDebugAppDomain3 = CorDebugVersion_4_5, + ver_ICorDebugCode3 = CorDebugVersion_4_5, + ver_ICorDebugILFrame3 = CorDebugVersion_4_5, + CorDebugLatestVersion = CorDebugVersion_4_5 + } CorDebugInterfaceVersion; EXTERN_C const IID IID_ICorDebug2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("ECCCCF2E-B286-4b3e-A983-860A8793D105") ICorDebug2 : public IUnknown { public: }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebug2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebug2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebug2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebug2 * This); - + END_INTERFACE } ICorDebug2Vtbl; @@ -4807,41 +4999,41 @@ EXTERN_C const IID IID_ICorDebug2; CONST_VTBL struct ICorDebug2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebug2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebug2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebug2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebug2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebug2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebug2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebug2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebug2_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0024 */ -/* [local] */ +/* [local] */ -typedef +typedef enum CorDebugThreadState { - THREAD_RUN = 0, - THREAD_SUSPEND = ( THREAD_RUN + 1 ) - } CorDebugThreadState; + THREAD_RUN = 0, + THREAD_SUSPEND = ( THREAD_RUN + 1 ) + } CorDebugThreadState; @@ -4852,118 +5044,131 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0024_v0_0_s_ifspec; #define __ICorDebugController_INTERFACE_DEFINED__ /* interface ICorDebugController */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugController; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("3d6f5f62-7538-11d3-8d5b-00104b35e7ef") ICorDebugController : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Stop( + virtual HRESULT STDMETHODCALLTYPE Stop( /* [in] */ DWORD dwTimeoutIgnored) = 0; - - virtual HRESULT STDMETHODCALLTYPE Continue( + + virtual HRESULT STDMETHODCALLTYPE Continue( /* [in] */ BOOL fIsOutOfBand) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsRunning( + + virtual HRESULT STDMETHODCALLTYPE IsRunning( /* [out] */ BOOL *pbRunning) = 0; - - virtual HRESULT STDMETHODCALLTYPE HasQueuedCallbacks( + + virtual HRESULT STDMETHODCALLTYPE HasQueuedCallbacks( /* [in] */ ICorDebugThread *pThread, /* [out] */ BOOL *pbQueued) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateThreads( + + virtual HRESULT STDMETHODCALLTYPE EnumerateThreads( /* [out] */ ICorDebugThreadEnum **ppThreads) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAllThreadsDebugState( + + virtual HRESULT STDMETHODCALLTYPE SetAllThreadsDebugState( /* [in] */ CorDebugThreadState state, /* [in] */ ICorDebugThread *pExceptThisThread) = 0; - + virtual HRESULT STDMETHODCALLTYPE Detach( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Terminate( + + virtual HRESULT STDMETHODCALLTYPE Terminate( /* [in] */ UINT exitCode) = 0; - - virtual HRESULT STDMETHODCALLTYPE CanCommitChanges( + + virtual HRESULT STDMETHODCALLTYPE CanCommitChanges( /* [in] */ ULONG cSnapshots, /* [size_is][in] */ ICorDebugEditAndContinueSnapshot *pSnapshots[ ], /* [out] */ ICorDebugErrorInfoEnum **pError) = 0; - - virtual HRESULT STDMETHODCALLTYPE CommitChanges( + + virtual HRESULT STDMETHODCALLTYPE CommitChanges( /* [in] */ ULONG cSnapshots, /* [size_is][in] */ ICorDebugEditAndContinueSnapshot *pSnapshots[ ], /* [out] */ ICorDebugErrorInfoEnum **pError) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugControllerVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugController * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugController * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugController * This); - - HRESULT ( STDMETHODCALLTYPE *Stop )( + + DECLSPEC_XFGVIRT(ICorDebugController, Stop) + HRESULT ( STDMETHODCALLTYPE *Stop )( ICorDebugController * This, /* [in] */ DWORD dwTimeoutIgnored); - - HRESULT ( STDMETHODCALLTYPE *Continue )( + + DECLSPEC_XFGVIRT(ICorDebugController, Continue) + HRESULT ( STDMETHODCALLTYPE *Continue )( ICorDebugController * This, /* [in] */ BOOL fIsOutOfBand); - - HRESULT ( STDMETHODCALLTYPE *IsRunning )( + + DECLSPEC_XFGVIRT(ICorDebugController, IsRunning) + HRESULT ( STDMETHODCALLTYPE *IsRunning )( ICorDebugController * This, /* [out] */ BOOL *pbRunning); - - HRESULT ( STDMETHODCALLTYPE *HasQueuedCallbacks )( + + DECLSPEC_XFGVIRT(ICorDebugController, HasQueuedCallbacks) + HRESULT ( STDMETHODCALLTYPE *HasQueuedCallbacks )( ICorDebugController * This, /* [in] */ ICorDebugThread *pThread, /* [out] */ BOOL *pbQueued); - - HRESULT ( STDMETHODCALLTYPE *EnumerateThreads )( + + DECLSPEC_XFGVIRT(ICorDebugController, EnumerateThreads) + HRESULT ( STDMETHODCALLTYPE *EnumerateThreads )( ICorDebugController * This, /* [out] */ ICorDebugThreadEnum **ppThreads); - - HRESULT ( STDMETHODCALLTYPE *SetAllThreadsDebugState )( + + DECLSPEC_XFGVIRT(ICorDebugController, SetAllThreadsDebugState) + HRESULT ( STDMETHODCALLTYPE *SetAllThreadsDebugState )( ICorDebugController * This, /* [in] */ CorDebugThreadState state, /* [in] */ ICorDebugThread *pExceptThisThread); - - HRESULT ( STDMETHODCALLTYPE *Detach )( + + DECLSPEC_XFGVIRT(ICorDebugController, Detach) + HRESULT ( STDMETHODCALLTYPE *Detach )( ICorDebugController * This); - - HRESULT ( STDMETHODCALLTYPE *Terminate )( + + DECLSPEC_XFGVIRT(ICorDebugController, Terminate) + HRESULT ( STDMETHODCALLTYPE *Terminate )( ICorDebugController * This, /* [in] */ UINT exitCode); - - HRESULT ( STDMETHODCALLTYPE *CanCommitChanges )( + + DECLSPEC_XFGVIRT(ICorDebugController, CanCommitChanges) + HRESULT ( STDMETHODCALLTYPE *CanCommitChanges )( ICorDebugController * This, /* [in] */ ULONG cSnapshots, /* [size_is][in] */ ICorDebugEditAndContinueSnapshot *pSnapshots[ ], /* [out] */ ICorDebugErrorInfoEnum **pError); - - HRESULT ( STDMETHODCALLTYPE *CommitChanges )( + + DECLSPEC_XFGVIRT(ICorDebugController, CommitChanges) + HRESULT ( STDMETHODCALLTYPE *CommitChanges )( ICorDebugController * This, /* [in] */ ULONG cSnapshots, /* [size_is][in] */ ICorDebugEditAndContinueSnapshot *pSnapshots[ ], /* [out] */ ICorDebugErrorInfoEnum **pError); - + END_INTERFACE } ICorDebugControllerVtbl; @@ -4972,67 +5177,67 @@ EXTERN_C const IID IID_ICorDebugController; CONST_VTBL struct ICorDebugControllerVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugController_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugController_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugController_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugController_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugController_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugController_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugController_Stop(This,dwTimeoutIgnored) \ - ( (This)->lpVtbl -> Stop(This,dwTimeoutIgnored) ) +#define ICorDebugController_Stop(This,dwTimeoutIgnored) \ + ( (This)->lpVtbl -> Stop(This,dwTimeoutIgnored) ) -#define ICorDebugController_Continue(This,fIsOutOfBand) \ - ( (This)->lpVtbl -> Continue(This,fIsOutOfBand) ) +#define ICorDebugController_Continue(This,fIsOutOfBand) \ + ( (This)->lpVtbl -> Continue(This,fIsOutOfBand) ) -#define ICorDebugController_IsRunning(This,pbRunning) \ - ( (This)->lpVtbl -> IsRunning(This,pbRunning) ) +#define ICorDebugController_IsRunning(This,pbRunning) \ + ( (This)->lpVtbl -> IsRunning(This,pbRunning) ) -#define ICorDebugController_HasQueuedCallbacks(This,pThread,pbQueued) \ - ( (This)->lpVtbl -> HasQueuedCallbacks(This,pThread,pbQueued) ) +#define ICorDebugController_HasQueuedCallbacks(This,pThread,pbQueued) \ + ( (This)->lpVtbl -> HasQueuedCallbacks(This,pThread,pbQueued) ) -#define ICorDebugController_EnumerateThreads(This,ppThreads) \ - ( (This)->lpVtbl -> EnumerateThreads(This,ppThreads) ) +#define ICorDebugController_EnumerateThreads(This,ppThreads) \ + ( (This)->lpVtbl -> EnumerateThreads(This,ppThreads) ) -#define ICorDebugController_SetAllThreadsDebugState(This,state,pExceptThisThread) \ - ( (This)->lpVtbl -> SetAllThreadsDebugState(This,state,pExceptThisThread) ) +#define ICorDebugController_SetAllThreadsDebugState(This,state,pExceptThisThread) \ + ( (This)->lpVtbl -> SetAllThreadsDebugState(This,state,pExceptThisThread) ) -#define ICorDebugController_Detach(This) \ - ( (This)->lpVtbl -> Detach(This) ) +#define ICorDebugController_Detach(This) \ + ( (This)->lpVtbl -> Detach(This) ) -#define ICorDebugController_Terminate(This,exitCode) \ - ( (This)->lpVtbl -> Terminate(This,exitCode) ) +#define ICorDebugController_Terminate(This,exitCode) \ + ( (This)->lpVtbl -> Terminate(This,exitCode) ) -#define ICorDebugController_CanCommitChanges(This,cSnapshots,pSnapshots,pError) \ - ( (This)->lpVtbl -> CanCommitChanges(This,cSnapshots,pSnapshots,pError) ) +#define ICorDebugController_CanCommitChanges(This,cSnapshots,pSnapshots,pError) \ + ( (This)->lpVtbl -> CanCommitChanges(This,cSnapshots,pSnapshots,pError) ) -#define ICorDebugController_CommitChanges(This,cSnapshots,pSnapshots,pError) \ - ( (This)->lpVtbl -> CommitChanges(This,cSnapshots,pSnapshots,pError) ) +#define ICorDebugController_CommitChanges(This,cSnapshots,pSnapshots,pError) \ + ( (This)->lpVtbl -> CommitChanges(This,cSnapshots,pSnapshots,pError) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugController_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugController_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0025 */ -/* [local] */ +/* [local] */ #pragma warning(push) -#pragma warning(disable:28718) +#pragma warning(disable:28718) extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0025_v0_0_c_ifspec; @@ -5042,157 +5247,180 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0025_v0_0_s_ifspec; #define __ICorDebugAppDomain_INTERFACE_DEFINED__ /* interface ICorDebugAppDomain */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugAppDomain; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("3d6f5f63-7538-11d3-8d5b-00104b35e7ef") ICorDebugAppDomain : public ICorDebugController { public: - virtual HRESULT STDMETHODCALLTYPE GetProcess( + virtual HRESULT STDMETHODCALLTYPE GetProcess( /* [out] */ ICorDebugProcess **ppProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateAssemblies( + + virtual HRESULT STDMETHODCALLTYPE EnumerateAssemblies( /* [out] */ ICorDebugAssemblyEnum **ppAssemblies) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetModuleFromMetaDataInterface( + + virtual HRESULT STDMETHODCALLTYPE GetModuleFromMetaDataInterface( /* [in] */ IUnknown *pIMetaData, /* [out] */ ICorDebugModule **ppModule) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateBreakpoints( + + virtual HRESULT STDMETHODCALLTYPE EnumerateBreakpoints( /* [out] */ ICorDebugBreakpointEnum **ppBreakpoints) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateSteppers( + + virtual HRESULT STDMETHODCALLTYPE EnumerateSteppers( /* [out] */ ICorDebugStepperEnum **ppSteppers) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsAttached( + + virtual HRESULT STDMETHODCALLTYPE IsAttached( /* [out] */ BOOL *pbAttached) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetName( + + virtual HRESULT STDMETHODCALLTYPE GetName( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObject( + + virtual HRESULT STDMETHODCALLTYPE GetObject( /* [out] */ ICorDebugValue **ppObject) = 0; - + virtual HRESULT STDMETHODCALLTYPE Attach( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetID( + + virtual HRESULT STDMETHODCALLTYPE GetID( /* [out] */ ULONG32 *pId) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugAppDomainVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugAppDomain * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugAppDomain * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugAppDomain * This); - - HRESULT ( STDMETHODCALLTYPE *Stop )( + + DECLSPEC_XFGVIRT(ICorDebugController, Stop) + HRESULT ( STDMETHODCALLTYPE *Stop )( ICorDebugAppDomain * This, /* [in] */ DWORD dwTimeoutIgnored); - - HRESULT ( STDMETHODCALLTYPE *Continue )( + + DECLSPEC_XFGVIRT(ICorDebugController, Continue) + HRESULT ( STDMETHODCALLTYPE *Continue )( ICorDebugAppDomain * This, /* [in] */ BOOL fIsOutOfBand); - - HRESULT ( STDMETHODCALLTYPE *IsRunning )( + + DECLSPEC_XFGVIRT(ICorDebugController, IsRunning) + HRESULT ( STDMETHODCALLTYPE *IsRunning )( ICorDebugAppDomain * This, /* [out] */ BOOL *pbRunning); - - HRESULT ( STDMETHODCALLTYPE *HasQueuedCallbacks )( + + DECLSPEC_XFGVIRT(ICorDebugController, HasQueuedCallbacks) + HRESULT ( STDMETHODCALLTYPE *HasQueuedCallbacks )( ICorDebugAppDomain * This, /* [in] */ ICorDebugThread *pThread, /* [out] */ BOOL *pbQueued); - - HRESULT ( STDMETHODCALLTYPE *EnumerateThreads )( + + DECLSPEC_XFGVIRT(ICorDebugController, EnumerateThreads) + HRESULT ( STDMETHODCALLTYPE *EnumerateThreads )( ICorDebugAppDomain * This, /* [out] */ ICorDebugThreadEnum **ppThreads); - - HRESULT ( STDMETHODCALLTYPE *SetAllThreadsDebugState )( + + DECLSPEC_XFGVIRT(ICorDebugController, SetAllThreadsDebugState) + HRESULT ( STDMETHODCALLTYPE *SetAllThreadsDebugState )( ICorDebugAppDomain * This, /* [in] */ CorDebugThreadState state, /* [in] */ ICorDebugThread *pExceptThisThread); - - HRESULT ( STDMETHODCALLTYPE *Detach )( + + DECLSPEC_XFGVIRT(ICorDebugController, Detach) + HRESULT ( STDMETHODCALLTYPE *Detach )( ICorDebugAppDomain * This); - - HRESULT ( STDMETHODCALLTYPE *Terminate )( + + DECLSPEC_XFGVIRT(ICorDebugController, Terminate) + HRESULT ( STDMETHODCALLTYPE *Terminate )( ICorDebugAppDomain * This, /* [in] */ UINT exitCode); - - HRESULT ( STDMETHODCALLTYPE *CanCommitChanges )( + + DECLSPEC_XFGVIRT(ICorDebugController, CanCommitChanges) + HRESULT ( STDMETHODCALLTYPE *CanCommitChanges )( ICorDebugAppDomain * This, /* [in] */ ULONG cSnapshots, /* [size_is][in] */ ICorDebugEditAndContinueSnapshot *pSnapshots[ ], /* [out] */ ICorDebugErrorInfoEnum **pError); - - HRESULT ( STDMETHODCALLTYPE *CommitChanges )( + + DECLSPEC_XFGVIRT(ICorDebugController, CommitChanges) + HRESULT ( STDMETHODCALLTYPE *CommitChanges )( ICorDebugAppDomain * This, /* [in] */ ULONG cSnapshots, /* [size_is][in] */ ICorDebugEditAndContinueSnapshot *pSnapshots[ ], /* [out] */ ICorDebugErrorInfoEnum **pError); - - HRESULT ( STDMETHODCALLTYPE *GetProcess )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, GetProcess) + HRESULT ( STDMETHODCALLTYPE *GetProcess )( ICorDebugAppDomain * This, /* [out] */ ICorDebugProcess **ppProcess); - - HRESULT ( STDMETHODCALLTYPE *EnumerateAssemblies )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, EnumerateAssemblies) + HRESULT ( STDMETHODCALLTYPE *EnumerateAssemblies )( ICorDebugAppDomain * This, /* [out] */ ICorDebugAssemblyEnum **ppAssemblies); - - HRESULT ( STDMETHODCALLTYPE *GetModuleFromMetaDataInterface )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, GetModuleFromMetaDataInterface) + HRESULT ( STDMETHODCALLTYPE *GetModuleFromMetaDataInterface )( ICorDebugAppDomain * This, /* [in] */ IUnknown *pIMetaData, /* [out] */ ICorDebugModule **ppModule); - - HRESULT ( STDMETHODCALLTYPE *EnumerateBreakpoints )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, EnumerateBreakpoints) + HRESULT ( STDMETHODCALLTYPE *EnumerateBreakpoints )( ICorDebugAppDomain * This, /* [out] */ ICorDebugBreakpointEnum **ppBreakpoints); - - HRESULT ( STDMETHODCALLTYPE *EnumerateSteppers )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, EnumerateSteppers) + HRESULT ( STDMETHODCALLTYPE *EnumerateSteppers )( ICorDebugAppDomain * This, /* [out] */ ICorDebugStepperEnum **ppSteppers); - - HRESULT ( STDMETHODCALLTYPE *IsAttached )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, IsAttached) + HRESULT ( STDMETHODCALLTYPE *IsAttached )( ICorDebugAppDomain * This, /* [out] */ BOOL *pbAttached); - - HRESULT ( STDMETHODCALLTYPE *GetName )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, GetName) + HRESULT ( STDMETHODCALLTYPE *GetName )( ICorDebugAppDomain * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObject )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, GetObject) + HRESULT ( STDMETHODCALLTYPE *GetObject )( ICorDebugAppDomain * This, /* [out] */ ICorDebugValue **ppObject); - - HRESULT ( STDMETHODCALLTYPE *Attach )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, Attach) + HRESULT ( STDMETHODCALLTYPE *Attach )( ICorDebugAppDomain * This); - - HRESULT ( STDMETHODCALLTYPE *GetID )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain, GetID) + HRESULT ( STDMETHODCALLTYPE *GetID )( ICorDebugAppDomain * This, /* [out] */ ULONG32 *pId); - + END_INTERFACE } ICorDebugAppDomainVtbl; @@ -5201,95 +5429,95 @@ EXTERN_C const IID IID_ICorDebugAppDomain; CONST_VTBL struct ICorDebugAppDomainVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugAppDomain_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugAppDomain_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugAppDomain_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugAppDomain_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugAppDomain_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugAppDomain_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugAppDomain_Stop(This,dwTimeoutIgnored) \ - ( (This)->lpVtbl -> Stop(This,dwTimeoutIgnored) ) +#define ICorDebugAppDomain_Stop(This,dwTimeoutIgnored) \ + ( (This)->lpVtbl -> Stop(This,dwTimeoutIgnored) ) -#define ICorDebugAppDomain_Continue(This,fIsOutOfBand) \ - ( (This)->lpVtbl -> Continue(This,fIsOutOfBand) ) +#define ICorDebugAppDomain_Continue(This,fIsOutOfBand) \ + ( (This)->lpVtbl -> Continue(This,fIsOutOfBand) ) -#define ICorDebugAppDomain_IsRunning(This,pbRunning) \ - ( (This)->lpVtbl -> IsRunning(This,pbRunning) ) +#define ICorDebugAppDomain_IsRunning(This,pbRunning) \ + ( (This)->lpVtbl -> IsRunning(This,pbRunning) ) -#define ICorDebugAppDomain_HasQueuedCallbacks(This,pThread,pbQueued) \ - ( (This)->lpVtbl -> HasQueuedCallbacks(This,pThread,pbQueued) ) +#define ICorDebugAppDomain_HasQueuedCallbacks(This,pThread,pbQueued) \ + ( (This)->lpVtbl -> HasQueuedCallbacks(This,pThread,pbQueued) ) -#define ICorDebugAppDomain_EnumerateThreads(This,ppThreads) \ - ( (This)->lpVtbl -> EnumerateThreads(This,ppThreads) ) +#define ICorDebugAppDomain_EnumerateThreads(This,ppThreads) \ + ( (This)->lpVtbl -> EnumerateThreads(This,ppThreads) ) -#define ICorDebugAppDomain_SetAllThreadsDebugState(This,state,pExceptThisThread) \ - ( (This)->lpVtbl -> SetAllThreadsDebugState(This,state,pExceptThisThread) ) +#define ICorDebugAppDomain_SetAllThreadsDebugState(This,state,pExceptThisThread) \ + ( (This)->lpVtbl -> SetAllThreadsDebugState(This,state,pExceptThisThread) ) -#define ICorDebugAppDomain_Detach(This) \ - ( (This)->lpVtbl -> Detach(This) ) +#define ICorDebugAppDomain_Detach(This) \ + ( (This)->lpVtbl -> Detach(This) ) -#define ICorDebugAppDomain_Terminate(This,exitCode) \ - ( (This)->lpVtbl -> Terminate(This,exitCode) ) +#define ICorDebugAppDomain_Terminate(This,exitCode) \ + ( (This)->lpVtbl -> Terminate(This,exitCode) ) -#define ICorDebugAppDomain_CanCommitChanges(This,cSnapshots,pSnapshots,pError) \ - ( (This)->lpVtbl -> CanCommitChanges(This,cSnapshots,pSnapshots,pError) ) +#define ICorDebugAppDomain_CanCommitChanges(This,cSnapshots,pSnapshots,pError) \ + ( (This)->lpVtbl -> CanCommitChanges(This,cSnapshots,pSnapshots,pError) ) -#define ICorDebugAppDomain_CommitChanges(This,cSnapshots,pSnapshots,pError) \ - ( (This)->lpVtbl -> CommitChanges(This,cSnapshots,pSnapshots,pError) ) +#define ICorDebugAppDomain_CommitChanges(This,cSnapshots,pSnapshots,pError) \ + ( (This)->lpVtbl -> CommitChanges(This,cSnapshots,pSnapshots,pError) ) -#define ICorDebugAppDomain_GetProcess(This,ppProcess) \ - ( (This)->lpVtbl -> GetProcess(This,ppProcess) ) +#define ICorDebugAppDomain_GetProcess(This,ppProcess) \ + ( (This)->lpVtbl -> GetProcess(This,ppProcess) ) -#define ICorDebugAppDomain_EnumerateAssemblies(This,ppAssemblies) \ - ( (This)->lpVtbl -> EnumerateAssemblies(This,ppAssemblies) ) +#define ICorDebugAppDomain_EnumerateAssemblies(This,ppAssemblies) \ + ( (This)->lpVtbl -> EnumerateAssemblies(This,ppAssemblies) ) -#define ICorDebugAppDomain_GetModuleFromMetaDataInterface(This,pIMetaData,ppModule) \ - ( (This)->lpVtbl -> GetModuleFromMetaDataInterface(This,pIMetaData,ppModule) ) +#define ICorDebugAppDomain_GetModuleFromMetaDataInterface(This,pIMetaData,ppModule) \ + ( (This)->lpVtbl -> GetModuleFromMetaDataInterface(This,pIMetaData,ppModule) ) -#define ICorDebugAppDomain_EnumerateBreakpoints(This,ppBreakpoints) \ - ( (This)->lpVtbl -> EnumerateBreakpoints(This,ppBreakpoints) ) +#define ICorDebugAppDomain_EnumerateBreakpoints(This,ppBreakpoints) \ + ( (This)->lpVtbl -> EnumerateBreakpoints(This,ppBreakpoints) ) -#define ICorDebugAppDomain_EnumerateSteppers(This,ppSteppers) \ - ( (This)->lpVtbl -> EnumerateSteppers(This,ppSteppers) ) +#define ICorDebugAppDomain_EnumerateSteppers(This,ppSteppers) \ + ( (This)->lpVtbl -> EnumerateSteppers(This,ppSteppers) ) -#define ICorDebugAppDomain_IsAttached(This,pbAttached) \ - ( (This)->lpVtbl -> IsAttached(This,pbAttached) ) +#define ICorDebugAppDomain_IsAttached(This,pbAttached) \ + ( (This)->lpVtbl -> IsAttached(This,pbAttached) ) -#define ICorDebugAppDomain_GetName(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) +#define ICorDebugAppDomain_GetName(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) -#define ICorDebugAppDomain_GetObject(This,ppObject) \ - ( (This)->lpVtbl -> GetObject(This,ppObject) ) +#define ICorDebugAppDomain_GetObject(This,ppObject) \ + ( (This)->lpVtbl -> GetObject(This,ppObject) ) -#define ICorDebugAppDomain_Attach(This) \ - ( (This)->lpVtbl -> Attach(This) ) +#define ICorDebugAppDomain_Attach(This) \ + ( (This)->lpVtbl -> Attach(This) ) -#define ICorDebugAppDomain_GetID(This,pId) \ - ( (This)->lpVtbl -> GetID(This,pId) ) +#define ICorDebugAppDomain_GetID(This,pId) \ + ( (This)->lpVtbl -> GetID(This,pId) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugAppDomain_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugAppDomain_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0026 */ -/* [local] */ +/* [local] */ #pragma warning(pop) @@ -5301,62 +5529,67 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0026_v0_0_s_ifspec; #define __ICorDebugAppDomain2_INTERFACE_DEFINED__ /* interface ICorDebugAppDomain2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugAppDomain2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("096E81D5-ECDA-4202-83F5-C65980A9EF75") ICorDebugAppDomain2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetArrayOrPointerType( + virtual HRESULT STDMETHODCALLTYPE GetArrayOrPointerType( /* [in] */ CorElementType elementType, /* [in] */ ULONG32 nRank, /* [in] */ ICorDebugType *pTypeArg, /* [out] */ ICorDebugType **ppType) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionPointerType( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionPointerType( /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ], /* [out] */ ICorDebugType **ppType) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugAppDomain2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugAppDomain2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugAppDomain2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugAppDomain2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetArrayOrPointerType )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain2, GetArrayOrPointerType) + HRESULT ( STDMETHODCALLTYPE *GetArrayOrPointerType )( ICorDebugAppDomain2 * This, /* [in] */ CorElementType elementType, /* [in] */ ULONG32 nRank, /* [in] */ ICorDebugType *pTypeArg, /* [out] */ ICorDebugType **ppType); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionPointerType )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain2, GetFunctionPointerType) + HRESULT ( STDMETHODCALLTYPE *GetFunctionPointerType )( ICorDebugAppDomain2 * This, /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ], /* [out] */ ICorDebugType **ppType); - + END_INTERFACE } ICorDebugAppDomain2Vtbl; @@ -5365,100 +5598,107 @@ EXTERN_C const IID IID_ICorDebugAppDomain2; CONST_VTBL struct ICorDebugAppDomain2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugAppDomain2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugAppDomain2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugAppDomain2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugAppDomain2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugAppDomain2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugAppDomain2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugAppDomain2_GetArrayOrPointerType(This,elementType,nRank,pTypeArg,ppType) \ - ( (This)->lpVtbl -> GetArrayOrPointerType(This,elementType,nRank,pTypeArg,ppType) ) +#define ICorDebugAppDomain2_GetArrayOrPointerType(This,elementType,nRank,pTypeArg,ppType) \ + ( (This)->lpVtbl -> GetArrayOrPointerType(This,elementType,nRank,pTypeArg,ppType) ) -#define ICorDebugAppDomain2_GetFunctionPointerType(This,nTypeArgs,ppTypeArgs,ppType) \ - ( (This)->lpVtbl -> GetFunctionPointerType(This,nTypeArgs,ppTypeArgs,ppType) ) +#define ICorDebugAppDomain2_GetFunctionPointerType(This,nTypeArgs,ppTypeArgs,ppType) \ + ( (This)->lpVtbl -> GetFunctionPointerType(This,nTypeArgs,ppTypeArgs,ppType) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugAppDomain2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugAppDomain2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugEnum_INTERFACE_DEFINED__ #define __ICorDebugEnum_INTERFACE_DEFINED__ /* interface ICorDebugEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB01-8A68-11d2-983C-0000F808342D") ICorDebugEnum : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Skip( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorDebugEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugEnum * This, /* [out] */ ULONG *pcelt); - + END_INTERFACE } ICorDebugEnumVtbl; @@ -5467,106 +5707,114 @@ EXTERN_C const IID IID_ICorDebugEnum; CONST_VTBL struct ICorDebugEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugGuidToTypeEnum_INTERFACE_DEFINED__ #define __ICorDebugGuidToTypeEnum_INTERFACE_DEFINED__ /* interface ICorDebugGuidToTypeEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugGuidToTypeEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("6164D242-1015-4BD6-8CBE-D0DBD4B8275A") ICorDebugGuidToTypeEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ CorDebugGuidToTypeMapping values[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugGuidToTypeEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugGuidToTypeEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugGuidToTypeEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugGuidToTypeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugGuidToTypeEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugGuidToTypeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugGuidToTypeEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugGuidToTypeEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugGuidToTypeEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugGuidToTypeEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ CorDebugGuidToTypeMapping values[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugGuidToTypeEnumVtbl; @@ -5575,102 +5823,107 @@ EXTERN_C const IID IID_ICorDebugGuidToTypeEnum; CONST_VTBL struct ICorDebugGuidToTypeEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugGuidToTypeEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugGuidToTypeEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugGuidToTypeEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugGuidToTypeEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugGuidToTypeEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugGuidToTypeEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugGuidToTypeEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugGuidToTypeEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugGuidToTypeEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugGuidToTypeEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugGuidToTypeEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugGuidToTypeEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugGuidToTypeEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugGuidToTypeEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugGuidToTypeEnum_Next(This,celt,values,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) +#define ICorDebugGuidToTypeEnum_Next(This,celt,values,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugGuidToTypeEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugGuidToTypeEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugAppDomain3_INTERFACE_DEFINED__ #define __ICorDebugAppDomain3_INTERFACE_DEFINED__ /* interface ICorDebugAppDomain3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugAppDomain3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("8CB96A16-B588-42E2-B71C-DD849FC2ECCC") ICorDebugAppDomain3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetCachedWinRTTypesForIIDs( + virtual HRESULT STDMETHODCALLTYPE GetCachedWinRTTypesForIIDs( /* [in] */ ULONG32 cReqTypes, /* [size_is][in] */ GUID *iidsToResolve, /* [out] */ ICorDebugTypeEnum **ppTypesEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCachedWinRTTypes( + + virtual HRESULT STDMETHODCALLTYPE GetCachedWinRTTypes( /* [out] */ ICorDebugGuidToTypeEnum **ppGuidToTypeEnum) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugAppDomain3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugAppDomain3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugAppDomain3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugAppDomain3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetCachedWinRTTypesForIIDs )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain3, GetCachedWinRTTypesForIIDs) + HRESULT ( STDMETHODCALLTYPE *GetCachedWinRTTypesForIIDs )( ICorDebugAppDomain3 * This, /* [in] */ ULONG32 cReqTypes, /* [size_is][in] */ GUID *iidsToResolve, /* [out] */ ICorDebugTypeEnum **ppTypesEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCachedWinRTTypes )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain3, GetCachedWinRTTypes) + HRESULT ( STDMETHODCALLTYPE *GetCachedWinRTTypes )( ICorDebugAppDomain3 * This, /* [out] */ ICorDebugGuidToTypeEnum **ppGuidToTypeEnum); - + END_INTERFACE } ICorDebugAppDomain3Vtbl; @@ -5679,83 +5932,87 @@ EXTERN_C const IID IID_ICorDebugAppDomain3; CONST_VTBL struct ICorDebugAppDomain3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugAppDomain3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugAppDomain3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugAppDomain3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugAppDomain3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugAppDomain3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugAppDomain3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugAppDomain3_GetCachedWinRTTypesForIIDs(This,cReqTypes,iidsToResolve,ppTypesEnum) \ - ( (This)->lpVtbl -> GetCachedWinRTTypesForIIDs(This,cReqTypes,iidsToResolve,ppTypesEnum) ) +#define ICorDebugAppDomain3_GetCachedWinRTTypesForIIDs(This,cReqTypes,iidsToResolve,ppTypesEnum) \ + ( (This)->lpVtbl -> GetCachedWinRTTypesForIIDs(This,cReqTypes,iidsToResolve,ppTypesEnum) ) -#define ICorDebugAppDomain3_GetCachedWinRTTypes(This,ppGuidToTypeEnum) \ - ( (This)->lpVtbl -> GetCachedWinRTTypes(This,ppGuidToTypeEnum) ) +#define ICorDebugAppDomain3_GetCachedWinRTTypes(This,ppGuidToTypeEnum) \ + ( (This)->lpVtbl -> GetCachedWinRTTypes(This,ppGuidToTypeEnum) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugAppDomain3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugAppDomain3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugAppDomain4_INTERFACE_DEFINED__ #define __ICorDebugAppDomain4_INTERFACE_DEFINED__ /* interface ICorDebugAppDomain4 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugAppDomain4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("FB99CC40-83BE-4724-AB3B-768E796EBAC2") ICorDebugAppDomain4 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetObjectForCCW( + virtual HRESULT STDMETHODCALLTYPE GetObjectForCCW( /* [in] */ CORDB_ADDRESS ccwPointer, /* [out] */ ICorDebugValue **ppManagedObject) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugAppDomain4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugAppDomain4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugAppDomain4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugAppDomain4 * This); - - HRESULT ( STDMETHODCALLTYPE *GetObjectForCCW )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomain4, GetObjectForCCW) + HRESULT ( STDMETHODCALLTYPE *GetObjectForCCW )( ICorDebugAppDomain4 * This, /* [in] */ CORDB_ADDRESS ccwPointer, /* [out] */ ICorDebugValue **ppManagedObject); - + END_INTERFACE } ICorDebugAppDomain4Vtbl; @@ -5764,40 +6021,40 @@ EXTERN_C const IID IID_ICorDebugAppDomain4; CONST_VTBL struct ICorDebugAppDomain4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugAppDomain4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugAppDomain4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugAppDomain4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugAppDomain4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugAppDomain4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugAppDomain4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugAppDomain4_GetObjectForCCW(This,ccwPointer,ppManagedObject) \ - ( (This)->lpVtbl -> GetObjectForCCW(This,ccwPointer,ppManagedObject) ) +#define ICorDebugAppDomain4_GetObjectForCCW(This,ccwPointer,ppManagedObject) \ + ( (This)->lpVtbl -> GetObjectForCCW(This,ccwPointer,ppManagedObject) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugAppDomain4_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugAppDomain4_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0030 */ -/* [local] */ +/* [local] */ #pragma warning(push) -#pragma warning(disable:28718) +#pragma warning(disable:28718) extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0030_v0_0_c_ifspec; @@ -5807,81 +6064,89 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0030_v0_0_s_ifspec; #define __ICorDebugAssembly_INTERFACE_DEFINED__ /* interface ICorDebugAssembly */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugAssembly; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("df59507c-d47a-459e-bce2-6427eac8fd06") ICorDebugAssembly : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetProcess( + virtual HRESULT STDMETHODCALLTYPE GetProcess( /* [out] */ ICorDebugProcess **ppProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAppDomain( + + virtual HRESULT STDMETHODCALLTYPE GetAppDomain( /* [out] */ ICorDebugAppDomain **ppAppDomain) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateModules( + + virtual HRESULT STDMETHODCALLTYPE EnumerateModules( /* [out] */ ICorDebugModuleEnum **ppModules) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeBase( + + virtual HRESULT STDMETHODCALLTYPE GetCodeBase( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetName( + + virtual HRESULT STDMETHODCALLTYPE GetName( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugAssemblyVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugAssembly * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugAssembly * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugAssembly * This); - - HRESULT ( STDMETHODCALLTYPE *GetProcess )( + + DECLSPEC_XFGVIRT(ICorDebugAssembly, GetProcess) + HRESULT ( STDMETHODCALLTYPE *GetProcess )( ICorDebugAssembly * This, /* [out] */ ICorDebugProcess **ppProcess); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomain )( + + DECLSPEC_XFGVIRT(ICorDebugAssembly, GetAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetAppDomain )( ICorDebugAssembly * This, /* [out] */ ICorDebugAppDomain **ppAppDomain); - - HRESULT ( STDMETHODCALLTYPE *EnumerateModules )( + + DECLSPEC_XFGVIRT(ICorDebugAssembly, EnumerateModules) + HRESULT ( STDMETHODCALLTYPE *EnumerateModules )( ICorDebugAssembly * This, /* [out] */ ICorDebugModuleEnum **ppModules); - - HRESULT ( STDMETHODCALLTYPE *GetCodeBase )( + + DECLSPEC_XFGVIRT(ICorDebugAssembly, GetCodeBase) + HRESULT ( STDMETHODCALLTYPE *GetCodeBase )( ICorDebugAssembly * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetName )( + + DECLSPEC_XFGVIRT(ICorDebugAssembly, GetName) + HRESULT ( STDMETHODCALLTYPE *GetName )( ICorDebugAssembly * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - + END_INTERFACE } ICorDebugAssemblyVtbl; @@ -5890,49 +6155,49 @@ EXTERN_C const IID IID_ICorDebugAssembly; CONST_VTBL struct ICorDebugAssemblyVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugAssembly_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugAssembly_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugAssembly_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugAssembly_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugAssembly_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugAssembly_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugAssembly_GetProcess(This,ppProcess) \ - ( (This)->lpVtbl -> GetProcess(This,ppProcess) ) +#define ICorDebugAssembly_GetProcess(This,ppProcess) \ + ( (This)->lpVtbl -> GetProcess(This,ppProcess) ) -#define ICorDebugAssembly_GetAppDomain(This,ppAppDomain) \ - ( (This)->lpVtbl -> GetAppDomain(This,ppAppDomain) ) +#define ICorDebugAssembly_GetAppDomain(This,ppAppDomain) \ + ( (This)->lpVtbl -> GetAppDomain(This,ppAppDomain) ) -#define ICorDebugAssembly_EnumerateModules(This,ppModules) \ - ( (This)->lpVtbl -> EnumerateModules(This,ppModules) ) +#define ICorDebugAssembly_EnumerateModules(This,ppModules) \ + ( (This)->lpVtbl -> EnumerateModules(This,ppModules) ) -#define ICorDebugAssembly_GetCodeBase(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetCodeBase(This,cchName,pcchName,szName) ) +#define ICorDebugAssembly_GetCodeBase(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetCodeBase(This,cchName,pcchName,szName) ) -#define ICorDebugAssembly_GetName(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) +#define ICorDebugAssembly_GetName(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugAssembly_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugAssembly_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0031 */ -/* [local] */ +/* [local] */ #pragma warning(pop) @@ -5944,45 +6209,49 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0031_v0_0_s_ifspec; #define __ICorDebugAssembly2_INTERFACE_DEFINED__ /* interface ICorDebugAssembly2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugAssembly2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("426d1f9e-6dd4-44c8-aec7-26cdbaf4e398") ICorDebugAssembly2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE IsFullyTrusted( + virtual HRESULT STDMETHODCALLTYPE IsFullyTrusted( /* [out] */ BOOL *pbFullyTrusted) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugAssembly2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugAssembly2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugAssembly2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugAssembly2 * This); - - HRESULT ( STDMETHODCALLTYPE *IsFullyTrusted )( + + DECLSPEC_XFGVIRT(ICorDebugAssembly2, IsFullyTrusted) + HRESULT ( STDMETHODCALLTYPE *IsFullyTrusted )( ICorDebugAssembly2 * This, /* [out] */ BOOL *pbFullyTrusted); - + END_INTERFACE } ICorDebugAssembly2Vtbl; @@ -5991,85 +6260,90 @@ EXTERN_C const IID IID_ICorDebugAssembly2; CONST_VTBL struct ICorDebugAssembly2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugAssembly2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugAssembly2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugAssembly2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugAssembly2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugAssembly2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugAssembly2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugAssembly2_IsFullyTrusted(This,pbFullyTrusted) \ - ( (This)->lpVtbl -> IsFullyTrusted(This,pbFullyTrusted) ) +#define ICorDebugAssembly2_IsFullyTrusted(This,pbFullyTrusted) \ + ( (This)->lpVtbl -> IsFullyTrusted(This,pbFullyTrusted) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugAssembly2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugAssembly2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugAssembly3_INTERFACE_DEFINED__ #define __ICorDebugAssembly3_INTERFACE_DEFINED__ /* interface ICorDebugAssembly3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugAssembly3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("76361AB2-8C86-4FE9-96F2-F73D8843570A") ICorDebugAssembly3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetContainerAssembly( + virtual HRESULT STDMETHODCALLTYPE GetContainerAssembly( ICorDebugAssembly **ppAssembly) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateContainedAssemblies( + + virtual HRESULT STDMETHODCALLTYPE EnumerateContainedAssemblies( ICorDebugAssemblyEnum **ppAssemblies) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugAssembly3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugAssembly3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugAssembly3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugAssembly3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetContainerAssembly )( + + DECLSPEC_XFGVIRT(ICorDebugAssembly3, GetContainerAssembly) + HRESULT ( STDMETHODCALLTYPE *GetContainerAssembly )( ICorDebugAssembly3 * This, ICorDebugAssembly **ppAssembly); - - HRESULT ( STDMETHODCALLTYPE *EnumerateContainedAssemblies )( + + DECLSPEC_XFGVIRT(ICorDebugAssembly3, EnumerateContainedAssemblies) + HRESULT ( STDMETHODCALLTYPE *EnumerateContainedAssemblies )( ICorDebugAssembly3 * This, ICorDebugAssemblyEnum **ppAssemblies); - + END_INTERFACE } ICorDebugAssembly3Vtbl; @@ -6078,40 +6352,40 @@ EXTERN_C const IID IID_ICorDebugAssembly3; CONST_VTBL struct ICorDebugAssembly3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugAssembly3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugAssembly3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugAssembly3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugAssembly3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugAssembly3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugAssembly3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugAssembly3_GetContainerAssembly(This,ppAssembly) \ - ( (This)->lpVtbl -> GetContainerAssembly(This,ppAssembly) ) +#define ICorDebugAssembly3_GetContainerAssembly(This,ppAssembly) \ + ( (This)->lpVtbl -> GetContainerAssembly(This,ppAssembly) ) -#define ICorDebugAssembly3_EnumerateContainedAssemblies(This,ppAssemblies) \ - ( (This)->lpVtbl -> EnumerateContainedAssemblies(This,ppAssemblies) ) +#define ICorDebugAssembly3_EnumerateContainedAssemblies(This,ppAssemblies) \ + ( (This)->lpVtbl -> EnumerateContainedAssemblies(This,ppAssemblies) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugAssembly3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugAssembly3_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0033 */ -/* [local] */ +/* [local] */ #ifndef _DEF_COR_TYPEID_ #define _DEF_COR_TYPEID_ @@ -6119,7 +6393,7 @@ typedef struct COR_TYPEID { UINT64 token1; UINT64 token2; - } COR_TYPEID; + } COR_TYPEID; #endif // _DEF_COR_TYPEID_ typedef struct _COR_HEAPOBJECT @@ -6127,7 +6401,7 @@ typedef struct _COR_HEAPOBJECT CORDB_ADDRESS address; ULONG64 size; COR_TYPEID type; - } COR_HEAPOBJECT; + } COR_HEAPOBJECT; @@ -6138,64 +6412,72 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0033_v0_0_s_ifspec; #define __ICorDebugHeapEnum_INTERFACE_DEFINED__ /* interface ICorDebugHeapEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugHeapEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("76D7DAB8-D044-11DF-9A15-7E29DFD72085") ICorDebugHeapEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_HEAPOBJECT objects[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugHeapEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugHeapEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugHeapEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugHeapEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugHeapEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugHeapEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugHeapEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugHeapEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugHeapEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugHeapEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_HEAPOBJECT objects[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugHeapEnumVtbl; @@ -6204,60 +6486,61 @@ EXTERN_C const IID IID_ICorDebugHeapEnum; CONST_VTBL struct ICorDebugHeapEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugHeapEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugHeapEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugHeapEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugHeapEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugHeapEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugHeapEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugHeapEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugHeapEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugHeapEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugHeapEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugHeapEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugHeapEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugHeapEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugHeapEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugHeapEnum_Next(This,celt,objects,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) +#define ICorDebugHeapEnum_Next(This,celt,objects,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugHeapEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugHeapEnum_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0034 */ -/* [local] */ +/* [local] */ -typedef +typedef enum CorDebugGenerationTypes { - CorDebug_Gen0 = 0, - CorDebug_Gen1 = 1, - CorDebug_Gen2 = 2, - CorDebug_LOH = 3, - CorDebug_POH = 4 - } CorDebugGenerationTypes; + CorDebug_Gen0 = 0, + CorDebug_Gen1 = 1, + CorDebug_Gen2 = 2, + CorDebug_LOH = 3, + CorDebug_POH = 4, + CorDebug_NonGC = 0x7FFFFFFF + } CorDebugGenerationTypes; typedef struct _COR_SEGMENT { @@ -6265,14 +6548,14 @@ typedef struct _COR_SEGMENT CORDB_ADDRESS end; CorDebugGenerationTypes type; ULONG heap; - } COR_SEGMENT; + } COR_SEGMENT; -typedef +typedef enum CorDebugGCType { - CorDebugWorkstationGC = 0, - CorDebugServerGC = ( CorDebugWorkstationGC + 1 ) - } CorDebugGCType; + CorDebugWorkstationGC = 0, + CorDebugServerGC = ( CorDebugWorkstationGC + 1 ) + } CorDebugGCType; typedef struct _COR_HEAPINFO { @@ -6281,7 +6564,7 @@ typedef struct _COR_HEAPINFO DWORD numHeaps; BOOL concurrent; CorDebugGCType gcType; - } COR_HEAPINFO; + } COR_HEAPINFO; @@ -6292,64 +6575,72 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0034_v0_0_s_ifspec; #define __ICorDebugHeapSegmentEnum_INTERFACE_DEFINED__ /* interface ICorDebugHeapSegmentEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugHeapSegmentEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("A2FA0F8E-D045-11DF-AC8E-CE2ADFD72085") ICorDebugHeapSegmentEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_SEGMENT segments[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugHeapSegmentEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugHeapSegmentEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugHeapSegmentEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugHeapSegmentEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugHeapSegmentEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugHeapSegmentEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugHeapSegmentEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugHeapSegmentEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugHeapSegmentEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugHeapSegmentEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_SEGMENT segments[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugHeapSegmentEnumVtbl; @@ -6358,71 +6649,71 @@ EXTERN_C const IID IID_ICorDebugHeapSegmentEnum; CONST_VTBL struct ICorDebugHeapSegmentEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugHeapSegmentEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugHeapSegmentEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugHeapSegmentEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugHeapSegmentEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugHeapSegmentEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugHeapSegmentEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugHeapSegmentEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugHeapSegmentEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugHeapSegmentEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugHeapSegmentEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugHeapSegmentEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugHeapSegmentEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugHeapSegmentEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugHeapSegmentEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugHeapSegmentEnum_Next(This,celt,segments,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,segments,pceltFetched) ) +#define ICorDebugHeapSegmentEnum_Next(This,celt,segments,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,segments,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugHeapSegmentEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugHeapSegmentEnum_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0035 */ -/* [local] */ +/* [local] */ -typedef +typedef enum CorGCReferenceType { - CorHandleStrong = ( 1 << 0 ) , - CorHandleStrongPinning = ( 1 << 1 ) , - CorHandleWeakShort = ( 1 << 2 ) , - CorHandleWeakLong = ( 1 << 3 ) , - CorHandleWeakRefCount = ( 1 << 4 ) , - CorHandleStrongRefCount = ( 1 << 5 ) , - CorHandleStrongDependent = ( 1 << 6 ) , - CorHandleStrongAsyncPinned = ( 1 << 7 ) , - CorHandleStrongSizedByref = ( 1 << 8 ) , - CorHandleWeakNativeCom = ( 1 << 9 ) , - CorHandleWeakWinRT = CorHandleWeakNativeCom, - CorReferenceStack = 0x80000001, - CorReferenceFinalizer = 80000002, - CorHandleStrongOnly = 0x1e3, - CorHandleWeakOnly = 0x21c, - CorHandleAll = 0x7fffffff - } CorGCReferenceType; + CorHandleStrong = ( 1 << 0 ) , + CorHandleStrongPinning = ( 1 << 1 ) , + CorHandleWeakShort = ( 1 << 2 ) , + CorHandleWeakLong = ( 1 << 3 ) , + CorHandleWeakRefCount = ( 1 << 4 ) , + CorHandleStrongRefCount = ( 1 << 5 ) , + CorHandleStrongDependent = ( 1 << 6 ) , + CorHandleStrongAsyncPinned = ( 1 << 7 ) , + CorHandleStrongSizedByref = ( 1 << 8 ) , + CorHandleWeakNativeCom = ( 1 << 9 ) , + CorHandleWeakWinRT = CorHandleWeakNativeCom, + CorReferenceStack = 0x80000001, + CorReferenceFinalizer = 80000002, + CorHandleStrongOnly = 0x1e3, + CorHandleWeakOnly = 0x21c, + CorHandleAll = 0x7fffffff + } CorGCReferenceType; #ifndef _DEF_COR_GC_REFERENCE_ #define _DEF_COR_GC_REFERENCE_ @@ -6432,7 +6723,7 @@ typedef struct COR_GC_REFERENCE ICorDebugValue *Location; CorGCReferenceType Type; UINT64 ExtraData; - } COR_GC_REFERENCE; + } COR_GC_REFERENCE; #endif // _DEF_COR_GC_REFERENCE_ @@ -6444,64 +6735,72 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0035_v0_0_s_ifspec; #define __ICorDebugGCReferenceEnum_INTERFACE_DEFINED__ /* interface ICorDebugGCReferenceEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugGCReferenceEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("7F3C24D3-7E1D-4245-AC3A-F72F8859C80C") ICorDebugGCReferenceEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_GC_REFERENCE roots[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugGCReferenceEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugGCReferenceEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugGCReferenceEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugGCReferenceEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugGCReferenceEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugGCReferenceEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugGCReferenceEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugGCReferenceEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugGCReferenceEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugGCReferenceEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_GC_REFERENCE roots[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugGCReferenceEnumVtbl; @@ -6510,50 +6809,50 @@ EXTERN_C const IID IID_ICorDebugGCReferenceEnum; CONST_VTBL struct ICorDebugGCReferenceEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugGCReferenceEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugGCReferenceEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugGCReferenceEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugGCReferenceEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugGCReferenceEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugGCReferenceEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugGCReferenceEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugGCReferenceEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugGCReferenceEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugGCReferenceEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugGCReferenceEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugGCReferenceEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugGCReferenceEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugGCReferenceEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugGCReferenceEnum_Next(This,celt,roots,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,roots,pceltFetched) ) +#define ICorDebugGCReferenceEnum_Next(This,celt,roots,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,roots,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugGCReferenceEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugGCReferenceEnum_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0036 */ -/* [local] */ +/* [local] */ #ifndef _DEF_COR_ARRAY_LAYOUT_ #define _DEF_COR_ARRAY_LAYOUT_ @@ -6567,7 +6866,7 @@ typedef struct COR_ARRAY_LAYOUT ULONG32 rankSize; ULONG32 numRanks; ULONG32 rankOffset; - } COR_ARRAY_LAYOUT; + } COR_ARRAY_LAYOUT; #endif // _DEF_COR_ARRAY_LAYOUT_ #ifndef _DEF_COR_TYPE_LAYOUT_ @@ -6579,7 +6878,7 @@ typedef struct COR_TYPE_LAYOUT ULONG32 numFields; ULONG32 boxOffset; CorElementType type; - } COR_TYPE_LAYOUT; + } COR_TYPE_LAYOUT; #endif // _DEF_COR_TYPE_LAYOUT_ #ifndef _DEF_COR_FIELD_ @@ -6590,11 +6889,11 @@ typedef struct COR_FIELD ULONG32 offset; COR_TYPEID id; CorElementType fieldType; - } COR_FIELD; + } COR_FIELD; #endif // _DEF_COR_FIELD_ #pragma warning(push) -#pragma warning(disable:28718) +#pragma warning(disable:28718) extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0036_v0_0_c_ifspec; @@ -6604,234 +6903,264 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0036_v0_0_s_ifspec; #define __ICorDebugProcess_INTERFACE_DEFINED__ /* interface ICorDebugProcess */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcess; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("3d6f5f64-7538-11d3-8d5b-00104b35e7ef") ICorDebugProcess : public ICorDebugController { public: - virtual HRESULT STDMETHODCALLTYPE GetID( + virtual HRESULT STDMETHODCALLTYPE GetID( /* [out] */ DWORD *pdwProcessId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHandle( + + virtual HRESULT STDMETHODCALLTYPE GetHandle( /* [out] */ HPROCESS *phProcessHandle) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThread( + + virtual HRESULT STDMETHODCALLTYPE GetThread( /* [in] */ DWORD dwThreadId, /* [out] */ ICorDebugThread **ppThread) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateObjects( + + virtual HRESULT STDMETHODCALLTYPE EnumerateObjects( /* [out] */ ICorDebugObjectEnum **ppObjects) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsTransitionStub( + + virtual HRESULT STDMETHODCALLTYPE IsTransitionStub( /* [in] */ CORDB_ADDRESS address, /* [out] */ BOOL *pbTransitionStub) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsOSSuspended( + + virtual HRESULT STDMETHODCALLTYPE IsOSSuspended( /* [in] */ DWORD threadID, /* [out] */ BOOL *pbSuspended) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadContext( + + virtual HRESULT STDMETHODCALLTYPE GetThreadContext( /* [in] */ DWORD threadID, /* [in] */ ULONG32 contextSize, /* [size_is][length_is][out][in] */ BYTE context[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetThreadContext( + + virtual HRESULT STDMETHODCALLTYPE SetThreadContext( /* [in] */ DWORD threadID, /* [in] */ ULONG32 contextSize, /* [size_is][length_is][in] */ BYTE context[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReadMemory( + + virtual HRESULT STDMETHODCALLTYPE ReadMemory( /* [in] */ CORDB_ADDRESS address, /* [in] */ DWORD size, /* [length_is][size_is][out] */ BYTE buffer[ ], /* [out] */ SIZE_T *read) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteMemory( + + virtual HRESULT STDMETHODCALLTYPE WriteMemory( /* [in] */ CORDB_ADDRESS address, /* [in] */ DWORD size, /* [size_is][in] */ BYTE buffer[ ], /* [out] */ SIZE_T *written) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClearCurrentException( + + virtual HRESULT STDMETHODCALLTYPE ClearCurrentException( /* [in] */ DWORD threadID) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableLogMessages( + + virtual HRESULT STDMETHODCALLTYPE EnableLogMessages( /* [in] */ BOOL fOnOff) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModifyLogSwitch( - /* [annotation][in] */ + + virtual HRESULT STDMETHODCALLTYPE ModifyLogSwitch( + /* [annotation][in] */ _In_ WCHAR *pLogSwitchName, /* [in] */ LONG lLevel) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateAppDomains( + + virtual HRESULT STDMETHODCALLTYPE EnumerateAppDomains( /* [out] */ ICorDebugAppDomainEnum **ppAppDomains) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObject( + + virtual HRESULT STDMETHODCALLTYPE GetObject( /* [out] */ ICorDebugValue **ppObject) = 0; - - virtual HRESULT STDMETHODCALLTYPE ThreadForFiberCookie( + + virtual HRESULT STDMETHODCALLTYPE ThreadForFiberCookie( /* [in] */ DWORD fiberCookie, /* [out] */ ICorDebugThread **ppThread) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHelperThreadID( + + virtual HRESULT STDMETHODCALLTYPE GetHelperThreadID( /* [out] */ DWORD *pThreadID) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcessVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcess * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcess * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcess * This); - - HRESULT ( STDMETHODCALLTYPE *Stop )( + + DECLSPEC_XFGVIRT(ICorDebugController, Stop) + HRESULT ( STDMETHODCALLTYPE *Stop )( ICorDebugProcess * This, /* [in] */ DWORD dwTimeoutIgnored); - - HRESULT ( STDMETHODCALLTYPE *Continue )( + + DECLSPEC_XFGVIRT(ICorDebugController, Continue) + HRESULT ( STDMETHODCALLTYPE *Continue )( ICorDebugProcess * This, /* [in] */ BOOL fIsOutOfBand); - - HRESULT ( STDMETHODCALLTYPE *IsRunning )( + + DECLSPEC_XFGVIRT(ICorDebugController, IsRunning) + HRESULT ( STDMETHODCALLTYPE *IsRunning )( ICorDebugProcess * This, /* [out] */ BOOL *pbRunning); - - HRESULT ( STDMETHODCALLTYPE *HasQueuedCallbacks )( + + DECLSPEC_XFGVIRT(ICorDebugController, HasQueuedCallbacks) + HRESULT ( STDMETHODCALLTYPE *HasQueuedCallbacks )( ICorDebugProcess * This, /* [in] */ ICorDebugThread *pThread, /* [out] */ BOOL *pbQueued); - - HRESULT ( STDMETHODCALLTYPE *EnumerateThreads )( + + DECLSPEC_XFGVIRT(ICorDebugController, EnumerateThreads) + HRESULT ( STDMETHODCALLTYPE *EnumerateThreads )( ICorDebugProcess * This, /* [out] */ ICorDebugThreadEnum **ppThreads); - - HRESULT ( STDMETHODCALLTYPE *SetAllThreadsDebugState )( + + DECLSPEC_XFGVIRT(ICorDebugController, SetAllThreadsDebugState) + HRESULT ( STDMETHODCALLTYPE *SetAllThreadsDebugState )( ICorDebugProcess * This, /* [in] */ CorDebugThreadState state, /* [in] */ ICorDebugThread *pExceptThisThread); - - HRESULT ( STDMETHODCALLTYPE *Detach )( + + DECLSPEC_XFGVIRT(ICorDebugController, Detach) + HRESULT ( STDMETHODCALLTYPE *Detach )( ICorDebugProcess * This); - - HRESULT ( STDMETHODCALLTYPE *Terminate )( + + DECLSPEC_XFGVIRT(ICorDebugController, Terminate) + HRESULT ( STDMETHODCALLTYPE *Terminate )( ICorDebugProcess * This, /* [in] */ UINT exitCode); - - HRESULT ( STDMETHODCALLTYPE *CanCommitChanges )( + + DECLSPEC_XFGVIRT(ICorDebugController, CanCommitChanges) + HRESULT ( STDMETHODCALLTYPE *CanCommitChanges )( ICorDebugProcess * This, /* [in] */ ULONG cSnapshots, /* [size_is][in] */ ICorDebugEditAndContinueSnapshot *pSnapshots[ ], /* [out] */ ICorDebugErrorInfoEnum **pError); - - HRESULT ( STDMETHODCALLTYPE *CommitChanges )( + + DECLSPEC_XFGVIRT(ICorDebugController, CommitChanges) + HRESULT ( STDMETHODCALLTYPE *CommitChanges )( ICorDebugProcess * This, /* [in] */ ULONG cSnapshots, /* [size_is][in] */ ICorDebugEditAndContinueSnapshot *pSnapshots[ ], /* [out] */ ICorDebugErrorInfoEnum **pError); - - HRESULT ( STDMETHODCALLTYPE *GetID )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, GetID) + HRESULT ( STDMETHODCALLTYPE *GetID )( ICorDebugProcess * This, /* [out] */ DWORD *pdwProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetHandle )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, GetHandle) + HRESULT ( STDMETHODCALLTYPE *GetHandle )( ICorDebugProcess * This, /* [out] */ HPROCESS *phProcessHandle); - - HRESULT ( STDMETHODCALLTYPE *GetThread )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, GetThread) + HRESULT ( STDMETHODCALLTYPE *GetThread )( ICorDebugProcess * This, /* [in] */ DWORD dwThreadId, /* [out] */ ICorDebugThread **ppThread); - - HRESULT ( STDMETHODCALLTYPE *EnumerateObjects )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, EnumerateObjects) + HRESULT ( STDMETHODCALLTYPE *EnumerateObjects )( ICorDebugProcess * This, /* [out] */ ICorDebugObjectEnum **ppObjects); - - HRESULT ( STDMETHODCALLTYPE *IsTransitionStub )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, IsTransitionStub) + HRESULT ( STDMETHODCALLTYPE *IsTransitionStub )( ICorDebugProcess * This, /* [in] */ CORDB_ADDRESS address, /* [out] */ BOOL *pbTransitionStub); - - HRESULT ( STDMETHODCALLTYPE *IsOSSuspended )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, IsOSSuspended) + HRESULT ( STDMETHODCALLTYPE *IsOSSuspended )( ICorDebugProcess * This, /* [in] */ DWORD threadID, /* [out] */ BOOL *pbSuspended); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorDebugProcess * This, /* [in] */ DWORD threadID, /* [in] */ ULONG32 contextSize, /* [size_is][length_is][out][in] */ BYTE context[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetThreadContext )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, SetThreadContext) + HRESULT ( STDMETHODCALLTYPE *SetThreadContext )( ICorDebugProcess * This, /* [in] */ DWORD threadID, /* [in] */ ULONG32 contextSize, /* [size_is][length_is][in] */ BYTE context[ ]); - - HRESULT ( STDMETHODCALLTYPE *ReadMemory )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, ReadMemory) + HRESULT ( STDMETHODCALLTYPE *ReadMemory )( ICorDebugProcess * This, /* [in] */ CORDB_ADDRESS address, /* [in] */ DWORD size, /* [length_is][size_is][out] */ BYTE buffer[ ], /* [out] */ SIZE_T *read); - - HRESULT ( STDMETHODCALLTYPE *WriteMemory )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, WriteMemory) + HRESULT ( STDMETHODCALLTYPE *WriteMemory )( ICorDebugProcess * This, /* [in] */ CORDB_ADDRESS address, /* [in] */ DWORD size, /* [size_is][in] */ BYTE buffer[ ], /* [out] */ SIZE_T *written); - - HRESULT ( STDMETHODCALLTYPE *ClearCurrentException )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, ClearCurrentException) + HRESULT ( STDMETHODCALLTYPE *ClearCurrentException )( ICorDebugProcess * This, /* [in] */ DWORD threadID); - - HRESULT ( STDMETHODCALLTYPE *EnableLogMessages )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, EnableLogMessages) + HRESULT ( STDMETHODCALLTYPE *EnableLogMessages )( ICorDebugProcess * This, /* [in] */ BOOL fOnOff); - - HRESULT ( STDMETHODCALLTYPE *ModifyLogSwitch )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, ModifyLogSwitch) + HRESULT ( STDMETHODCALLTYPE *ModifyLogSwitch )( ICorDebugProcess * This, - /* [annotation][in] */ + /* [annotation][in] */ _In_ WCHAR *pLogSwitchName, /* [in] */ LONG lLevel); - - HRESULT ( STDMETHODCALLTYPE *EnumerateAppDomains )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, EnumerateAppDomains) + HRESULT ( STDMETHODCALLTYPE *EnumerateAppDomains )( ICorDebugProcess * This, /* [out] */ ICorDebugAppDomainEnum **ppAppDomains); - - HRESULT ( STDMETHODCALLTYPE *GetObject )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, GetObject) + HRESULT ( STDMETHODCALLTYPE *GetObject )( ICorDebugProcess * This, /* [out] */ ICorDebugValue **ppObject); - - HRESULT ( STDMETHODCALLTYPE *ThreadForFiberCookie )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, ThreadForFiberCookie) + HRESULT ( STDMETHODCALLTYPE *ThreadForFiberCookie )( ICorDebugProcess * This, /* [in] */ DWORD fiberCookie, /* [out] */ ICorDebugThread **ppThread); - - HRESULT ( STDMETHODCALLTYPE *GetHelperThreadID )( + + DECLSPEC_XFGVIRT(ICorDebugProcess, GetHelperThreadID) + HRESULT ( STDMETHODCALLTYPE *GetHelperThreadID )( ICorDebugProcess * This, /* [out] */ DWORD *pThreadID); - + END_INTERFACE } ICorDebugProcessVtbl; @@ -6840,116 +7169,116 @@ EXTERN_C const IID IID_ICorDebugProcess; CONST_VTBL struct ICorDebugProcessVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcess_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcess_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcess_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcess_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcess_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcess_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcess_Stop(This,dwTimeoutIgnored) \ - ( (This)->lpVtbl -> Stop(This,dwTimeoutIgnored) ) +#define ICorDebugProcess_Stop(This,dwTimeoutIgnored) \ + ( (This)->lpVtbl -> Stop(This,dwTimeoutIgnored) ) -#define ICorDebugProcess_Continue(This,fIsOutOfBand) \ - ( (This)->lpVtbl -> Continue(This,fIsOutOfBand) ) +#define ICorDebugProcess_Continue(This,fIsOutOfBand) \ + ( (This)->lpVtbl -> Continue(This,fIsOutOfBand) ) -#define ICorDebugProcess_IsRunning(This,pbRunning) \ - ( (This)->lpVtbl -> IsRunning(This,pbRunning) ) +#define ICorDebugProcess_IsRunning(This,pbRunning) \ + ( (This)->lpVtbl -> IsRunning(This,pbRunning) ) -#define ICorDebugProcess_HasQueuedCallbacks(This,pThread,pbQueued) \ - ( (This)->lpVtbl -> HasQueuedCallbacks(This,pThread,pbQueued) ) +#define ICorDebugProcess_HasQueuedCallbacks(This,pThread,pbQueued) \ + ( (This)->lpVtbl -> HasQueuedCallbacks(This,pThread,pbQueued) ) -#define ICorDebugProcess_EnumerateThreads(This,ppThreads) \ - ( (This)->lpVtbl -> EnumerateThreads(This,ppThreads) ) +#define ICorDebugProcess_EnumerateThreads(This,ppThreads) \ + ( (This)->lpVtbl -> EnumerateThreads(This,ppThreads) ) -#define ICorDebugProcess_SetAllThreadsDebugState(This,state,pExceptThisThread) \ - ( (This)->lpVtbl -> SetAllThreadsDebugState(This,state,pExceptThisThread) ) +#define ICorDebugProcess_SetAllThreadsDebugState(This,state,pExceptThisThread) \ + ( (This)->lpVtbl -> SetAllThreadsDebugState(This,state,pExceptThisThread) ) -#define ICorDebugProcess_Detach(This) \ - ( (This)->lpVtbl -> Detach(This) ) +#define ICorDebugProcess_Detach(This) \ + ( (This)->lpVtbl -> Detach(This) ) -#define ICorDebugProcess_Terminate(This,exitCode) \ - ( (This)->lpVtbl -> Terminate(This,exitCode) ) +#define ICorDebugProcess_Terminate(This,exitCode) \ + ( (This)->lpVtbl -> Terminate(This,exitCode) ) -#define ICorDebugProcess_CanCommitChanges(This,cSnapshots,pSnapshots,pError) \ - ( (This)->lpVtbl -> CanCommitChanges(This,cSnapshots,pSnapshots,pError) ) +#define ICorDebugProcess_CanCommitChanges(This,cSnapshots,pSnapshots,pError) \ + ( (This)->lpVtbl -> CanCommitChanges(This,cSnapshots,pSnapshots,pError) ) -#define ICorDebugProcess_CommitChanges(This,cSnapshots,pSnapshots,pError) \ - ( (This)->lpVtbl -> CommitChanges(This,cSnapshots,pSnapshots,pError) ) +#define ICorDebugProcess_CommitChanges(This,cSnapshots,pSnapshots,pError) \ + ( (This)->lpVtbl -> CommitChanges(This,cSnapshots,pSnapshots,pError) ) -#define ICorDebugProcess_GetID(This,pdwProcessId) \ - ( (This)->lpVtbl -> GetID(This,pdwProcessId) ) +#define ICorDebugProcess_GetID(This,pdwProcessId) \ + ( (This)->lpVtbl -> GetID(This,pdwProcessId) ) -#define ICorDebugProcess_GetHandle(This,phProcessHandle) \ - ( (This)->lpVtbl -> GetHandle(This,phProcessHandle) ) +#define ICorDebugProcess_GetHandle(This,phProcessHandle) \ + ( (This)->lpVtbl -> GetHandle(This,phProcessHandle) ) -#define ICorDebugProcess_GetThread(This,dwThreadId,ppThread) \ - ( (This)->lpVtbl -> GetThread(This,dwThreadId,ppThread) ) +#define ICorDebugProcess_GetThread(This,dwThreadId,ppThread) \ + ( (This)->lpVtbl -> GetThread(This,dwThreadId,ppThread) ) -#define ICorDebugProcess_EnumerateObjects(This,ppObjects) \ - ( (This)->lpVtbl -> EnumerateObjects(This,ppObjects) ) +#define ICorDebugProcess_EnumerateObjects(This,ppObjects) \ + ( (This)->lpVtbl -> EnumerateObjects(This,ppObjects) ) -#define ICorDebugProcess_IsTransitionStub(This,address,pbTransitionStub) \ - ( (This)->lpVtbl -> IsTransitionStub(This,address,pbTransitionStub) ) +#define ICorDebugProcess_IsTransitionStub(This,address,pbTransitionStub) \ + ( (This)->lpVtbl -> IsTransitionStub(This,address,pbTransitionStub) ) -#define ICorDebugProcess_IsOSSuspended(This,threadID,pbSuspended) \ - ( (This)->lpVtbl -> IsOSSuspended(This,threadID,pbSuspended) ) +#define ICorDebugProcess_IsOSSuspended(This,threadID,pbSuspended) \ + ( (This)->lpVtbl -> IsOSSuspended(This,threadID,pbSuspended) ) -#define ICorDebugProcess_GetThreadContext(This,threadID,contextSize,context) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadID,contextSize,context) ) +#define ICorDebugProcess_GetThreadContext(This,threadID,contextSize,context) \ + ( (This)->lpVtbl -> GetThreadContext(This,threadID,contextSize,context) ) -#define ICorDebugProcess_SetThreadContext(This,threadID,contextSize,context) \ - ( (This)->lpVtbl -> SetThreadContext(This,threadID,contextSize,context) ) +#define ICorDebugProcess_SetThreadContext(This,threadID,contextSize,context) \ + ( (This)->lpVtbl -> SetThreadContext(This,threadID,contextSize,context) ) -#define ICorDebugProcess_ReadMemory(This,address,size,buffer,read) \ - ( (This)->lpVtbl -> ReadMemory(This,address,size,buffer,read) ) +#define ICorDebugProcess_ReadMemory(This,address,size,buffer,read) \ + ( (This)->lpVtbl -> ReadMemory(This,address,size,buffer,read) ) -#define ICorDebugProcess_WriteMemory(This,address,size,buffer,written) \ - ( (This)->lpVtbl -> WriteMemory(This,address,size,buffer,written) ) +#define ICorDebugProcess_WriteMemory(This,address,size,buffer,written) \ + ( (This)->lpVtbl -> WriteMemory(This,address,size,buffer,written) ) -#define ICorDebugProcess_ClearCurrentException(This,threadID) \ - ( (This)->lpVtbl -> ClearCurrentException(This,threadID) ) +#define ICorDebugProcess_ClearCurrentException(This,threadID) \ + ( (This)->lpVtbl -> ClearCurrentException(This,threadID) ) -#define ICorDebugProcess_EnableLogMessages(This,fOnOff) \ - ( (This)->lpVtbl -> EnableLogMessages(This,fOnOff) ) +#define ICorDebugProcess_EnableLogMessages(This,fOnOff) \ + ( (This)->lpVtbl -> EnableLogMessages(This,fOnOff) ) -#define ICorDebugProcess_ModifyLogSwitch(This,pLogSwitchName,lLevel) \ - ( (This)->lpVtbl -> ModifyLogSwitch(This,pLogSwitchName,lLevel) ) +#define ICorDebugProcess_ModifyLogSwitch(This,pLogSwitchName,lLevel) \ + ( (This)->lpVtbl -> ModifyLogSwitch(This,pLogSwitchName,lLevel) ) -#define ICorDebugProcess_EnumerateAppDomains(This,ppAppDomains) \ - ( (This)->lpVtbl -> EnumerateAppDomains(This,ppAppDomains) ) +#define ICorDebugProcess_EnumerateAppDomains(This,ppAppDomains) \ + ( (This)->lpVtbl -> EnumerateAppDomains(This,ppAppDomains) ) -#define ICorDebugProcess_GetObject(This,ppObject) \ - ( (This)->lpVtbl -> GetObject(This,ppObject) ) +#define ICorDebugProcess_GetObject(This,ppObject) \ + ( (This)->lpVtbl -> GetObject(This,ppObject) ) -#define ICorDebugProcess_ThreadForFiberCookie(This,fiberCookie,ppThread) \ - ( (This)->lpVtbl -> ThreadForFiberCookie(This,fiberCookie,ppThread) ) +#define ICorDebugProcess_ThreadForFiberCookie(This,fiberCookie,ppThread) \ + ( (This)->lpVtbl -> ThreadForFiberCookie(This,fiberCookie,ppThread) ) -#define ICorDebugProcess_GetHelperThreadID(This,pThreadID) \ - ( (This)->lpVtbl -> GetHelperThreadID(This,pThreadID) ) +#define ICorDebugProcess_GetHelperThreadID(This,pThreadID) \ + ( (This)->lpVtbl -> GetHelperThreadID(This,pThreadID) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcess_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcess_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0037 */ -/* [local] */ +/* [local] */ #pragma warning(pop) @@ -6961,97 +7290,107 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0037_v0_0_s_ifspec; #define __ICorDebugProcess2_INTERFACE_DEFINED__ /* interface ICorDebugProcess2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcess2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("AD1B3588-0EF0-4744-A496-AA09A9F80371") ICorDebugProcess2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetThreadForTaskID( + virtual HRESULT STDMETHODCALLTYPE GetThreadForTaskID( /* [in] */ TASKID taskid, /* [out] */ ICorDebugThread2 **ppThread) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVersion( + + virtual HRESULT STDMETHODCALLTYPE GetVersion( /* [out] */ COR_VERSION *version) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetUnmanagedBreakpoint( + + virtual HRESULT STDMETHODCALLTYPE SetUnmanagedBreakpoint( /* [in] */ CORDB_ADDRESS address, /* [in] */ ULONG32 bufsize, /* [length_is][size_is][out] */ BYTE buffer[ ], /* [out] */ ULONG32 *bufLen) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClearUnmanagedBreakpoint( + + virtual HRESULT STDMETHODCALLTYPE ClearUnmanagedBreakpoint( /* [in] */ CORDB_ADDRESS address) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetDesiredNGENCompilerFlags( + + virtual HRESULT STDMETHODCALLTYPE SetDesiredNGENCompilerFlags( /* [in] */ DWORD pdwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDesiredNGENCompilerFlags( + + virtual HRESULT STDMETHODCALLTYPE GetDesiredNGENCompilerFlags( /* [out] */ DWORD *pdwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetReferenceValueFromGCHandle( + + virtual HRESULT STDMETHODCALLTYPE GetReferenceValueFromGCHandle( /* [in] */ UINT_PTR handle, /* [out] */ ICorDebugReferenceValue **pOutValue) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcess2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcess2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcess2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcess2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetThreadForTaskID )( + + DECLSPEC_XFGVIRT(ICorDebugProcess2, GetThreadForTaskID) + HRESULT ( STDMETHODCALLTYPE *GetThreadForTaskID )( ICorDebugProcess2 * This, /* [in] */ TASKID taskid, /* [out] */ ICorDebugThread2 **ppThread); - - HRESULT ( STDMETHODCALLTYPE *GetVersion )( + + DECLSPEC_XFGVIRT(ICorDebugProcess2, GetVersion) + HRESULT ( STDMETHODCALLTYPE *GetVersion )( ICorDebugProcess2 * This, /* [out] */ COR_VERSION *version); - - HRESULT ( STDMETHODCALLTYPE *SetUnmanagedBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugProcess2, SetUnmanagedBreakpoint) + HRESULT ( STDMETHODCALLTYPE *SetUnmanagedBreakpoint )( ICorDebugProcess2 * This, /* [in] */ CORDB_ADDRESS address, /* [in] */ ULONG32 bufsize, /* [length_is][size_is][out] */ BYTE buffer[ ], /* [out] */ ULONG32 *bufLen); - - HRESULT ( STDMETHODCALLTYPE *ClearUnmanagedBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugProcess2, ClearUnmanagedBreakpoint) + HRESULT ( STDMETHODCALLTYPE *ClearUnmanagedBreakpoint )( ICorDebugProcess2 * This, /* [in] */ CORDB_ADDRESS address); - - HRESULT ( STDMETHODCALLTYPE *SetDesiredNGENCompilerFlags )( + + DECLSPEC_XFGVIRT(ICorDebugProcess2, SetDesiredNGENCompilerFlags) + HRESULT ( STDMETHODCALLTYPE *SetDesiredNGENCompilerFlags )( ICorDebugProcess2 * This, /* [in] */ DWORD pdwFlags); - - HRESULT ( STDMETHODCALLTYPE *GetDesiredNGENCompilerFlags )( + + DECLSPEC_XFGVIRT(ICorDebugProcess2, GetDesiredNGENCompilerFlags) + HRESULT ( STDMETHODCALLTYPE *GetDesiredNGENCompilerFlags )( ICorDebugProcess2 * This, /* [out] */ DWORD *pdwFlags); - - HRESULT ( STDMETHODCALLTYPE *GetReferenceValueFromGCHandle )( + + DECLSPEC_XFGVIRT(ICorDebugProcess2, GetReferenceValueFromGCHandle) + HRESULT ( STDMETHODCALLTYPE *GetReferenceValueFromGCHandle )( ICorDebugProcess2 * This, /* [in] */ UINT_PTR handle, /* [out] */ ICorDebugReferenceValue **pOutValue); - + END_INTERFACE } ICorDebugProcess2Vtbl; @@ -7060,98 +7399,102 @@ EXTERN_C const IID IID_ICorDebugProcess2; CONST_VTBL struct ICorDebugProcess2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcess2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcess2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcess2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcess2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcess2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcess2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcess2_GetThreadForTaskID(This,taskid,ppThread) \ - ( (This)->lpVtbl -> GetThreadForTaskID(This,taskid,ppThread) ) +#define ICorDebugProcess2_GetThreadForTaskID(This,taskid,ppThread) \ + ( (This)->lpVtbl -> GetThreadForTaskID(This,taskid,ppThread) ) -#define ICorDebugProcess2_GetVersion(This,version) \ - ( (This)->lpVtbl -> GetVersion(This,version) ) +#define ICorDebugProcess2_GetVersion(This,version) \ + ( (This)->lpVtbl -> GetVersion(This,version) ) -#define ICorDebugProcess2_SetUnmanagedBreakpoint(This,address,bufsize,buffer,bufLen) \ - ( (This)->lpVtbl -> SetUnmanagedBreakpoint(This,address,bufsize,buffer,bufLen) ) +#define ICorDebugProcess2_SetUnmanagedBreakpoint(This,address,bufsize,buffer,bufLen) \ + ( (This)->lpVtbl -> SetUnmanagedBreakpoint(This,address,bufsize,buffer,bufLen) ) -#define ICorDebugProcess2_ClearUnmanagedBreakpoint(This,address) \ - ( (This)->lpVtbl -> ClearUnmanagedBreakpoint(This,address) ) +#define ICorDebugProcess2_ClearUnmanagedBreakpoint(This,address) \ + ( (This)->lpVtbl -> ClearUnmanagedBreakpoint(This,address) ) -#define ICorDebugProcess2_SetDesiredNGENCompilerFlags(This,pdwFlags) \ - ( (This)->lpVtbl -> SetDesiredNGENCompilerFlags(This,pdwFlags) ) +#define ICorDebugProcess2_SetDesiredNGENCompilerFlags(This,pdwFlags) \ + ( (This)->lpVtbl -> SetDesiredNGENCompilerFlags(This,pdwFlags) ) -#define ICorDebugProcess2_GetDesiredNGENCompilerFlags(This,pdwFlags) \ - ( (This)->lpVtbl -> GetDesiredNGENCompilerFlags(This,pdwFlags) ) +#define ICorDebugProcess2_GetDesiredNGENCompilerFlags(This,pdwFlags) \ + ( (This)->lpVtbl -> GetDesiredNGENCompilerFlags(This,pdwFlags) ) -#define ICorDebugProcess2_GetReferenceValueFromGCHandle(This,handle,pOutValue) \ - ( (This)->lpVtbl -> GetReferenceValueFromGCHandle(This,handle,pOutValue) ) +#define ICorDebugProcess2_GetReferenceValueFromGCHandle(This,handle,pOutValue) \ + ( (This)->lpVtbl -> GetReferenceValueFromGCHandle(This,handle,pOutValue) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcess2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcess2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugProcess3_INTERFACE_DEFINED__ #define __ICorDebugProcess3_INTERFACE_DEFINED__ /* interface ICorDebugProcess3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcess3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("2EE06488-C0D4-42B1-B26D-F3795EF606FB") ICorDebugProcess3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE SetEnableCustomNotification( + virtual HRESULT STDMETHODCALLTYPE SetEnableCustomNotification( ICorDebugClass *pClass, BOOL fEnable) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcess3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcess3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcess3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcess3 * This); - - HRESULT ( STDMETHODCALLTYPE *SetEnableCustomNotification )( + + DECLSPEC_XFGVIRT(ICorDebugProcess3, SetEnableCustomNotification) + HRESULT ( STDMETHODCALLTYPE *SetEnableCustomNotification )( ICorDebugProcess3 * This, ICorDebugClass *pClass, BOOL fEnable); - + END_INTERFACE } ICorDebugProcess3Vtbl; @@ -7160,175 +7503,190 @@ EXTERN_C const IID IID_ICorDebugProcess3; CONST_VTBL struct ICorDebugProcess3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcess3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcess3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcess3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcess3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcess3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcess3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcess3_SetEnableCustomNotification(This,pClass,fEnable) \ - ( (This)->lpVtbl -> SetEnableCustomNotification(This,pClass,fEnable) ) +#define ICorDebugProcess3_SetEnableCustomNotification(This,pClass,fEnable) \ + ( (This)->lpVtbl -> SetEnableCustomNotification(This,pClass,fEnable) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcess3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcess3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugProcess5_INTERFACE_DEFINED__ #define __ICorDebugProcess5_INTERFACE_DEFINED__ /* interface ICorDebugProcess5 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcess5; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("21e9d9c0-fcb8-11df-8cff-0800200c9a66") ICorDebugProcess5 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetGCHeapInformation( + virtual HRESULT STDMETHODCALLTYPE GetGCHeapInformation( /* [out] */ COR_HEAPINFO *pHeapInfo) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateHeap( + + virtual HRESULT STDMETHODCALLTYPE EnumerateHeap( /* [out] */ ICorDebugHeapEnum **ppObjects) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateHeapRegions( + + virtual HRESULT STDMETHODCALLTYPE EnumerateHeapRegions( /* [out] */ ICorDebugHeapSegmentEnum **ppRegions) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObject( + + virtual HRESULT STDMETHODCALLTYPE GetObject( /* [in] */ CORDB_ADDRESS addr, /* [out] */ ICorDebugObjectValue **pObject) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateGCReferences( + + virtual HRESULT STDMETHODCALLTYPE EnumerateGCReferences( /* [in] */ BOOL enumerateWeakReferences, /* [out] */ ICorDebugGCReferenceEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateHandles( + + virtual HRESULT STDMETHODCALLTYPE EnumerateHandles( /* [in] */ CorGCReferenceType types, /* [out] */ ICorDebugGCReferenceEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTypeID( + + virtual HRESULT STDMETHODCALLTYPE GetTypeID( /* [in] */ CORDB_ADDRESS obj, /* [out] */ COR_TYPEID *pId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTypeForTypeID( + + virtual HRESULT STDMETHODCALLTYPE GetTypeForTypeID( /* [in] */ COR_TYPEID id, /* [out] */ ICorDebugType **ppType) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetArrayLayout( + + virtual HRESULT STDMETHODCALLTYPE GetArrayLayout( /* [in] */ COR_TYPEID id, /* [out] */ COR_ARRAY_LAYOUT *pLayout) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTypeLayout( + + virtual HRESULT STDMETHODCALLTYPE GetTypeLayout( /* [in] */ COR_TYPEID id, /* [out] */ COR_TYPE_LAYOUT *pLayout) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTypeFields( + + virtual HRESULT STDMETHODCALLTYPE GetTypeFields( /* [in] */ COR_TYPEID id, ULONG32 celt, COR_FIELD fields[ ], ULONG32 *pceltNeeded) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableNGENPolicy( + + virtual HRESULT STDMETHODCALLTYPE EnableNGENPolicy( /* [in] */ CorDebugNGENPolicy ePolicy) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcess5Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcess5 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcess5 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcess5 * This); - - HRESULT ( STDMETHODCALLTYPE *GetGCHeapInformation )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, GetGCHeapInformation) + HRESULT ( STDMETHODCALLTYPE *GetGCHeapInformation )( ICorDebugProcess5 * This, /* [out] */ COR_HEAPINFO *pHeapInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumerateHeap )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, EnumerateHeap) + HRESULT ( STDMETHODCALLTYPE *EnumerateHeap )( ICorDebugProcess5 * This, /* [out] */ ICorDebugHeapEnum **ppObjects); - - HRESULT ( STDMETHODCALLTYPE *EnumerateHeapRegions )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, EnumerateHeapRegions) + HRESULT ( STDMETHODCALLTYPE *EnumerateHeapRegions )( ICorDebugProcess5 * This, /* [out] */ ICorDebugHeapSegmentEnum **ppRegions); - - HRESULT ( STDMETHODCALLTYPE *GetObject )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, GetObject) + HRESULT ( STDMETHODCALLTYPE *GetObject )( ICorDebugProcess5 * This, /* [in] */ CORDB_ADDRESS addr, /* [out] */ ICorDebugObjectValue **pObject); - - HRESULT ( STDMETHODCALLTYPE *EnumerateGCReferences )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, EnumerateGCReferences) + HRESULT ( STDMETHODCALLTYPE *EnumerateGCReferences )( ICorDebugProcess5 * This, /* [in] */ BOOL enumerateWeakReferences, /* [out] */ ICorDebugGCReferenceEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *EnumerateHandles )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, EnumerateHandles) + HRESULT ( STDMETHODCALLTYPE *EnumerateHandles )( ICorDebugProcess5 * This, /* [in] */ CorGCReferenceType types, /* [out] */ ICorDebugGCReferenceEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetTypeID )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, GetTypeID) + HRESULT ( STDMETHODCALLTYPE *GetTypeID )( ICorDebugProcess5 * This, /* [in] */ CORDB_ADDRESS obj, /* [out] */ COR_TYPEID *pId); - - HRESULT ( STDMETHODCALLTYPE *GetTypeForTypeID )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, GetTypeForTypeID) + HRESULT ( STDMETHODCALLTYPE *GetTypeForTypeID )( ICorDebugProcess5 * This, /* [in] */ COR_TYPEID id, /* [out] */ ICorDebugType **ppType); - - HRESULT ( STDMETHODCALLTYPE *GetArrayLayout )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, GetArrayLayout) + HRESULT ( STDMETHODCALLTYPE *GetArrayLayout )( ICorDebugProcess5 * This, /* [in] */ COR_TYPEID id, /* [out] */ COR_ARRAY_LAYOUT *pLayout); - - HRESULT ( STDMETHODCALLTYPE *GetTypeLayout )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, GetTypeLayout) + HRESULT ( STDMETHODCALLTYPE *GetTypeLayout )( ICorDebugProcess5 * This, /* [in] */ COR_TYPEID id, /* [out] */ COR_TYPE_LAYOUT *pLayout); - - HRESULT ( STDMETHODCALLTYPE *GetTypeFields )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, GetTypeFields) + HRESULT ( STDMETHODCALLTYPE *GetTypeFields )( ICorDebugProcess5 * This, /* [in] */ COR_TYPEID id, ULONG32 celt, COR_FIELD fields[ ], ULONG32 *pceltNeeded); - - HRESULT ( STDMETHODCALLTYPE *EnableNGENPolicy )( + + DECLSPEC_XFGVIRT(ICorDebugProcess5, EnableNGENPolicy) + HRESULT ( STDMETHODCALLTYPE *EnableNGENPolicy )( ICorDebugProcess5 * This, /* [in] */ CorDebugNGENPolicy ePolicy); - + END_INTERFACE } ICorDebugProcess5Vtbl; @@ -7337,101 +7695,101 @@ EXTERN_C const IID IID_ICorDebugProcess5; CONST_VTBL struct ICorDebugProcess5Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcess5_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcess5_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcess5_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcess5_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcess5_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcess5_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcess5_GetGCHeapInformation(This,pHeapInfo) \ - ( (This)->lpVtbl -> GetGCHeapInformation(This,pHeapInfo) ) +#define ICorDebugProcess5_GetGCHeapInformation(This,pHeapInfo) \ + ( (This)->lpVtbl -> GetGCHeapInformation(This,pHeapInfo) ) -#define ICorDebugProcess5_EnumerateHeap(This,ppObjects) \ - ( (This)->lpVtbl -> EnumerateHeap(This,ppObjects) ) +#define ICorDebugProcess5_EnumerateHeap(This,ppObjects) \ + ( (This)->lpVtbl -> EnumerateHeap(This,ppObjects) ) -#define ICorDebugProcess5_EnumerateHeapRegions(This,ppRegions) \ - ( (This)->lpVtbl -> EnumerateHeapRegions(This,ppRegions) ) +#define ICorDebugProcess5_EnumerateHeapRegions(This,ppRegions) \ + ( (This)->lpVtbl -> EnumerateHeapRegions(This,ppRegions) ) -#define ICorDebugProcess5_GetObject(This,addr,pObject) \ - ( (This)->lpVtbl -> GetObject(This,addr,pObject) ) +#define ICorDebugProcess5_GetObject(This,addr,pObject) \ + ( (This)->lpVtbl -> GetObject(This,addr,pObject) ) -#define ICorDebugProcess5_EnumerateGCReferences(This,enumerateWeakReferences,ppEnum) \ - ( (This)->lpVtbl -> EnumerateGCReferences(This,enumerateWeakReferences,ppEnum) ) +#define ICorDebugProcess5_EnumerateGCReferences(This,enumerateWeakReferences,ppEnum) \ + ( (This)->lpVtbl -> EnumerateGCReferences(This,enumerateWeakReferences,ppEnum) ) -#define ICorDebugProcess5_EnumerateHandles(This,types,ppEnum) \ - ( (This)->lpVtbl -> EnumerateHandles(This,types,ppEnum) ) +#define ICorDebugProcess5_EnumerateHandles(This,types,ppEnum) \ + ( (This)->lpVtbl -> EnumerateHandles(This,types,ppEnum) ) -#define ICorDebugProcess5_GetTypeID(This,obj,pId) \ - ( (This)->lpVtbl -> GetTypeID(This,obj,pId) ) +#define ICorDebugProcess5_GetTypeID(This,obj,pId) \ + ( (This)->lpVtbl -> GetTypeID(This,obj,pId) ) -#define ICorDebugProcess5_GetTypeForTypeID(This,id,ppType) \ - ( (This)->lpVtbl -> GetTypeForTypeID(This,id,ppType) ) +#define ICorDebugProcess5_GetTypeForTypeID(This,id,ppType) \ + ( (This)->lpVtbl -> GetTypeForTypeID(This,id,ppType) ) -#define ICorDebugProcess5_GetArrayLayout(This,id,pLayout) \ - ( (This)->lpVtbl -> GetArrayLayout(This,id,pLayout) ) +#define ICorDebugProcess5_GetArrayLayout(This,id,pLayout) \ + ( (This)->lpVtbl -> GetArrayLayout(This,id,pLayout) ) -#define ICorDebugProcess5_GetTypeLayout(This,id,pLayout) \ - ( (This)->lpVtbl -> GetTypeLayout(This,id,pLayout) ) +#define ICorDebugProcess5_GetTypeLayout(This,id,pLayout) \ + ( (This)->lpVtbl -> GetTypeLayout(This,id,pLayout) ) -#define ICorDebugProcess5_GetTypeFields(This,id,celt,fields,pceltNeeded) \ - ( (This)->lpVtbl -> GetTypeFields(This,id,celt,fields,pceltNeeded) ) +#define ICorDebugProcess5_GetTypeFields(This,id,celt,fields,pceltNeeded) \ + ( (This)->lpVtbl -> GetTypeFields(This,id,celt,fields,pceltNeeded) ) -#define ICorDebugProcess5_EnableNGENPolicy(This,ePolicy) \ - ( (This)->lpVtbl -> EnableNGENPolicy(This,ePolicy) ) +#define ICorDebugProcess5_EnableNGENPolicy(This,ePolicy) \ + ( (This)->lpVtbl -> EnableNGENPolicy(This,ePolicy) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcess5_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcess5_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0040 */ -/* [local] */ +/* [local] */ -typedef +typedef enum CorDebugRecordFormat { - FORMAT_WINDOWS_EXCEPTIONRECORD32 = 1, - FORMAT_WINDOWS_EXCEPTIONRECORD64 = 2 - } CorDebugRecordFormat; + FORMAT_WINDOWS_EXCEPTIONRECORD32 = 1, + FORMAT_WINDOWS_EXCEPTIONRECORD64 = 2 + } CorDebugRecordFormat; -typedef +typedef enum CorDebugDecodeEventFlagsWindows { - IS_FIRST_CHANCE = 1 - } CorDebugDecodeEventFlagsWindows; + IS_FIRST_CHANCE = 1 + } CorDebugDecodeEventFlagsWindows; -typedef +typedef enum CorDebugDebugEventKind { - DEBUG_EVENT_KIND_MODULE_LOADED = 1, - DEBUG_EVENT_KIND_MODULE_UNLOADED = 2, - DEBUG_EVENT_KIND_MANAGED_EXCEPTION_FIRST_CHANCE = 3, - DEBUG_EVENT_KIND_MANAGED_EXCEPTION_USER_FIRST_CHANCE = 4, - DEBUG_EVENT_KIND_MANAGED_EXCEPTION_CATCH_HANDLER_FOUND = 5, - DEBUG_EVENT_KIND_MANAGED_EXCEPTION_UNHANDLED = 6 - } CorDebugDebugEventKind; + DEBUG_EVENT_KIND_MODULE_LOADED = 1, + DEBUG_EVENT_KIND_MODULE_UNLOADED = 2, + DEBUG_EVENT_KIND_MANAGED_EXCEPTION_FIRST_CHANCE = 3, + DEBUG_EVENT_KIND_MANAGED_EXCEPTION_USER_FIRST_CHANCE = 4, + DEBUG_EVENT_KIND_MANAGED_EXCEPTION_CATCH_HANDLER_FOUND = 5, + DEBUG_EVENT_KIND_MANAGED_EXCEPTION_UNHANDLED = 6 + } CorDebugDebugEventKind; -typedef +typedef enum CorDebugStateChange { - PROCESS_RUNNING = 0x1, - FLUSH_ALL = 0x2 - } CorDebugStateChange; + PROCESS_RUNNING = 0x1, + FLUSH_ALL = 0x2 + } CorDebugStateChange; @@ -7442,52 +7800,57 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0040_v0_0_s_ifspec; #define __ICorDebugDebugEvent_INTERFACE_DEFINED__ /* interface ICorDebugDebugEvent */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugDebugEvent; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("41BD395D-DE99-48F1-BF7A-CC0F44A6D281") ICorDebugDebugEvent : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetEventKind( + virtual HRESULT STDMETHODCALLTYPE GetEventKind( /* [out] */ CorDebugDebugEventKind *pDebugEventKind) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThread( + + virtual HRESULT STDMETHODCALLTYPE GetThread( /* [out] */ ICorDebugThread **ppThread) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugDebugEventVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugDebugEvent * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugDebugEvent * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugDebugEvent * This); - - HRESULT ( STDMETHODCALLTYPE *GetEventKind )( + + DECLSPEC_XFGVIRT(ICorDebugDebugEvent, GetEventKind) + HRESULT ( STDMETHODCALLTYPE *GetEventKind )( ICorDebugDebugEvent * This, /* [out] */ CorDebugDebugEventKind *pDebugEventKind); - - HRESULT ( STDMETHODCALLTYPE *GetThread )( + + DECLSPEC_XFGVIRT(ICorDebugDebugEvent, GetThread) + HRESULT ( STDMETHODCALLTYPE *GetThread )( ICorDebugDebugEvent * This, /* [out] */ ICorDebugThread **ppThread); - + END_INTERFACE } ICorDebugDebugEventVtbl; @@ -7496,57 +7859,57 @@ EXTERN_C const IID IID_ICorDebugDebugEvent; CONST_VTBL struct ICorDebugDebugEventVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugDebugEvent_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugDebugEvent_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugDebugEvent_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugDebugEvent_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugDebugEvent_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugDebugEvent_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugDebugEvent_GetEventKind(This,pDebugEventKind) \ - ( (This)->lpVtbl -> GetEventKind(This,pDebugEventKind) ) +#define ICorDebugDebugEvent_GetEventKind(This,pDebugEventKind) \ + ( (This)->lpVtbl -> GetEventKind(This,pDebugEventKind) ) -#define ICorDebugDebugEvent_GetThread(This,ppThread) \ - ( (This)->lpVtbl -> GetThread(This,ppThread) ) +#define ICorDebugDebugEvent_GetThread(This,ppThread) \ + ( (This)->lpVtbl -> GetThread(This,ppThread) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugDebugEvent_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugDebugEvent_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0041 */ -/* [local] */ +/* [local] */ -typedef +typedef enum CorDebugCodeInvokeKind { - CODE_INVOKE_KIND_NONE = 0, - CODE_INVOKE_KIND_RETURN = ( CODE_INVOKE_KIND_NONE + 1 ) , - CODE_INVOKE_KIND_TAILCALL = ( CODE_INVOKE_KIND_RETURN + 1 ) - } CorDebugCodeInvokeKind; + CODE_INVOKE_KIND_NONE = 0, + CODE_INVOKE_KIND_RETURN = ( CODE_INVOKE_KIND_NONE + 1 ) , + CODE_INVOKE_KIND_TAILCALL = ( CODE_INVOKE_KIND_RETURN + 1 ) + } CorDebugCodeInvokeKind; -typedef +typedef enum CorDebugCodeInvokePurpose { - CODE_INVOKE_PURPOSE_NONE = 0, - CODE_INVOKE_PURPOSE_NATIVE_TO_MANAGED_TRANSITION = ( CODE_INVOKE_PURPOSE_NONE + 1 ) , - CODE_INVOKE_PURPOSE_CLASS_INIT = ( CODE_INVOKE_PURPOSE_NATIVE_TO_MANAGED_TRANSITION + 1 ) , - CODE_INVOKE_PURPOSE_INTERFACE_DISPATCH = ( CODE_INVOKE_PURPOSE_CLASS_INIT + 1 ) - } CorDebugCodeInvokePurpose; + CODE_INVOKE_PURPOSE_NONE = 0, + CODE_INVOKE_PURPOSE_NATIVE_TO_MANAGED_TRANSITION = ( CODE_INVOKE_PURPOSE_NONE + 1 ) , + CODE_INVOKE_PURPOSE_CLASS_INIT = ( CODE_INVOKE_PURPOSE_NATIVE_TO_MANAGED_TRANSITION + 1 ) , + CODE_INVOKE_PURPOSE_INTERFACE_DISPATCH = ( CODE_INVOKE_PURPOSE_CLASS_INIT + 1 ) + } CorDebugCodeInvokePurpose; @@ -7557,65 +7920,69 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0041_v0_0_s_ifspec; #define __ICorDebugProcess6_INTERFACE_DEFINED__ /* interface ICorDebugProcess6 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcess6; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("11588775-7205-4CEB-A41A-93753C3153E9") ICorDebugProcess6 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE DecodeEvent( + virtual HRESULT STDMETHODCALLTYPE DecodeEvent( /* [size_is][length_is][in] */ const BYTE pRecord[ ], /* [in] */ DWORD countBytes, /* [in] */ CorDebugRecordFormat format, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwThreadId, /* [out] */ ICorDebugDebugEvent **ppEvent) = 0; - - virtual HRESULT STDMETHODCALLTYPE ProcessStateChanged( + + virtual HRESULT STDMETHODCALLTYPE ProcessStateChanged( /* [in] */ CorDebugStateChange change) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCode( + + virtual HRESULT STDMETHODCALLTYPE GetCode( /* [in] */ CORDB_ADDRESS codeAddress, /* [out] */ ICorDebugCode **ppCode) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVirtualModuleSplitting( + + virtual HRESULT STDMETHODCALLTYPE EnableVirtualModuleSplitting( BOOL enableSplitting) = 0; - - virtual HRESULT STDMETHODCALLTYPE MarkDebuggerAttached( + + virtual HRESULT STDMETHODCALLTYPE MarkDebuggerAttached( BOOL fIsAttached) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetExportStepInfo( + + virtual HRESULT STDMETHODCALLTYPE GetExportStepInfo( /* [in] */ LPCWSTR pszExportName, /* [out] */ CorDebugCodeInvokeKind *pInvokeKind, /* [out] */ CorDebugCodeInvokePurpose *pInvokePurpose) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcess6Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcess6 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcess6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcess6 * This); - - HRESULT ( STDMETHODCALLTYPE *DecodeEvent )( + + DECLSPEC_XFGVIRT(ICorDebugProcess6, DecodeEvent) + HRESULT ( STDMETHODCALLTYPE *DecodeEvent )( ICorDebugProcess6 * This, /* [size_is][length_is][in] */ const BYTE pRecord[ ], /* [in] */ DWORD countBytes, @@ -7623,30 +7990,35 @@ EXTERN_C const IID IID_ICorDebugProcess6; /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwThreadId, /* [out] */ ICorDebugDebugEvent **ppEvent); - - HRESULT ( STDMETHODCALLTYPE *ProcessStateChanged )( + + DECLSPEC_XFGVIRT(ICorDebugProcess6, ProcessStateChanged) + HRESULT ( STDMETHODCALLTYPE *ProcessStateChanged )( ICorDebugProcess6 * This, /* [in] */ CorDebugStateChange change); - - HRESULT ( STDMETHODCALLTYPE *GetCode )( + + DECLSPEC_XFGVIRT(ICorDebugProcess6, GetCode) + HRESULT ( STDMETHODCALLTYPE *GetCode )( ICorDebugProcess6 * This, /* [in] */ CORDB_ADDRESS codeAddress, /* [out] */ ICorDebugCode **ppCode); - - HRESULT ( STDMETHODCALLTYPE *EnableVirtualModuleSplitting )( + + DECLSPEC_XFGVIRT(ICorDebugProcess6, EnableVirtualModuleSplitting) + HRESULT ( STDMETHODCALLTYPE *EnableVirtualModuleSplitting )( ICorDebugProcess6 * This, BOOL enableSplitting); - - HRESULT ( STDMETHODCALLTYPE *MarkDebuggerAttached )( + + DECLSPEC_XFGVIRT(ICorDebugProcess6, MarkDebuggerAttached) + HRESULT ( STDMETHODCALLTYPE *MarkDebuggerAttached )( ICorDebugProcess6 * This, BOOL fIsAttached); - - HRESULT ( STDMETHODCALLTYPE *GetExportStepInfo )( + + DECLSPEC_XFGVIRT(ICorDebugProcess6, GetExportStepInfo) + HRESULT ( STDMETHODCALLTYPE *GetExportStepInfo )( ICorDebugProcess6 * This, /* [in] */ LPCWSTR pszExportName, /* [out] */ CorDebugCodeInvokeKind *pInvokeKind, /* [out] */ CorDebugCodeInvokePurpose *pInvokePurpose); - + END_INTERFACE } ICorDebugProcess6Vtbl; @@ -7655,59 +8027,59 @@ EXTERN_C const IID IID_ICorDebugProcess6; CONST_VTBL struct ICorDebugProcess6Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcess6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcess6_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcess6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcess6_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcess6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcess6_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcess6_DecodeEvent(This,pRecord,countBytes,format,dwFlags,dwThreadId,ppEvent) \ - ( (This)->lpVtbl -> DecodeEvent(This,pRecord,countBytes,format,dwFlags,dwThreadId,ppEvent) ) +#define ICorDebugProcess6_DecodeEvent(This,pRecord,countBytes,format,dwFlags,dwThreadId,ppEvent) \ + ( (This)->lpVtbl -> DecodeEvent(This,pRecord,countBytes,format,dwFlags,dwThreadId,ppEvent) ) -#define ICorDebugProcess6_ProcessStateChanged(This,change) \ - ( (This)->lpVtbl -> ProcessStateChanged(This,change) ) +#define ICorDebugProcess6_ProcessStateChanged(This,change) \ + ( (This)->lpVtbl -> ProcessStateChanged(This,change) ) -#define ICorDebugProcess6_GetCode(This,codeAddress,ppCode) \ - ( (This)->lpVtbl -> GetCode(This,codeAddress,ppCode) ) +#define ICorDebugProcess6_GetCode(This,codeAddress,ppCode) \ + ( (This)->lpVtbl -> GetCode(This,codeAddress,ppCode) ) -#define ICorDebugProcess6_EnableVirtualModuleSplitting(This,enableSplitting) \ - ( (This)->lpVtbl -> EnableVirtualModuleSplitting(This,enableSplitting) ) +#define ICorDebugProcess6_EnableVirtualModuleSplitting(This,enableSplitting) \ + ( (This)->lpVtbl -> EnableVirtualModuleSplitting(This,enableSplitting) ) -#define ICorDebugProcess6_MarkDebuggerAttached(This,fIsAttached) \ - ( (This)->lpVtbl -> MarkDebuggerAttached(This,fIsAttached) ) +#define ICorDebugProcess6_MarkDebuggerAttached(This,fIsAttached) \ + ( (This)->lpVtbl -> MarkDebuggerAttached(This,fIsAttached) ) -#define ICorDebugProcess6_GetExportStepInfo(This,pszExportName,pInvokeKind,pInvokePurpose) \ - ( (This)->lpVtbl -> GetExportStepInfo(This,pszExportName,pInvokeKind,pInvokePurpose) ) +#define ICorDebugProcess6_GetExportStepInfo(This,pszExportName,pInvokeKind,pInvokePurpose) \ + ( (This)->lpVtbl -> GetExportStepInfo(This,pszExportName,pInvokeKind,pInvokePurpose) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcess6_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcess6_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0042 */ -/* [local] */ +/* [local] */ -typedef +typedef enum WriteableMetadataUpdateMode { - LegacyCompatPolicy = 0, - AlwaysShowUpdates = ( LegacyCompatPolicy + 1 ) - } WriteableMetadataUpdateMode; + LegacyCompatPolicy = 0, + AlwaysShowUpdates = ( LegacyCompatPolicy + 1 ) + } WriteableMetadataUpdateMode; @@ -7718,45 +8090,49 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0042_v0_0_s_ifspec; #define __ICorDebugProcess7_INTERFACE_DEFINED__ /* interface ICorDebugProcess7 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcess7; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("9B2C54E4-119F-4D6F-B402-527603266D69") ICorDebugProcess7 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE SetWriteableMetadataUpdateMode( + virtual HRESULT STDMETHODCALLTYPE SetWriteableMetadataUpdateMode( WriteableMetadataUpdateMode flags) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcess7Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcess7 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcess7 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcess7 * This); - - HRESULT ( STDMETHODCALLTYPE *SetWriteableMetadataUpdateMode )( + + DECLSPEC_XFGVIRT(ICorDebugProcess7, SetWriteableMetadataUpdateMode) + HRESULT ( STDMETHODCALLTYPE *SetWriteableMetadataUpdateMode )( ICorDebugProcess7 * This, WriteableMetadataUpdateMode flags); - + END_INTERFACE } ICorDebugProcess7Vtbl; @@ -7765,78 +8141,82 @@ EXTERN_C const IID IID_ICorDebugProcess7; CONST_VTBL struct ICorDebugProcess7Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcess7_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcess7_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcess7_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcess7_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcess7_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcess7_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcess7_SetWriteableMetadataUpdateMode(This,flags) \ - ( (This)->lpVtbl -> SetWriteableMetadataUpdateMode(This,flags) ) +#define ICorDebugProcess7_SetWriteableMetadataUpdateMode(This,flags) \ + ( (This)->lpVtbl -> SetWriteableMetadataUpdateMode(This,flags) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcess7_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcess7_INTERFACE_DEFINED__ */ #ifndef __ICorDebugProcess8_INTERFACE_DEFINED__ #define __ICorDebugProcess8_INTERFACE_DEFINED__ /* interface ICorDebugProcess8 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcess8; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("2E6F28C1-85EB-4141-80AD-0A90944B9639") ICorDebugProcess8 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE EnableExceptionCallbacksOutsideOfMyCode( + virtual HRESULT STDMETHODCALLTYPE EnableExceptionCallbacksOutsideOfMyCode( /* [in] */ BOOL enableExceptionsOutsideOfJMC) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcess8Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcess8 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcess8 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcess8 * This); - - HRESULT ( STDMETHODCALLTYPE *EnableExceptionCallbacksOutsideOfMyCode )( + + DECLSPEC_XFGVIRT(ICorDebugProcess8, EnableExceptionCallbacksOutsideOfMyCode) + HRESULT ( STDMETHODCALLTYPE *EnableExceptionCallbacksOutsideOfMyCode )( ICorDebugProcess8 * This, /* [in] */ BOOL enableExceptionsOutsideOfJMC); - + END_INTERFACE } ICorDebugProcess8Vtbl; @@ -7845,78 +8225,82 @@ EXTERN_C const IID IID_ICorDebugProcess8; CONST_VTBL struct ICorDebugProcess8Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcess8_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcess8_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcess8_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcess8_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcess8_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcess8_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcess8_EnableExceptionCallbacksOutsideOfMyCode(This,enableExceptionsOutsideOfJMC) \ - ( (This)->lpVtbl -> EnableExceptionCallbacksOutsideOfMyCode(This,enableExceptionsOutsideOfJMC) ) +#define ICorDebugProcess8_EnableExceptionCallbacksOutsideOfMyCode(This,enableExceptionsOutsideOfJMC) \ + ( (This)->lpVtbl -> EnableExceptionCallbacksOutsideOfMyCode(This,enableExceptionsOutsideOfJMC) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcess8_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcess8_INTERFACE_DEFINED__ */ #ifndef __ICorDebugProcess10_INTERFACE_DEFINED__ #define __ICorDebugProcess10_INTERFACE_DEFINED__ /* interface ICorDebugProcess10 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcess10; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("8F378F6F-1017-4461-9890-ECF64C54079F") ICorDebugProcess10 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE EnableGCNotificationEvents( + virtual HRESULT STDMETHODCALLTYPE EnableGCNotificationEvents( BOOL fEnable) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcess10Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcess10 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcess10 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcess10 * This); - - HRESULT ( STDMETHODCALLTYPE *EnableGCNotificationEvents )( + + DECLSPEC_XFGVIRT(ICorDebugProcess10, EnableGCNotificationEvents) + HRESULT ( STDMETHODCALLTYPE *EnableGCNotificationEvents )( ICorDebugProcess10 * This, BOOL fEnable); - + END_INTERFACE } ICorDebugProcess10Vtbl; @@ -7925,43 +8309,43 @@ EXTERN_C const IID IID_ICorDebugProcess10; CONST_VTBL struct ICorDebugProcess10Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcess10_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcess10_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcess10_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcess10_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcess10_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcess10_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcess10_EnableGCNotificationEvents(This,fEnable) \ - ( (This)->lpVtbl -> EnableGCNotificationEvents(This,fEnable) ) +#define ICorDebugProcess10_EnableGCNotificationEvents(This,fEnable) \ + ( (This)->lpVtbl -> EnableGCNotificationEvents(This,fEnable) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcess10_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcess10_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0045 */ -/* [local] */ +/* [local] */ typedef struct _COR_MEMORY_RANGE { CORDB_ADDRESS start; CORDB_ADDRESS end; - } COR_MEMORY_RANGE; + } COR_MEMORY_RANGE; @@ -7972,64 +8356,72 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0045_v0_0_s_ifspec; #define __ICorDebugMemoryRangeEnum_INTERFACE_DEFINED__ /* interface ICorDebugMemoryRangeEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugMemoryRangeEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("D1A0BCFC-5865-4437-BE3F-36F022951F8A") ICorDebugMemoryRangeEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_MEMORY_RANGE objects[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugMemoryRangeEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugMemoryRangeEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugMemoryRangeEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugMemoryRangeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugMemoryRangeEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugMemoryRangeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugMemoryRangeEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugMemoryRangeEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugMemoryRangeEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugMemoryRangeEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_MEMORY_RANGE objects[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugMemoryRangeEnumVtbl; @@ -8038,91 +8430,95 @@ EXTERN_C const IID IID_ICorDebugMemoryRangeEnum; CONST_VTBL struct ICorDebugMemoryRangeEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugMemoryRangeEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugMemoryRangeEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugMemoryRangeEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugMemoryRangeEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugMemoryRangeEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugMemoryRangeEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugMemoryRangeEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugMemoryRangeEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugMemoryRangeEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugMemoryRangeEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugMemoryRangeEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugMemoryRangeEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugMemoryRangeEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugMemoryRangeEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugMemoryRangeEnum_Next(This,celt,objects,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) +#define ICorDebugMemoryRangeEnum_Next(This,celt,objects,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugMemoryRangeEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugMemoryRangeEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugProcess11_INTERFACE_DEFINED__ #define __ICorDebugProcess11_INTERFACE_DEFINED__ /* interface ICorDebugProcess11 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcess11; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("344B37AA-F2C0-4D3B-9909-91CCF787DA8C") ICorDebugProcess11 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE EnumerateLoaderHeapMemoryRegions( + virtual HRESULT STDMETHODCALLTYPE EnumerateLoaderHeapMemoryRegions( /* [out] */ ICorDebugMemoryRangeEnum **ppRanges) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcess11Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcess11 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcess11 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcess11 * This); - - HRESULT ( STDMETHODCALLTYPE *EnumerateLoaderHeapMemoryRegions )( + + DECLSPEC_XFGVIRT(ICorDebugProcess11, EnumerateLoaderHeapMemoryRegions) + HRESULT ( STDMETHODCALLTYPE *EnumerateLoaderHeapMemoryRegions )( ICorDebugProcess11 * This, /* [out] */ ICorDebugMemoryRangeEnum **ppRanges); - + END_INTERFACE } ICorDebugProcess11Vtbl; @@ -8131,86 +8527,92 @@ EXTERN_C const IID IID_ICorDebugProcess11; CONST_VTBL struct ICorDebugProcess11Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcess11_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcess11_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcess11_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcess11_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcess11_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcess11_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcess11_EnumerateLoaderHeapMemoryRegions(This,ppRanges) \ - ( (This)->lpVtbl -> EnumerateLoaderHeapMemoryRegions(This,ppRanges) ) +#define ICorDebugProcess11_EnumerateLoaderHeapMemoryRegions(This,ppRanges) \ + ( (This)->lpVtbl -> EnumerateLoaderHeapMemoryRegions(This,ppRanges) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcess11_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcess11_INTERFACE_DEFINED__ */ #ifndef __ICorDebugModuleDebugEvent_INTERFACE_DEFINED__ #define __ICorDebugModuleDebugEvent_INTERFACE_DEFINED__ /* interface ICorDebugModuleDebugEvent */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugModuleDebugEvent; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("51A15E8D-9FFF-4864-9B87-F4FBDEA747A2") ICorDebugModuleDebugEvent : public ICorDebugDebugEvent { public: - virtual HRESULT STDMETHODCALLTYPE GetModule( + virtual HRESULT STDMETHODCALLTYPE GetModule( /* [out] */ ICorDebugModule **ppModule) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugModuleDebugEventVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugModuleDebugEvent * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugModuleDebugEvent * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugModuleDebugEvent * This); - - HRESULT ( STDMETHODCALLTYPE *GetEventKind )( + + DECLSPEC_XFGVIRT(ICorDebugDebugEvent, GetEventKind) + HRESULT ( STDMETHODCALLTYPE *GetEventKind )( ICorDebugModuleDebugEvent * This, /* [out] */ CorDebugDebugEventKind *pDebugEventKind); - - HRESULT ( STDMETHODCALLTYPE *GetThread )( + + DECLSPEC_XFGVIRT(ICorDebugDebugEvent, GetThread) + HRESULT ( STDMETHODCALLTYPE *GetThread )( ICorDebugModuleDebugEvent * This, /* [out] */ ICorDebugThread **ppThread); - - HRESULT ( STDMETHODCALLTYPE *GetModule )( + + DECLSPEC_XFGVIRT(ICorDebugModuleDebugEvent, GetModule) + HRESULT ( STDMETHODCALLTYPE *GetModule )( ICorDebugModuleDebugEvent * This, /* [out] */ ICorDebugModule **ppModule); - + END_INTERFACE } ICorDebugModuleDebugEventVtbl; @@ -8219,107 +8621,115 @@ EXTERN_C const IID IID_ICorDebugModuleDebugEvent; CONST_VTBL struct ICorDebugModuleDebugEventVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugModuleDebugEvent_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugModuleDebugEvent_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugModuleDebugEvent_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugModuleDebugEvent_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugModuleDebugEvent_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugModuleDebugEvent_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugModuleDebugEvent_GetEventKind(This,pDebugEventKind) \ - ( (This)->lpVtbl -> GetEventKind(This,pDebugEventKind) ) +#define ICorDebugModuleDebugEvent_GetEventKind(This,pDebugEventKind) \ + ( (This)->lpVtbl -> GetEventKind(This,pDebugEventKind) ) -#define ICorDebugModuleDebugEvent_GetThread(This,ppThread) \ - ( (This)->lpVtbl -> GetThread(This,ppThread) ) +#define ICorDebugModuleDebugEvent_GetThread(This,ppThread) \ + ( (This)->lpVtbl -> GetThread(This,ppThread) ) -#define ICorDebugModuleDebugEvent_GetModule(This,ppModule) \ - ( (This)->lpVtbl -> GetModule(This,ppModule) ) +#define ICorDebugModuleDebugEvent_GetModule(This,ppModule) \ + ( (This)->lpVtbl -> GetModule(This,ppModule) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugModuleDebugEvent_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugModuleDebugEvent_INTERFACE_DEFINED__ */ #ifndef __ICorDebugExceptionDebugEvent_INTERFACE_DEFINED__ #define __ICorDebugExceptionDebugEvent_INTERFACE_DEFINED__ /* interface ICorDebugExceptionDebugEvent */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugExceptionDebugEvent; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("AF79EC94-4752-419C-A626-5FB1CC1A5AB7") ICorDebugExceptionDebugEvent : public ICorDebugDebugEvent { public: - virtual HRESULT STDMETHODCALLTYPE GetStackPointer( + virtual HRESULT STDMETHODCALLTYPE GetStackPointer( /* [out] */ CORDB_ADDRESS *pStackPointer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetNativeIP( + + virtual HRESULT STDMETHODCALLTYPE GetNativeIP( /* [out] */ CORDB_ADDRESS *pIP) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFlags( + + virtual HRESULT STDMETHODCALLTYPE GetFlags( /* [out] */ CorDebugExceptionFlags *pdwFlags) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugExceptionDebugEventVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugExceptionDebugEvent * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugExceptionDebugEvent * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugExceptionDebugEvent * This); - - HRESULT ( STDMETHODCALLTYPE *GetEventKind )( + + DECLSPEC_XFGVIRT(ICorDebugDebugEvent, GetEventKind) + HRESULT ( STDMETHODCALLTYPE *GetEventKind )( ICorDebugExceptionDebugEvent * This, /* [out] */ CorDebugDebugEventKind *pDebugEventKind); - - HRESULT ( STDMETHODCALLTYPE *GetThread )( + + DECLSPEC_XFGVIRT(ICorDebugDebugEvent, GetThread) + HRESULT ( STDMETHODCALLTYPE *GetThread )( ICorDebugExceptionDebugEvent * This, /* [out] */ ICorDebugThread **ppThread); - - HRESULT ( STDMETHODCALLTYPE *GetStackPointer )( + + DECLSPEC_XFGVIRT(ICorDebugExceptionDebugEvent, GetStackPointer) + HRESULT ( STDMETHODCALLTYPE *GetStackPointer )( ICorDebugExceptionDebugEvent * This, /* [out] */ CORDB_ADDRESS *pStackPointer); - - HRESULT ( STDMETHODCALLTYPE *GetNativeIP )( + + DECLSPEC_XFGVIRT(ICorDebugExceptionDebugEvent, GetNativeIP) + HRESULT ( STDMETHODCALLTYPE *GetNativeIP )( ICorDebugExceptionDebugEvent * This, /* [out] */ CORDB_ADDRESS *pIP); - - HRESULT ( STDMETHODCALLTYPE *GetFlags )( + + DECLSPEC_XFGVIRT(ICorDebugExceptionDebugEvent, GetFlags) + HRESULT ( STDMETHODCALLTYPE *GetFlags )( ICorDebugExceptionDebugEvent * This, /* [out] */ CorDebugExceptionFlags *pdwFlags); - + END_INTERFACE } ICorDebugExceptionDebugEventVtbl; @@ -8328,98 +8738,103 @@ EXTERN_C const IID IID_ICorDebugExceptionDebugEvent; CONST_VTBL struct ICorDebugExceptionDebugEventVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugExceptionDebugEvent_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugExceptionDebugEvent_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugExceptionDebugEvent_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugExceptionDebugEvent_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugExceptionDebugEvent_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugExceptionDebugEvent_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugExceptionDebugEvent_GetEventKind(This,pDebugEventKind) \ - ( (This)->lpVtbl -> GetEventKind(This,pDebugEventKind) ) +#define ICorDebugExceptionDebugEvent_GetEventKind(This,pDebugEventKind) \ + ( (This)->lpVtbl -> GetEventKind(This,pDebugEventKind) ) -#define ICorDebugExceptionDebugEvent_GetThread(This,ppThread) \ - ( (This)->lpVtbl -> GetThread(This,ppThread) ) +#define ICorDebugExceptionDebugEvent_GetThread(This,ppThread) \ + ( (This)->lpVtbl -> GetThread(This,ppThread) ) -#define ICorDebugExceptionDebugEvent_GetStackPointer(This,pStackPointer) \ - ( (This)->lpVtbl -> GetStackPointer(This,pStackPointer) ) +#define ICorDebugExceptionDebugEvent_GetStackPointer(This,pStackPointer) \ + ( (This)->lpVtbl -> GetStackPointer(This,pStackPointer) ) -#define ICorDebugExceptionDebugEvent_GetNativeIP(This,pIP) \ - ( (This)->lpVtbl -> GetNativeIP(This,pIP) ) +#define ICorDebugExceptionDebugEvent_GetNativeIP(This,pIP) \ + ( (This)->lpVtbl -> GetNativeIP(This,pIP) ) -#define ICorDebugExceptionDebugEvent_GetFlags(This,pdwFlags) \ - ( (This)->lpVtbl -> GetFlags(This,pdwFlags) ) +#define ICorDebugExceptionDebugEvent_GetFlags(This,pdwFlags) \ + ( (This)->lpVtbl -> GetFlags(This,pdwFlags) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugExceptionDebugEvent_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugExceptionDebugEvent_INTERFACE_DEFINED__ */ #ifndef __ICorDebugBreakpoint_INTERFACE_DEFINED__ #define __ICorDebugBreakpoint_INTERFACE_DEFINED__ /* interface ICorDebugBreakpoint */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugBreakpoint; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAE8-8A68-11d2-983C-0000F808342D") ICorDebugBreakpoint : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Activate( + virtual HRESULT STDMETHODCALLTYPE Activate( /* [in] */ BOOL bActive) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsActive( + + virtual HRESULT STDMETHODCALLTYPE IsActive( /* [out] */ BOOL *pbActive) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugBreakpointVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugBreakpoint * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugBreakpoint * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugBreakpoint * This); - - HRESULT ( STDMETHODCALLTYPE *Activate )( + + DECLSPEC_XFGVIRT(ICorDebugBreakpoint, Activate) + HRESULT ( STDMETHODCALLTYPE *Activate )( ICorDebugBreakpoint * This, /* [in] */ BOOL bActive); - - HRESULT ( STDMETHODCALLTYPE *IsActive )( + + DECLSPEC_XFGVIRT(ICorDebugBreakpoint, IsActive) + HRESULT ( STDMETHODCALLTYPE *IsActive )( ICorDebugBreakpoint * This, /* [out] */ BOOL *pbActive); - + END_INTERFACE } ICorDebugBreakpointVtbl; @@ -8428,96 +8843,103 @@ EXTERN_C const IID IID_ICorDebugBreakpoint; CONST_VTBL struct ICorDebugBreakpointVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugBreakpoint_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugBreakpoint_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugBreakpoint_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugBreakpoint_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugBreakpoint_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugBreakpoint_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugBreakpoint_Activate(This,bActive) \ - ( (This)->lpVtbl -> Activate(This,bActive) ) +#define ICorDebugBreakpoint_Activate(This,bActive) \ + ( (This)->lpVtbl -> Activate(This,bActive) ) -#define ICorDebugBreakpoint_IsActive(This,pbActive) \ - ( (This)->lpVtbl -> IsActive(This,pbActive) ) +#define ICorDebugBreakpoint_IsActive(This,pbActive) \ + ( (This)->lpVtbl -> IsActive(This,pbActive) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugBreakpoint_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugBreakpoint_INTERFACE_DEFINED__ */ #ifndef __ICorDebugFunctionBreakpoint_INTERFACE_DEFINED__ #define __ICorDebugFunctionBreakpoint_INTERFACE_DEFINED__ /* interface ICorDebugFunctionBreakpoint */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugFunctionBreakpoint; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAE9-8A68-11d2-983C-0000F808342D") ICorDebugFunctionBreakpoint : public ICorDebugBreakpoint { public: - virtual HRESULT STDMETHODCALLTYPE GetFunction( + virtual HRESULT STDMETHODCALLTYPE GetFunction( /* [out] */ ICorDebugFunction **ppFunction) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetOffset( + + virtual HRESULT STDMETHODCALLTYPE GetOffset( /* [out] */ ULONG32 *pnOffset) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugFunctionBreakpointVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugFunctionBreakpoint * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugFunctionBreakpoint * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugFunctionBreakpoint * This); - - HRESULT ( STDMETHODCALLTYPE *Activate )( + + DECLSPEC_XFGVIRT(ICorDebugBreakpoint, Activate) + HRESULT ( STDMETHODCALLTYPE *Activate )( ICorDebugFunctionBreakpoint * This, /* [in] */ BOOL bActive); - - HRESULT ( STDMETHODCALLTYPE *IsActive )( + + DECLSPEC_XFGVIRT(ICorDebugBreakpoint, IsActive) + HRESULT ( STDMETHODCALLTYPE *IsActive )( ICorDebugFunctionBreakpoint * This, /* [out] */ BOOL *pbActive); - - HRESULT ( STDMETHODCALLTYPE *GetFunction )( + + DECLSPEC_XFGVIRT(ICorDebugFunctionBreakpoint, GetFunction) + HRESULT ( STDMETHODCALLTYPE *GetFunction )( ICorDebugFunctionBreakpoint * This, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetOffset )( + + DECLSPEC_XFGVIRT(ICorDebugFunctionBreakpoint, GetOffset) + HRESULT ( STDMETHODCALLTYPE *GetOffset )( ICorDebugFunctionBreakpoint * This, /* [out] */ ULONG32 *pnOffset); - + END_INTERFACE } ICorDebugFunctionBreakpointVtbl; @@ -8526,96 +8948,102 @@ EXTERN_C const IID IID_ICorDebugFunctionBreakpoint; CONST_VTBL struct ICorDebugFunctionBreakpointVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugFunctionBreakpoint_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugFunctionBreakpoint_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugFunctionBreakpoint_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugFunctionBreakpoint_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugFunctionBreakpoint_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugFunctionBreakpoint_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugFunctionBreakpoint_Activate(This,bActive) \ - ( (This)->lpVtbl -> Activate(This,bActive) ) +#define ICorDebugFunctionBreakpoint_Activate(This,bActive) \ + ( (This)->lpVtbl -> Activate(This,bActive) ) -#define ICorDebugFunctionBreakpoint_IsActive(This,pbActive) \ - ( (This)->lpVtbl -> IsActive(This,pbActive) ) +#define ICorDebugFunctionBreakpoint_IsActive(This,pbActive) \ + ( (This)->lpVtbl -> IsActive(This,pbActive) ) -#define ICorDebugFunctionBreakpoint_GetFunction(This,ppFunction) \ - ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) +#define ICorDebugFunctionBreakpoint_GetFunction(This,ppFunction) \ + ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) -#define ICorDebugFunctionBreakpoint_GetOffset(This,pnOffset) \ - ( (This)->lpVtbl -> GetOffset(This,pnOffset) ) +#define ICorDebugFunctionBreakpoint_GetOffset(This,pnOffset) \ + ( (This)->lpVtbl -> GetOffset(This,pnOffset) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugFunctionBreakpoint_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugFunctionBreakpoint_INTERFACE_DEFINED__ */ #ifndef __ICorDebugModuleBreakpoint_INTERFACE_DEFINED__ #define __ICorDebugModuleBreakpoint_INTERFACE_DEFINED__ /* interface ICorDebugModuleBreakpoint */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugModuleBreakpoint; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAEA-8A68-11d2-983C-0000F808342D") ICorDebugModuleBreakpoint : public ICorDebugBreakpoint { public: - virtual HRESULT STDMETHODCALLTYPE GetModule( + virtual HRESULT STDMETHODCALLTYPE GetModule( /* [out] */ ICorDebugModule **ppModule) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugModuleBreakpointVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugModuleBreakpoint * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugModuleBreakpoint * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugModuleBreakpoint * This); - - HRESULT ( STDMETHODCALLTYPE *Activate )( + + DECLSPEC_XFGVIRT(ICorDebugBreakpoint, Activate) + HRESULT ( STDMETHODCALLTYPE *Activate )( ICorDebugModuleBreakpoint * This, /* [in] */ BOOL bActive); - - HRESULT ( STDMETHODCALLTYPE *IsActive )( + + DECLSPEC_XFGVIRT(ICorDebugBreakpoint, IsActive) + HRESULT ( STDMETHODCALLTYPE *IsActive )( ICorDebugModuleBreakpoint * This, /* [out] */ BOOL *pbActive); - - HRESULT ( STDMETHODCALLTYPE *GetModule )( + + DECLSPEC_XFGVIRT(ICorDebugModuleBreakpoint, GetModule) + HRESULT ( STDMETHODCALLTYPE *GetModule )( ICorDebugModuleBreakpoint * This, /* [out] */ ICorDebugModule **ppModule); - + END_INTERFACE } ICorDebugModuleBreakpointVtbl; @@ -8624,93 +9052,99 @@ EXTERN_C const IID IID_ICorDebugModuleBreakpoint; CONST_VTBL struct ICorDebugModuleBreakpointVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugModuleBreakpoint_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugModuleBreakpoint_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugModuleBreakpoint_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugModuleBreakpoint_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugModuleBreakpoint_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugModuleBreakpoint_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugModuleBreakpoint_Activate(This,bActive) \ - ( (This)->lpVtbl -> Activate(This,bActive) ) +#define ICorDebugModuleBreakpoint_Activate(This,bActive) \ + ( (This)->lpVtbl -> Activate(This,bActive) ) -#define ICorDebugModuleBreakpoint_IsActive(This,pbActive) \ - ( (This)->lpVtbl -> IsActive(This,pbActive) ) +#define ICorDebugModuleBreakpoint_IsActive(This,pbActive) \ + ( (This)->lpVtbl -> IsActive(This,pbActive) ) -#define ICorDebugModuleBreakpoint_GetModule(This,ppModule) \ - ( (This)->lpVtbl -> GetModule(This,ppModule) ) +#define ICorDebugModuleBreakpoint_GetModule(This,ppModule) \ + ( (This)->lpVtbl -> GetModule(This,ppModule) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugModuleBreakpoint_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugModuleBreakpoint_INTERFACE_DEFINED__ */ #ifndef __ICorDebugValueBreakpoint_INTERFACE_DEFINED__ #define __ICorDebugValueBreakpoint_INTERFACE_DEFINED__ /* interface ICorDebugValueBreakpoint */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugValueBreakpoint; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAEB-8A68-11d2-983C-0000F808342D") ICorDebugValueBreakpoint : public ICorDebugBreakpoint { public: - virtual HRESULT STDMETHODCALLTYPE GetValue( + virtual HRESULT STDMETHODCALLTYPE GetValue( /* [out] */ ICorDebugValue **ppValue) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugValueBreakpointVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugValueBreakpoint * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugValueBreakpoint * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugValueBreakpoint * This); - - HRESULT ( STDMETHODCALLTYPE *Activate )( + + DECLSPEC_XFGVIRT(ICorDebugBreakpoint, Activate) + HRESULT ( STDMETHODCALLTYPE *Activate )( ICorDebugValueBreakpoint * This, /* [in] */ BOOL bActive); - - HRESULT ( STDMETHODCALLTYPE *IsActive )( + + DECLSPEC_XFGVIRT(ICorDebugBreakpoint, IsActive) + HRESULT ( STDMETHODCALLTYPE *IsActive )( ICorDebugValueBreakpoint * This, /* [out] */ BOOL *pbActive); - - HRESULT ( STDMETHODCALLTYPE *GetValue )( + + DECLSPEC_XFGVIRT(ICorDebugValueBreakpoint, GetValue) + HRESULT ( STDMETHODCALLTYPE *GetValue )( ICorDebugValueBreakpoint * This, /* [out] */ ICorDebugValue **ppValue); - + END_INTERFACE } ICorDebugValueBreakpointVtbl; @@ -8719,164 +9153,175 @@ EXTERN_C const IID IID_ICorDebugValueBreakpoint; CONST_VTBL struct ICorDebugValueBreakpointVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugValueBreakpoint_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugValueBreakpoint_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugValueBreakpoint_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugValueBreakpoint_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugValueBreakpoint_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugValueBreakpoint_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugValueBreakpoint_Activate(This,bActive) \ - ( (This)->lpVtbl -> Activate(This,bActive) ) +#define ICorDebugValueBreakpoint_Activate(This,bActive) \ + ( (This)->lpVtbl -> Activate(This,bActive) ) -#define ICorDebugValueBreakpoint_IsActive(This,pbActive) \ - ( (This)->lpVtbl -> IsActive(This,pbActive) ) +#define ICorDebugValueBreakpoint_IsActive(This,pbActive) \ + ( (This)->lpVtbl -> IsActive(This,pbActive) ) -#define ICorDebugValueBreakpoint_GetValue(This,ppValue) \ - ( (This)->lpVtbl -> GetValue(This,ppValue) ) +#define ICorDebugValueBreakpoint_GetValue(This,ppValue) \ + ( (This)->lpVtbl -> GetValue(This,ppValue) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugValueBreakpoint_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugValueBreakpoint_INTERFACE_DEFINED__ */ #ifndef __ICorDebugStepper_INTERFACE_DEFINED__ #define __ICorDebugStepper_INTERFACE_DEFINED__ /* interface ICorDebugStepper */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugIntercept { - INTERCEPT_NONE = 0, - INTERCEPT_CLASS_INIT = 0x1, - INTERCEPT_EXCEPTION_FILTER = 0x2, - INTERCEPT_SECURITY = 0x4, - INTERCEPT_CONTEXT_POLICY = 0x8, - INTERCEPT_INTERCEPTION = 0x10, - INTERCEPT_ALL = 0xffff - } CorDebugIntercept; + INTERCEPT_NONE = 0, + INTERCEPT_CLASS_INIT = 0x1, + INTERCEPT_EXCEPTION_FILTER = 0x2, + INTERCEPT_SECURITY = 0x4, + INTERCEPT_CONTEXT_POLICY = 0x8, + INTERCEPT_INTERCEPTION = 0x10, + INTERCEPT_ALL = 0xffff + } CorDebugIntercept; -typedef +typedef enum CorDebugUnmappedStop { - STOP_NONE = 0, - STOP_PROLOG = 0x1, - STOP_EPILOG = 0x2, - STOP_NO_MAPPING_INFO = 0x4, - STOP_OTHER_UNMAPPED = 0x8, - STOP_UNMANAGED = 0x10, - STOP_ALL = 0xffff - } CorDebugUnmappedStop; + STOP_NONE = 0, + STOP_PROLOG = 0x1, + STOP_EPILOG = 0x2, + STOP_NO_MAPPING_INFO = 0x4, + STOP_OTHER_UNMAPPED = 0x8, + STOP_UNMANAGED = 0x10, + STOP_ALL = 0xffff + } CorDebugUnmappedStop; typedef struct COR_DEBUG_STEP_RANGE { ULONG32 startOffset; ULONG32 endOffset; - } COR_DEBUG_STEP_RANGE; + } COR_DEBUG_STEP_RANGE; EXTERN_C const IID IID_ICorDebugStepper; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAEC-8A68-11d2-983C-0000F808342D") ICorDebugStepper : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE IsActive( + virtual HRESULT STDMETHODCALLTYPE IsActive( /* [out] */ BOOL *pbActive) = 0; - + virtual HRESULT STDMETHODCALLTYPE Deactivate( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetInterceptMask( + + virtual HRESULT STDMETHODCALLTYPE SetInterceptMask( /* [in] */ CorDebugIntercept mask) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetUnmappedStopMask( + + virtual HRESULT STDMETHODCALLTYPE SetUnmappedStopMask( /* [in] */ CorDebugUnmappedStop mask) = 0; - - virtual HRESULT STDMETHODCALLTYPE Step( + + virtual HRESULT STDMETHODCALLTYPE Step( /* [in] */ BOOL bStepIn) = 0; - - virtual HRESULT STDMETHODCALLTYPE StepRange( + + virtual HRESULT STDMETHODCALLTYPE StepRange( /* [in] */ BOOL bStepIn, /* [size_is][in] */ COR_DEBUG_STEP_RANGE ranges[ ], /* [in] */ ULONG32 cRangeCount) = 0; - + virtual HRESULT STDMETHODCALLTYPE StepOut( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetRangeIL( + + virtual HRESULT STDMETHODCALLTYPE SetRangeIL( /* [in] */ BOOL bIL) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugStepperVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugStepper * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugStepper * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugStepper * This); - - HRESULT ( STDMETHODCALLTYPE *IsActive )( + + DECLSPEC_XFGVIRT(ICorDebugStepper, IsActive) + HRESULT ( STDMETHODCALLTYPE *IsActive )( ICorDebugStepper * This, /* [out] */ BOOL *pbActive); - - HRESULT ( STDMETHODCALLTYPE *Deactivate )( + + DECLSPEC_XFGVIRT(ICorDebugStepper, Deactivate) + HRESULT ( STDMETHODCALLTYPE *Deactivate )( ICorDebugStepper * This); - - HRESULT ( STDMETHODCALLTYPE *SetInterceptMask )( + + DECLSPEC_XFGVIRT(ICorDebugStepper, SetInterceptMask) + HRESULT ( STDMETHODCALLTYPE *SetInterceptMask )( ICorDebugStepper * This, /* [in] */ CorDebugIntercept mask); - - HRESULT ( STDMETHODCALLTYPE *SetUnmappedStopMask )( + + DECLSPEC_XFGVIRT(ICorDebugStepper, SetUnmappedStopMask) + HRESULT ( STDMETHODCALLTYPE *SetUnmappedStopMask )( ICorDebugStepper * This, /* [in] */ CorDebugUnmappedStop mask); - - HRESULT ( STDMETHODCALLTYPE *Step )( + + DECLSPEC_XFGVIRT(ICorDebugStepper, Step) + HRESULT ( STDMETHODCALLTYPE *Step )( ICorDebugStepper * This, /* [in] */ BOOL bStepIn); - - HRESULT ( STDMETHODCALLTYPE *StepRange )( + + DECLSPEC_XFGVIRT(ICorDebugStepper, StepRange) + HRESULT ( STDMETHODCALLTYPE *StepRange )( ICorDebugStepper * This, /* [in] */ BOOL bStepIn, /* [size_is][in] */ COR_DEBUG_STEP_RANGE ranges[ ], /* [in] */ ULONG32 cRangeCount); - - HRESULT ( STDMETHODCALLTYPE *StepOut )( + + DECLSPEC_XFGVIRT(ICorDebugStepper, StepOut) + HRESULT ( STDMETHODCALLTYPE *StepOut )( ICorDebugStepper * This); - - HRESULT ( STDMETHODCALLTYPE *SetRangeIL )( + + DECLSPEC_XFGVIRT(ICorDebugStepper, SetRangeIL) + HRESULT ( STDMETHODCALLTYPE *SetRangeIL )( ICorDebugStepper * This, /* [in] */ BOOL bIL); - + END_INTERFACE } ICorDebugStepperVtbl; @@ -8885,99 +9330,103 @@ EXTERN_C const IID IID_ICorDebugStepper; CONST_VTBL struct ICorDebugStepperVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugStepper_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugStepper_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugStepper_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugStepper_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugStepper_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugStepper_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugStepper_IsActive(This,pbActive) \ - ( (This)->lpVtbl -> IsActive(This,pbActive) ) +#define ICorDebugStepper_IsActive(This,pbActive) \ + ( (This)->lpVtbl -> IsActive(This,pbActive) ) -#define ICorDebugStepper_Deactivate(This) \ - ( (This)->lpVtbl -> Deactivate(This) ) +#define ICorDebugStepper_Deactivate(This) \ + ( (This)->lpVtbl -> Deactivate(This) ) -#define ICorDebugStepper_SetInterceptMask(This,mask) \ - ( (This)->lpVtbl -> SetInterceptMask(This,mask) ) +#define ICorDebugStepper_SetInterceptMask(This,mask) \ + ( (This)->lpVtbl -> SetInterceptMask(This,mask) ) -#define ICorDebugStepper_SetUnmappedStopMask(This,mask) \ - ( (This)->lpVtbl -> SetUnmappedStopMask(This,mask) ) +#define ICorDebugStepper_SetUnmappedStopMask(This,mask) \ + ( (This)->lpVtbl -> SetUnmappedStopMask(This,mask) ) -#define ICorDebugStepper_Step(This,bStepIn) \ - ( (This)->lpVtbl -> Step(This,bStepIn) ) +#define ICorDebugStepper_Step(This,bStepIn) \ + ( (This)->lpVtbl -> Step(This,bStepIn) ) -#define ICorDebugStepper_StepRange(This,bStepIn,ranges,cRangeCount) \ - ( (This)->lpVtbl -> StepRange(This,bStepIn,ranges,cRangeCount) ) +#define ICorDebugStepper_StepRange(This,bStepIn,ranges,cRangeCount) \ + ( (This)->lpVtbl -> StepRange(This,bStepIn,ranges,cRangeCount) ) -#define ICorDebugStepper_StepOut(This) \ - ( (This)->lpVtbl -> StepOut(This) ) +#define ICorDebugStepper_StepOut(This) \ + ( (This)->lpVtbl -> StepOut(This) ) -#define ICorDebugStepper_SetRangeIL(This,bIL) \ - ( (This)->lpVtbl -> SetRangeIL(This,bIL) ) +#define ICorDebugStepper_SetRangeIL(This,bIL) \ + ( (This)->lpVtbl -> SetRangeIL(This,bIL) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugStepper_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugStepper_INTERFACE_DEFINED__ */ #ifndef __ICorDebugStepper2_INTERFACE_DEFINED__ #define __ICorDebugStepper2_INTERFACE_DEFINED__ /* interface ICorDebugStepper2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugStepper2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("C5B6E9C3-E7D1-4a8e-873B-7F047F0706F7") ICorDebugStepper2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE SetJMC( + virtual HRESULT STDMETHODCALLTYPE SetJMC( /* [in] */ BOOL fIsJMCStepper) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugStepper2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugStepper2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugStepper2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugStepper2 * This); - - HRESULT ( STDMETHODCALLTYPE *SetJMC )( + + DECLSPEC_XFGVIRT(ICorDebugStepper2, SetJMC) + HRESULT ( STDMETHODCALLTYPE *SetJMC )( ICorDebugStepper2 * This, /* [in] */ BOOL fIsJMCStepper); - + END_INTERFACE } ICorDebugStepper2Vtbl; @@ -8986,213 +9435,213 @@ EXTERN_C const IID IID_ICorDebugStepper2; CONST_VTBL struct ICorDebugStepper2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugStepper2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugStepper2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugStepper2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugStepper2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugStepper2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugStepper2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugStepper2_SetJMC(This,fIsJMCStepper) \ - ( (This)->lpVtbl -> SetJMC(This,fIsJMCStepper) ) +#define ICorDebugStepper2_SetJMC(This,fIsJMCStepper) \ + ( (This)->lpVtbl -> SetJMC(This,fIsJMCStepper) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugStepper2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugStepper2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugRegisterSet_INTERFACE_DEFINED__ #define __ICorDebugRegisterSet_INTERFACE_DEFINED__ /* interface ICorDebugRegisterSet */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugRegister { - REGISTER_INSTRUCTION_POINTER = 0, - REGISTER_STACK_POINTER = ( REGISTER_INSTRUCTION_POINTER + 1 ) , - REGISTER_FRAME_POINTER = ( REGISTER_STACK_POINTER + 1 ) , - REGISTER_X86_EIP = 0, - REGISTER_X86_ESP = ( REGISTER_X86_EIP + 1 ) , - REGISTER_X86_EBP = ( REGISTER_X86_ESP + 1 ) , - REGISTER_X86_EAX = ( REGISTER_X86_EBP + 1 ) , - REGISTER_X86_ECX = ( REGISTER_X86_EAX + 1 ) , - REGISTER_X86_EDX = ( REGISTER_X86_ECX + 1 ) , - REGISTER_X86_EBX = ( REGISTER_X86_EDX + 1 ) , - REGISTER_X86_ESI = ( REGISTER_X86_EBX + 1 ) , - REGISTER_X86_EDI = ( REGISTER_X86_ESI + 1 ) , - REGISTER_X86_FPSTACK_0 = ( REGISTER_X86_EDI + 1 ) , - REGISTER_X86_FPSTACK_1 = ( REGISTER_X86_FPSTACK_0 + 1 ) , - REGISTER_X86_FPSTACK_2 = ( REGISTER_X86_FPSTACK_1 + 1 ) , - REGISTER_X86_FPSTACK_3 = ( REGISTER_X86_FPSTACK_2 + 1 ) , - REGISTER_X86_FPSTACK_4 = ( REGISTER_X86_FPSTACK_3 + 1 ) , - REGISTER_X86_FPSTACK_5 = ( REGISTER_X86_FPSTACK_4 + 1 ) , - REGISTER_X86_FPSTACK_6 = ( REGISTER_X86_FPSTACK_5 + 1 ) , - REGISTER_X86_FPSTACK_7 = ( REGISTER_X86_FPSTACK_6 + 1 ) , - REGISTER_AMD64_RIP = 0, - REGISTER_AMD64_RSP = ( REGISTER_AMD64_RIP + 1 ) , - REGISTER_AMD64_RBP = ( REGISTER_AMD64_RSP + 1 ) , - REGISTER_AMD64_RAX = ( REGISTER_AMD64_RBP + 1 ) , - REGISTER_AMD64_RCX = ( REGISTER_AMD64_RAX + 1 ) , - REGISTER_AMD64_RDX = ( REGISTER_AMD64_RCX + 1 ) , - REGISTER_AMD64_RBX = ( REGISTER_AMD64_RDX + 1 ) , - REGISTER_AMD64_RSI = ( REGISTER_AMD64_RBX + 1 ) , - REGISTER_AMD64_RDI = ( REGISTER_AMD64_RSI + 1 ) , - REGISTER_AMD64_R8 = ( REGISTER_AMD64_RDI + 1 ) , - REGISTER_AMD64_R9 = ( REGISTER_AMD64_R8 + 1 ) , - REGISTER_AMD64_R10 = ( REGISTER_AMD64_R9 + 1 ) , - REGISTER_AMD64_R11 = ( REGISTER_AMD64_R10 + 1 ) , - REGISTER_AMD64_R12 = ( REGISTER_AMD64_R11 + 1 ) , - REGISTER_AMD64_R13 = ( REGISTER_AMD64_R12 + 1 ) , - REGISTER_AMD64_R14 = ( REGISTER_AMD64_R13 + 1 ) , - REGISTER_AMD64_R15 = ( REGISTER_AMD64_R14 + 1 ) , - REGISTER_AMD64_XMM0 = ( REGISTER_AMD64_R15 + 1 ) , - REGISTER_AMD64_XMM1 = ( REGISTER_AMD64_XMM0 + 1 ) , - REGISTER_AMD64_XMM2 = ( REGISTER_AMD64_XMM1 + 1 ) , - REGISTER_AMD64_XMM3 = ( REGISTER_AMD64_XMM2 + 1 ) , - REGISTER_AMD64_XMM4 = ( REGISTER_AMD64_XMM3 + 1 ) , - REGISTER_AMD64_XMM5 = ( REGISTER_AMD64_XMM4 + 1 ) , - REGISTER_AMD64_XMM6 = ( REGISTER_AMD64_XMM5 + 1 ) , - REGISTER_AMD64_XMM7 = ( REGISTER_AMD64_XMM6 + 1 ) , - REGISTER_AMD64_XMM8 = ( REGISTER_AMD64_XMM7 + 1 ) , - REGISTER_AMD64_XMM9 = ( REGISTER_AMD64_XMM8 + 1 ) , - REGISTER_AMD64_XMM10 = ( REGISTER_AMD64_XMM9 + 1 ) , - REGISTER_AMD64_XMM11 = ( REGISTER_AMD64_XMM10 + 1 ) , - REGISTER_AMD64_XMM12 = ( REGISTER_AMD64_XMM11 + 1 ) , - REGISTER_AMD64_XMM13 = ( REGISTER_AMD64_XMM12 + 1 ) , - REGISTER_AMD64_XMM14 = ( REGISTER_AMD64_XMM13 + 1 ) , - REGISTER_AMD64_XMM15 = ( REGISTER_AMD64_XMM14 + 1 ) , - REGISTER_IA64_BSP = REGISTER_FRAME_POINTER, - REGISTER_IA64_R0 = ( REGISTER_IA64_BSP + 1 ) , - REGISTER_IA64_F0 = ( REGISTER_IA64_R0 + 128 ) , - REGISTER_ARM_PC = 0, - REGISTER_ARM_SP = ( REGISTER_ARM_PC + 1 ) , - REGISTER_ARM_R0 = ( REGISTER_ARM_SP + 1 ) , - REGISTER_ARM_R1 = ( REGISTER_ARM_R0 + 1 ) , - REGISTER_ARM_R2 = ( REGISTER_ARM_R1 + 1 ) , - REGISTER_ARM_R3 = ( REGISTER_ARM_R2 + 1 ) , - REGISTER_ARM_R4 = ( REGISTER_ARM_R3 + 1 ) , - REGISTER_ARM_R5 = ( REGISTER_ARM_R4 + 1 ) , - REGISTER_ARM_R6 = ( REGISTER_ARM_R5 + 1 ) , - REGISTER_ARM_R7 = ( REGISTER_ARM_R6 + 1 ) , - REGISTER_ARM_R8 = ( REGISTER_ARM_R7 + 1 ) , - REGISTER_ARM_R9 = ( REGISTER_ARM_R8 + 1 ) , - REGISTER_ARM_R10 = ( REGISTER_ARM_R9 + 1 ) , - REGISTER_ARM_R11 = ( REGISTER_ARM_R10 + 1 ) , - REGISTER_ARM_R12 = ( REGISTER_ARM_R11 + 1 ) , - REGISTER_ARM_LR = ( REGISTER_ARM_R12 + 1 ) , - REGISTER_ARM_D0 = ( REGISTER_ARM_LR + 1 ) , - REGISTER_ARM_D1 = ( REGISTER_ARM_D0 + 1 ) , - REGISTER_ARM_D2 = ( REGISTER_ARM_D1 + 1 ) , - REGISTER_ARM_D3 = ( REGISTER_ARM_D2 + 1 ) , - REGISTER_ARM_D4 = ( REGISTER_ARM_D3 + 1 ) , - REGISTER_ARM_D5 = ( REGISTER_ARM_D4 + 1 ) , - REGISTER_ARM_D6 = ( REGISTER_ARM_D5 + 1 ) , - REGISTER_ARM_D7 = ( REGISTER_ARM_D6 + 1 ) , - REGISTER_ARM_D8 = ( REGISTER_ARM_D7 + 1 ) , - REGISTER_ARM_D9 = ( REGISTER_ARM_D8 + 1 ) , - REGISTER_ARM_D10 = ( REGISTER_ARM_D9 + 1 ) , - REGISTER_ARM_D11 = ( REGISTER_ARM_D10 + 1 ) , - REGISTER_ARM_D12 = ( REGISTER_ARM_D11 + 1 ) , - REGISTER_ARM_D13 = ( REGISTER_ARM_D12 + 1 ) , - REGISTER_ARM_D14 = ( REGISTER_ARM_D13 + 1 ) , - REGISTER_ARM_D15 = ( REGISTER_ARM_D14 + 1 ) , - REGISTER_ARM_D16 = ( REGISTER_ARM_D15 + 1 ) , - REGISTER_ARM_D17 = ( REGISTER_ARM_D16 + 1 ) , - REGISTER_ARM_D18 = ( REGISTER_ARM_D17 + 1 ) , - REGISTER_ARM_D19 = ( REGISTER_ARM_D18 + 1 ) , - REGISTER_ARM_D20 = ( REGISTER_ARM_D19 + 1 ) , - REGISTER_ARM_D21 = ( REGISTER_ARM_D20 + 1 ) , - REGISTER_ARM_D22 = ( REGISTER_ARM_D21 + 1 ) , - REGISTER_ARM_D23 = ( REGISTER_ARM_D22 + 1 ) , - REGISTER_ARM_D24 = ( REGISTER_ARM_D23 + 1 ) , - REGISTER_ARM_D25 = ( REGISTER_ARM_D24 + 1 ) , - REGISTER_ARM_D26 = ( REGISTER_ARM_D25 + 1 ) , - REGISTER_ARM_D27 = ( REGISTER_ARM_D26 + 1 ) , - REGISTER_ARM_D28 = ( REGISTER_ARM_D27 + 1 ) , - REGISTER_ARM_D29 = ( REGISTER_ARM_D28 + 1 ) , - REGISTER_ARM_D30 = ( REGISTER_ARM_D29 + 1 ) , - REGISTER_ARM_D31 = ( REGISTER_ARM_D30 + 1 ) , - REGISTER_ARM64_PC = 0, - REGISTER_ARM64_SP = ( REGISTER_ARM64_PC + 1 ) , - REGISTER_ARM64_FP = ( REGISTER_ARM64_SP + 1 ) , - REGISTER_ARM64_X0 = ( REGISTER_ARM64_FP + 1 ) , - REGISTER_ARM64_X1 = ( REGISTER_ARM64_X0 + 1 ) , - REGISTER_ARM64_X2 = ( REGISTER_ARM64_X1 + 1 ) , - REGISTER_ARM64_X3 = ( REGISTER_ARM64_X2 + 1 ) , - REGISTER_ARM64_X4 = ( REGISTER_ARM64_X3 + 1 ) , - REGISTER_ARM64_X5 = ( REGISTER_ARM64_X4 + 1 ) , - REGISTER_ARM64_X6 = ( REGISTER_ARM64_X5 + 1 ) , - REGISTER_ARM64_X7 = ( REGISTER_ARM64_X6 + 1 ) , - REGISTER_ARM64_X8 = ( REGISTER_ARM64_X7 + 1 ) , - REGISTER_ARM64_X9 = ( REGISTER_ARM64_X8 + 1 ) , - REGISTER_ARM64_X10 = ( REGISTER_ARM64_X9 + 1 ) , - REGISTER_ARM64_X11 = ( REGISTER_ARM64_X10 + 1 ) , - REGISTER_ARM64_X12 = ( REGISTER_ARM64_X11 + 1 ) , - REGISTER_ARM64_X13 = ( REGISTER_ARM64_X12 + 1 ) , - REGISTER_ARM64_X14 = ( REGISTER_ARM64_X13 + 1 ) , - REGISTER_ARM64_X15 = ( REGISTER_ARM64_X14 + 1 ) , - REGISTER_ARM64_X16 = ( REGISTER_ARM64_X15 + 1 ) , - REGISTER_ARM64_X17 = ( REGISTER_ARM64_X16 + 1 ) , - REGISTER_ARM64_X18 = ( REGISTER_ARM64_X17 + 1 ) , - REGISTER_ARM64_X19 = ( REGISTER_ARM64_X18 + 1 ) , - REGISTER_ARM64_X20 = ( REGISTER_ARM64_X19 + 1 ) , - REGISTER_ARM64_X21 = ( REGISTER_ARM64_X20 + 1 ) , - REGISTER_ARM64_X22 = ( REGISTER_ARM64_X21 + 1 ) , - REGISTER_ARM64_X23 = ( REGISTER_ARM64_X22 + 1 ) , - REGISTER_ARM64_X24 = ( REGISTER_ARM64_X23 + 1 ) , - REGISTER_ARM64_X25 = ( REGISTER_ARM64_X24 + 1 ) , - REGISTER_ARM64_X26 = ( REGISTER_ARM64_X25 + 1 ) , - REGISTER_ARM64_X27 = ( REGISTER_ARM64_X26 + 1 ) , - REGISTER_ARM64_X28 = ( REGISTER_ARM64_X27 + 1 ) , - REGISTER_ARM64_LR = ( REGISTER_ARM64_X28 + 1 ) , - REGISTER_ARM64_V0 = ( REGISTER_ARM64_LR + 1 ) , - REGISTER_ARM64_V1 = ( REGISTER_ARM64_V0 + 1 ) , - REGISTER_ARM64_V2 = ( REGISTER_ARM64_V1 + 1 ) , - REGISTER_ARM64_V3 = ( REGISTER_ARM64_V2 + 1 ) , - REGISTER_ARM64_V4 = ( REGISTER_ARM64_V3 + 1 ) , - REGISTER_ARM64_V5 = ( REGISTER_ARM64_V4 + 1 ) , - REGISTER_ARM64_V6 = ( REGISTER_ARM64_V5 + 1 ) , - REGISTER_ARM64_V7 = ( REGISTER_ARM64_V6 + 1 ) , - REGISTER_ARM64_V8 = ( REGISTER_ARM64_V7 + 1 ) , - REGISTER_ARM64_V9 = ( REGISTER_ARM64_V8 + 1 ) , - REGISTER_ARM64_V10 = ( REGISTER_ARM64_V9 + 1 ) , - REGISTER_ARM64_V11 = ( REGISTER_ARM64_V10 + 1 ) , - REGISTER_ARM64_V12 = ( REGISTER_ARM64_V11 + 1 ) , - REGISTER_ARM64_V13 = ( REGISTER_ARM64_V12 + 1 ) , - REGISTER_ARM64_V14 = ( REGISTER_ARM64_V13 + 1 ) , - REGISTER_ARM64_V15 = ( REGISTER_ARM64_V14 + 1 ) , - REGISTER_ARM64_V16 = ( REGISTER_ARM64_V15 + 1 ) , - REGISTER_ARM64_V17 = ( REGISTER_ARM64_V16 + 1 ) , - REGISTER_ARM64_V18 = ( REGISTER_ARM64_V17 + 1 ) , - REGISTER_ARM64_V19 = ( REGISTER_ARM64_V18 + 1 ) , - REGISTER_ARM64_V20 = ( REGISTER_ARM64_V19 + 1 ) , - REGISTER_ARM64_V21 = ( REGISTER_ARM64_V20 + 1 ) , - REGISTER_ARM64_V22 = ( REGISTER_ARM64_V21 + 1 ) , - REGISTER_ARM64_V23 = ( REGISTER_ARM64_V22 + 1 ) , - REGISTER_ARM64_V24 = ( REGISTER_ARM64_V23 + 1 ) , - REGISTER_ARM64_V25 = ( REGISTER_ARM64_V24 + 1 ) , - REGISTER_ARM64_V26 = ( REGISTER_ARM64_V25 + 1 ) , - REGISTER_ARM64_V27 = ( REGISTER_ARM64_V26 + 1 ) , - REGISTER_ARM64_V28 = ( REGISTER_ARM64_V27 + 1 ) , - REGISTER_ARM64_V29 = ( REGISTER_ARM64_V28 + 1 ) , - REGISTER_ARM64_V30 = ( REGISTER_ARM64_V29 + 1 ) , - REGISTER_ARM64_V31 = ( REGISTER_ARM64_V30 + 1 ) , + REGISTER_INSTRUCTION_POINTER = 0, + REGISTER_STACK_POINTER = ( REGISTER_INSTRUCTION_POINTER + 1 ) , + REGISTER_FRAME_POINTER = ( REGISTER_STACK_POINTER + 1 ) , + REGISTER_X86_EIP = 0, + REGISTER_X86_ESP = ( REGISTER_X86_EIP + 1 ) , + REGISTER_X86_EBP = ( REGISTER_X86_ESP + 1 ) , + REGISTER_X86_EAX = ( REGISTER_X86_EBP + 1 ) , + REGISTER_X86_ECX = ( REGISTER_X86_EAX + 1 ) , + REGISTER_X86_EDX = ( REGISTER_X86_ECX + 1 ) , + REGISTER_X86_EBX = ( REGISTER_X86_EDX + 1 ) , + REGISTER_X86_ESI = ( REGISTER_X86_EBX + 1 ) , + REGISTER_X86_EDI = ( REGISTER_X86_ESI + 1 ) , + REGISTER_X86_FPSTACK_0 = ( REGISTER_X86_EDI + 1 ) , + REGISTER_X86_FPSTACK_1 = ( REGISTER_X86_FPSTACK_0 + 1 ) , + REGISTER_X86_FPSTACK_2 = ( REGISTER_X86_FPSTACK_1 + 1 ) , + REGISTER_X86_FPSTACK_3 = ( REGISTER_X86_FPSTACK_2 + 1 ) , + REGISTER_X86_FPSTACK_4 = ( REGISTER_X86_FPSTACK_3 + 1 ) , + REGISTER_X86_FPSTACK_5 = ( REGISTER_X86_FPSTACK_4 + 1 ) , + REGISTER_X86_FPSTACK_6 = ( REGISTER_X86_FPSTACK_5 + 1 ) , + REGISTER_X86_FPSTACK_7 = ( REGISTER_X86_FPSTACK_6 + 1 ) , + REGISTER_AMD64_RIP = 0, + REGISTER_AMD64_RSP = ( REGISTER_AMD64_RIP + 1 ) , + REGISTER_AMD64_RBP = ( REGISTER_AMD64_RSP + 1 ) , + REGISTER_AMD64_RAX = ( REGISTER_AMD64_RBP + 1 ) , + REGISTER_AMD64_RCX = ( REGISTER_AMD64_RAX + 1 ) , + REGISTER_AMD64_RDX = ( REGISTER_AMD64_RCX + 1 ) , + REGISTER_AMD64_RBX = ( REGISTER_AMD64_RDX + 1 ) , + REGISTER_AMD64_RSI = ( REGISTER_AMD64_RBX + 1 ) , + REGISTER_AMD64_RDI = ( REGISTER_AMD64_RSI + 1 ) , + REGISTER_AMD64_R8 = ( REGISTER_AMD64_RDI + 1 ) , + REGISTER_AMD64_R9 = ( REGISTER_AMD64_R8 + 1 ) , + REGISTER_AMD64_R10 = ( REGISTER_AMD64_R9 + 1 ) , + REGISTER_AMD64_R11 = ( REGISTER_AMD64_R10 + 1 ) , + REGISTER_AMD64_R12 = ( REGISTER_AMD64_R11 + 1 ) , + REGISTER_AMD64_R13 = ( REGISTER_AMD64_R12 + 1 ) , + REGISTER_AMD64_R14 = ( REGISTER_AMD64_R13 + 1 ) , + REGISTER_AMD64_R15 = ( REGISTER_AMD64_R14 + 1 ) , + REGISTER_AMD64_XMM0 = ( REGISTER_AMD64_R15 + 1 ) , + REGISTER_AMD64_XMM1 = ( REGISTER_AMD64_XMM0 + 1 ) , + REGISTER_AMD64_XMM2 = ( REGISTER_AMD64_XMM1 + 1 ) , + REGISTER_AMD64_XMM3 = ( REGISTER_AMD64_XMM2 + 1 ) , + REGISTER_AMD64_XMM4 = ( REGISTER_AMD64_XMM3 + 1 ) , + REGISTER_AMD64_XMM5 = ( REGISTER_AMD64_XMM4 + 1 ) , + REGISTER_AMD64_XMM6 = ( REGISTER_AMD64_XMM5 + 1 ) , + REGISTER_AMD64_XMM7 = ( REGISTER_AMD64_XMM6 + 1 ) , + REGISTER_AMD64_XMM8 = ( REGISTER_AMD64_XMM7 + 1 ) , + REGISTER_AMD64_XMM9 = ( REGISTER_AMD64_XMM8 + 1 ) , + REGISTER_AMD64_XMM10 = ( REGISTER_AMD64_XMM9 + 1 ) , + REGISTER_AMD64_XMM11 = ( REGISTER_AMD64_XMM10 + 1 ) , + REGISTER_AMD64_XMM12 = ( REGISTER_AMD64_XMM11 + 1 ) , + REGISTER_AMD64_XMM13 = ( REGISTER_AMD64_XMM12 + 1 ) , + REGISTER_AMD64_XMM14 = ( REGISTER_AMD64_XMM13 + 1 ) , + REGISTER_AMD64_XMM15 = ( REGISTER_AMD64_XMM14 + 1 ) , + REGISTER_IA64_BSP = REGISTER_FRAME_POINTER, + REGISTER_IA64_R0 = ( REGISTER_IA64_BSP + 1 ) , + REGISTER_IA64_F0 = ( REGISTER_IA64_R0 + 128 ) , + REGISTER_ARM_PC = 0, + REGISTER_ARM_SP = ( REGISTER_ARM_PC + 1 ) , + REGISTER_ARM_R0 = ( REGISTER_ARM_SP + 1 ) , + REGISTER_ARM_R1 = ( REGISTER_ARM_R0 + 1 ) , + REGISTER_ARM_R2 = ( REGISTER_ARM_R1 + 1 ) , + REGISTER_ARM_R3 = ( REGISTER_ARM_R2 + 1 ) , + REGISTER_ARM_R4 = ( REGISTER_ARM_R3 + 1 ) , + REGISTER_ARM_R5 = ( REGISTER_ARM_R4 + 1 ) , + REGISTER_ARM_R6 = ( REGISTER_ARM_R5 + 1 ) , + REGISTER_ARM_R7 = ( REGISTER_ARM_R6 + 1 ) , + REGISTER_ARM_R8 = ( REGISTER_ARM_R7 + 1 ) , + REGISTER_ARM_R9 = ( REGISTER_ARM_R8 + 1 ) , + REGISTER_ARM_R10 = ( REGISTER_ARM_R9 + 1 ) , + REGISTER_ARM_R11 = ( REGISTER_ARM_R10 + 1 ) , + REGISTER_ARM_R12 = ( REGISTER_ARM_R11 + 1 ) , + REGISTER_ARM_LR = ( REGISTER_ARM_R12 + 1 ) , + REGISTER_ARM_D0 = ( REGISTER_ARM_LR + 1 ) , + REGISTER_ARM_D1 = ( REGISTER_ARM_D0 + 1 ) , + REGISTER_ARM_D2 = ( REGISTER_ARM_D1 + 1 ) , + REGISTER_ARM_D3 = ( REGISTER_ARM_D2 + 1 ) , + REGISTER_ARM_D4 = ( REGISTER_ARM_D3 + 1 ) , + REGISTER_ARM_D5 = ( REGISTER_ARM_D4 + 1 ) , + REGISTER_ARM_D6 = ( REGISTER_ARM_D5 + 1 ) , + REGISTER_ARM_D7 = ( REGISTER_ARM_D6 + 1 ) , + REGISTER_ARM_D8 = ( REGISTER_ARM_D7 + 1 ) , + REGISTER_ARM_D9 = ( REGISTER_ARM_D8 + 1 ) , + REGISTER_ARM_D10 = ( REGISTER_ARM_D9 + 1 ) , + REGISTER_ARM_D11 = ( REGISTER_ARM_D10 + 1 ) , + REGISTER_ARM_D12 = ( REGISTER_ARM_D11 + 1 ) , + REGISTER_ARM_D13 = ( REGISTER_ARM_D12 + 1 ) , + REGISTER_ARM_D14 = ( REGISTER_ARM_D13 + 1 ) , + REGISTER_ARM_D15 = ( REGISTER_ARM_D14 + 1 ) , + REGISTER_ARM_D16 = ( REGISTER_ARM_D15 + 1 ) , + REGISTER_ARM_D17 = ( REGISTER_ARM_D16 + 1 ) , + REGISTER_ARM_D18 = ( REGISTER_ARM_D17 + 1 ) , + REGISTER_ARM_D19 = ( REGISTER_ARM_D18 + 1 ) , + REGISTER_ARM_D20 = ( REGISTER_ARM_D19 + 1 ) , + REGISTER_ARM_D21 = ( REGISTER_ARM_D20 + 1 ) , + REGISTER_ARM_D22 = ( REGISTER_ARM_D21 + 1 ) , + REGISTER_ARM_D23 = ( REGISTER_ARM_D22 + 1 ) , + REGISTER_ARM_D24 = ( REGISTER_ARM_D23 + 1 ) , + REGISTER_ARM_D25 = ( REGISTER_ARM_D24 + 1 ) , + REGISTER_ARM_D26 = ( REGISTER_ARM_D25 + 1 ) , + REGISTER_ARM_D27 = ( REGISTER_ARM_D26 + 1 ) , + REGISTER_ARM_D28 = ( REGISTER_ARM_D27 + 1 ) , + REGISTER_ARM_D29 = ( REGISTER_ARM_D28 + 1 ) , + REGISTER_ARM_D30 = ( REGISTER_ARM_D29 + 1 ) , + REGISTER_ARM_D31 = ( REGISTER_ARM_D30 + 1 ) , + REGISTER_ARM64_PC = 0, + REGISTER_ARM64_SP = ( REGISTER_ARM64_PC + 1 ) , + REGISTER_ARM64_FP = ( REGISTER_ARM64_SP + 1 ) , + REGISTER_ARM64_X0 = ( REGISTER_ARM64_FP + 1 ) , + REGISTER_ARM64_X1 = ( REGISTER_ARM64_X0 + 1 ) , + REGISTER_ARM64_X2 = ( REGISTER_ARM64_X1 + 1 ) , + REGISTER_ARM64_X3 = ( REGISTER_ARM64_X2 + 1 ) , + REGISTER_ARM64_X4 = ( REGISTER_ARM64_X3 + 1 ) , + REGISTER_ARM64_X5 = ( REGISTER_ARM64_X4 + 1 ) , + REGISTER_ARM64_X6 = ( REGISTER_ARM64_X5 + 1 ) , + REGISTER_ARM64_X7 = ( REGISTER_ARM64_X6 + 1 ) , + REGISTER_ARM64_X8 = ( REGISTER_ARM64_X7 + 1 ) , + REGISTER_ARM64_X9 = ( REGISTER_ARM64_X8 + 1 ) , + REGISTER_ARM64_X10 = ( REGISTER_ARM64_X9 + 1 ) , + REGISTER_ARM64_X11 = ( REGISTER_ARM64_X10 + 1 ) , + REGISTER_ARM64_X12 = ( REGISTER_ARM64_X11 + 1 ) , + REGISTER_ARM64_X13 = ( REGISTER_ARM64_X12 + 1 ) , + REGISTER_ARM64_X14 = ( REGISTER_ARM64_X13 + 1 ) , + REGISTER_ARM64_X15 = ( REGISTER_ARM64_X14 + 1 ) , + REGISTER_ARM64_X16 = ( REGISTER_ARM64_X15 + 1 ) , + REGISTER_ARM64_X17 = ( REGISTER_ARM64_X16 + 1 ) , + REGISTER_ARM64_X18 = ( REGISTER_ARM64_X17 + 1 ) , + REGISTER_ARM64_X19 = ( REGISTER_ARM64_X18 + 1 ) , + REGISTER_ARM64_X20 = ( REGISTER_ARM64_X19 + 1 ) , + REGISTER_ARM64_X21 = ( REGISTER_ARM64_X20 + 1 ) , + REGISTER_ARM64_X22 = ( REGISTER_ARM64_X21 + 1 ) , + REGISTER_ARM64_X23 = ( REGISTER_ARM64_X22 + 1 ) , + REGISTER_ARM64_X24 = ( REGISTER_ARM64_X23 + 1 ) , + REGISTER_ARM64_X25 = ( REGISTER_ARM64_X24 + 1 ) , + REGISTER_ARM64_X26 = ( REGISTER_ARM64_X25 + 1 ) , + REGISTER_ARM64_X27 = ( REGISTER_ARM64_X26 + 1 ) , + REGISTER_ARM64_X28 = ( REGISTER_ARM64_X27 + 1 ) , + REGISTER_ARM64_LR = ( REGISTER_ARM64_X28 + 1 ) , + REGISTER_ARM64_V0 = ( REGISTER_ARM64_LR + 1 ) , + REGISTER_ARM64_V1 = ( REGISTER_ARM64_V0 + 1 ) , + REGISTER_ARM64_V2 = ( REGISTER_ARM64_V1 + 1 ) , + REGISTER_ARM64_V3 = ( REGISTER_ARM64_V2 + 1 ) , + REGISTER_ARM64_V4 = ( REGISTER_ARM64_V3 + 1 ) , + REGISTER_ARM64_V5 = ( REGISTER_ARM64_V4 + 1 ) , + REGISTER_ARM64_V6 = ( REGISTER_ARM64_V5 + 1 ) , + REGISTER_ARM64_V7 = ( REGISTER_ARM64_V6 + 1 ) , + REGISTER_ARM64_V8 = ( REGISTER_ARM64_V7 + 1 ) , + REGISTER_ARM64_V9 = ( REGISTER_ARM64_V8 + 1 ) , + REGISTER_ARM64_V10 = ( REGISTER_ARM64_V9 + 1 ) , + REGISTER_ARM64_V11 = ( REGISTER_ARM64_V10 + 1 ) , + REGISTER_ARM64_V12 = ( REGISTER_ARM64_V11 + 1 ) , + REGISTER_ARM64_V13 = ( REGISTER_ARM64_V12 + 1 ) , + REGISTER_ARM64_V14 = ( REGISTER_ARM64_V13 + 1 ) , + REGISTER_ARM64_V15 = ( REGISTER_ARM64_V14 + 1 ) , + REGISTER_ARM64_V16 = ( REGISTER_ARM64_V15 + 1 ) , + REGISTER_ARM64_V17 = ( REGISTER_ARM64_V16 + 1 ) , + REGISTER_ARM64_V18 = ( REGISTER_ARM64_V17 + 1 ) , + REGISTER_ARM64_V19 = ( REGISTER_ARM64_V18 + 1 ) , + REGISTER_ARM64_V20 = ( REGISTER_ARM64_V19 + 1 ) , + REGISTER_ARM64_V21 = ( REGISTER_ARM64_V20 + 1 ) , + REGISTER_ARM64_V22 = ( REGISTER_ARM64_V21 + 1 ) , + REGISTER_ARM64_V23 = ( REGISTER_ARM64_V22 + 1 ) , + REGISTER_ARM64_V24 = ( REGISTER_ARM64_V23 + 1 ) , + REGISTER_ARM64_V25 = ( REGISTER_ARM64_V24 + 1 ) , + REGISTER_ARM64_V26 = ( REGISTER_ARM64_V25 + 1 ) , + REGISTER_ARM64_V27 = ( REGISTER_ARM64_V26 + 1 ) , + REGISTER_ARM64_V28 = ( REGISTER_ARM64_V27 + 1 ) , + REGISTER_ARM64_V29 = ( REGISTER_ARM64_V28 + 1 ) , + REGISTER_ARM64_V30 = ( REGISTER_ARM64_V29 + 1 ) , + REGISTER_ARM64_V31 = ( REGISTER_ARM64_V30 + 1 ) , REGISTER_LOONGARCH64_PC = 0, REGISTER_LOONGARCH64_SP = ( REGISTER_LOONGARCH64_PC + 1 ) , REGISTER_LOONGARCH64_FP = ( REGISTER_LOONGARCH64_SP + 1 ) , @@ -9235,107 +9684,180 @@ enum CorDebugRegister REGISTER_LOONGARCH64_F7 = ( REGISTER_LOONGARCH64_F6 + 1 ) , REGISTER_LOONGARCH64_F8 = ( REGISTER_LOONGARCH64_F7 + 1 ) , REGISTER_LOONGARCH64_F9 = ( REGISTER_LOONGARCH64_F8 + 1 ) , - REGISTER_LOONGARCH64_F10 = ( REGISTER_LOONGARCH64_F9 + 1 ) , - REGISTER_LOONGARCH64_F11 = ( REGISTER_LOONGARCH64_F10 + 1 ) , - REGISTER_LOONGARCH64_F12 = ( REGISTER_LOONGARCH64_F11 + 1 ) , - REGISTER_LOONGARCH64_F13 = ( REGISTER_LOONGARCH64_F12 + 1 ) , - REGISTER_LOONGARCH64_F14 = ( REGISTER_LOONGARCH64_F13 + 1 ) , - REGISTER_LOONGARCH64_F15 = ( REGISTER_LOONGARCH64_F14 + 1 ) , - REGISTER_LOONGARCH64_F16 = ( REGISTER_LOONGARCH64_F15 + 1 ) , - REGISTER_LOONGARCH64_F17 = ( REGISTER_LOONGARCH64_F16 + 1 ) , - REGISTER_LOONGARCH64_F18 = ( REGISTER_LOONGARCH64_F17 + 1 ) , - REGISTER_LOONGARCH64_F19 = ( REGISTER_LOONGARCH64_F18 + 1 ) , - REGISTER_LOONGARCH64_F20 = ( REGISTER_LOONGARCH64_F19 + 1 ) , - REGISTER_LOONGARCH64_F21 = ( REGISTER_LOONGARCH64_F20 + 1 ) , - REGISTER_LOONGARCH64_F22 = ( REGISTER_LOONGARCH64_F21 + 1 ) , - REGISTER_LOONGARCH64_F23 = ( REGISTER_LOONGARCH64_F22 + 1 ) , - REGISTER_LOONGARCH64_F24 = ( REGISTER_LOONGARCH64_F23 + 1 ) , - REGISTER_LOONGARCH64_F25 = ( REGISTER_LOONGARCH64_F24 + 1 ) , - REGISTER_LOONGARCH64_F26 = ( REGISTER_LOONGARCH64_F25 + 1 ) , - REGISTER_LOONGARCH64_F27 = ( REGISTER_LOONGARCH64_F26 + 1 ) , - REGISTER_LOONGARCH64_F28 = ( REGISTER_LOONGARCH64_F27 + 1 ) , - REGISTER_LOONGARCH64_F29 = ( REGISTER_LOONGARCH64_F28 + 1 ) , - REGISTER_LOONGARCH64_F30 = ( REGISTER_LOONGARCH64_F29 + 1 ) , - REGISTER_LOONGARCH64_F31 = ( REGISTER_LOONGARCH64_F30 + 1 ) - } CorDebugRegister; + REGISTER_LOONGARCH64_F10 = ( REGISTER_LOONGARCH64_F9 + 1 ) , + REGISTER_LOONGARCH64_F11 = ( REGISTER_LOONGARCH64_F10 + 1 ) , + REGISTER_LOONGARCH64_F12 = ( REGISTER_LOONGARCH64_F11 + 1 ) , + REGISTER_LOONGARCH64_F13 = ( REGISTER_LOONGARCH64_F12 + 1 ) , + REGISTER_LOONGARCH64_F14 = ( REGISTER_LOONGARCH64_F13 + 1 ) , + REGISTER_LOONGARCH64_F15 = ( REGISTER_LOONGARCH64_F14 + 1 ) , + REGISTER_LOONGARCH64_F16 = ( REGISTER_LOONGARCH64_F15 + 1 ) , + REGISTER_LOONGARCH64_F17 = ( REGISTER_LOONGARCH64_F16 + 1 ) , + REGISTER_LOONGARCH64_F18 = ( REGISTER_LOONGARCH64_F17 + 1 ) , + REGISTER_LOONGARCH64_F19 = ( REGISTER_LOONGARCH64_F18 + 1 ) , + REGISTER_LOONGARCH64_F20 = ( REGISTER_LOONGARCH64_F19 + 1 ) , + REGISTER_LOONGARCH64_F21 = ( REGISTER_LOONGARCH64_F20 + 1 ) , + REGISTER_LOONGARCH64_F22 = ( REGISTER_LOONGARCH64_F21 + 1 ) , + REGISTER_LOONGARCH64_F23 = ( REGISTER_LOONGARCH64_F22 + 1 ) , + REGISTER_LOONGARCH64_F24 = ( REGISTER_LOONGARCH64_F23 + 1 ) , + REGISTER_LOONGARCH64_F25 = ( REGISTER_LOONGARCH64_F24 + 1 ) , + REGISTER_LOONGARCH64_F26 = ( REGISTER_LOONGARCH64_F25 + 1 ) , + REGISTER_LOONGARCH64_F27 = ( REGISTER_LOONGARCH64_F26 + 1 ) , + REGISTER_LOONGARCH64_F28 = ( REGISTER_LOONGARCH64_F27 + 1 ) , + REGISTER_LOONGARCH64_F29 = ( REGISTER_LOONGARCH64_F28 + 1 ) , + REGISTER_LOONGARCH64_F30 = ( REGISTER_LOONGARCH64_F29 + 1 ) , + REGISTER_LOONGARCH64_F31 = ( REGISTER_LOONGARCH64_F30 + 1 ) , + REGISTER_RISCV64_PC = 0, + REGISTER_RISCV64_RA = ( REGISTER_RISCV64_PC + 1 ) , + REGISTER_RISCV64_SP = ( REGISTER_RISCV64_RA + 1 ) , + REGISTER_RISCV64_GP = ( REGISTER_RISCV64_SP + 1 ) , + REGISTER_RISCV64_TP = ( REGISTER_RISCV64_GP + 1 ) , + REGISTER_RISCV64_T0 = ( REGISTER_RISCV64_TP + 1 ) , + REGISTER_RISCV64_T1 = ( REGISTER_RISCV64_T0 + 1 ) , + REGISTER_RISCV64_T2 = ( REGISTER_RISCV64_T1 + 1 ) , + REGISTER_RISCV64_FP = ( REGISTER_RISCV64_T2 + 1 ) , + REGISTER_RISCV64_S1 = ( REGISTER_RISCV64_FP + 1 ) , + REGISTER_RISCV64_A0 = ( REGISTER_RISCV64_S1 + 1 ) , + REGISTER_RISCV64_A1 = ( REGISTER_RISCV64_A0 + 1 ) , + REGISTER_RISCV64_A2 = ( REGISTER_RISCV64_A1 + 1 ) , + REGISTER_RISCV64_A3 = ( REGISTER_RISCV64_A2 + 1 ) , + REGISTER_RISCV64_A4 = ( REGISTER_RISCV64_A3 + 1 ) , + REGISTER_RISCV64_A5 = ( REGISTER_RISCV64_A4 + 1 ) , + REGISTER_RISCV64_A6 = ( REGISTER_RISCV64_A5 + 1 ) , + REGISTER_RISCV64_A7 = ( REGISTER_RISCV64_A6 + 1 ) , + REGISTER_RISCV64_S2 = ( REGISTER_RISCV64_A7 + 1 ) , + REGISTER_RISCV64_S3 = ( REGISTER_RISCV64_S2 + 1 ) , + REGISTER_RISCV64_S4 = ( REGISTER_RISCV64_S3 + 1 ) , + REGISTER_RISCV64_S5 = ( REGISTER_RISCV64_S4 + 1 ) , + REGISTER_RISCV64_S6 = ( REGISTER_RISCV64_S5 + 1 ) , + REGISTER_RISCV64_S7 = ( REGISTER_RISCV64_S6 + 1 ) , + REGISTER_RISCV64_S8 = ( REGISTER_RISCV64_S7 + 1 ) , + REGISTER_RISCV64_S9 = ( REGISTER_RISCV64_S8 + 1 ) , + REGISTER_RISCV64_S10 = ( REGISTER_RISCV64_S9 + 1 ) , + REGISTER_RISCV64_S11 = ( REGISTER_RISCV64_S10 + 1 ) , + REGISTER_RISCV64_T3 = ( REGISTER_RISCV64_S11 + 1 ) , + REGISTER_RISCV64_T4 = ( REGISTER_RISCV64_T3 + 1 ) , + REGISTER_RISCV64_T5 = ( REGISTER_RISCV64_T4 + 1 ) , + REGISTER_RISCV64_T6 = ( REGISTER_RISCV64_T5 + 1 ) , + REGISTER_RISCV64_F0 = ( REGISTER_RISCV64_T6 + 1 ) , + REGISTER_RISCV64_F1 = ( REGISTER_RISCV64_F0 + 1 ) , + REGISTER_RISCV64_F2 = ( REGISTER_RISCV64_F1 + 1 ) , + REGISTER_RISCV64_F3 = ( REGISTER_RISCV64_F2 + 1 ) , + REGISTER_RISCV64_F4 = ( REGISTER_RISCV64_F3 + 1 ) , + REGISTER_RISCV64_F5 = ( REGISTER_RISCV64_F4 + 1 ) , + REGISTER_RISCV64_F6 = ( REGISTER_RISCV64_F5 + 1 ) , + REGISTER_RISCV64_F7 = ( REGISTER_RISCV64_F6 + 1 ) , + REGISTER_RISCV64_F8 = ( REGISTER_RISCV64_F7 + 1 ) , + REGISTER_RISCV64_F9 = ( REGISTER_RISCV64_F8 + 1 ) , + REGISTER_RISCV64_F10 = ( REGISTER_RISCV64_F9 + 1 ) , + REGISTER_RISCV64_F11 = ( REGISTER_RISCV64_F10 + 1 ) , + REGISTER_RISCV64_F12 = ( REGISTER_RISCV64_F11 + 1 ) , + REGISTER_RISCV64_F13 = ( REGISTER_RISCV64_F12 + 1 ) , + REGISTER_RISCV64_F14 = ( REGISTER_RISCV64_F13 + 1 ) , + REGISTER_RISCV64_F15 = ( REGISTER_RISCV64_F14 + 1 ) , + REGISTER_RISCV64_F16 = ( REGISTER_RISCV64_F15 + 1 ) , + REGISTER_RISCV64_F17 = ( REGISTER_RISCV64_F16 + 1 ) , + REGISTER_RISCV64_F18 = ( REGISTER_RISCV64_F17 + 1 ) , + REGISTER_RISCV64_F19 = ( REGISTER_RISCV64_F18 + 1 ) , + REGISTER_RISCV64_F20 = ( REGISTER_RISCV64_F19 + 1 ) , + REGISTER_RISCV64_F21 = ( REGISTER_RISCV64_F20 + 1 ) , + REGISTER_RISCV64_F22 = ( REGISTER_RISCV64_F21 + 1 ) , + REGISTER_RISCV64_F23 = ( REGISTER_RISCV64_F22 + 1 ) , + REGISTER_RISCV64_F24 = ( REGISTER_RISCV64_F23 + 1 ) , + REGISTER_RISCV64_F25 = ( REGISTER_RISCV64_F24 + 1 ) , + REGISTER_RISCV64_F26 = ( REGISTER_RISCV64_F25 + 1 ) , + REGISTER_RISCV64_F27 = ( REGISTER_RISCV64_F26 + 1 ) , + REGISTER_RISCV64_F28 = ( REGISTER_RISCV64_F27 + 1 ) , + REGISTER_RISCV64_F29 = ( REGISTER_RISCV64_F28 + 1 ) , + REGISTER_RISCV64_F30 = ( REGISTER_RISCV64_F29 + 1 ) , + REGISTER_RISCV64_F31 = ( REGISTER_RISCV64_F30 + 1 ) , + REGISTER_RISCV64_X0 = ( REGISTER_RISCV64_F31 + 1 ) + } CorDebugRegister; EXTERN_C const IID IID_ICorDebugRegisterSet; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB0B-8A68-11d2-983C-0000F808342D") ICorDebugRegisterSet : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetRegistersAvailable( + virtual HRESULT STDMETHODCALLTYPE GetRegistersAvailable( /* [out] */ ULONG64 *pAvailable) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRegisters( + + virtual HRESULT STDMETHODCALLTYPE GetRegisters( /* [in] */ ULONG64 mask, /* [in] */ ULONG32 regCount, /* [length_is][size_is][out] */ CORDB_REGISTER regBuffer[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetRegisters( + + virtual HRESULT STDMETHODCALLTYPE SetRegisters( /* [in] */ ULONG64 mask, /* [in] */ ULONG32 regCount, /* [size_is][in] */ CORDB_REGISTER regBuffer[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadContext( + + virtual HRESULT STDMETHODCALLTYPE GetThreadContext( /* [in] */ ULONG32 contextSize, /* [size_is][length_is][out][in] */ BYTE context[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetThreadContext( + + virtual HRESULT STDMETHODCALLTYPE SetThreadContext( /* [in] */ ULONG32 contextSize, /* [size_is][length_is][in] */ BYTE context[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugRegisterSetVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugRegisterSet * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugRegisterSet * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugRegisterSet * This); - - HRESULT ( STDMETHODCALLTYPE *GetRegistersAvailable )( + + DECLSPEC_XFGVIRT(ICorDebugRegisterSet, GetRegistersAvailable) + HRESULT ( STDMETHODCALLTYPE *GetRegistersAvailable )( ICorDebugRegisterSet * This, /* [out] */ ULONG64 *pAvailable); - - HRESULT ( STDMETHODCALLTYPE *GetRegisters )( + + DECLSPEC_XFGVIRT(ICorDebugRegisterSet, GetRegisters) + HRESULT ( STDMETHODCALLTYPE *GetRegisters )( ICorDebugRegisterSet * This, /* [in] */ ULONG64 mask, /* [in] */ ULONG32 regCount, /* [length_is][size_is][out] */ CORDB_REGISTER regBuffer[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetRegisters )( + + DECLSPEC_XFGVIRT(ICorDebugRegisterSet, SetRegisters) + HRESULT ( STDMETHODCALLTYPE *SetRegisters )( ICorDebugRegisterSet * This, /* [in] */ ULONG64 mask, /* [in] */ ULONG32 regCount, /* [size_is][in] */ CORDB_REGISTER regBuffer[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorDebugRegisterSet, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorDebugRegisterSet * This, /* [in] */ ULONG32 contextSize, /* [size_is][length_is][out][in] */ BYTE context[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetThreadContext )( + + DECLSPEC_XFGVIRT(ICorDebugRegisterSet, SetThreadContext) + HRESULT ( STDMETHODCALLTYPE *SetThreadContext )( ICorDebugRegisterSet * This, /* [in] */ ULONG32 contextSize, /* [size_is][length_is][in] */ BYTE context[ ]); - + END_INTERFACE } ICorDebugRegisterSetVtbl; @@ -9344,118 +9866,124 @@ EXTERN_C const IID IID_ICorDebugRegisterSet; CONST_VTBL struct ICorDebugRegisterSetVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugRegisterSet_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugRegisterSet_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugRegisterSet_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugRegisterSet_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugRegisterSet_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugRegisterSet_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugRegisterSet_GetRegistersAvailable(This,pAvailable) \ - ( (This)->lpVtbl -> GetRegistersAvailable(This,pAvailable) ) +#define ICorDebugRegisterSet_GetRegistersAvailable(This,pAvailable) \ + ( (This)->lpVtbl -> GetRegistersAvailable(This,pAvailable) ) -#define ICorDebugRegisterSet_GetRegisters(This,mask,regCount,regBuffer) \ - ( (This)->lpVtbl -> GetRegisters(This,mask,regCount,regBuffer) ) +#define ICorDebugRegisterSet_GetRegisters(This,mask,regCount,regBuffer) \ + ( (This)->lpVtbl -> GetRegisters(This,mask,regCount,regBuffer) ) -#define ICorDebugRegisterSet_SetRegisters(This,mask,regCount,regBuffer) \ - ( (This)->lpVtbl -> SetRegisters(This,mask,regCount,regBuffer) ) +#define ICorDebugRegisterSet_SetRegisters(This,mask,regCount,regBuffer) \ + ( (This)->lpVtbl -> SetRegisters(This,mask,regCount,regBuffer) ) -#define ICorDebugRegisterSet_GetThreadContext(This,contextSize,context) \ - ( (This)->lpVtbl -> GetThreadContext(This,contextSize,context) ) +#define ICorDebugRegisterSet_GetThreadContext(This,contextSize,context) \ + ( (This)->lpVtbl -> GetThreadContext(This,contextSize,context) ) -#define ICorDebugRegisterSet_SetThreadContext(This,contextSize,context) \ - ( (This)->lpVtbl -> SetThreadContext(This,contextSize,context) ) +#define ICorDebugRegisterSet_SetThreadContext(This,contextSize,context) \ + ( (This)->lpVtbl -> SetThreadContext(This,contextSize,context) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugRegisterSet_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugRegisterSet_INTERFACE_DEFINED__ */ #ifndef __ICorDebugRegisterSet2_INTERFACE_DEFINED__ #define __ICorDebugRegisterSet2_INTERFACE_DEFINED__ /* interface ICorDebugRegisterSet2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugRegisterSet2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("6DC7BA3F-89BA-4459-9EC1-9D60937B468D") ICorDebugRegisterSet2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetRegistersAvailable( + virtual HRESULT STDMETHODCALLTYPE GetRegistersAvailable( /* [in] */ ULONG32 numChunks, /* [size_is][out] */ BYTE availableRegChunks[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRegisters( + + virtual HRESULT STDMETHODCALLTYPE GetRegisters( /* [in] */ ULONG32 maskCount, /* [size_is][in] */ BYTE mask[ ], /* [in] */ ULONG32 regCount, /* [size_is][out] */ CORDB_REGISTER regBuffer[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetRegisters( + + virtual HRESULT STDMETHODCALLTYPE SetRegisters( /* [in] */ ULONG32 maskCount, /* [size_is][in] */ BYTE mask[ ], /* [in] */ ULONG32 regCount, /* [size_is][in] */ CORDB_REGISTER regBuffer[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugRegisterSet2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugRegisterSet2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugRegisterSet2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugRegisterSet2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetRegistersAvailable )( + + DECLSPEC_XFGVIRT(ICorDebugRegisterSet2, GetRegistersAvailable) + HRESULT ( STDMETHODCALLTYPE *GetRegistersAvailable )( ICorDebugRegisterSet2 * This, /* [in] */ ULONG32 numChunks, /* [size_is][out] */ BYTE availableRegChunks[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetRegisters )( + + DECLSPEC_XFGVIRT(ICorDebugRegisterSet2, GetRegisters) + HRESULT ( STDMETHODCALLTYPE *GetRegisters )( ICorDebugRegisterSet2 * This, /* [in] */ ULONG32 maskCount, /* [size_is][in] */ BYTE mask[ ], /* [in] */ ULONG32 regCount, /* [size_is][out] */ CORDB_REGISTER regBuffer[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetRegisters )( + + DECLSPEC_XFGVIRT(ICorDebugRegisterSet2, SetRegisters) + HRESULT ( STDMETHODCALLTYPE *SetRegisters )( ICorDebugRegisterSet2 * This, /* [in] */ ULONG32 maskCount, /* [size_is][in] */ BYTE mask[ ], /* [in] */ ULONG32 regCount, /* [size_is][in] */ CORDB_REGISTER regBuffer[ ]); - + END_INTERFACE } ICorDebugRegisterSet2Vtbl; @@ -9464,201 +9992,220 @@ EXTERN_C const IID IID_ICorDebugRegisterSet2; CONST_VTBL struct ICorDebugRegisterSet2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugRegisterSet2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugRegisterSet2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugRegisterSet2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugRegisterSet2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugRegisterSet2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugRegisterSet2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugRegisterSet2_GetRegistersAvailable(This,numChunks,availableRegChunks) \ - ( (This)->lpVtbl -> GetRegistersAvailable(This,numChunks,availableRegChunks) ) +#define ICorDebugRegisterSet2_GetRegistersAvailable(This,numChunks,availableRegChunks) \ + ( (This)->lpVtbl -> GetRegistersAvailable(This,numChunks,availableRegChunks) ) -#define ICorDebugRegisterSet2_GetRegisters(This,maskCount,mask,regCount,regBuffer) \ - ( (This)->lpVtbl -> GetRegisters(This,maskCount,mask,regCount,regBuffer) ) +#define ICorDebugRegisterSet2_GetRegisters(This,maskCount,mask,regCount,regBuffer) \ + ( (This)->lpVtbl -> GetRegisters(This,maskCount,mask,regCount,regBuffer) ) -#define ICorDebugRegisterSet2_SetRegisters(This,maskCount,mask,regCount,regBuffer) \ - ( (This)->lpVtbl -> SetRegisters(This,maskCount,mask,regCount,regBuffer) ) +#define ICorDebugRegisterSet2_SetRegisters(This,maskCount,mask,regCount,regBuffer) \ + ( (This)->lpVtbl -> SetRegisters(This,maskCount,mask,regCount,regBuffer) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugRegisterSet2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugRegisterSet2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugThread_INTERFACE_DEFINED__ #define __ICorDebugThread_INTERFACE_DEFINED__ /* interface ICorDebugThread */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugUserState { - USER_STOP_REQUESTED = 0x1, - USER_SUSPEND_REQUESTED = 0x2, - USER_BACKGROUND = 0x4, - USER_UNSTARTED = 0x8, - USER_STOPPED = 0x10, - USER_WAIT_SLEEP_JOIN = 0x20, - USER_SUSPENDED = 0x40, - USER_UNSAFE_POINT = 0x80, - USER_THREADPOOL = 0x100 - } CorDebugUserState; + USER_STOP_REQUESTED = 0x1, + USER_SUSPEND_REQUESTED = 0x2, + USER_BACKGROUND = 0x4, + USER_UNSTARTED = 0x8, + USER_STOPPED = 0x10, + USER_WAIT_SLEEP_JOIN = 0x20, + USER_SUSPENDED = 0x40, + USER_UNSAFE_POINT = 0x80, + USER_THREADPOOL = 0x100 + } CorDebugUserState; EXTERN_C const IID IID_ICorDebugThread; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("938c6d66-7fb6-4f69-b389-425b8987329b") ICorDebugThread : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetProcess( + virtual HRESULT STDMETHODCALLTYPE GetProcess( /* [out] */ ICorDebugProcess **ppProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetID( + + virtual HRESULT STDMETHODCALLTYPE GetID( /* [out] */ DWORD *pdwThreadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHandle( + + virtual HRESULT STDMETHODCALLTYPE GetHandle( /* [out] */ HTHREAD *phThreadHandle) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAppDomain( + + virtual HRESULT STDMETHODCALLTYPE GetAppDomain( /* [out] */ ICorDebugAppDomain **ppAppDomain) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetDebugState( + + virtual HRESULT STDMETHODCALLTYPE SetDebugState( /* [in] */ CorDebugThreadState state) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDebugState( + + virtual HRESULT STDMETHODCALLTYPE GetDebugState( /* [out] */ CorDebugThreadState *pState) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetUserState( + + virtual HRESULT STDMETHODCALLTYPE GetUserState( /* [out] */ CorDebugUserState *pState) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentException( + + virtual HRESULT STDMETHODCALLTYPE GetCurrentException( /* [out] */ ICorDebugValue **ppExceptionObject) = 0; - + virtual HRESULT STDMETHODCALLTYPE ClearCurrentException( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateStepper( + + virtual HRESULT STDMETHODCALLTYPE CreateStepper( /* [out] */ ICorDebugStepper **ppStepper) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateChains( + + virtual HRESULT STDMETHODCALLTYPE EnumerateChains( /* [out] */ ICorDebugChainEnum **ppChains) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetActiveChain( + + virtual HRESULT STDMETHODCALLTYPE GetActiveChain( /* [out] */ ICorDebugChain **ppChain) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetActiveFrame( + + virtual HRESULT STDMETHODCALLTYPE GetActiveFrame( /* [out] */ ICorDebugFrame **ppFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRegisterSet( + + virtual HRESULT STDMETHODCALLTYPE GetRegisterSet( /* [out] */ ICorDebugRegisterSet **ppRegisters) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateEval( + + virtual HRESULT STDMETHODCALLTYPE CreateEval( /* [out] */ ICorDebugEval **ppEval) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObject( + + virtual HRESULT STDMETHODCALLTYPE GetObject( /* [out] */ ICorDebugValue **ppObject) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugThreadVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugThread * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugThread * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugThread * This); - - HRESULT ( STDMETHODCALLTYPE *GetProcess )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetProcess) + HRESULT ( STDMETHODCALLTYPE *GetProcess )( ICorDebugThread * This, /* [out] */ ICorDebugProcess **ppProcess); - - HRESULT ( STDMETHODCALLTYPE *GetID )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetID) + HRESULT ( STDMETHODCALLTYPE *GetID )( ICorDebugThread * This, /* [out] */ DWORD *pdwThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetHandle )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetHandle) + HRESULT ( STDMETHODCALLTYPE *GetHandle )( ICorDebugThread * This, /* [out] */ HTHREAD *phThreadHandle); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomain )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetAppDomain )( ICorDebugThread * This, /* [out] */ ICorDebugAppDomain **ppAppDomain); - - HRESULT ( STDMETHODCALLTYPE *SetDebugState )( + + DECLSPEC_XFGVIRT(ICorDebugThread, SetDebugState) + HRESULT ( STDMETHODCALLTYPE *SetDebugState )( ICorDebugThread * This, /* [in] */ CorDebugThreadState state); - - HRESULT ( STDMETHODCALLTYPE *GetDebugState )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetDebugState) + HRESULT ( STDMETHODCALLTYPE *GetDebugState )( ICorDebugThread * This, /* [out] */ CorDebugThreadState *pState); - - HRESULT ( STDMETHODCALLTYPE *GetUserState )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetUserState) + HRESULT ( STDMETHODCALLTYPE *GetUserState )( ICorDebugThread * This, /* [out] */ CorDebugUserState *pState); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentException )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetCurrentException) + HRESULT ( STDMETHODCALLTYPE *GetCurrentException )( ICorDebugThread * This, /* [out] */ ICorDebugValue **ppExceptionObject); - - HRESULT ( STDMETHODCALLTYPE *ClearCurrentException )( + + DECLSPEC_XFGVIRT(ICorDebugThread, ClearCurrentException) + HRESULT ( STDMETHODCALLTYPE *ClearCurrentException )( ICorDebugThread * This); - - HRESULT ( STDMETHODCALLTYPE *CreateStepper )( + + DECLSPEC_XFGVIRT(ICorDebugThread, CreateStepper) + HRESULT ( STDMETHODCALLTYPE *CreateStepper )( ICorDebugThread * This, /* [out] */ ICorDebugStepper **ppStepper); - - HRESULT ( STDMETHODCALLTYPE *EnumerateChains )( + + DECLSPEC_XFGVIRT(ICorDebugThread, EnumerateChains) + HRESULT ( STDMETHODCALLTYPE *EnumerateChains )( ICorDebugThread * This, /* [out] */ ICorDebugChainEnum **ppChains); - - HRESULT ( STDMETHODCALLTYPE *GetActiveChain )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetActiveChain) + HRESULT ( STDMETHODCALLTYPE *GetActiveChain )( ICorDebugThread * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *GetActiveFrame )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetActiveFrame) + HRESULT ( STDMETHODCALLTYPE *GetActiveFrame )( ICorDebugThread * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *GetRegisterSet )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetRegisterSet) + HRESULT ( STDMETHODCALLTYPE *GetRegisterSet )( ICorDebugThread * This, /* [out] */ ICorDebugRegisterSet **ppRegisters); - - HRESULT ( STDMETHODCALLTYPE *CreateEval )( + + DECLSPEC_XFGVIRT(ICorDebugThread, CreateEval) + HRESULT ( STDMETHODCALLTYPE *CreateEval )( ICorDebugThread * This, /* [out] */ ICorDebugEval **ppEval); - - HRESULT ( STDMETHODCALLTYPE *GetObject )( + + DECLSPEC_XFGVIRT(ICorDebugThread, GetObject) + HRESULT ( STDMETHODCALLTYPE *GetObject )( ICorDebugThread * This, /* [out] */ ICorDebugValue **ppObject); - + END_INTERFACE } ICorDebugThreadVtbl; @@ -9667,85 +10214,85 @@ EXTERN_C const IID IID_ICorDebugThread; CONST_VTBL struct ICorDebugThreadVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugThread_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugThread_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugThread_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugThread_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugThread_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugThread_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugThread_GetProcess(This,ppProcess) \ - ( (This)->lpVtbl -> GetProcess(This,ppProcess) ) +#define ICorDebugThread_GetProcess(This,ppProcess) \ + ( (This)->lpVtbl -> GetProcess(This,ppProcess) ) -#define ICorDebugThread_GetID(This,pdwThreadId) \ - ( (This)->lpVtbl -> GetID(This,pdwThreadId) ) +#define ICorDebugThread_GetID(This,pdwThreadId) \ + ( (This)->lpVtbl -> GetID(This,pdwThreadId) ) -#define ICorDebugThread_GetHandle(This,phThreadHandle) \ - ( (This)->lpVtbl -> GetHandle(This,phThreadHandle) ) +#define ICorDebugThread_GetHandle(This,phThreadHandle) \ + ( (This)->lpVtbl -> GetHandle(This,phThreadHandle) ) -#define ICorDebugThread_GetAppDomain(This,ppAppDomain) \ - ( (This)->lpVtbl -> GetAppDomain(This,ppAppDomain) ) +#define ICorDebugThread_GetAppDomain(This,ppAppDomain) \ + ( (This)->lpVtbl -> GetAppDomain(This,ppAppDomain) ) -#define ICorDebugThread_SetDebugState(This,state) \ - ( (This)->lpVtbl -> SetDebugState(This,state) ) +#define ICorDebugThread_SetDebugState(This,state) \ + ( (This)->lpVtbl -> SetDebugState(This,state) ) -#define ICorDebugThread_GetDebugState(This,pState) \ - ( (This)->lpVtbl -> GetDebugState(This,pState) ) +#define ICorDebugThread_GetDebugState(This,pState) \ + ( (This)->lpVtbl -> GetDebugState(This,pState) ) -#define ICorDebugThread_GetUserState(This,pState) \ - ( (This)->lpVtbl -> GetUserState(This,pState) ) +#define ICorDebugThread_GetUserState(This,pState) \ + ( (This)->lpVtbl -> GetUserState(This,pState) ) -#define ICorDebugThread_GetCurrentException(This,ppExceptionObject) \ - ( (This)->lpVtbl -> GetCurrentException(This,ppExceptionObject) ) +#define ICorDebugThread_GetCurrentException(This,ppExceptionObject) \ + ( (This)->lpVtbl -> GetCurrentException(This,ppExceptionObject) ) -#define ICorDebugThread_ClearCurrentException(This) \ - ( (This)->lpVtbl -> ClearCurrentException(This) ) +#define ICorDebugThread_ClearCurrentException(This) \ + ( (This)->lpVtbl -> ClearCurrentException(This) ) -#define ICorDebugThread_CreateStepper(This,ppStepper) \ - ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) +#define ICorDebugThread_CreateStepper(This,ppStepper) \ + ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) -#define ICorDebugThread_EnumerateChains(This,ppChains) \ - ( (This)->lpVtbl -> EnumerateChains(This,ppChains) ) +#define ICorDebugThread_EnumerateChains(This,ppChains) \ + ( (This)->lpVtbl -> EnumerateChains(This,ppChains) ) -#define ICorDebugThread_GetActiveChain(This,ppChain) \ - ( (This)->lpVtbl -> GetActiveChain(This,ppChain) ) +#define ICorDebugThread_GetActiveChain(This,ppChain) \ + ( (This)->lpVtbl -> GetActiveChain(This,ppChain) ) -#define ICorDebugThread_GetActiveFrame(This,ppFrame) \ - ( (This)->lpVtbl -> GetActiveFrame(This,ppFrame) ) +#define ICorDebugThread_GetActiveFrame(This,ppFrame) \ + ( (This)->lpVtbl -> GetActiveFrame(This,ppFrame) ) -#define ICorDebugThread_GetRegisterSet(This,ppRegisters) \ - ( (This)->lpVtbl -> GetRegisterSet(This,ppRegisters) ) +#define ICorDebugThread_GetRegisterSet(This,ppRegisters) \ + ( (This)->lpVtbl -> GetRegisterSet(This,ppRegisters) ) -#define ICorDebugThread_CreateEval(This,ppEval) \ - ( (This)->lpVtbl -> CreateEval(This,ppEval) ) +#define ICorDebugThread_CreateEval(This,ppEval) \ + ( (This)->lpVtbl -> CreateEval(This,ppEval) ) -#define ICorDebugThread_GetObject(This,ppObject) \ - ( (This)->lpVtbl -> GetObject(This,ppObject) ) +#define ICorDebugThread_GetObject(This,ppObject) \ + ( (This)->lpVtbl -> GetObject(This,ppObject) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugThread_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugThread_INTERFACE_DEFINED__ */ #ifndef __ICorDebugThread2_INTERFACE_DEFINED__ #define __ICorDebugThread2_INTERFACE_DEFINED__ /* interface ICorDebugThread2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ typedef struct _COR_ACTIVE_FUNCTION { @@ -9754,77 +10301,85 @@ typedef struct _COR_ACTIVE_FUNCTION ICorDebugFunction2 *pFunction; ULONG32 ilOffset; ULONG32 flags; - } COR_ACTIVE_FUNCTION; + } COR_ACTIVE_FUNCTION; EXTERN_C const IID IID_ICorDebugThread2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("2BD956D9-7B07-4bef-8A98-12AA862417C5") ICorDebugThread2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetActiveFunctions( + virtual HRESULT STDMETHODCALLTYPE GetActiveFunctions( /* [in] */ ULONG32 cFunctions, /* [out] */ ULONG32 *pcFunctions, /* [length_is][size_is][out][in] */ COR_ACTIVE_FUNCTION pFunctions[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetConnectionID( + + virtual HRESULT STDMETHODCALLTYPE GetConnectionID( /* [out] */ CONNID *pdwConnectionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTaskID( + + virtual HRESULT STDMETHODCALLTYPE GetTaskID( /* [out] */ TASKID *pTaskId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVolatileOSThreadID( + + virtual HRESULT STDMETHODCALLTYPE GetVolatileOSThreadID( /* [out] */ DWORD *pdwTid) = 0; - - virtual HRESULT STDMETHODCALLTYPE InterceptCurrentException( + + virtual HRESULT STDMETHODCALLTYPE InterceptCurrentException( /* [in] */ ICorDebugFrame *pFrame) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugThread2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugThread2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugThread2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugThread2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetActiveFunctions )( + + DECLSPEC_XFGVIRT(ICorDebugThread2, GetActiveFunctions) + HRESULT ( STDMETHODCALLTYPE *GetActiveFunctions )( ICorDebugThread2 * This, /* [in] */ ULONG32 cFunctions, /* [out] */ ULONG32 *pcFunctions, /* [length_is][size_is][out][in] */ COR_ACTIVE_FUNCTION pFunctions[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetConnectionID )( + + DECLSPEC_XFGVIRT(ICorDebugThread2, GetConnectionID) + HRESULT ( STDMETHODCALLTYPE *GetConnectionID )( ICorDebugThread2 * This, /* [out] */ CONNID *pdwConnectionId); - - HRESULT ( STDMETHODCALLTYPE *GetTaskID )( + + DECLSPEC_XFGVIRT(ICorDebugThread2, GetTaskID) + HRESULT ( STDMETHODCALLTYPE *GetTaskID )( ICorDebugThread2 * This, /* [out] */ TASKID *pTaskId); - - HRESULT ( STDMETHODCALLTYPE *GetVolatileOSThreadID )( + + DECLSPEC_XFGVIRT(ICorDebugThread2, GetVolatileOSThreadID) + HRESULT ( STDMETHODCALLTYPE *GetVolatileOSThreadID )( ICorDebugThread2 * This, /* [out] */ DWORD *pdwTid); - - HRESULT ( STDMETHODCALLTYPE *InterceptCurrentException )( + + DECLSPEC_XFGVIRT(ICorDebugThread2, InterceptCurrentException) + HRESULT ( STDMETHODCALLTYPE *InterceptCurrentException )( ICorDebugThread2 * This, /* [in] */ ICorDebugFrame *pFrame); - + END_INTERFACE } ICorDebugThread2Vtbl; @@ -9833,101 +10388,106 @@ EXTERN_C const IID IID_ICorDebugThread2; CONST_VTBL struct ICorDebugThread2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugThread2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugThread2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugThread2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugThread2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugThread2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugThread2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugThread2_GetActiveFunctions(This,cFunctions,pcFunctions,pFunctions) \ - ( (This)->lpVtbl -> GetActiveFunctions(This,cFunctions,pcFunctions,pFunctions) ) +#define ICorDebugThread2_GetActiveFunctions(This,cFunctions,pcFunctions,pFunctions) \ + ( (This)->lpVtbl -> GetActiveFunctions(This,cFunctions,pcFunctions,pFunctions) ) -#define ICorDebugThread2_GetConnectionID(This,pdwConnectionId) \ - ( (This)->lpVtbl -> GetConnectionID(This,pdwConnectionId) ) +#define ICorDebugThread2_GetConnectionID(This,pdwConnectionId) \ + ( (This)->lpVtbl -> GetConnectionID(This,pdwConnectionId) ) -#define ICorDebugThread2_GetTaskID(This,pTaskId) \ - ( (This)->lpVtbl -> GetTaskID(This,pTaskId) ) +#define ICorDebugThread2_GetTaskID(This,pTaskId) \ + ( (This)->lpVtbl -> GetTaskID(This,pTaskId) ) -#define ICorDebugThread2_GetVolatileOSThreadID(This,pdwTid) \ - ( (This)->lpVtbl -> GetVolatileOSThreadID(This,pdwTid) ) +#define ICorDebugThread2_GetVolatileOSThreadID(This,pdwTid) \ + ( (This)->lpVtbl -> GetVolatileOSThreadID(This,pdwTid) ) -#define ICorDebugThread2_InterceptCurrentException(This,pFrame) \ - ( (This)->lpVtbl -> InterceptCurrentException(This,pFrame) ) +#define ICorDebugThread2_InterceptCurrentException(This,pFrame) \ + ( (This)->lpVtbl -> InterceptCurrentException(This,pFrame) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugThread2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugThread2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugThread3_INTERFACE_DEFINED__ #define __ICorDebugThread3_INTERFACE_DEFINED__ /* interface ICorDebugThread3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugThread3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F8544EC3-5E4E-46c7-8D3E-A52B8405B1F5") ICorDebugThread3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CreateStackWalk( + virtual HRESULT STDMETHODCALLTYPE CreateStackWalk( /* [out] */ ICorDebugStackWalk **ppStackWalk) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetActiveInternalFrames( + + virtual HRESULT STDMETHODCALLTYPE GetActiveInternalFrames( /* [in] */ ULONG32 cInternalFrames, /* [out] */ ULONG32 *pcInternalFrames, /* [length_is][size_is][out][in] */ ICorDebugInternalFrame2 *ppInternalFrames[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugThread3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugThread3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugThread3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugThread3 * This); - - HRESULT ( STDMETHODCALLTYPE *CreateStackWalk )( + + DECLSPEC_XFGVIRT(ICorDebugThread3, CreateStackWalk) + HRESULT ( STDMETHODCALLTYPE *CreateStackWalk )( ICorDebugThread3 * This, /* [out] */ ICorDebugStackWalk **ppStackWalk); - - HRESULT ( STDMETHODCALLTYPE *GetActiveInternalFrames )( + + DECLSPEC_XFGVIRT(ICorDebugThread3, GetActiveInternalFrames) + HRESULT ( STDMETHODCALLTYPE *GetActiveInternalFrames )( ICorDebugThread3 * This, /* [in] */ ULONG32 cInternalFrames, /* [out] */ ULONG32 *pcInternalFrames, /* [length_is][size_is][out][in] */ ICorDebugInternalFrame2 *ppInternalFrames[ ]); - + END_INTERFACE } ICorDebugThread3Vtbl; @@ -9936,93 +10496,99 @@ EXTERN_C const IID IID_ICorDebugThread3; CONST_VTBL struct ICorDebugThread3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugThread3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugThread3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugThread3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugThread3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugThread3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugThread3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugThread3_CreateStackWalk(This,ppStackWalk) \ - ( (This)->lpVtbl -> CreateStackWalk(This,ppStackWalk) ) +#define ICorDebugThread3_CreateStackWalk(This,ppStackWalk) \ + ( (This)->lpVtbl -> CreateStackWalk(This,ppStackWalk) ) -#define ICorDebugThread3_GetActiveInternalFrames(This,cInternalFrames,pcInternalFrames,ppInternalFrames) \ - ( (This)->lpVtbl -> GetActiveInternalFrames(This,cInternalFrames,pcInternalFrames,ppInternalFrames) ) +#define ICorDebugThread3_GetActiveInternalFrames(This,cInternalFrames,pcInternalFrames,ppInternalFrames) \ + ( (This)->lpVtbl -> GetActiveInternalFrames(This,cInternalFrames,pcInternalFrames,ppInternalFrames) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugThread3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugThread3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugThread4_INTERFACE_DEFINED__ #define __ICorDebugThread4_INTERFACE_DEFINED__ /* interface ICorDebugThread4 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugThread4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("1A1F204B-1C66-4637-823F-3EE6C744A69C") ICorDebugThread4 : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE HasUnhandledException( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBlockingObjects( + + virtual HRESULT STDMETHODCALLTYPE GetBlockingObjects( /* [out] */ ICorDebugBlockingObjectEnum **ppBlockingObjectEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentCustomDebuggerNotification( + + virtual HRESULT STDMETHODCALLTYPE GetCurrentCustomDebuggerNotification( /* [out] */ ICorDebugValue **ppNotificationObject) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugThread4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugThread4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugThread4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugThread4 * This); - - HRESULT ( STDMETHODCALLTYPE *HasUnhandledException )( + + DECLSPEC_XFGVIRT(ICorDebugThread4, HasUnhandledException) + HRESULT ( STDMETHODCALLTYPE *HasUnhandledException )( ICorDebugThread4 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBlockingObjects )( + + DECLSPEC_XFGVIRT(ICorDebugThread4, GetBlockingObjects) + HRESULT ( STDMETHODCALLTYPE *GetBlockingObjects )( ICorDebugThread4 * This, /* [out] */ ICorDebugBlockingObjectEnum **ppBlockingObjectEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentCustomDebuggerNotification )( + + DECLSPEC_XFGVIRT(ICorDebugThread4, GetCurrentCustomDebuggerNotification) + HRESULT ( STDMETHODCALLTYPE *GetCurrentCustomDebuggerNotification )( ICorDebugThread4 * This, /* [out] */ ICorDebugValue **ppNotificationObject); - + END_INTERFACE } ICorDebugThread4Vtbl; @@ -10031,86 +10597,90 @@ EXTERN_C const IID IID_ICorDebugThread4; CONST_VTBL struct ICorDebugThread4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugThread4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugThread4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugThread4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugThread4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugThread4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugThread4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugThread4_HasUnhandledException(This) \ - ( (This)->lpVtbl -> HasUnhandledException(This) ) +#define ICorDebugThread4_HasUnhandledException(This) \ + ( (This)->lpVtbl -> HasUnhandledException(This) ) -#define ICorDebugThread4_GetBlockingObjects(This,ppBlockingObjectEnum) \ - ( (This)->lpVtbl -> GetBlockingObjects(This,ppBlockingObjectEnum) ) +#define ICorDebugThread4_GetBlockingObjects(This,ppBlockingObjectEnum) \ + ( (This)->lpVtbl -> GetBlockingObjects(This,ppBlockingObjectEnum) ) -#define ICorDebugThread4_GetCurrentCustomDebuggerNotification(This,ppNotificationObject) \ - ( (This)->lpVtbl -> GetCurrentCustomDebuggerNotification(This,ppNotificationObject) ) +#define ICorDebugThread4_GetCurrentCustomDebuggerNotification(This,ppNotificationObject) \ + ( (This)->lpVtbl -> GetCurrentCustomDebuggerNotification(This,ppNotificationObject) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugThread4_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugThread4_INTERFACE_DEFINED__ */ #ifndef __ICorDebugThread5_INTERFACE_DEFINED__ #define __ICorDebugThread5_INTERFACE_DEFINED__ /* interface ICorDebugThread5 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugThread5; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F98421C4-E506-4D24-916F-0237EE853EC6") ICorDebugThread5 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetBytesAllocated( + virtual HRESULT STDMETHODCALLTYPE GetBytesAllocated( /* [out] */ ULONG64 *pSohAllocatedBytes, /* [out] */ ULONG64 *pUohAllocatedBytes) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugThread5Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugThread5 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugThread5 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugThread5 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytesAllocated )( + + DECLSPEC_XFGVIRT(ICorDebugThread5, GetBytesAllocated) + HRESULT ( STDMETHODCALLTYPE *GetBytesAllocated )( ICorDebugThread5 * This, /* [out] */ ULONG64 *pSohAllocatedBytes, /* [out] */ ULONG64 *pUohAllocatedBytes); - + END_INTERFACE } ICorDebugThread5Vtbl; @@ -10119,114 +10689,121 @@ EXTERN_C const IID IID_ICorDebugThread5; CONST_VTBL struct ICorDebugThread5Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugThread5_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugThread5_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugThread5_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugThread5_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugThread5_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugThread5_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugThread5_GetBytesAllocated(This,pSohAllocatedBytes,pUohAllocatedBytes) \ - ( (This)->lpVtbl -> GetBytesAllocated(This,pSohAllocatedBytes,pUohAllocatedBytes) ) +#define ICorDebugThread5_GetBytesAllocated(This,pSohAllocatedBytes,pUohAllocatedBytes) \ + ( (This)->lpVtbl -> GetBytesAllocated(This,pSohAllocatedBytes,pUohAllocatedBytes) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugThread5_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugThread5_INTERFACE_DEFINED__ */ #ifndef __ICorDebugStackWalk_INTERFACE_DEFINED__ #define __ICorDebugStackWalk_INTERFACE_DEFINED__ /* interface ICorDebugStackWalk */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugSetContextFlag { - SET_CONTEXT_FLAG_ACTIVE_FRAME = 0x1, - SET_CONTEXT_FLAG_UNWIND_FRAME = 0x2 - } CorDebugSetContextFlag; + SET_CONTEXT_FLAG_ACTIVE_FRAME = 0x1, + SET_CONTEXT_FLAG_UNWIND_FRAME = 0x2 + } CorDebugSetContextFlag; EXTERN_C const IID IID_ICorDebugStackWalk; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("A0647DE9-55DE-4816-929C-385271C64CF7") ICorDebugStackWalk : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetContext( + virtual HRESULT STDMETHODCALLTYPE GetContext( /* [in] */ ULONG32 contextFlags, /* [in] */ ULONG32 contextBufSize, /* [out] */ ULONG32 *contextSize, /* [size_is][out] */ BYTE contextBuf[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetContext( + + virtual HRESULT STDMETHODCALLTYPE SetContext( /* [in] */ CorDebugSetContextFlag flag, /* [in] */ ULONG32 contextSize, /* [size_is][in] */ BYTE context[ ]) = 0; - + virtual HRESULT STDMETHODCALLTYPE Next( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFrame( + + virtual HRESULT STDMETHODCALLTYPE GetFrame( /* [out] */ ICorDebugFrame **pFrame) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugStackWalkVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugStackWalk * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugStackWalk * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugStackWalk * This); - - HRESULT ( STDMETHODCALLTYPE *GetContext )( + + DECLSPEC_XFGVIRT(ICorDebugStackWalk, GetContext) + HRESULT ( STDMETHODCALLTYPE *GetContext )( ICorDebugStackWalk * This, /* [in] */ ULONG32 contextFlags, /* [in] */ ULONG32 contextBufSize, /* [out] */ ULONG32 *contextSize, /* [size_is][out] */ BYTE contextBuf[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetContext )( + + DECLSPEC_XFGVIRT(ICorDebugStackWalk, SetContext) + HRESULT ( STDMETHODCALLTYPE *SetContext )( ICorDebugStackWalk * This, /* [in] */ CorDebugSetContextFlag flag, /* [in] */ ULONG32 contextSize, /* [size_is][in] */ BYTE context[ ]); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugStackWalk, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugStackWalk * This); - - HRESULT ( STDMETHODCALLTYPE *GetFrame )( + + DECLSPEC_XFGVIRT(ICorDebugStackWalk, GetFrame) + HRESULT ( STDMETHODCALLTYPE *GetFrame )( ICorDebugStackWalk * This, /* [out] */ ICorDebugFrame **pFrame); - + END_INTERFACE } ICorDebugStackWalkVtbl; @@ -10235,184 +10812,199 @@ EXTERN_C const IID IID_ICorDebugStackWalk; CONST_VTBL struct ICorDebugStackWalkVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugStackWalk_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugStackWalk_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugStackWalk_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugStackWalk_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugStackWalk_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugStackWalk_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugStackWalk_GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) \ - ( (This)->lpVtbl -> GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) ) +#define ICorDebugStackWalk_GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) \ + ( (This)->lpVtbl -> GetContext(This,contextFlags,contextBufSize,contextSize,contextBuf) ) -#define ICorDebugStackWalk_SetContext(This,flag,contextSize,context) \ - ( (This)->lpVtbl -> SetContext(This,flag,contextSize,context) ) +#define ICorDebugStackWalk_SetContext(This,flag,contextSize,context) \ + ( (This)->lpVtbl -> SetContext(This,flag,contextSize,context) ) -#define ICorDebugStackWalk_Next(This) \ - ( (This)->lpVtbl -> Next(This) ) +#define ICorDebugStackWalk_Next(This) \ + ( (This)->lpVtbl -> Next(This) ) -#define ICorDebugStackWalk_GetFrame(This,pFrame) \ - ( (This)->lpVtbl -> GetFrame(This,pFrame) ) +#define ICorDebugStackWalk_GetFrame(This,pFrame) \ + ( (This)->lpVtbl -> GetFrame(This,pFrame) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugStackWalk_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugStackWalk_INTERFACE_DEFINED__ */ #ifndef __ICorDebugChain_INTERFACE_DEFINED__ #define __ICorDebugChain_INTERFACE_DEFINED__ /* interface ICorDebugChain */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugChainReason { - CHAIN_NONE = 0, - CHAIN_CLASS_INIT = 0x1, - CHAIN_EXCEPTION_FILTER = 0x2, - CHAIN_SECURITY = 0x4, - CHAIN_CONTEXT_POLICY = 0x8, - CHAIN_INTERCEPTION = 0x10, - CHAIN_PROCESS_START = 0x20, - CHAIN_THREAD_START = 0x40, - CHAIN_ENTER_MANAGED = 0x80, - CHAIN_ENTER_UNMANAGED = 0x100, - CHAIN_DEBUGGER_EVAL = 0x200, - CHAIN_CONTEXT_SWITCH = 0x400, - CHAIN_FUNC_EVAL = 0x800 - } CorDebugChainReason; + CHAIN_NONE = 0, + CHAIN_CLASS_INIT = 0x1, + CHAIN_EXCEPTION_FILTER = 0x2, + CHAIN_SECURITY = 0x4, + CHAIN_CONTEXT_POLICY = 0x8, + CHAIN_INTERCEPTION = 0x10, + CHAIN_PROCESS_START = 0x20, + CHAIN_THREAD_START = 0x40, + CHAIN_ENTER_MANAGED = 0x80, + CHAIN_ENTER_UNMANAGED = 0x100, + CHAIN_DEBUGGER_EVAL = 0x200, + CHAIN_CONTEXT_SWITCH = 0x400, + CHAIN_FUNC_EVAL = 0x800 + } CorDebugChainReason; EXTERN_C const IID IID_ICorDebugChain; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAEE-8A68-11d2-983C-0000F808342D") ICorDebugChain : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetThread( + virtual HRESULT STDMETHODCALLTYPE GetThread( /* [out] */ ICorDebugThread **ppThread) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStackRange( + + virtual HRESULT STDMETHODCALLTYPE GetStackRange( /* [out] */ CORDB_ADDRESS *pStart, /* [out] */ CORDB_ADDRESS *pEnd) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetContext( + + virtual HRESULT STDMETHODCALLTYPE GetContext( /* [out] */ ICorDebugContext **ppContext) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCaller( + + virtual HRESULT STDMETHODCALLTYPE GetCaller( /* [out] */ ICorDebugChain **ppChain) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCallee( + + virtual HRESULT STDMETHODCALLTYPE GetCallee( /* [out] */ ICorDebugChain **ppChain) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPrevious( + + virtual HRESULT STDMETHODCALLTYPE GetPrevious( /* [out] */ ICorDebugChain **ppChain) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetNext( + + virtual HRESULT STDMETHODCALLTYPE GetNext( /* [out] */ ICorDebugChain **ppChain) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsManaged( + + virtual HRESULT STDMETHODCALLTYPE IsManaged( /* [out] */ BOOL *pManaged) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateFrames( + + virtual HRESULT STDMETHODCALLTYPE EnumerateFrames( /* [out] */ ICorDebugFrameEnum **ppFrames) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetActiveFrame( + + virtual HRESULT STDMETHODCALLTYPE GetActiveFrame( /* [out] */ ICorDebugFrame **ppFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRegisterSet( + + virtual HRESULT STDMETHODCALLTYPE GetRegisterSet( /* [out] */ ICorDebugRegisterSet **ppRegisters) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetReason( + + virtual HRESULT STDMETHODCALLTYPE GetReason( /* [out] */ CorDebugChainReason *pReason) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugChainVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugChain * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugChain * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugChain * This); - - HRESULT ( STDMETHODCALLTYPE *GetThread )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetThread) + HRESULT ( STDMETHODCALLTYPE *GetThread )( ICorDebugChain * This, /* [out] */ ICorDebugThread **ppThread); - - HRESULT ( STDMETHODCALLTYPE *GetStackRange )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetStackRange) + HRESULT ( STDMETHODCALLTYPE *GetStackRange )( ICorDebugChain * This, /* [out] */ CORDB_ADDRESS *pStart, /* [out] */ CORDB_ADDRESS *pEnd); - - HRESULT ( STDMETHODCALLTYPE *GetContext )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetContext) + HRESULT ( STDMETHODCALLTYPE *GetContext )( ICorDebugChain * This, /* [out] */ ICorDebugContext **ppContext); - - HRESULT ( STDMETHODCALLTYPE *GetCaller )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetCaller) + HRESULT ( STDMETHODCALLTYPE *GetCaller )( ICorDebugChain * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *GetCallee )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetCallee) + HRESULT ( STDMETHODCALLTYPE *GetCallee )( ICorDebugChain * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *GetPrevious )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetPrevious) + HRESULT ( STDMETHODCALLTYPE *GetPrevious )( ICorDebugChain * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *GetNext )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetNext) + HRESULT ( STDMETHODCALLTYPE *GetNext )( ICorDebugChain * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *IsManaged )( + + DECLSPEC_XFGVIRT(ICorDebugChain, IsManaged) + HRESULT ( STDMETHODCALLTYPE *IsManaged )( ICorDebugChain * This, /* [out] */ BOOL *pManaged); - - HRESULT ( STDMETHODCALLTYPE *EnumerateFrames )( + + DECLSPEC_XFGVIRT(ICorDebugChain, EnumerateFrames) + HRESULT ( STDMETHODCALLTYPE *EnumerateFrames )( ICorDebugChain * This, /* [out] */ ICorDebugFrameEnum **ppFrames); - - HRESULT ( STDMETHODCALLTYPE *GetActiveFrame )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetActiveFrame) + HRESULT ( STDMETHODCALLTYPE *GetActiveFrame )( ICorDebugChain * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *GetRegisterSet )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetRegisterSet) + HRESULT ( STDMETHODCALLTYPE *GetRegisterSet )( ICorDebugChain * This, /* [out] */ ICorDebugRegisterSet **ppRegisters); - - HRESULT ( STDMETHODCALLTYPE *GetReason )( + + DECLSPEC_XFGVIRT(ICorDebugChain, GetReason) + HRESULT ( STDMETHODCALLTYPE *GetReason )( ICorDebugChain * This, /* [out] */ CorDebugChainReason *pReason); - + END_INTERFACE } ICorDebugChainVtbl; @@ -10421,162 +11013,173 @@ EXTERN_C const IID IID_ICorDebugChain; CONST_VTBL struct ICorDebugChainVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugChain_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugChain_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugChain_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugChain_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugChain_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugChain_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugChain_GetThread(This,ppThread) \ - ( (This)->lpVtbl -> GetThread(This,ppThread) ) +#define ICorDebugChain_GetThread(This,ppThread) \ + ( (This)->lpVtbl -> GetThread(This,ppThread) ) -#define ICorDebugChain_GetStackRange(This,pStart,pEnd) \ - ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) +#define ICorDebugChain_GetStackRange(This,pStart,pEnd) \ + ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) -#define ICorDebugChain_GetContext(This,ppContext) \ - ( (This)->lpVtbl -> GetContext(This,ppContext) ) +#define ICorDebugChain_GetContext(This,ppContext) \ + ( (This)->lpVtbl -> GetContext(This,ppContext) ) -#define ICorDebugChain_GetCaller(This,ppChain) \ - ( (This)->lpVtbl -> GetCaller(This,ppChain) ) +#define ICorDebugChain_GetCaller(This,ppChain) \ + ( (This)->lpVtbl -> GetCaller(This,ppChain) ) -#define ICorDebugChain_GetCallee(This,ppChain) \ - ( (This)->lpVtbl -> GetCallee(This,ppChain) ) +#define ICorDebugChain_GetCallee(This,ppChain) \ + ( (This)->lpVtbl -> GetCallee(This,ppChain) ) -#define ICorDebugChain_GetPrevious(This,ppChain) \ - ( (This)->lpVtbl -> GetPrevious(This,ppChain) ) +#define ICorDebugChain_GetPrevious(This,ppChain) \ + ( (This)->lpVtbl -> GetPrevious(This,ppChain) ) -#define ICorDebugChain_GetNext(This,ppChain) \ - ( (This)->lpVtbl -> GetNext(This,ppChain) ) +#define ICorDebugChain_GetNext(This,ppChain) \ + ( (This)->lpVtbl -> GetNext(This,ppChain) ) -#define ICorDebugChain_IsManaged(This,pManaged) \ - ( (This)->lpVtbl -> IsManaged(This,pManaged) ) +#define ICorDebugChain_IsManaged(This,pManaged) \ + ( (This)->lpVtbl -> IsManaged(This,pManaged) ) -#define ICorDebugChain_EnumerateFrames(This,ppFrames) \ - ( (This)->lpVtbl -> EnumerateFrames(This,ppFrames) ) +#define ICorDebugChain_EnumerateFrames(This,ppFrames) \ + ( (This)->lpVtbl -> EnumerateFrames(This,ppFrames) ) -#define ICorDebugChain_GetActiveFrame(This,ppFrame) \ - ( (This)->lpVtbl -> GetActiveFrame(This,ppFrame) ) +#define ICorDebugChain_GetActiveFrame(This,ppFrame) \ + ( (This)->lpVtbl -> GetActiveFrame(This,ppFrame) ) -#define ICorDebugChain_GetRegisterSet(This,ppRegisters) \ - ( (This)->lpVtbl -> GetRegisterSet(This,ppRegisters) ) +#define ICorDebugChain_GetRegisterSet(This,ppRegisters) \ + ( (This)->lpVtbl -> GetRegisterSet(This,ppRegisters) ) -#define ICorDebugChain_GetReason(This,pReason) \ - ( (This)->lpVtbl -> GetReason(This,pReason) ) +#define ICorDebugChain_GetReason(This,pReason) \ + ( (This)->lpVtbl -> GetReason(This,pReason) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugChain_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugChain_INTERFACE_DEFINED__ */ #ifndef __ICorDebugFrame_INTERFACE_DEFINED__ #define __ICorDebugFrame_INTERFACE_DEFINED__ /* interface ICorDebugFrame */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugFrame; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAEF-8A68-11d2-983C-0000F808342D") ICorDebugFrame : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetChain( + virtual HRESULT STDMETHODCALLTYPE GetChain( /* [out] */ ICorDebugChain **ppChain) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCode( + + virtual HRESULT STDMETHODCALLTYPE GetCode( /* [out] */ ICorDebugCode **ppCode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunction( + + virtual HRESULT STDMETHODCALLTYPE GetFunction( /* [out] */ ICorDebugFunction **ppFunction) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionToken( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionToken( /* [out] */ mdMethodDef *pToken) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStackRange( + + virtual HRESULT STDMETHODCALLTYPE GetStackRange( /* [out] */ CORDB_ADDRESS *pStart, /* [out] */ CORDB_ADDRESS *pEnd) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCaller( + + virtual HRESULT STDMETHODCALLTYPE GetCaller( /* [out] */ ICorDebugFrame **ppFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCallee( + + virtual HRESULT STDMETHODCALLTYPE GetCallee( /* [out] */ ICorDebugFrame **ppFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateStepper( + + virtual HRESULT STDMETHODCALLTYPE CreateStepper( /* [out] */ ICorDebugStepper **ppStepper) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugFrameVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugFrame * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugFrame * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugFrame * This); - - HRESULT ( STDMETHODCALLTYPE *GetChain )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetChain) + HRESULT ( STDMETHODCALLTYPE *GetChain )( ICorDebugFrame * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *GetCode )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCode) + HRESULT ( STDMETHODCALLTYPE *GetCode )( ICorDebugFrame * This, /* [out] */ ICorDebugCode **ppCode); - - HRESULT ( STDMETHODCALLTYPE *GetFunction )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunction) + HRESULT ( STDMETHODCALLTYPE *GetFunction )( ICorDebugFrame * This, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunctionToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( ICorDebugFrame * This, /* [out] */ mdMethodDef *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetStackRange )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetStackRange) + HRESULT ( STDMETHODCALLTYPE *GetStackRange )( ICorDebugFrame * This, /* [out] */ CORDB_ADDRESS *pStart, /* [out] */ CORDB_ADDRESS *pEnd); - - HRESULT ( STDMETHODCALLTYPE *GetCaller )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCaller) + HRESULT ( STDMETHODCALLTYPE *GetCaller )( ICorDebugFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *GetCallee )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCallee) + HRESULT ( STDMETHODCALLTYPE *GetCallee )( ICorDebugFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateStepper )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, CreateStepper) + HRESULT ( STDMETHODCALLTYPE *CreateStepper )( ICorDebugFrame * This, /* [out] */ ICorDebugStepper **ppStepper); - + END_INTERFACE } ICorDebugFrameVtbl; @@ -10585,148 +11188,160 @@ EXTERN_C const IID IID_ICorDebugFrame; CONST_VTBL struct ICorDebugFrameVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugFrame_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugFrame_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugFrame_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugFrame_GetChain(This,ppChain) \ - ( (This)->lpVtbl -> GetChain(This,ppChain) ) +#define ICorDebugFrame_GetChain(This,ppChain) \ + ( (This)->lpVtbl -> GetChain(This,ppChain) ) -#define ICorDebugFrame_GetCode(This,ppCode) \ - ( (This)->lpVtbl -> GetCode(This,ppCode) ) +#define ICorDebugFrame_GetCode(This,ppCode) \ + ( (This)->lpVtbl -> GetCode(This,ppCode) ) -#define ICorDebugFrame_GetFunction(This,ppFunction) \ - ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) +#define ICorDebugFrame_GetFunction(This,ppFunction) \ + ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) -#define ICorDebugFrame_GetFunctionToken(This,pToken) \ - ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) +#define ICorDebugFrame_GetFunctionToken(This,pToken) \ + ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) -#define ICorDebugFrame_GetStackRange(This,pStart,pEnd) \ - ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) +#define ICorDebugFrame_GetStackRange(This,pStart,pEnd) \ + ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) -#define ICorDebugFrame_GetCaller(This,ppFrame) \ - ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) +#define ICorDebugFrame_GetCaller(This,ppFrame) \ + ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) -#define ICorDebugFrame_GetCallee(This,ppFrame) \ - ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) +#define ICorDebugFrame_GetCallee(This,ppFrame) \ + ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) -#define ICorDebugFrame_CreateStepper(This,ppStepper) \ - ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) +#define ICorDebugFrame_CreateStepper(This,ppStepper) \ + ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugFrame_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugFrame_INTERFACE_DEFINED__ */ #ifndef __ICorDebugInternalFrame_INTERFACE_DEFINED__ #define __ICorDebugInternalFrame_INTERFACE_DEFINED__ /* interface ICorDebugInternalFrame */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugInternalFrameType { - STUBFRAME_NONE = 0, - STUBFRAME_M2U = 0x1, - STUBFRAME_U2M = 0x2, - STUBFRAME_APPDOMAIN_TRANSITION = 0x3, - STUBFRAME_LIGHTWEIGHT_FUNCTION = 0x4, - STUBFRAME_FUNC_EVAL = 0x5, - STUBFRAME_INTERNALCALL = 0x6, - STUBFRAME_CLASS_INIT = 0x7, - STUBFRAME_EXCEPTION = 0x8, - STUBFRAME_SECURITY = 0x9, - STUBFRAME_JIT_COMPILATION = 0xa - } CorDebugInternalFrameType; + STUBFRAME_NONE = 0, + STUBFRAME_M2U = 0x1, + STUBFRAME_U2M = 0x2, + STUBFRAME_APPDOMAIN_TRANSITION = 0x3, + STUBFRAME_LIGHTWEIGHT_FUNCTION = 0x4, + STUBFRAME_FUNC_EVAL = 0x5, + STUBFRAME_INTERNALCALL = 0x6, + STUBFRAME_CLASS_INIT = 0x7, + STUBFRAME_EXCEPTION = 0x8, + STUBFRAME_SECURITY = 0x9, + STUBFRAME_JIT_COMPILATION = 0xa + } CorDebugInternalFrameType; EXTERN_C const IID IID_ICorDebugInternalFrame; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("B92CC7F7-9D2D-45c4-BC2B-621FCC9DFBF4") ICorDebugInternalFrame : public ICorDebugFrame { public: - virtual HRESULT STDMETHODCALLTYPE GetFrameType( + virtual HRESULT STDMETHODCALLTYPE GetFrameType( /* [out] */ CorDebugInternalFrameType *pType) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugInternalFrameVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugInternalFrame * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugInternalFrame * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugInternalFrame * This); - - HRESULT ( STDMETHODCALLTYPE *GetChain )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetChain) + HRESULT ( STDMETHODCALLTYPE *GetChain )( ICorDebugInternalFrame * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *GetCode )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCode) + HRESULT ( STDMETHODCALLTYPE *GetCode )( ICorDebugInternalFrame * This, /* [out] */ ICorDebugCode **ppCode); - - HRESULT ( STDMETHODCALLTYPE *GetFunction )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunction) + HRESULT ( STDMETHODCALLTYPE *GetFunction )( ICorDebugInternalFrame * This, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunctionToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( ICorDebugInternalFrame * This, /* [out] */ mdMethodDef *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetStackRange )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetStackRange) + HRESULT ( STDMETHODCALLTYPE *GetStackRange )( ICorDebugInternalFrame * This, /* [out] */ CORDB_ADDRESS *pStart, /* [out] */ CORDB_ADDRESS *pEnd); - - HRESULT ( STDMETHODCALLTYPE *GetCaller )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCaller) + HRESULT ( STDMETHODCALLTYPE *GetCaller )( ICorDebugInternalFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *GetCallee )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCallee) + HRESULT ( STDMETHODCALLTYPE *GetCallee )( ICorDebugInternalFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateStepper )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, CreateStepper) + HRESULT ( STDMETHODCALLTYPE *CreateStepper )( ICorDebugInternalFrame * This, /* [out] */ ICorDebugStepper **ppStepper); - - HRESULT ( STDMETHODCALLTYPE *GetFrameType )( + + DECLSPEC_XFGVIRT(ICorDebugInternalFrame, GetFrameType) + HRESULT ( STDMETHODCALLTYPE *GetFrameType )( ICorDebugInternalFrame * This, /* [out] */ CorDebugInternalFrameType *pType); - + END_INTERFACE } ICorDebugInternalFrameVtbl; @@ -10735,112 +11350,117 @@ EXTERN_C const IID IID_ICorDebugInternalFrame; CONST_VTBL struct ICorDebugInternalFrameVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugInternalFrame_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugInternalFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugInternalFrame_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugInternalFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugInternalFrame_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugInternalFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugInternalFrame_GetChain(This,ppChain) \ - ( (This)->lpVtbl -> GetChain(This,ppChain) ) +#define ICorDebugInternalFrame_GetChain(This,ppChain) \ + ( (This)->lpVtbl -> GetChain(This,ppChain) ) -#define ICorDebugInternalFrame_GetCode(This,ppCode) \ - ( (This)->lpVtbl -> GetCode(This,ppCode) ) +#define ICorDebugInternalFrame_GetCode(This,ppCode) \ + ( (This)->lpVtbl -> GetCode(This,ppCode) ) -#define ICorDebugInternalFrame_GetFunction(This,ppFunction) \ - ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) +#define ICorDebugInternalFrame_GetFunction(This,ppFunction) \ + ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) -#define ICorDebugInternalFrame_GetFunctionToken(This,pToken) \ - ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) +#define ICorDebugInternalFrame_GetFunctionToken(This,pToken) \ + ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) -#define ICorDebugInternalFrame_GetStackRange(This,pStart,pEnd) \ - ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) +#define ICorDebugInternalFrame_GetStackRange(This,pStart,pEnd) \ + ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) -#define ICorDebugInternalFrame_GetCaller(This,ppFrame) \ - ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) +#define ICorDebugInternalFrame_GetCaller(This,ppFrame) \ + ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) -#define ICorDebugInternalFrame_GetCallee(This,ppFrame) \ - ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) +#define ICorDebugInternalFrame_GetCallee(This,ppFrame) \ + ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) -#define ICorDebugInternalFrame_CreateStepper(This,ppStepper) \ - ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) +#define ICorDebugInternalFrame_CreateStepper(This,ppStepper) \ + ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) -#define ICorDebugInternalFrame_GetFrameType(This,pType) \ - ( (This)->lpVtbl -> GetFrameType(This,pType) ) +#define ICorDebugInternalFrame_GetFrameType(This,pType) \ + ( (This)->lpVtbl -> GetFrameType(This,pType) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugInternalFrame_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugInternalFrame_INTERFACE_DEFINED__ */ #ifndef __ICorDebugInternalFrame2_INTERFACE_DEFINED__ #define __ICorDebugInternalFrame2_INTERFACE_DEFINED__ /* interface ICorDebugInternalFrame2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugInternalFrame2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("C0815BDC-CFAB-447e-A779-C116B454EB5B") ICorDebugInternalFrame2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetAddress( + virtual HRESULT STDMETHODCALLTYPE GetAddress( /* [out] */ CORDB_ADDRESS *pAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsCloserToLeaf( + + virtual HRESULT STDMETHODCALLTYPE IsCloserToLeaf( /* [in] */ ICorDebugFrame *pFrameToCompare, /* [out] */ BOOL *pIsCloser) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugInternalFrame2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugInternalFrame2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugInternalFrame2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugInternalFrame2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugInternalFrame2, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugInternalFrame2 * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *IsCloserToLeaf )( + + DECLSPEC_XFGVIRT(ICorDebugInternalFrame2, IsCloserToLeaf) + HRESULT ( STDMETHODCALLTYPE *IsCloserToLeaf )( ICorDebugInternalFrame2 * This, /* [in] */ ICorDebugFrame *pFrameToCompare, /* [out] */ BOOL *pIsCloser); - + END_INTERFACE } ICorDebugInternalFrame2Vtbl; @@ -10849,189 +11469,209 @@ EXTERN_C const IID IID_ICorDebugInternalFrame2; CONST_VTBL struct ICorDebugInternalFrame2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugInternalFrame2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugInternalFrame2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugInternalFrame2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugInternalFrame2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugInternalFrame2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugInternalFrame2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugInternalFrame2_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugInternalFrame2_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugInternalFrame2_IsCloserToLeaf(This,pFrameToCompare,pIsCloser) \ - ( (This)->lpVtbl -> IsCloserToLeaf(This,pFrameToCompare,pIsCloser) ) +#define ICorDebugInternalFrame2_IsCloserToLeaf(This,pFrameToCompare,pIsCloser) \ + ( (This)->lpVtbl -> IsCloserToLeaf(This,pFrameToCompare,pIsCloser) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugInternalFrame2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugInternalFrame2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugILFrame_INTERFACE_DEFINED__ #define __ICorDebugILFrame_INTERFACE_DEFINED__ /* interface ICorDebugILFrame */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugMappingResult { - MAPPING_PROLOG = 0x1, - MAPPING_EPILOG = 0x2, - MAPPING_NO_INFO = 0x4, - MAPPING_UNMAPPED_ADDRESS = 0x8, - MAPPING_EXACT = 0x10, - MAPPING_APPROXIMATE = 0x20 - } CorDebugMappingResult; + MAPPING_PROLOG = 0x1, + MAPPING_EPILOG = 0x2, + MAPPING_NO_INFO = 0x4, + MAPPING_UNMAPPED_ADDRESS = 0x8, + MAPPING_EXACT = 0x10, + MAPPING_APPROXIMATE = 0x20 + } CorDebugMappingResult; EXTERN_C const IID IID_ICorDebugILFrame; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("03E26311-4F76-11d3-88C6-006097945418") ICorDebugILFrame : public ICorDebugFrame { public: - virtual HRESULT STDMETHODCALLTYPE GetIP( + virtual HRESULT STDMETHODCALLTYPE GetIP( /* [out] */ ULONG32 *pnOffset, /* [out] */ CorDebugMappingResult *pMappingResult) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetIP( + + virtual HRESULT STDMETHODCALLTYPE SetIP( /* [in] */ ULONG32 nOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateLocalVariables( + + virtual HRESULT STDMETHODCALLTYPE EnumerateLocalVariables( /* [out] */ ICorDebugValueEnum **ppValueEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocalVariable( + + virtual HRESULT STDMETHODCALLTYPE GetLocalVariable( /* [in] */ DWORD dwIndex, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateArguments( + + virtual HRESULT STDMETHODCALLTYPE EnumerateArguments( /* [out] */ ICorDebugValueEnum **ppValueEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetArgument( + + virtual HRESULT STDMETHODCALLTYPE GetArgument( /* [in] */ DWORD dwIndex, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStackDepth( + + virtual HRESULT STDMETHODCALLTYPE GetStackDepth( /* [out] */ ULONG32 *pDepth) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStackValue( + + virtual HRESULT STDMETHODCALLTYPE GetStackValue( /* [in] */ DWORD dwIndex, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE CanSetIP( + + virtual HRESULT STDMETHODCALLTYPE CanSetIP( /* [in] */ ULONG32 nOffset) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugILFrameVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugILFrame * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugILFrame * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugILFrame * This); - - HRESULT ( STDMETHODCALLTYPE *GetChain )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetChain) + HRESULT ( STDMETHODCALLTYPE *GetChain )( ICorDebugILFrame * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *GetCode )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCode) + HRESULT ( STDMETHODCALLTYPE *GetCode )( ICorDebugILFrame * This, /* [out] */ ICorDebugCode **ppCode); - - HRESULT ( STDMETHODCALLTYPE *GetFunction )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunction) + HRESULT ( STDMETHODCALLTYPE *GetFunction )( ICorDebugILFrame * This, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunctionToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( ICorDebugILFrame * This, /* [out] */ mdMethodDef *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetStackRange )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetStackRange) + HRESULT ( STDMETHODCALLTYPE *GetStackRange )( ICorDebugILFrame * This, /* [out] */ CORDB_ADDRESS *pStart, /* [out] */ CORDB_ADDRESS *pEnd); - - HRESULT ( STDMETHODCALLTYPE *GetCaller )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCaller) + HRESULT ( STDMETHODCALLTYPE *GetCaller )( ICorDebugILFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *GetCallee )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCallee) + HRESULT ( STDMETHODCALLTYPE *GetCallee )( ICorDebugILFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateStepper )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, CreateStepper) + HRESULT ( STDMETHODCALLTYPE *CreateStepper )( ICorDebugILFrame * This, /* [out] */ ICorDebugStepper **ppStepper); - - HRESULT ( STDMETHODCALLTYPE *GetIP )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame, GetIP) + HRESULT ( STDMETHODCALLTYPE *GetIP )( ICorDebugILFrame * This, /* [out] */ ULONG32 *pnOffset, /* [out] */ CorDebugMappingResult *pMappingResult); - - HRESULT ( STDMETHODCALLTYPE *SetIP )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame, SetIP) + HRESULT ( STDMETHODCALLTYPE *SetIP )( ICorDebugILFrame * This, /* [in] */ ULONG32 nOffset); - - HRESULT ( STDMETHODCALLTYPE *EnumerateLocalVariables )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame, EnumerateLocalVariables) + HRESULT ( STDMETHODCALLTYPE *EnumerateLocalVariables )( ICorDebugILFrame * This, /* [out] */ ICorDebugValueEnum **ppValueEnum); - - HRESULT ( STDMETHODCALLTYPE *GetLocalVariable )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame, GetLocalVariable) + HRESULT ( STDMETHODCALLTYPE *GetLocalVariable )( ICorDebugILFrame * This, /* [in] */ DWORD dwIndex, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *EnumerateArguments )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame, EnumerateArguments) + HRESULT ( STDMETHODCALLTYPE *EnumerateArguments )( ICorDebugILFrame * This, /* [out] */ ICorDebugValueEnum **ppValueEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArgument )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame, GetArgument) + HRESULT ( STDMETHODCALLTYPE *GetArgument )( ICorDebugILFrame * This, /* [in] */ DWORD dwIndex, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetStackDepth )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame, GetStackDepth) + HRESULT ( STDMETHODCALLTYPE *GetStackDepth )( ICorDebugILFrame * This, /* [out] */ ULONG32 *pDepth); - - HRESULT ( STDMETHODCALLTYPE *GetStackValue )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame, GetStackValue) + HRESULT ( STDMETHODCALLTYPE *GetStackValue )( ICorDebugILFrame * This, /* [in] */ DWORD dwIndex, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *CanSetIP )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame, CanSetIP) + HRESULT ( STDMETHODCALLTYPE *CanSetIP )( ICorDebugILFrame * This, /* [in] */ ULONG32 nOffset); - + END_INTERFACE } ICorDebugILFrameVtbl; @@ -11040,134 +11680,139 @@ EXTERN_C const IID IID_ICorDebugILFrame; CONST_VTBL struct ICorDebugILFrameVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugILFrame_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugILFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugILFrame_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugILFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugILFrame_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugILFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugILFrame_GetChain(This,ppChain) \ - ( (This)->lpVtbl -> GetChain(This,ppChain) ) +#define ICorDebugILFrame_GetChain(This,ppChain) \ + ( (This)->lpVtbl -> GetChain(This,ppChain) ) -#define ICorDebugILFrame_GetCode(This,ppCode) \ - ( (This)->lpVtbl -> GetCode(This,ppCode) ) +#define ICorDebugILFrame_GetCode(This,ppCode) \ + ( (This)->lpVtbl -> GetCode(This,ppCode) ) -#define ICorDebugILFrame_GetFunction(This,ppFunction) \ - ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) +#define ICorDebugILFrame_GetFunction(This,ppFunction) \ + ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) -#define ICorDebugILFrame_GetFunctionToken(This,pToken) \ - ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) +#define ICorDebugILFrame_GetFunctionToken(This,pToken) \ + ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) -#define ICorDebugILFrame_GetStackRange(This,pStart,pEnd) \ - ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) +#define ICorDebugILFrame_GetStackRange(This,pStart,pEnd) \ + ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) -#define ICorDebugILFrame_GetCaller(This,ppFrame) \ - ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) +#define ICorDebugILFrame_GetCaller(This,ppFrame) \ + ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) -#define ICorDebugILFrame_GetCallee(This,ppFrame) \ - ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) +#define ICorDebugILFrame_GetCallee(This,ppFrame) \ + ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) -#define ICorDebugILFrame_CreateStepper(This,ppStepper) \ - ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) +#define ICorDebugILFrame_CreateStepper(This,ppStepper) \ + ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) -#define ICorDebugILFrame_GetIP(This,pnOffset,pMappingResult) \ - ( (This)->lpVtbl -> GetIP(This,pnOffset,pMappingResult) ) +#define ICorDebugILFrame_GetIP(This,pnOffset,pMappingResult) \ + ( (This)->lpVtbl -> GetIP(This,pnOffset,pMappingResult) ) -#define ICorDebugILFrame_SetIP(This,nOffset) \ - ( (This)->lpVtbl -> SetIP(This,nOffset) ) +#define ICorDebugILFrame_SetIP(This,nOffset) \ + ( (This)->lpVtbl -> SetIP(This,nOffset) ) -#define ICorDebugILFrame_EnumerateLocalVariables(This,ppValueEnum) \ - ( (This)->lpVtbl -> EnumerateLocalVariables(This,ppValueEnum) ) +#define ICorDebugILFrame_EnumerateLocalVariables(This,ppValueEnum) \ + ( (This)->lpVtbl -> EnumerateLocalVariables(This,ppValueEnum) ) -#define ICorDebugILFrame_GetLocalVariable(This,dwIndex,ppValue) \ - ( (This)->lpVtbl -> GetLocalVariable(This,dwIndex,ppValue) ) +#define ICorDebugILFrame_GetLocalVariable(This,dwIndex,ppValue) \ + ( (This)->lpVtbl -> GetLocalVariable(This,dwIndex,ppValue) ) -#define ICorDebugILFrame_EnumerateArguments(This,ppValueEnum) \ - ( (This)->lpVtbl -> EnumerateArguments(This,ppValueEnum) ) +#define ICorDebugILFrame_EnumerateArguments(This,ppValueEnum) \ + ( (This)->lpVtbl -> EnumerateArguments(This,ppValueEnum) ) -#define ICorDebugILFrame_GetArgument(This,dwIndex,ppValue) \ - ( (This)->lpVtbl -> GetArgument(This,dwIndex,ppValue) ) +#define ICorDebugILFrame_GetArgument(This,dwIndex,ppValue) \ + ( (This)->lpVtbl -> GetArgument(This,dwIndex,ppValue) ) -#define ICorDebugILFrame_GetStackDepth(This,pDepth) \ - ( (This)->lpVtbl -> GetStackDepth(This,pDepth) ) +#define ICorDebugILFrame_GetStackDepth(This,pDepth) \ + ( (This)->lpVtbl -> GetStackDepth(This,pDepth) ) -#define ICorDebugILFrame_GetStackValue(This,dwIndex,ppValue) \ - ( (This)->lpVtbl -> GetStackValue(This,dwIndex,ppValue) ) +#define ICorDebugILFrame_GetStackValue(This,dwIndex,ppValue) \ + ( (This)->lpVtbl -> GetStackValue(This,dwIndex,ppValue) ) -#define ICorDebugILFrame_CanSetIP(This,nOffset) \ - ( (This)->lpVtbl -> CanSetIP(This,nOffset) ) +#define ICorDebugILFrame_CanSetIP(This,nOffset) \ + ( (This)->lpVtbl -> CanSetIP(This,nOffset) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugILFrame_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugILFrame_INTERFACE_DEFINED__ */ #ifndef __ICorDebugILFrame2_INTERFACE_DEFINED__ #define __ICorDebugILFrame2_INTERFACE_DEFINED__ /* interface ICorDebugILFrame2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugILFrame2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("5D88A994-6C30-479b-890F-BCEF88B129A5") ICorDebugILFrame2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE RemapFunction( + virtual HRESULT STDMETHODCALLTYPE RemapFunction( /* [in] */ ULONG32 newILOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateTypeParameters( + + virtual HRESULT STDMETHODCALLTYPE EnumerateTypeParameters( /* [out] */ ICorDebugTypeEnum **ppTyParEnum) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugILFrame2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugILFrame2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugILFrame2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugILFrame2 * This); - - HRESULT ( STDMETHODCALLTYPE *RemapFunction )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame2, RemapFunction) + HRESULT ( STDMETHODCALLTYPE *RemapFunction )( ICorDebugILFrame2 * This, /* [in] */ ULONG32 newILOffset); - - HRESULT ( STDMETHODCALLTYPE *EnumerateTypeParameters )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame2, EnumerateTypeParameters) + HRESULT ( STDMETHODCALLTYPE *EnumerateTypeParameters )( ICorDebugILFrame2 * This, /* [out] */ ICorDebugTypeEnum **ppTyParEnum); - + END_INTERFACE } ICorDebugILFrame2Vtbl; @@ -11176,83 +11821,87 @@ EXTERN_C const IID IID_ICorDebugILFrame2; CONST_VTBL struct ICorDebugILFrame2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugILFrame2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugILFrame2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugILFrame2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugILFrame2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugILFrame2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugILFrame2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugILFrame2_RemapFunction(This,newILOffset) \ - ( (This)->lpVtbl -> RemapFunction(This,newILOffset) ) +#define ICorDebugILFrame2_RemapFunction(This,newILOffset) \ + ( (This)->lpVtbl -> RemapFunction(This,newILOffset) ) -#define ICorDebugILFrame2_EnumerateTypeParameters(This,ppTyParEnum) \ - ( (This)->lpVtbl -> EnumerateTypeParameters(This,ppTyParEnum) ) +#define ICorDebugILFrame2_EnumerateTypeParameters(This,ppTyParEnum) \ + ( (This)->lpVtbl -> EnumerateTypeParameters(This,ppTyParEnum) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugILFrame2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugILFrame2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugILFrame3_INTERFACE_DEFINED__ #define __ICorDebugILFrame3_INTERFACE_DEFINED__ /* interface ICorDebugILFrame3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugILFrame3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("9A9E2ED6-04DF-4FE0-BB50-CAB64126AD24") ICorDebugILFrame3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetReturnValueForILOffset( + virtual HRESULT STDMETHODCALLTYPE GetReturnValueForILOffset( ULONG32 ILoffset, /* [out] */ ICorDebugValue **ppReturnValue) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugILFrame3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugILFrame3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugILFrame3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugILFrame3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetReturnValueForILOffset )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame3, GetReturnValueForILOffset) + HRESULT ( STDMETHODCALLTYPE *GetReturnValueForILOffset )( ICorDebugILFrame3 * This, ULONG32 ILoffset, /* [out] */ ICorDebugValue **ppReturnValue); - + END_INTERFACE } ICorDebugILFrame3Vtbl; @@ -11261,44 +11910,44 @@ EXTERN_C const IID IID_ICorDebugILFrame3; CONST_VTBL struct ICorDebugILFrame3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugILFrame3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugILFrame3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugILFrame3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugILFrame3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugILFrame3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugILFrame3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugILFrame3_GetReturnValueForILOffset(This,ILoffset,ppReturnValue) \ - ( (This)->lpVtbl -> GetReturnValueForILOffset(This,ILoffset,ppReturnValue) ) +#define ICorDebugILFrame3_GetReturnValueForILOffset(This,ILoffset,ppReturnValue) \ + ( (This)->lpVtbl -> GetReturnValueForILOffset(This,ILoffset,ppReturnValue) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugILFrame3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugILFrame3_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0070 */ -/* [local] */ +/* [local] */ -typedef +typedef enum ILCodeKind { - ILCODE_ORIGINAL_IL = 0x1, - ILCODE_REJIT_IL = 0x2 - } ILCodeKind; + ILCODE_ORIGINAL_IL = 0x1, + ILCODE_REJIT_IL = 0x2 + } ILCodeKind; @@ -11309,67 +11958,73 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0070_v0_0_s_ifspec; #define __ICorDebugILFrame4_INTERFACE_DEFINED__ /* interface ICorDebugILFrame4 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugILFrame4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("AD914A30-C6D1-4AC5-9C5E-577F3BAA8A45") ICorDebugILFrame4 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE EnumerateLocalVariablesEx( + virtual HRESULT STDMETHODCALLTYPE EnumerateLocalVariablesEx( /* [in] */ ILCodeKind flags, /* [out] */ ICorDebugValueEnum **ppValueEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocalVariableEx( + + virtual HRESULT STDMETHODCALLTYPE GetLocalVariableEx( /* [in] */ ILCodeKind flags, /* [in] */ DWORD dwIndex, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeEx( + + virtual HRESULT STDMETHODCALLTYPE GetCodeEx( /* [in] */ ILCodeKind flags, /* [out] */ ICorDebugCode **ppCode) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugILFrame4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugILFrame4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugILFrame4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugILFrame4 * This); - - HRESULT ( STDMETHODCALLTYPE *EnumerateLocalVariablesEx )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame4, EnumerateLocalVariablesEx) + HRESULT ( STDMETHODCALLTYPE *EnumerateLocalVariablesEx )( ICorDebugILFrame4 * This, /* [in] */ ILCodeKind flags, /* [out] */ ICorDebugValueEnum **ppValueEnum); - - HRESULT ( STDMETHODCALLTYPE *GetLocalVariableEx )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame4, GetLocalVariableEx) + HRESULT ( STDMETHODCALLTYPE *GetLocalVariableEx )( ICorDebugILFrame4 * This, /* [in] */ ILCodeKind flags, /* [in] */ DWORD dwIndex, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetCodeEx )( + + DECLSPEC_XFGVIRT(ICorDebugILFrame4, GetCodeEx) + HRESULT ( STDMETHODCALLTYPE *GetCodeEx )( ICorDebugILFrame4 * This, /* [in] */ ILCodeKind flags, /* [out] */ ICorDebugCode **ppCode); - + END_INTERFACE } ICorDebugILFrame4Vtbl; @@ -11378,209 +12033,229 @@ EXTERN_C const IID IID_ICorDebugILFrame4; CONST_VTBL struct ICorDebugILFrame4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugILFrame4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugILFrame4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugILFrame4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugILFrame4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugILFrame4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugILFrame4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugILFrame4_EnumerateLocalVariablesEx(This,flags,ppValueEnum) \ - ( (This)->lpVtbl -> EnumerateLocalVariablesEx(This,flags,ppValueEnum) ) +#define ICorDebugILFrame4_EnumerateLocalVariablesEx(This,flags,ppValueEnum) \ + ( (This)->lpVtbl -> EnumerateLocalVariablesEx(This,flags,ppValueEnum) ) -#define ICorDebugILFrame4_GetLocalVariableEx(This,flags,dwIndex,ppValue) \ - ( (This)->lpVtbl -> GetLocalVariableEx(This,flags,dwIndex,ppValue) ) +#define ICorDebugILFrame4_GetLocalVariableEx(This,flags,dwIndex,ppValue) \ + ( (This)->lpVtbl -> GetLocalVariableEx(This,flags,dwIndex,ppValue) ) -#define ICorDebugILFrame4_GetCodeEx(This,flags,ppCode) \ - ( (This)->lpVtbl -> GetCodeEx(This,flags,ppCode) ) +#define ICorDebugILFrame4_GetCodeEx(This,flags,ppCode) \ + ( (This)->lpVtbl -> GetCodeEx(This,flags,ppCode) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugILFrame4_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugILFrame4_INTERFACE_DEFINED__ */ #ifndef __ICorDebugNativeFrame_INTERFACE_DEFINED__ #define __ICorDebugNativeFrame_INTERFACE_DEFINED__ /* interface ICorDebugNativeFrame */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugNativeFrame; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("03E26314-4F76-11d3-88C6-006097945418") ICorDebugNativeFrame : public ICorDebugFrame { public: - virtual HRESULT STDMETHODCALLTYPE GetIP( + virtual HRESULT STDMETHODCALLTYPE GetIP( /* [out] */ ULONG32 *pnOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetIP( + + virtual HRESULT STDMETHODCALLTYPE SetIP( /* [in] */ ULONG32 nOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRegisterSet( + + virtual HRESULT STDMETHODCALLTYPE GetRegisterSet( /* [out] */ ICorDebugRegisterSet **ppRegisters) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocalRegisterValue( + + virtual HRESULT STDMETHODCALLTYPE GetLocalRegisterValue( /* [in] */ CorDebugRegister reg, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocalDoubleRegisterValue( + + virtual HRESULT STDMETHODCALLTYPE GetLocalDoubleRegisterValue( /* [in] */ CorDebugRegister highWordReg, /* [in] */ CorDebugRegister lowWordReg, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocalMemoryValue( + + virtual HRESULT STDMETHODCALLTYPE GetLocalMemoryValue( /* [in] */ CORDB_ADDRESS address, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocalRegisterMemoryValue( + + virtual HRESULT STDMETHODCALLTYPE GetLocalRegisterMemoryValue( /* [in] */ CorDebugRegister highWordReg, /* [in] */ CORDB_ADDRESS lowWordAddress, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocalMemoryRegisterValue( + + virtual HRESULT STDMETHODCALLTYPE GetLocalMemoryRegisterValue( /* [in] */ CORDB_ADDRESS highWordAddress, /* [in] */ CorDebugRegister lowWordRegister, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE CanSetIP( + + virtual HRESULT STDMETHODCALLTYPE CanSetIP( /* [in] */ ULONG32 nOffset) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugNativeFrameVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugNativeFrame * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugNativeFrame * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugNativeFrame * This); - - HRESULT ( STDMETHODCALLTYPE *GetChain )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetChain) + HRESULT ( STDMETHODCALLTYPE *GetChain )( ICorDebugNativeFrame * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *GetCode )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCode) + HRESULT ( STDMETHODCALLTYPE *GetCode )( ICorDebugNativeFrame * This, /* [out] */ ICorDebugCode **ppCode); - - HRESULT ( STDMETHODCALLTYPE *GetFunction )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunction) + HRESULT ( STDMETHODCALLTYPE *GetFunction )( ICorDebugNativeFrame * This, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunctionToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( ICorDebugNativeFrame * This, /* [out] */ mdMethodDef *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetStackRange )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetStackRange) + HRESULT ( STDMETHODCALLTYPE *GetStackRange )( ICorDebugNativeFrame * This, /* [out] */ CORDB_ADDRESS *pStart, /* [out] */ CORDB_ADDRESS *pEnd); - - HRESULT ( STDMETHODCALLTYPE *GetCaller )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCaller) + HRESULT ( STDMETHODCALLTYPE *GetCaller )( ICorDebugNativeFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *GetCallee )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCallee) + HRESULT ( STDMETHODCALLTYPE *GetCallee )( ICorDebugNativeFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateStepper )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, CreateStepper) + HRESULT ( STDMETHODCALLTYPE *CreateStepper )( ICorDebugNativeFrame * This, /* [out] */ ICorDebugStepper **ppStepper); - - HRESULT ( STDMETHODCALLTYPE *GetIP )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame, GetIP) + HRESULT ( STDMETHODCALLTYPE *GetIP )( ICorDebugNativeFrame * This, /* [out] */ ULONG32 *pnOffset); - - HRESULT ( STDMETHODCALLTYPE *SetIP )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame, SetIP) + HRESULT ( STDMETHODCALLTYPE *SetIP )( ICorDebugNativeFrame * This, /* [in] */ ULONG32 nOffset); - - HRESULT ( STDMETHODCALLTYPE *GetRegisterSet )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame, GetRegisterSet) + HRESULT ( STDMETHODCALLTYPE *GetRegisterSet )( ICorDebugNativeFrame * This, /* [out] */ ICorDebugRegisterSet **ppRegisters); - - HRESULT ( STDMETHODCALLTYPE *GetLocalRegisterValue )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame, GetLocalRegisterValue) + HRESULT ( STDMETHODCALLTYPE *GetLocalRegisterValue )( ICorDebugNativeFrame * This, /* [in] */ CorDebugRegister reg, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetLocalDoubleRegisterValue )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame, GetLocalDoubleRegisterValue) + HRESULT ( STDMETHODCALLTYPE *GetLocalDoubleRegisterValue )( ICorDebugNativeFrame * This, /* [in] */ CorDebugRegister highWordReg, /* [in] */ CorDebugRegister lowWordReg, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetLocalMemoryValue )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame, GetLocalMemoryValue) + HRESULT ( STDMETHODCALLTYPE *GetLocalMemoryValue )( ICorDebugNativeFrame * This, /* [in] */ CORDB_ADDRESS address, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetLocalRegisterMemoryValue )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame, GetLocalRegisterMemoryValue) + HRESULT ( STDMETHODCALLTYPE *GetLocalRegisterMemoryValue )( ICorDebugNativeFrame * This, /* [in] */ CorDebugRegister highWordReg, /* [in] */ CORDB_ADDRESS lowWordAddress, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetLocalMemoryRegisterValue )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame, GetLocalMemoryRegisterValue) + HRESULT ( STDMETHODCALLTYPE *GetLocalMemoryRegisterValue )( ICorDebugNativeFrame * This, /* [in] */ CORDB_ADDRESS highWordAddress, /* [in] */ CorDebugRegister lowWordRegister, /* [in] */ ULONG cbSigBlob, /* [in] */ PCCOR_SIGNATURE pvSigBlob, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *CanSetIP )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame, CanSetIP) + HRESULT ( STDMETHODCALLTYPE *CanSetIP )( ICorDebugNativeFrame * This, /* [in] */ ULONG32 nOffset); - + END_INTERFACE } ICorDebugNativeFrameVtbl; @@ -11589,89 +12264,89 @@ EXTERN_C const IID IID_ICorDebugNativeFrame; CONST_VTBL struct ICorDebugNativeFrameVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugNativeFrame_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugNativeFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugNativeFrame_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugNativeFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugNativeFrame_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugNativeFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugNativeFrame_GetChain(This,ppChain) \ - ( (This)->lpVtbl -> GetChain(This,ppChain) ) +#define ICorDebugNativeFrame_GetChain(This,ppChain) \ + ( (This)->lpVtbl -> GetChain(This,ppChain) ) -#define ICorDebugNativeFrame_GetCode(This,ppCode) \ - ( (This)->lpVtbl -> GetCode(This,ppCode) ) +#define ICorDebugNativeFrame_GetCode(This,ppCode) \ + ( (This)->lpVtbl -> GetCode(This,ppCode) ) -#define ICorDebugNativeFrame_GetFunction(This,ppFunction) \ - ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) +#define ICorDebugNativeFrame_GetFunction(This,ppFunction) \ + ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) -#define ICorDebugNativeFrame_GetFunctionToken(This,pToken) \ - ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) +#define ICorDebugNativeFrame_GetFunctionToken(This,pToken) \ + ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) -#define ICorDebugNativeFrame_GetStackRange(This,pStart,pEnd) \ - ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) +#define ICorDebugNativeFrame_GetStackRange(This,pStart,pEnd) \ + ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) -#define ICorDebugNativeFrame_GetCaller(This,ppFrame) \ - ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) +#define ICorDebugNativeFrame_GetCaller(This,ppFrame) \ + ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) -#define ICorDebugNativeFrame_GetCallee(This,ppFrame) \ - ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) +#define ICorDebugNativeFrame_GetCallee(This,ppFrame) \ + ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) -#define ICorDebugNativeFrame_CreateStepper(This,ppStepper) \ - ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) +#define ICorDebugNativeFrame_CreateStepper(This,ppStepper) \ + ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) -#define ICorDebugNativeFrame_GetIP(This,pnOffset) \ - ( (This)->lpVtbl -> GetIP(This,pnOffset) ) +#define ICorDebugNativeFrame_GetIP(This,pnOffset) \ + ( (This)->lpVtbl -> GetIP(This,pnOffset) ) -#define ICorDebugNativeFrame_SetIP(This,nOffset) \ - ( (This)->lpVtbl -> SetIP(This,nOffset) ) +#define ICorDebugNativeFrame_SetIP(This,nOffset) \ + ( (This)->lpVtbl -> SetIP(This,nOffset) ) -#define ICorDebugNativeFrame_GetRegisterSet(This,ppRegisters) \ - ( (This)->lpVtbl -> GetRegisterSet(This,ppRegisters) ) +#define ICorDebugNativeFrame_GetRegisterSet(This,ppRegisters) \ + ( (This)->lpVtbl -> GetRegisterSet(This,ppRegisters) ) -#define ICorDebugNativeFrame_GetLocalRegisterValue(This,reg,cbSigBlob,pvSigBlob,ppValue) \ - ( (This)->lpVtbl -> GetLocalRegisterValue(This,reg,cbSigBlob,pvSigBlob,ppValue) ) +#define ICorDebugNativeFrame_GetLocalRegisterValue(This,reg,cbSigBlob,pvSigBlob,ppValue) \ + ( (This)->lpVtbl -> GetLocalRegisterValue(This,reg,cbSigBlob,pvSigBlob,ppValue) ) -#define ICorDebugNativeFrame_GetLocalDoubleRegisterValue(This,highWordReg,lowWordReg,cbSigBlob,pvSigBlob,ppValue) \ - ( (This)->lpVtbl -> GetLocalDoubleRegisterValue(This,highWordReg,lowWordReg,cbSigBlob,pvSigBlob,ppValue) ) +#define ICorDebugNativeFrame_GetLocalDoubleRegisterValue(This,highWordReg,lowWordReg,cbSigBlob,pvSigBlob,ppValue) \ + ( (This)->lpVtbl -> GetLocalDoubleRegisterValue(This,highWordReg,lowWordReg,cbSigBlob,pvSigBlob,ppValue) ) -#define ICorDebugNativeFrame_GetLocalMemoryValue(This,address,cbSigBlob,pvSigBlob,ppValue) \ - ( (This)->lpVtbl -> GetLocalMemoryValue(This,address,cbSigBlob,pvSigBlob,ppValue) ) +#define ICorDebugNativeFrame_GetLocalMemoryValue(This,address,cbSigBlob,pvSigBlob,ppValue) \ + ( (This)->lpVtbl -> GetLocalMemoryValue(This,address,cbSigBlob,pvSigBlob,ppValue) ) -#define ICorDebugNativeFrame_GetLocalRegisterMemoryValue(This,highWordReg,lowWordAddress,cbSigBlob,pvSigBlob,ppValue) \ - ( (This)->lpVtbl -> GetLocalRegisterMemoryValue(This,highWordReg,lowWordAddress,cbSigBlob,pvSigBlob,ppValue) ) +#define ICorDebugNativeFrame_GetLocalRegisterMemoryValue(This,highWordReg,lowWordAddress,cbSigBlob,pvSigBlob,ppValue) \ + ( (This)->lpVtbl -> GetLocalRegisterMemoryValue(This,highWordReg,lowWordAddress,cbSigBlob,pvSigBlob,ppValue) ) -#define ICorDebugNativeFrame_GetLocalMemoryRegisterValue(This,highWordAddress,lowWordRegister,cbSigBlob,pvSigBlob,ppValue) \ - ( (This)->lpVtbl -> GetLocalMemoryRegisterValue(This,highWordAddress,lowWordRegister,cbSigBlob,pvSigBlob,ppValue) ) +#define ICorDebugNativeFrame_GetLocalMemoryRegisterValue(This,highWordAddress,lowWordRegister,cbSigBlob,pvSigBlob,ppValue) \ + ( (This)->lpVtbl -> GetLocalMemoryRegisterValue(This,highWordAddress,lowWordRegister,cbSigBlob,pvSigBlob,ppValue) ) -#define ICorDebugNativeFrame_CanSetIP(This,nOffset) \ - ( (This)->lpVtbl -> CanSetIP(This,nOffset) ) +#define ICorDebugNativeFrame_CanSetIP(This,nOffset) \ + ( (This)->lpVtbl -> CanSetIP(This,nOffset) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugNativeFrame_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugNativeFrame_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0072 */ -/* [local] */ +/* [local] */ #pragma warning(push) -#pragma warning(disable:28718) +#pragma warning(disable:28718) extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0072_v0_0_c_ifspec; @@ -11681,61 +12356,67 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0072_v0_0_s_ifspec; #define __ICorDebugNativeFrame2_INTERFACE_DEFINED__ /* interface ICorDebugNativeFrame2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugNativeFrame2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("35389FF1-3684-4c55-A2EE-210F26C60E5E") ICorDebugNativeFrame2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE IsChild( + virtual HRESULT STDMETHODCALLTYPE IsChild( /* [out] */ BOOL *pIsChild) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsMatchingParentFrame( + + virtual HRESULT STDMETHODCALLTYPE IsMatchingParentFrame( /* [in] */ ICorDebugNativeFrame2 *pPotentialParentFrame, /* [out] */ BOOL *pIsParent) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStackParameterSize( + + virtual HRESULT STDMETHODCALLTYPE GetStackParameterSize( /* [out] */ ULONG32 *pSize) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugNativeFrame2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugNativeFrame2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugNativeFrame2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugNativeFrame2 * This); - - HRESULT ( STDMETHODCALLTYPE *IsChild )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame2, IsChild) + HRESULT ( STDMETHODCALLTYPE *IsChild )( ICorDebugNativeFrame2 * This, /* [out] */ BOOL *pIsChild); - - HRESULT ( STDMETHODCALLTYPE *IsMatchingParentFrame )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame2, IsMatchingParentFrame) + HRESULT ( STDMETHODCALLTYPE *IsMatchingParentFrame )( ICorDebugNativeFrame2 * This, /* [in] */ ICorDebugNativeFrame2 *pPotentialParentFrame, /* [out] */ BOOL *pIsParent); - - HRESULT ( STDMETHODCALLTYPE *GetStackParameterSize )( + + DECLSPEC_XFGVIRT(ICorDebugNativeFrame2, GetStackParameterSize) + HRESULT ( STDMETHODCALLTYPE *GetStackParameterSize )( ICorDebugNativeFrame2 * This, /* [out] */ ULONG32 *pSize); - + END_INTERFACE } ICorDebugNativeFrame2Vtbl; @@ -11744,86 +12425,90 @@ EXTERN_C const IID IID_ICorDebugNativeFrame2; CONST_VTBL struct ICorDebugNativeFrame2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugNativeFrame2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugNativeFrame2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugNativeFrame2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugNativeFrame2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugNativeFrame2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugNativeFrame2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugNativeFrame2_IsChild(This,pIsChild) \ - ( (This)->lpVtbl -> IsChild(This,pIsChild) ) +#define ICorDebugNativeFrame2_IsChild(This,pIsChild) \ + ( (This)->lpVtbl -> IsChild(This,pIsChild) ) -#define ICorDebugNativeFrame2_IsMatchingParentFrame(This,pPotentialParentFrame,pIsParent) \ - ( (This)->lpVtbl -> IsMatchingParentFrame(This,pPotentialParentFrame,pIsParent) ) +#define ICorDebugNativeFrame2_IsMatchingParentFrame(This,pPotentialParentFrame,pIsParent) \ + ( (This)->lpVtbl -> IsMatchingParentFrame(This,pPotentialParentFrame,pIsParent) ) -#define ICorDebugNativeFrame2_GetStackParameterSize(This,pSize) \ - ( (This)->lpVtbl -> GetStackParameterSize(This,pSize) ) +#define ICorDebugNativeFrame2_GetStackParameterSize(This,pSize) \ + ( (This)->lpVtbl -> GetStackParameterSize(This,pSize) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugNativeFrame2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugNativeFrame2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugModule3_INTERFACE_DEFINED__ #define __ICorDebugModule3_INTERFACE_DEFINED__ /* interface ICorDebugModule3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugModule3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("86F012BF-FF15-4372-BD30-B6F11CAAE1DD") ICorDebugModule3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CreateReaderForInMemorySymbols( + virtual HRESULT STDMETHODCALLTYPE CreateReaderForInMemorySymbols( /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppObj) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugModule3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugModule3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugModule3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugModule3 * This); - - HRESULT ( STDMETHODCALLTYPE *CreateReaderForInMemorySymbols )( + + DECLSPEC_XFGVIRT(ICorDebugModule3, CreateReaderForInMemorySymbols) + HRESULT ( STDMETHODCALLTYPE *CreateReaderForInMemorySymbols )( ICorDebugModule3 * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void **ppObj); - + END_INTERFACE } ICorDebugModule3Vtbl; @@ -11832,78 +12517,82 @@ EXTERN_C const IID IID_ICorDebugModule3; CONST_VTBL struct ICorDebugModule3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugModule3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugModule3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugModule3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugModule3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugModule3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugModule3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugModule3_CreateReaderForInMemorySymbols(This,riid,ppObj) \ - ( (This)->lpVtbl -> CreateReaderForInMemorySymbols(This,riid,ppObj) ) +#define ICorDebugModule3_CreateReaderForInMemorySymbols(This,riid,ppObj) \ + ( (This)->lpVtbl -> CreateReaderForInMemorySymbols(This,riid,ppObj) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugModule3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugModule3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugModule4_INTERFACE_DEFINED__ #define __ICorDebugModule4_INTERFACE_DEFINED__ /* interface ICorDebugModule4 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugModule4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("FF8B8EAF-25CD-4316-8859-84416DE4402E") ICorDebugModule4 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE IsMappedLayout( + virtual HRESULT STDMETHODCALLTYPE IsMappedLayout( /* [out] */ BOOL *pIsMapped) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugModule4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugModule4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugModule4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugModule4 * This); - - HRESULT ( STDMETHODCALLTYPE *IsMappedLayout )( + + DECLSPEC_XFGVIRT(ICorDebugModule4, IsMappedLayout) + HRESULT ( STDMETHODCALLTYPE *IsMappedLayout )( ICorDebugModule4 * This, /* [out] */ BOOL *pIsMapped); - + END_INTERFACE } ICorDebugModule4Vtbl; @@ -11912,104 +12601,115 @@ EXTERN_C const IID IID_ICorDebugModule4; CONST_VTBL struct ICorDebugModule4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugModule4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugModule4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugModule4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugModule4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugModule4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugModule4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugModule4_IsMappedLayout(This,pIsMapped) \ - ( (This)->lpVtbl -> IsMappedLayout(This,pIsMapped) ) +#define ICorDebugModule4_IsMappedLayout(This,pIsMapped) \ + ( (This)->lpVtbl -> IsMappedLayout(This,pIsMapped) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugModule4_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugModule4_INTERFACE_DEFINED__ */ #ifndef __ICorDebugRuntimeUnwindableFrame_INTERFACE_DEFINED__ #define __ICorDebugRuntimeUnwindableFrame_INTERFACE_DEFINED__ /* interface ICorDebugRuntimeUnwindableFrame */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugRuntimeUnwindableFrame; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("879CAC0A-4A53-4668-B8E3-CB8473CB187F") ICorDebugRuntimeUnwindableFrame : public ICorDebugFrame { public: }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugRuntimeUnwindableFrameVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugRuntimeUnwindableFrame * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugRuntimeUnwindableFrame * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugRuntimeUnwindableFrame * This); - - HRESULT ( STDMETHODCALLTYPE *GetChain )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetChain) + HRESULT ( STDMETHODCALLTYPE *GetChain )( ICorDebugRuntimeUnwindableFrame * This, /* [out] */ ICorDebugChain **ppChain); - - HRESULT ( STDMETHODCALLTYPE *GetCode )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCode) + HRESULT ( STDMETHODCALLTYPE *GetCode )( ICorDebugRuntimeUnwindableFrame * This, /* [out] */ ICorDebugCode **ppCode); - - HRESULT ( STDMETHODCALLTYPE *GetFunction )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunction) + HRESULT ( STDMETHODCALLTYPE *GetFunction )( ICorDebugRuntimeUnwindableFrame * This, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetFunctionToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionToken )( ICorDebugRuntimeUnwindableFrame * This, /* [out] */ mdMethodDef *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetStackRange )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetStackRange) + HRESULT ( STDMETHODCALLTYPE *GetStackRange )( ICorDebugRuntimeUnwindableFrame * This, /* [out] */ CORDB_ADDRESS *pStart, /* [out] */ CORDB_ADDRESS *pEnd); - - HRESULT ( STDMETHODCALLTYPE *GetCaller )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCaller) + HRESULT ( STDMETHODCALLTYPE *GetCaller )( ICorDebugRuntimeUnwindableFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *GetCallee )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, GetCallee) + HRESULT ( STDMETHODCALLTYPE *GetCallee )( ICorDebugRuntimeUnwindableFrame * This, /* [out] */ ICorDebugFrame **ppFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateStepper )( + + DECLSPEC_XFGVIRT(ICorDebugFrame, CreateStepper) + HRESULT ( STDMETHODCALLTYPE *CreateStepper )( ICorDebugRuntimeUnwindableFrame * This, /* [out] */ ICorDebugStepper **ppStepper); - + END_INTERFACE } ICorDebugRuntimeUnwindableFrameVtbl; @@ -12018,228 +12718,248 @@ EXTERN_C const IID IID_ICorDebugRuntimeUnwindableFrame; CONST_VTBL struct ICorDebugRuntimeUnwindableFrameVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugRuntimeUnwindableFrame_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugRuntimeUnwindableFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugRuntimeUnwindableFrame_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugRuntimeUnwindableFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugRuntimeUnwindableFrame_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugRuntimeUnwindableFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugRuntimeUnwindableFrame_GetChain(This,ppChain) \ - ( (This)->lpVtbl -> GetChain(This,ppChain) ) +#define ICorDebugRuntimeUnwindableFrame_GetChain(This,ppChain) \ + ( (This)->lpVtbl -> GetChain(This,ppChain) ) -#define ICorDebugRuntimeUnwindableFrame_GetCode(This,ppCode) \ - ( (This)->lpVtbl -> GetCode(This,ppCode) ) +#define ICorDebugRuntimeUnwindableFrame_GetCode(This,ppCode) \ + ( (This)->lpVtbl -> GetCode(This,ppCode) ) -#define ICorDebugRuntimeUnwindableFrame_GetFunction(This,ppFunction) \ - ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) +#define ICorDebugRuntimeUnwindableFrame_GetFunction(This,ppFunction) \ + ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) -#define ICorDebugRuntimeUnwindableFrame_GetFunctionToken(This,pToken) \ - ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) +#define ICorDebugRuntimeUnwindableFrame_GetFunctionToken(This,pToken) \ + ( (This)->lpVtbl -> GetFunctionToken(This,pToken) ) -#define ICorDebugRuntimeUnwindableFrame_GetStackRange(This,pStart,pEnd) \ - ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) +#define ICorDebugRuntimeUnwindableFrame_GetStackRange(This,pStart,pEnd) \ + ( (This)->lpVtbl -> GetStackRange(This,pStart,pEnd) ) -#define ICorDebugRuntimeUnwindableFrame_GetCaller(This,ppFrame) \ - ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) +#define ICorDebugRuntimeUnwindableFrame_GetCaller(This,ppFrame) \ + ( (This)->lpVtbl -> GetCaller(This,ppFrame) ) -#define ICorDebugRuntimeUnwindableFrame_GetCallee(This,ppFrame) \ - ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) +#define ICorDebugRuntimeUnwindableFrame_GetCallee(This,ppFrame) \ + ( (This)->lpVtbl -> GetCallee(This,ppFrame) ) -#define ICorDebugRuntimeUnwindableFrame_CreateStepper(This,ppStepper) \ - ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) +#define ICorDebugRuntimeUnwindableFrame_CreateStepper(This,ppStepper) \ + ( (This)->lpVtbl -> CreateStepper(This,ppStepper) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugRuntimeUnwindableFrame_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugRuntimeUnwindableFrame_INTERFACE_DEFINED__ */ #ifndef __ICorDebugModule_INTERFACE_DEFINED__ #define __ICorDebugModule_INTERFACE_DEFINED__ /* interface ICorDebugModule */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugModule; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("dba2d8c1-e5c5-4069-8c13-10a7c6abf43d") ICorDebugModule : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetProcess( + virtual HRESULT STDMETHODCALLTYPE GetProcess( /* [out] */ ICorDebugProcess **ppProcess) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBaseAddress( + + virtual HRESULT STDMETHODCALLTYPE GetBaseAddress( /* [out] */ CORDB_ADDRESS *pAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAssembly( + + virtual HRESULT STDMETHODCALLTYPE GetAssembly( /* [out] */ ICorDebugAssembly **ppAssembly) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetName( + + virtual HRESULT STDMETHODCALLTYPE GetName( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableJITDebugging( + + virtual HRESULT STDMETHODCALLTYPE EnableJITDebugging( /* [in] */ BOOL bTrackJITInfo, /* [in] */ BOOL bAllowJitOpts) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableClassLoadCallbacks( + + virtual HRESULT STDMETHODCALLTYPE EnableClassLoadCallbacks( /* [in] */ BOOL bClassLoadCallbacks) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromToken( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromToken( /* [in] */ mdMethodDef methodDef, /* [out] */ ICorDebugFunction **ppFunction) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromRVA( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromRVA( /* [in] */ CORDB_ADDRESS rva, /* [out] */ ICorDebugFunction **ppFunction) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClassFromToken( + + virtual HRESULT STDMETHODCALLTYPE GetClassFromToken( /* [in] */ mdTypeDef typeDef, /* [out] */ ICorDebugClass **ppClass) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateBreakpoint( + + virtual HRESULT STDMETHODCALLTYPE CreateBreakpoint( /* [out] */ ICorDebugModuleBreakpoint **ppBreakpoint) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetEditAndContinueSnapshot( + + virtual HRESULT STDMETHODCALLTYPE GetEditAndContinueSnapshot( /* [out] */ ICorDebugEditAndContinueSnapshot **ppEditAndContinueSnapshot) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMetaDataInterface( + + virtual HRESULT STDMETHODCALLTYPE GetMetaDataInterface( /* [in] */ REFIID riid, /* [out] */ IUnknown **ppObj) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetToken( + + virtual HRESULT STDMETHODCALLTYPE GetToken( /* [out] */ mdModule *pToken) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsDynamic( + + virtual HRESULT STDMETHODCALLTYPE IsDynamic( /* [out] */ BOOL *pDynamic) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGlobalVariableValue( + + virtual HRESULT STDMETHODCALLTYPE GetGlobalVariableValue( /* [in] */ mdFieldDef fieldDef, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSize( + + virtual HRESULT STDMETHODCALLTYPE GetSize( /* [out] */ ULONG32 *pcBytes) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsInMemory( + + virtual HRESULT STDMETHODCALLTYPE IsInMemory( /* [out] */ BOOL *pInMemory) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugModuleVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugModule * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugModule * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugModule * This); - - HRESULT ( STDMETHODCALLTYPE *GetProcess )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetProcess) + HRESULT ( STDMETHODCALLTYPE *GetProcess )( ICorDebugModule * This, /* [out] */ ICorDebugProcess **ppProcess); - - HRESULT ( STDMETHODCALLTYPE *GetBaseAddress )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetBaseAddress) + HRESULT ( STDMETHODCALLTYPE *GetBaseAddress )( ICorDebugModule * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAssembly )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetAssembly) + HRESULT ( STDMETHODCALLTYPE *GetAssembly )( ICorDebugModule * This, /* [out] */ ICorDebugAssembly **ppAssembly); - - HRESULT ( STDMETHODCALLTYPE *GetName )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetName) + HRESULT ( STDMETHODCALLTYPE *GetName )( ICorDebugModule * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnableJITDebugging )( + + DECLSPEC_XFGVIRT(ICorDebugModule, EnableJITDebugging) + HRESULT ( STDMETHODCALLTYPE *EnableJITDebugging )( ICorDebugModule * This, /* [in] */ BOOL bTrackJITInfo, /* [in] */ BOOL bAllowJitOpts); - - HRESULT ( STDMETHODCALLTYPE *EnableClassLoadCallbacks )( + + DECLSPEC_XFGVIRT(ICorDebugModule, EnableClassLoadCallbacks) + HRESULT ( STDMETHODCALLTYPE *EnableClassLoadCallbacks )( ICorDebugModule * This, /* [in] */ BOOL bClassLoadCallbacks); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorDebugModule * This, /* [in] */ mdMethodDef methodDef, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromRVA )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetFunctionFromRVA) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromRVA )( ICorDebugModule * This, /* [in] */ CORDB_ADDRESS rva, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorDebugModule * This, /* [in] */ mdTypeDef typeDef, /* [out] */ ICorDebugClass **ppClass); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugModule, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugModule * This, /* [out] */ ICorDebugModuleBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *GetEditAndContinueSnapshot )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetEditAndContinueSnapshot) + HRESULT ( STDMETHODCALLTYPE *GetEditAndContinueSnapshot )( ICorDebugModule * This, /* [out] */ ICorDebugEditAndContinueSnapshot **ppEditAndContinueSnapshot); - - HRESULT ( STDMETHODCALLTYPE *GetMetaDataInterface )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetMetaDataInterface) + HRESULT ( STDMETHODCALLTYPE *GetMetaDataInterface )( ICorDebugModule * This, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppObj); - - HRESULT ( STDMETHODCALLTYPE *GetToken )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetToken) + HRESULT ( STDMETHODCALLTYPE *GetToken )( ICorDebugModule * This, /* [out] */ mdModule *pToken); - - HRESULT ( STDMETHODCALLTYPE *IsDynamic )( + + DECLSPEC_XFGVIRT(ICorDebugModule, IsDynamic) + HRESULT ( STDMETHODCALLTYPE *IsDynamic )( ICorDebugModule * This, /* [out] */ BOOL *pDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetGlobalVariableValue )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetGlobalVariableValue) + HRESULT ( STDMETHODCALLTYPE *GetGlobalVariableValue )( ICorDebugModule * This, /* [in] */ mdFieldDef fieldDef, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugModule, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugModule * This, /* [out] */ ULONG32 *pcBytes); - - HRESULT ( STDMETHODCALLTYPE *IsInMemory )( + + DECLSPEC_XFGVIRT(ICorDebugModule, IsInMemory) + HRESULT ( STDMETHODCALLTYPE *IsInMemory )( ICorDebugModule * This, /* [out] */ BOOL *pInMemory); - + END_INTERFACE } ICorDebugModuleVtbl; @@ -12248,85 +12968,85 @@ EXTERN_C const IID IID_ICorDebugModule; CONST_VTBL struct ICorDebugModuleVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugModule_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugModule_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugModule_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugModule_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugModule_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugModule_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugModule_GetProcess(This,ppProcess) \ - ( (This)->lpVtbl -> GetProcess(This,ppProcess) ) +#define ICorDebugModule_GetProcess(This,ppProcess) \ + ( (This)->lpVtbl -> GetProcess(This,ppProcess) ) -#define ICorDebugModule_GetBaseAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetBaseAddress(This,pAddress) ) +#define ICorDebugModule_GetBaseAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetBaseAddress(This,pAddress) ) -#define ICorDebugModule_GetAssembly(This,ppAssembly) \ - ( (This)->lpVtbl -> GetAssembly(This,ppAssembly) ) +#define ICorDebugModule_GetAssembly(This,ppAssembly) \ + ( (This)->lpVtbl -> GetAssembly(This,ppAssembly) ) -#define ICorDebugModule_GetName(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) +#define ICorDebugModule_GetName(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) -#define ICorDebugModule_EnableJITDebugging(This,bTrackJITInfo,bAllowJitOpts) \ - ( (This)->lpVtbl -> EnableJITDebugging(This,bTrackJITInfo,bAllowJitOpts) ) +#define ICorDebugModule_EnableJITDebugging(This,bTrackJITInfo,bAllowJitOpts) \ + ( (This)->lpVtbl -> EnableJITDebugging(This,bTrackJITInfo,bAllowJitOpts) ) -#define ICorDebugModule_EnableClassLoadCallbacks(This,bClassLoadCallbacks) \ - ( (This)->lpVtbl -> EnableClassLoadCallbacks(This,bClassLoadCallbacks) ) +#define ICorDebugModule_EnableClassLoadCallbacks(This,bClassLoadCallbacks) \ + ( (This)->lpVtbl -> EnableClassLoadCallbacks(This,bClassLoadCallbacks) ) -#define ICorDebugModule_GetFunctionFromToken(This,methodDef,ppFunction) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,methodDef,ppFunction) ) +#define ICorDebugModule_GetFunctionFromToken(This,methodDef,ppFunction) \ + ( (This)->lpVtbl -> GetFunctionFromToken(This,methodDef,ppFunction) ) -#define ICorDebugModule_GetFunctionFromRVA(This,rva,ppFunction) \ - ( (This)->lpVtbl -> GetFunctionFromRVA(This,rva,ppFunction) ) +#define ICorDebugModule_GetFunctionFromRVA(This,rva,ppFunction) \ + ( (This)->lpVtbl -> GetFunctionFromRVA(This,rva,ppFunction) ) -#define ICorDebugModule_GetClassFromToken(This,typeDef,ppClass) \ - ( (This)->lpVtbl -> GetClassFromToken(This,typeDef,ppClass) ) +#define ICorDebugModule_GetClassFromToken(This,typeDef,ppClass) \ + ( (This)->lpVtbl -> GetClassFromToken(This,typeDef,ppClass) ) -#define ICorDebugModule_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugModule_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugModule_GetEditAndContinueSnapshot(This,ppEditAndContinueSnapshot) \ - ( (This)->lpVtbl -> GetEditAndContinueSnapshot(This,ppEditAndContinueSnapshot) ) +#define ICorDebugModule_GetEditAndContinueSnapshot(This,ppEditAndContinueSnapshot) \ + ( (This)->lpVtbl -> GetEditAndContinueSnapshot(This,ppEditAndContinueSnapshot) ) -#define ICorDebugModule_GetMetaDataInterface(This,riid,ppObj) \ - ( (This)->lpVtbl -> GetMetaDataInterface(This,riid,ppObj) ) +#define ICorDebugModule_GetMetaDataInterface(This,riid,ppObj) \ + ( (This)->lpVtbl -> GetMetaDataInterface(This,riid,ppObj) ) -#define ICorDebugModule_GetToken(This,pToken) \ - ( (This)->lpVtbl -> GetToken(This,pToken) ) +#define ICorDebugModule_GetToken(This,pToken) \ + ( (This)->lpVtbl -> GetToken(This,pToken) ) -#define ICorDebugModule_IsDynamic(This,pDynamic) \ - ( (This)->lpVtbl -> IsDynamic(This,pDynamic) ) +#define ICorDebugModule_IsDynamic(This,pDynamic) \ + ( (This)->lpVtbl -> IsDynamic(This,pDynamic) ) -#define ICorDebugModule_GetGlobalVariableValue(This,fieldDef,ppValue) \ - ( (This)->lpVtbl -> GetGlobalVariableValue(This,fieldDef,ppValue) ) +#define ICorDebugModule_GetGlobalVariableValue(This,fieldDef,ppValue) \ + ( (This)->lpVtbl -> GetGlobalVariableValue(This,fieldDef,ppValue) ) -#define ICorDebugModule_GetSize(This,pcBytes) \ - ( (This)->lpVtbl -> GetSize(This,pcBytes) ) +#define ICorDebugModule_GetSize(This,pcBytes) \ + ( (This)->lpVtbl -> GetSize(This,pcBytes) ) -#define ICorDebugModule_IsInMemory(This,pInMemory) \ - ( (This)->lpVtbl -> IsInMemory(This,pInMemory) ) +#define ICorDebugModule_IsInMemory(This,pInMemory) \ + ( (This)->lpVtbl -> IsInMemory(This,pInMemory) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugModule_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugModule_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_cordebug_0000_0077 */ -/* [local] */ +/* [local] */ #pragma warning(pop) @@ -12338,85 +13058,93 @@ extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0077_v0_0_s_ifspec; #define __ICorDebugModule2_INTERFACE_DEFINED__ /* interface ICorDebugModule2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugModule2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("7FCC5FB5-49C0-41de-9938-3B88B5B9ADD7") ICorDebugModule2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE SetJMCStatus( + virtual HRESULT STDMETHODCALLTYPE SetJMCStatus( /* [in] */ BOOL bIsJustMyCode, /* [in] */ ULONG32 cTokens, /* [size_is][in] */ mdToken pTokens[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE ApplyChanges( + + virtual HRESULT STDMETHODCALLTYPE ApplyChanges( /* [in] */ ULONG cbMetadata, /* [size_is][in] */ BYTE pbMetadata[ ], /* [in] */ ULONG cbIL, /* [size_is][in] */ BYTE pbIL[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetJITCompilerFlags( + + virtual HRESULT STDMETHODCALLTYPE SetJITCompilerFlags( /* [in] */ DWORD dwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetJITCompilerFlags( + + virtual HRESULT STDMETHODCALLTYPE GetJITCompilerFlags( /* [out] */ DWORD *pdwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE ResolveAssembly( + + virtual HRESULT STDMETHODCALLTYPE ResolveAssembly( /* [in] */ mdToken tkAssemblyRef, /* [out] */ ICorDebugAssembly **ppAssembly) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugModule2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugModule2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugModule2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugModule2 * This); - - HRESULT ( STDMETHODCALLTYPE *SetJMCStatus )( + + DECLSPEC_XFGVIRT(ICorDebugModule2, SetJMCStatus) + HRESULT ( STDMETHODCALLTYPE *SetJMCStatus )( ICorDebugModule2 * This, /* [in] */ BOOL bIsJustMyCode, /* [in] */ ULONG32 cTokens, /* [size_is][in] */ mdToken pTokens[ ]); - - HRESULT ( STDMETHODCALLTYPE *ApplyChanges )( + + DECLSPEC_XFGVIRT(ICorDebugModule2, ApplyChanges) + HRESULT ( STDMETHODCALLTYPE *ApplyChanges )( ICorDebugModule2 * This, /* [in] */ ULONG cbMetadata, /* [size_is][in] */ BYTE pbMetadata[ ], /* [in] */ ULONG cbIL, /* [size_is][in] */ BYTE pbIL[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetJITCompilerFlags )( + + DECLSPEC_XFGVIRT(ICorDebugModule2, SetJITCompilerFlags) + HRESULT ( STDMETHODCALLTYPE *SetJITCompilerFlags )( ICorDebugModule2 * This, /* [in] */ DWORD dwFlags); - - HRESULT ( STDMETHODCALLTYPE *GetJITCompilerFlags )( + + DECLSPEC_XFGVIRT(ICorDebugModule2, GetJITCompilerFlags) + HRESULT ( STDMETHODCALLTYPE *GetJITCompilerFlags )( ICorDebugModule2 * This, /* [out] */ DWORD *pdwFlags); - - HRESULT ( STDMETHODCALLTYPE *ResolveAssembly )( + + DECLSPEC_XFGVIRT(ICorDebugModule2, ResolveAssembly) + HRESULT ( STDMETHODCALLTYPE *ResolveAssembly )( ICorDebugModule2 * This, /* [in] */ mdToken tkAssemblyRef, /* [out] */ ICorDebugAssembly **ppAssembly); - + END_INTERFACE } ICorDebugModule2Vtbl; @@ -12425,139 +13153,150 @@ EXTERN_C const IID IID_ICorDebugModule2; CONST_VTBL struct ICorDebugModule2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugModule2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugModule2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugModule2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugModule2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugModule2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugModule2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugModule2_SetJMCStatus(This,bIsJustMyCode,cTokens,pTokens) \ - ( (This)->lpVtbl -> SetJMCStatus(This,bIsJustMyCode,cTokens,pTokens) ) +#define ICorDebugModule2_SetJMCStatus(This,bIsJustMyCode,cTokens,pTokens) \ + ( (This)->lpVtbl -> SetJMCStatus(This,bIsJustMyCode,cTokens,pTokens) ) -#define ICorDebugModule2_ApplyChanges(This,cbMetadata,pbMetadata,cbIL,pbIL) \ - ( (This)->lpVtbl -> ApplyChanges(This,cbMetadata,pbMetadata,cbIL,pbIL) ) +#define ICorDebugModule2_ApplyChanges(This,cbMetadata,pbMetadata,cbIL,pbIL) \ + ( (This)->lpVtbl -> ApplyChanges(This,cbMetadata,pbMetadata,cbIL,pbIL) ) -#define ICorDebugModule2_SetJITCompilerFlags(This,dwFlags) \ - ( (This)->lpVtbl -> SetJITCompilerFlags(This,dwFlags) ) +#define ICorDebugModule2_SetJITCompilerFlags(This,dwFlags) \ + ( (This)->lpVtbl -> SetJITCompilerFlags(This,dwFlags) ) -#define ICorDebugModule2_GetJITCompilerFlags(This,pdwFlags) \ - ( (This)->lpVtbl -> GetJITCompilerFlags(This,pdwFlags) ) +#define ICorDebugModule2_GetJITCompilerFlags(This,pdwFlags) \ + ( (This)->lpVtbl -> GetJITCompilerFlags(This,pdwFlags) ) -#define ICorDebugModule2_ResolveAssembly(This,tkAssemblyRef,ppAssembly) \ - ( (This)->lpVtbl -> ResolveAssembly(This,tkAssemblyRef,ppAssembly) ) +#define ICorDebugModule2_ResolveAssembly(This,tkAssemblyRef,ppAssembly) \ + ( (This)->lpVtbl -> ResolveAssembly(This,tkAssemblyRef,ppAssembly) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugModule2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugModule2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugFunction_INTERFACE_DEFINED__ #define __ICorDebugFunction_INTERFACE_DEFINED__ /* interface ICorDebugFunction */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugFunction; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAF3-8A68-11d2-983C-0000F808342D") ICorDebugFunction : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetModule( + virtual HRESULT STDMETHODCALLTYPE GetModule( /* [out] */ ICorDebugModule **ppModule) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClass( + + virtual HRESULT STDMETHODCALLTYPE GetClass( /* [out] */ ICorDebugClass **ppClass) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetToken( + + virtual HRESULT STDMETHODCALLTYPE GetToken( /* [out] */ mdMethodDef *pMethodDef) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILCode( + + virtual HRESULT STDMETHODCALLTYPE GetILCode( /* [out] */ ICorDebugCode **ppCode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetNativeCode( + + virtual HRESULT STDMETHODCALLTYPE GetNativeCode( /* [out] */ ICorDebugCode **ppCode) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateBreakpoint( + + virtual HRESULT STDMETHODCALLTYPE CreateBreakpoint( /* [out] */ ICorDebugFunctionBreakpoint **ppBreakpoint) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocalVarSigToken( + + virtual HRESULT STDMETHODCALLTYPE GetLocalVarSigToken( /* [out] */ mdSignature *pmdSig) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentVersionNumber( + + virtual HRESULT STDMETHODCALLTYPE GetCurrentVersionNumber( /* [out] */ ULONG32 *pnCurrentVersion) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugFunctionVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugFunction * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugFunction * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugFunction * This); - - HRESULT ( STDMETHODCALLTYPE *GetModule )( + + DECLSPEC_XFGVIRT(ICorDebugFunction, GetModule) + HRESULT ( STDMETHODCALLTYPE *GetModule )( ICorDebugFunction * This, /* [out] */ ICorDebugModule **ppModule); - - HRESULT ( STDMETHODCALLTYPE *GetClass )( + + DECLSPEC_XFGVIRT(ICorDebugFunction, GetClass) + HRESULT ( STDMETHODCALLTYPE *GetClass )( ICorDebugFunction * This, /* [out] */ ICorDebugClass **ppClass); - - HRESULT ( STDMETHODCALLTYPE *GetToken )( + + DECLSPEC_XFGVIRT(ICorDebugFunction, GetToken) + HRESULT ( STDMETHODCALLTYPE *GetToken )( ICorDebugFunction * This, /* [out] */ mdMethodDef *pMethodDef); - - HRESULT ( STDMETHODCALLTYPE *GetILCode )( + + DECLSPEC_XFGVIRT(ICorDebugFunction, GetILCode) + HRESULT ( STDMETHODCALLTYPE *GetILCode )( ICorDebugFunction * This, /* [out] */ ICorDebugCode **ppCode); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCode )( + + DECLSPEC_XFGVIRT(ICorDebugFunction, GetNativeCode) + HRESULT ( STDMETHODCALLTYPE *GetNativeCode )( ICorDebugFunction * This, /* [out] */ ICorDebugCode **ppCode); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugFunction, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugFunction * This, /* [out] */ ICorDebugFunctionBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *GetLocalVarSigToken )( + + DECLSPEC_XFGVIRT(ICorDebugFunction, GetLocalVarSigToken) + HRESULT ( STDMETHODCALLTYPE *GetLocalVarSigToken )( ICorDebugFunction * This, /* [out] */ mdSignature *pmdSig); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentVersionNumber )( + + DECLSPEC_XFGVIRT(ICorDebugFunction, GetCurrentVersionNumber) + HRESULT ( STDMETHODCALLTYPE *GetCurrentVersionNumber )( ICorDebugFunction * This, /* [out] */ ULONG32 *pnCurrentVersion); - + END_INTERFACE } ICorDebugFunctionVtbl; @@ -12566,120 +13305,127 @@ EXTERN_C const IID IID_ICorDebugFunction; CONST_VTBL struct ICorDebugFunctionVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugFunction_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugFunction_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugFunction_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugFunction_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugFunction_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugFunction_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugFunction_GetModule(This,ppModule) \ - ( (This)->lpVtbl -> GetModule(This,ppModule) ) +#define ICorDebugFunction_GetModule(This,ppModule) \ + ( (This)->lpVtbl -> GetModule(This,ppModule) ) -#define ICorDebugFunction_GetClass(This,ppClass) \ - ( (This)->lpVtbl -> GetClass(This,ppClass) ) +#define ICorDebugFunction_GetClass(This,ppClass) \ + ( (This)->lpVtbl -> GetClass(This,ppClass) ) -#define ICorDebugFunction_GetToken(This,pMethodDef) \ - ( (This)->lpVtbl -> GetToken(This,pMethodDef) ) +#define ICorDebugFunction_GetToken(This,pMethodDef) \ + ( (This)->lpVtbl -> GetToken(This,pMethodDef) ) -#define ICorDebugFunction_GetILCode(This,ppCode) \ - ( (This)->lpVtbl -> GetILCode(This,ppCode) ) +#define ICorDebugFunction_GetILCode(This,ppCode) \ + ( (This)->lpVtbl -> GetILCode(This,ppCode) ) -#define ICorDebugFunction_GetNativeCode(This,ppCode) \ - ( (This)->lpVtbl -> GetNativeCode(This,ppCode) ) +#define ICorDebugFunction_GetNativeCode(This,ppCode) \ + ( (This)->lpVtbl -> GetNativeCode(This,ppCode) ) -#define ICorDebugFunction_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugFunction_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugFunction_GetLocalVarSigToken(This,pmdSig) \ - ( (This)->lpVtbl -> GetLocalVarSigToken(This,pmdSig) ) +#define ICorDebugFunction_GetLocalVarSigToken(This,pmdSig) \ + ( (This)->lpVtbl -> GetLocalVarSigToken(This,pmdSig) ) -#define ICorDebugFunction_GetCurrentVersionNumber(This,pnCurrentVersion) \ - ( (This)->lpVtbl -> GetCurrentVersionNumber(This,pnCurrentVersion) ) +#define ICorDebugFunction_GetCurrentVersionNumber(This,pnCurrentVersion) \ + ( (This)->lpVtbl -> GetCurrentVersionNumber(This,pnCurrentVersion) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugFunction_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugFunction_INTERFACE_DEFINED__ */ #ifndef __ICorDebugFunction2_INTERFACE_DEFINED__ #define __ICorDebugFunction2_INTERFACE_DEFINED__ /* interface ICorDebugFunction2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugFunction2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("EF0C490B-94C3-4e4d-B629-DDC134C532D8") ICorDebugFunction2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE SetJMCStatus( + virtual HRESULT STDMETHODCALLTYPE SetJMCStatus( /* [in] */ BOOL bIsJustMyCode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetJMCStatus( + + virtual HRESULT STDMETHODCALLTYPE GetJMCStatus( /* [out] */ BOOL *pbIsJustMyCode) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateNativeCode( + + virtual HRESULT STDMETHODCALLTYPE EnumerateNativeCode( /* [out] */ ICorDebugCodeEnum **ppCodeEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVersionNumber( + + virtual HRESULT STDMETHODCALLTYPE GetVersionNumber( /* [out] */ ULONG32 *pnVersion) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugFunction2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugFunction2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugFunction2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugFunction2 * This); - - HRESULT ( STDMETHODCALLTYPE *SetJMCStatus )( + + DECLSPEC_XFGVIRT(ICorDebugFunction2, SetJMCStatus) + HRESULT ( STDMETHODCALLTYPE *SetJMCStatus )( ICorDebugFunction2 * This, /* [in] */ BOOL bIsJustMyCode); - - HRESULT ( STDMETHODCALLTYPE *GetJMCStatus )( + + DECLSPEC_XFGVIRT(ICorDebugFunction2, GetJMCStatus) + HRESULT ( STDMETHODCALLTYPE *GetJMCStatus )( ICorDebugFunction2 * This, /* [out] */ BOOL *pbIsJustMyCode); - - HRESULT ( STDMETHODCALLTYPE *EnumerateNativeCode )( + + DECLSPEC_XFGVIRT(ICorDebugFunction2, EnumerateNativeCode) + HRESULT ( STDMETHODCALLTYPE *EnumerateNativeCode )( ICorDebugFunction2 * This, /* [out] */ ICorDebugCodeEnum **ppCodeEnum); - - HRESULT ( STDMETHODCALLTYPE *GetVersionNumber )( + + DECLSPEC_XFGVIRT(ICorDebugFunction2, GetVersionNumber) + HRESULT ( STDMETHODCALLTYPE *GetVersionNumber )( ICorDebugFunction2 * This, /* [out] */ ULONG32 *pnVersion); - + END_INTERFACE } ICorDebugFunction2Vtbl; @@ -12688,87 +13434,91 @@ EXTERN_C const IID IID_ICorDebugFunction2; CONST_VTBL struct ICorDebugFunction2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugFunction2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugFunction2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugFunction2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugFunction2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugFunction2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugFunction2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugFunction2_SetJMCStatus(This,bIsJustMyCode) \ - ( (This)->lpVtbl -> SetJMCStatus(This,bIsJustMyCode) ) +#define ICorDebugFunction2_SetJMCStatus(This,bIsJustMyCode) \ + ( (This)->lpVtbl -> SetJMCStatus(This,bIsJustMyCode) ) -#define ICorDebugFunction2_GetJMCStatus(This,pbIsJustMyCode) \ - ( (This)->lpVtbl -> GetJMCStatus(This,pbIsJustMyCode) ) +#define ICorDebugFunction2_GetJMCStatus(This,pbIsJustMyCode) \ + ( (This)->lpVtbl -> GetJMCStatus(This,pbIsJustMyCode) ) -#define ICorDebugFunction2_EnumerateNativeCode(This,ppCodeEnum) \ - ( (This)->lpVtbl -> EnumerateNativeCode(This,ppCodeEnum) ) +#define ICorDebugFunction2_EnumerateNativeCode(This,ppCodeEnum) \ + ( (This)->lpVtbl -> EnumerateNativeCode(This,ppCodeEnum) ) -#define ICorDebugFunction2_GetVersionNumber(This,pnVersion) \ - ( (This)->lpVtbl -> GetVersionNumber(This,pnVersion) ) +#define ICorDebugFunction2_GetVersionNumber(This,pnVersion) \ + ( (This)->lpVtbl -> GetVersionNumber(This,pnVersion) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugFunction2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugFunction2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugFunction3_INTERFACE_DEFINED__ #define __ICorDebugFunction3_INTERFACE_DEFINED__ /* interface ICorDebugFunction3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugFunction3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("09B70F28-E465-482D-99E0-81A165EB0532") ICorDebugFunction3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetActiveReJitRequestILCode( + virtual HRESULT STDMETHODCALLTYPE GetActiveReJitRequestILCode( ICorDebugILCode **ppReJitedILCode) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugFunction3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugFunction3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugFunction3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugFunction3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetActiveReJitRequestILCode )( + + DECLSPEC_XFGVIRT(ICorDebugFunction3, GetActiveReJitRequestILCode) + HRESULT ( STDMETHODCALLTYPE *GetActiveReJitRequestILCode )( ICorDebugFunction3 * This, ICorDebugILCode **ppReJitedILCode); - + END_INTERFACE } ICorDebugFunction3Vtbl; @@ -12777,78 +13527,82 @@ EXTERN_C const IID IID_ICorDebugFunction3; CONST_VTBL struct ICorDebugFunction3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugFunction3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugFunction3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugFunction3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugFunction3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugFunction3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugFunction3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugFunction3_GetActiveReJitRequestILCode(This,ppReJitedILCode) \ - ( (This)->lpVtbl -> GetActiveReJitRequestILCode(This,ppReJitedILCode) ) +#define ICorDebugFunction3_GetActiveReJitRequestILCode(This,ppReJitedILCode) \ + ( (This)->lpVtbl -> GetActiveReJitRequestILCode(This,ppReJitedILCode) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugFunction3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugFunction3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugFunction4_INTERFACE_DEFINED__ #define __ICorDebugFunction4_INTERFACE_DEFINED__ /* interface ICorDebugFunction4 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugFunction4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("72965963-34fd-46e9-9434-b817fe6e7f43") ICorDebugFunction4 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CreateNativeBreakpoint( + virtual HRESULT STDMETHODCALLTYPE CreateNativeBreakpoint( ICorDebugFunctionBreakpoint **ppBreakpoint) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugFunction4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugFunction4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugFunction4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugFunction4 * This); - - HRESULT ( STDMETHODCALLTYPE *CreateNativeBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugFunction4, CreateNativeBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateNativeBreakpoint )( ICorDebugFunction4 * This, ICorDebugFunctionBreakpoint **ppBreakpoint); - + END_INTERFACE } ICorDebugFunction4Vtbl; @@ -12857,152 +13611,257 @@ EXTERN_C const IID IID_ICorDebugFunction4; CONST_VTBL struct ICorDebugFunction4Vtbl *lpVtbl; }; + + +#ifdef COBJMACROS + + +#define ICorDebugFunction4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICorDebugFunction4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICorDebugFunction4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ICorDebugFunction4_CreateNativeBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateNativeBreakpoint(This,ppBreakpoint) ) + +#endif /* COBJMACROS */ + +#endif /* C style interface */ + + + + +#endif /* __ICorDebugFunction4_INTERFACE_DEFINED__ */ + + +#ifndef __ICorDebugFunction5_INTERFACE_DEFINED__ +#define __ICorDebugFunction5_INTERFACE_DEFINED__ + +/* interface ICorDebugFunction5 */ +/* [unique][uuid][local][object] */ + + +EXTERN_C const IID IID_ICorDebugFunction5; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9D4DAB7B-3401-4F37-BD08-CA09F3FDF10F") + ICorDebugFunction5 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE DisableOptimizations( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE AreOptimizationsDisabled( + BOOL *pOptimizationsDisabled) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ICorDebugFunction5Vtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ICorDebugFunction5 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ICorDebugFunction5 * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ICorDebugFunction5 * This); + + DECLSPEC_XFGVIRT(ICorDebugFunction5, DisableOptimizations) + HRESULT ( STDMETHODCALLTYPE *DisableOptimizations )( + ICorDebugFunction5 * This); + + DECLSPEC_XFGVIRT(ICorDebugFunction5, AreOptimizationsDisabled) + HRESULT ( STDMETHODCALLTYPE *AreOptimizationsDisabled )( + ICorDebugFunction5 * This, + BOOL *pOptimizationsDisabled); + + END_INTERFACE + } ICorDebugFunction5Vtbl; + + interface ICorDebugFunction5 + { + CONST_VTBL struct ICorDebugFunction5Vtbl *lpVtbl; + }; + + #ifdef COBJMACROS -#define ICorDebugFunction4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugFunction5_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugFunction4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugFunction5_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugFunction4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugFunction5_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugFunction4_CreateNativeBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateNativeBreakpoint(This,ppBreakpoint) ) +#define ICorDebugFunction5_DisableOptimizations(This) \ + ( (This)->lpVtbl -> DisableOptimizations(This) ) + +#define ICorDebugFunction5_AreOptimizationsDisabled(This,pOptimizationsDisabled) \ + ( (This)->lpVtbl -> AreOptimizationsDisabled(This,pOptimizationsDisabled) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugFunction4_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugFunction5_INTERFACE_DEFINED__ */ #ifndef __ICorDebugCode_INTERFACE_DEFINED__ #define __ICorDebugCode_INTERFACE_DEFINED__ /* interface ICorDebugCode */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugCode; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAF4-8A68-11d2-983C-0000F808342D") ICorDebugCode : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE IsIL( + virtual HRESULT STDMETHODCALLTYPE IsIL( /* [out] */ BOOL *pbIL) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunction( + + virtual HRESULT STDMETHODCALLTYPE GetFunction( /* [out] */ ICorDebugFunction **ppFunction) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAddress( + + virtual HRESULT STDMETHODCALLTYPE GetAddress( /* [out] */ CORDB_ADDRESS *pStart) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSize( + + virtual HRESULT STDMETHODCALLTYPE GetSize( /* [out] */ ULONG32 *pcBytes) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateBreakpoint( + + virtual HRESULT STDMETHODCALLTYPE CreateBreakpoint( /* [in] */ ULONG32 offset, /* [out] */ ICorDebugFunctionBreakpoint **ppBreakpoint) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCode( + + virtual HRESULT STDMETHODCALLTYPE GetCode( /* [in] */ ULONG32 startOffset, /* [in] */ ULONG32 endOffset, /* [in] */ ULONG32 cBufferAlloc, /* [length_is][size_is][out] */ BYTE buffer[ ], /* [out] */ ULONG32 *pcBufferSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVersionNumber( + + virtual HRESULT STDMETHODCALLTYPE GetVersionNumber( /* [out] */ ULONG32 *nVersion) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping( + + virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping( /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetEnCRemapSequencePoints( + + virtual HRESULT STDMETHODCALLTYPE GetEnCRemapSequencePoints( /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ ULONG32 offsets[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugCodeVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugCode * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugCode * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugCode * This); - - HRESULT ( STDMETHODCALLTYPE *IsIL )( + + DECLSPEC_XFGVIRT(ICorDebugCode, IsIL) + HRESULT ( STDMETHODCALLTYPE *IsIL )( ICorDebugCode * This, /* [out] */ BOOL *pbIL); - - HRESULT ( STDMETHODCALLTYPE *GetFunction )( + + DECLSPEC_XFGVIRT(ICorDebugCode, GetFunction) + HRESULT ( STDMETHODCALLTYPE *GetFunction )( ICorDebugCode * This, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugCode, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugCode * This, /* [out] */ CORDB_ADDRESS *pStart); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugCode, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugCode * This, /* [out] */ ULONG32 *pcBytes); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugCode, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugCode * This, /* [in] */ ULONG32 offset, /* [out] */ ICorDebugFunctionBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *GetCode )( + + DECLSPEC_XFGVIRT(ICorDebugCode, GetCode) + HRESULT ( STDMETHODCALLTYPE *GetCode )( ICorDebugCode * This, /* [in] */ ULONG32 startOffset, /* [in] */ ULONG32 endOffset, /* [in] */ ULONG32 cBufferAlloc, /* [length_is][size_is][out] */ BYTE buffer[ ], /* [out] */ ULONG32 *pcBufferSize); - - HRESULT ( STDMETHODCALLTYPE *GetVersionNumber )( + + DECLSPEC_XFGVIRT(ICorDebugCode, GetVersionNumber) + HRESULT ( STDMETHODCALLTYPE *GetVersionNumber )( ICorDebugCode * This, /* [out] */ ULONG32 *nVersion); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorDebugCode, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorDebugCode * This, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetEnCRemapSequencePoints )( + + DECLSPEC_XFGVIRT(ICorDebugCode, GetEnCRemapSequencePoints) + HRESULT ( STDMETHODCALLTYPE *GetEnCRemapSequencePoints )( ICorDebugCode * This, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ ULONG32 offsets[ ]); - + END_INTERFACE } ICorDebugCodeVtbl; @@ -13011,119 +13870,124 @@ EXTERN_C const IID IID_ICorDebugCode; CONST_VTBL struct ICorDebugCodeVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugCode_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugCode_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugCode_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugCode_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugCode_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugCode_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugCode_IsIL(This,pbIL) \ - ( (This)->lpVtbl -> IsIL(This,pbIL) ) +#define ICorDebugCode_IsIL(This,pbIL) \ + ( (This)->lpVtbl -> IsIL(This,pbIL) ) -#define ICorDebugCode_GetFunction(This,ppFunction) \ - ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) +#define ICorDebugCode_GetFunction(This,ppFunction) \ + ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) -#define ICorDebugCode_GetAddress(This,pStart) \ - ( (This)->lpVtbl -> GetAddress(This,pStart) ) +#define ICorDebugCode_GetAddress(This,pStart) \ + ( (This)->lpVtbl -> GetAddress(This,pStart) ) -#define ICorDebugCode_GetSize(This,pcBytes) \ - ( (This)->lpVtbl -> GetSize(This,pcBytes) ) +#define ICorDebugCode_GetSize(This,pcBytes) \ + ( (This)->lpVtbl -> GetSize(This,pcBytes) ) -#define ICorDebugCode_CreateBreakpoint(This,offset,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,offset,ppBreakpoint) ) +#define ICorDebugCode_CreateBreakpoint(This,offset,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,offset,ppBreakpoint) ) -#define ICorDebugCode_GetCode(This,startOffset,endOffset,cBufferAlloc,buffer,pcBufferSize) \ - ( (This)->lpVtbl -> GetCode(This,startOffset,endOffset,cBufferAlloc,buffer,pcBufferSize) ) +#define ICorDebugCode_GetCode(This,startOffset,endOffset,cBufferAlloc,buffer,pcBufferSize) \ + ( (This)->lpVtbl -> GetCode(This,startOffset,endOffset,cBufferAlloc,buffer,pcBufferSize) ) -#define ICorDebugCode_GetVersionNumber(This,nVersion) \ - ( (This)->lpVtbl -> GetVersionNumber(This,nVersion) ) +#define ICorDebugCode_GetVersionNumber(This,nVersion) \ + ( (This)->lpVtbl -> GetVersionNumber(This,nVersion) ) -#define ICorDebugCode_GetILToNativeMapping(This,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,cMap,pcMap,map) ) +#define ICorDebugCode_GetILToNativeMapping(This,cMap,pcMap,map) \ + ( (This)->lpVtbl -> GetILToNativeMapping(This,cMap,pcMap,map) ) -#define ICorDebugCode_GetEnCRemapSequencePoints(This,cMap,pcMap,offsets) \ - ( (This)->lpVtbl -> GetEnCRemapSequencePoints(This,cMap,pcMap,offsets) ) +#define ICorDebugCode_GetEnCRemapSequencePoints(This,cMap,pcMap,offsets) \ + ( (This)->lpVtbl -> GetEnCRemapSequencePoints(This,cMap,pcMap,offsets) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugCode_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugCode_INTERFACE_DEFINED__ */ #ifndef __ICorDebugCode2_INTERFACE_DEFINED__ #define __ICorDebugCode2_INTERFACE_DEFINED__ /* interface ICorDebugCode2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ typedef struct _CodeChunkInfo { CORDB_ADDRESS startAddr; ULONG32 length; - } CodeChunkInfo; + } CodeChunkInfo; EXTERN_C const IID IID_ICorDebugCode2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("5F696509-452F-4436-A3FE-4D11FE7E2347") ICorDebugCode2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetCodeChunks( + virtual HRESULT STDMETHODCALLTYPE GetCodeChunks( /* [in] */ ULONG32 cbufSize, /* [out] */ ULONG32 *pcnumChunks, /* [length_is][size_is][out] */ CodeChunkInfo chunks[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCompilerFlags( + + virtual HRESULT STDMETHODCALLTYPE GetCompilerFlags( /* [out] */ DWORD *pdwFlags) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugCode2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugCode2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugCode2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugCode2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetCodeChunks )( + + DECLSPEC_XFGVIRT(ICorDebugCode2, GetCodeChunks) + HRESULT ( STDMETHODCALLTYPE *GetCodeChunks )( ICorDebugCode2 * This, /* [in] */ ULONG32 cbufSize, /* [out] */ ULONG32 *pcnumChunks, /* [length_is][size_is][out] */ CodeChunkInfo chunks[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCompilerFlags )( + + DECLSPEC_XFGVIRT(ICorDebugCode2, GetCompilerFlags) + HRESULT ( STDMETHODCALLTYPE *GetCompilerFlags )( ICorDebugCode2 * This, /* [out] */ DWORD *pdwFlags); - + END_INTERFACE } ICorDebugCode2Vtbl; @@ -13132,87 +13996,91 @@ EXTERN_C const IID IID_ICorDebugCode2; CONST_VTBL struct ICorDebugCode2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugCode2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugCode2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugCode2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugCode2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugCode2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugCode2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugCode2_GetCodeChunks(This,cbufSize,pcnumChunks,chunks) \ - ( (This)->lpVtbl -> GetCodeChunks(This,cbufSize,pcnumChunks,chunks) ) +#define ICorDebugCode2_GetCodeChunks(This,cbufSize,pcnumChunks,chunks) \ + ( (This)->lpVtbl -> GetCodeChunks(This,cbufSize,pcnumChunks,chunks) ) -#define ICorDebugCode2_GetCompilerFlags(This,pdwFlags) \ - ( (This)->lpVtbl -> GetCompilerFlags(This,pdwFlags) ) +#define ICorDebugCode2_GetCompilerFlags(This,pdwFlags) \ + ( (This)->lpVtbl -> GetCompilerFlags(This,pdwFlags) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugCode2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugCode2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugCode3_INTERFACE_DEFINED__ #define __ICorDebugCode3_INTERFACE_DEFINED__ /* interface ICorDebugCode3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugCode3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("D13D3E88-E1F2-4020-AA1D-3D162DCBE966") ICorDebugCode3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetReturnValueLiveOffset( + virtual HRESULT STDMETHODCALLTYPE GetReturnValueLiveOffset( /* [in] */ ULONG32 ILoffset, /* [in] */ ULONG32 bufferSize, /* [out] */ ULONG32 *pFetched, /* [length_is][size_is][out] */ ULONG32 pOffsets[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugCode3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugCode3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugCode3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugCode3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetReturnValueLiveOffset )( + + DECLSPEC_XFGVIRT(ICorDebugCode3, GetReturnValueLiveOffset) + HRESULT ( STDMETHODCALLTYPE *GetReturnValueLiveOffset )( ICorDebugCode3 * This, /* [in] */ ULONG32 ILoffset, /* [in] */ ULONG32 bufferSize, /* [out] */ ULONG32 *pFetched, /* [length_is][size_is][out] */ ULONG32 pOffsets[ ]); - + END_INTERFACE } ICorDebugCode3Vtbl; @@ -13221,78 +14089,82 @@ EXTERN_C const IID IID_ICorDebugCode3; CONST_VTBL struct ICorDebugCode3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugCode3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugCode3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugCode3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugCode3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugCode3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugCode3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugCode3_GetReturnValueLiveOffset(This,ILoffset,bufferSize,pFetched,pOffsets) \ - ( (This)->lpVtbl -> GetReturnValueLiveOffset(This,ILoffset,bufferSize,pFetched,pOffsets) ) +#define ICorDebugCode3_GetReturnValueLiveOffset(This,ILoffset,bufferSize,pFetched,pOffsets) \ + ( (This)->lpVtbl -> GetReturnValueLiveOffset(This,ILoffset,bufferSize,pFetched,pOffsets) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugCode3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugCode3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugCode4_INTERFACE_DEFINED__ #define __ICorDebugCode4_INTERFACE_DEFINED__ /* interface ICorDebugCode4 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugCode4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("18221fa4-20cb-40fa-b19d-9f91c4fa8c14") ICorDebugCode4 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE EnumerateVariableHomes( + virtual HRESULT STDMETHODCALLTYPE EnumerateVariableHomes( /* [out] */ ICorDebugVariableHomeEnum **ppEnum) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugCode4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugCode4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugCode4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugCode4 * This); - - HRESULT ( STDMETHODCALLTYPE *EnumerateVariableHomes )( + + DECLSPEC_XFGVIRT(ICorDebugCode4, EnumerateVariableHomes) + HRESULT ( STDMETHODCALLTYPE *EnumerateVariableHomes )( ICorDebugCode4 * This, /* [out] */ ICorDebugVariableHomeEnum **ppEnum); - + END_INTERFACE } ICorDebugCode4Vtbl; @@ -13301,40 +14173,40 @@ EXTERN_C const IID IID_ICorDebugCode4; CONST_VTBL struct ICorDebugCode4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugCode4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugCode4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugCode4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugCode4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugCode4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugCode4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugCode4_EnumerateVariableHomes(This,ppEnum) \ - ( (This)->lpVtbl -> EnumerateVariableHomes(This,ppEnum) ) +#define ICorDebugCode4_EnumerateVariableHomes(This,ppEnum) \ + ( (This)->lpVtbl -> EnumerateVariableHomes(This,ppEnum) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugCode4_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugCode4_INTERFACE_DEFINED__ */ #ifndef __ICorDebugILCode_INTERFACE_DEFINED__ #define __ICorDebugILCode_INTERFACE_DEFINED__ /* interface ICorDebugILCode */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ typedef struct _CorDebugEHClause { @@ -13345,49 +14217,53 @@ typedef struct _CorDebugEHClause ULONG32 HandlerLength; ULONG32 ClassToken; ULONG32 FilterOffset; - } CorDebugEHClause; + } CorDebugEHClause; EXTERN_C const IID IID_ICorDebugILCode; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("598D46C2-C877-42A7-89D2-3D0C7F1C1264") ICorDebugILCode : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetEHClauses( + virtual HRESULT STDMETHODCALLTYPE GetEHClauses( /* [in] */ ULONG32 cClauses, /* [out] */ ULONG32 *pcClauses, /* [length_is][size_is][out] */ CorDebugEHClause clauses[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugILCodeVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugILCode * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugILCode * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugILCode * This); - - HRESULT ( STDMETHODCALLTYPE *GetEHClauses )( + + DECLSPEC_XFGVIRT(ICorDebugILCode, GetEHClauses) + HRESULT ( STDMETHODCALLTYPE *GetEHClauses )( ICorDebugILCode * This, /* [in] */ ULONG32 cClauses, /* [out] */ ULONG32 *pcClauses, /* [length_is][size_is][out] */ CorDebugEHClause clauses[ ]); - + END_INTERFACE } ICorDebugILCodeVtbl; @@ -13396,89 +14272,94 @@ EXTERN_C const IID IID_ICorDebugILCode; CONST_VTBL struct ICorDebugILCodeVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugILCode_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugILCode_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugILCode_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugILCode_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugILCode_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugILCode_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugILCode_GetEHClauses(This,cClauses,pcClauses,clauses) \ - ( (This)->lpVtbl -> GetEHClauses(This,cClauses,pcClauses,clauses) ) +#define ICorDebugILCode_GetEHClauses(This,cClauses,pcClauses,clauses) \ + ( (This)->lpVtbl -> GetEHClauses(This,cClauses,pcClauses,clauses) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugILCode_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugILCode_INTERFACE_DEFINED__ */ #ifndef __ICorDebugILCode2_INTERFACE_DEFINED__ #define __ICorDebugILCode2_INTERFACE_DEFINED__ /* interface ICorDebugILCode2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugILCode2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("46586093-D3F5-4DB6-ACDB-955BCE228C15") ICorDebugILCode2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetLocalVarSigToken( + virtual HRESULT STDMETHODCALLTYPE GetLocalVarSigToken( /* [out] */ mdSignature *pmdSig) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInstrumentedILMap( + + virtual HRESULT STDMETHODCALLTYPE GetInstrumentedILMap( /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_IL_MAP map[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugILCode2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugILCode2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugILCode2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugILCode2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetLocalVarSigToken )( + + DECLSPEC_XFGVIRT(ICorDebugILCode2, GetLocalVarSigToken) + HRESULT ( STDMETHODCALLTYPE *GetLocalVarSigToken )( ICorDebugILCode2 * This, /* [out] */ mdSignature *pmdSig); - - HRESULT ( STDMETHODCALLTYPE *GetInstrumentedILMap )( + + DECLSPEC_XFGVIRT(ICorDebugILCode2, GetInstrumentedILMap) + HRESULT ( STDMETHODCALLTYPE *GetInstrumentedILMap )( ICorDebugILCode2 * This, /* [in] */ ULONG32 cMap, /* [out] */ ULONG32 *pcMap, /* [length_is][size_is][out] */ COR_IL_MAP map[ ]); - + END_INTERFACE } ICorDebugILCode2Vtbl; @@ -13487,99 +14368,105 @@ EXTERN_C const IID IID_ICorDebugILCode2; CONST_VTBL struct ICorDebugILCode2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugILCode2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugILCode2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugILCode2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugILCode2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugILCode2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugILCode2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugILCode2_GetLocalVarSigToken(This,pmdSig) \ - ( (This)->lpVtbl -> GetLocalVarSigToken(This,pmdSig) ) +#define ICorDebugILCode2_GetLocalVarSigToken(This,pmdSig) \ + ( (This)->lpVtbl -> GetLocalVarSigToken(This,pmdSig) ) -#define ICorDebugILCode2_GetInstrumentedILMap(This,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetInstrumentedILMap(This,cMap,pcMap,map) ) +#define ICorDebugILCode2_GetInstrumentedILMap(This,cMap,pcMap,map) \ + ( (This)->lpVtbl -> GetInstrumentedILMap(This,cMap,pcMap,map) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugILCode2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugILCode2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugClass_INTERFACE_DEFINED__ #define __ICorDebugClass_INTERFACE_DEFINED__ /* interface ICorDebugClass */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugClass; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAF5-8A68-11d2-983C-0000F808342D") ICorDebugClass : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetModule( + virtual HRESULT STDMETHODCALLTYPE GetModule( /* [out] */ ICorDebugModule **pModule) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetToken( + + virtual HRESULT STDMETHODCALLTYPE GetToken( /* [out] */ mdTypeDef *pTypeDef) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStaticFieldValue( + + virtual HRESULT STDMETHODCALLTYPE GetStaticFieldValue( /* [in] */ mdFieldDef fieldDef, /* [in] */ ICorDebugFrame *pFrame, /* [out] */ ICorDebugValue **ppValue) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugClassVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugClass * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugClass * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugClass * This); - - HRESULT ( STDMETHODCALLTYPE *GetModule )( + + DECLSPEC_XFGVIRT(ICorDebugClass, GetModule) + HRESULT ( STDMETHODCALLTYPE *GetModule )( ICorDebugClass * This, /* [out] */ ICorDebugModule **pModule); - - HRESULT ( STDMETHODCALLTYPE *GetToken )( + + DECLSPEC_XFGVIRT(ICorDebugClass, GetToken) + HRESULT ( STDMETHODCALLTYPE *GetToken )( ICorDebugClass * This, /* [out] */ mdTypeDef *pTypeDef); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldValue )( + + DECLSPEC_XFGVIRT(ICorDebugClass, GetStaticFieldValue) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldValue )( ICorDebugClass * This, /* [in] */ mdFieldDef fieldDef, /* [in] */ ICorDebugFrame *pFrame, /* [out] */ ICorDebugValue **ppValue); - + END_INTERFACE } ICorDebugClassVtbl; @@ -13588,97 +14475,102 @@ EXTERN_C const IID IID_ICorDebugClass; CONST_VTBL struct ICorDebugClassVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugClass_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugClass_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugClass_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugClass_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugClass_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugClass_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugClass_GetModule(This,pModule) \ - ( (This)->lpVtbl -> GetModule(This,pModule) ) +#define ICorDebugClass_GetModule(This,pModule) \ + ( (This)->lpVtbl -> GetModule(This,pModule) ) -#define ICorDebugClass_GetToken(This,pTypeDef) \ - ( (This)->lpVtbl -> GetToken(This,pTypeDef) ) +#define ICorDebugClass_GetToken(This,pTypeDef) \ + ( (This)->lpVtbl -> GetToken(This,pTypeDef) ) -#define ICorDebugClass_GetStaticFieldValue(This,fieldDef,pFrame,ppValue) \ - ( (This)->lpVtbl -> GetStaticFieldValue(This,fieldDef,pFrame,ppValue) ) +#define ICorDebugClass_GetStaticFieldValue(This,fieldDef,pFrame,ppValue) \ + ( (This)->lpVtbl -> GetStaticFieldValue(This,fieldDef,pFrame,ppValue) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugClass_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugClass_INTERFACE_DEFINED__ */ #ifndef __ICorDebugClass2_INTERFACE_DEFINED__ #define __ICorDebugClass2_INTERFACE_DEFINED__ /* interface ICorDebugClass2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugClass2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("B008EA8D-7AB1-43f7-BB20-FBB5A04038AE") ICorDebugClass2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetParameterizedType( + virtual HRESULT STDMETHODCALLTYPE GetParameterizedType( /* [in] */ CorElementType elementType, /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ], /* [out] */ ICorDebugType **ppType) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetJMCStatus( + + virtual HRESULT STDMETHODCALLTYPE SetJMCStatus( /* [in] */ BOOL bIsJustMyCode) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugClass2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugClass2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugClass2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugClass2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetParameterizedType )( + + DECLSPEC_XFGVIRT(ICorDebugClass2, GetParameterizedType) + HRESULT ( STDMETHODCALLTYPE *GetParameterizedType )( ICorDebugClass2 * This, /* [in] */ CorElementType elementType, /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ], /* [out] */ ICorDebugType **ppType); - - HRESULT ( STDMETHODCALLTYPE *SetJMCStatus )( + + DECLSPEC_XFGVIRT(ICorDebugClass2, SetJMCStatus) + HRESULT ( STDMETHODCALLTYPE *SetJMCStatus )( ICorDebugClass2 * This, /* [in] */ BOOL bIsJustMyCode); - + END_INTERFACE } ICorDebugClass2Vtbl; @@ -13687,162 +14579,175 @@ EXTERN_C const IID IID_ICorDebugClass2; CONST_VTBL struct ICorDebugClass2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugClass2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugClass2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugClass2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugClass2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugClass2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugClass2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugClass2_GetParameterizedType(This,elementType,nTypeArgs,ppTypeArgs,ppType) \ - ( (This)->lpVtbl -> GetParameterizedType(This,elementType,nTypeArgs,ppTypeArgs,ppType) ) +#define ICorDebugClass2_GetParameterizedType(This,elementType,nTypeArgs,ppTypeArgs,ppType) \ + ( (This)->lpVtbl -> GetParameterizedType(This,elementType,nTypeArgs,ppTypeArgs,ppType) ) -#define ICorDebugClass2_SetJMCStatus(This,bIsJustMyCode) \ - ( (This)->lpVtbl -> SetJMCStatus(This,bIsJustMyCode) ) +#define ICorDebugClass2_SetJMCStatus(This,bIsJustMyCode) \ + ( (This)->lpVtbl -> SetJMCStatus(This,bIsJustMyCode) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugClass2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugClass2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugEval_INTERFACE_DEFINED__ #define __ICorDebugEval_INTERFACE_DEFINED__ /* interface ICorDebugEval */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugEval; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAF6-8A68-11d2-983C-0000F808342D") ICorDebugEval : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CallFunction( + virtual HRESULT STDMETHODCALLTYPE CallFunction( /* [in] */ ICorDebugFunction *pFunction, /* [in] */ ULONG32 nArgs, /* [size_is][in] */ ICorDebugValue *ppArgs[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE NewObject( + + virtual HRESULT STDMETHODCALLTYPE NewObject( /* [in] */ ICorDebugFunction *pConstructor, /* [in] */ ULONG32 nArgs, /* [size_is][in] */ ICorDebugValue *ppArgs[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE NewObjectNoConstructor( + + virtual HRESULT STDMETHODCALLTYPE NewObjectNoConstructor( /* [in] */ ICorDebugClass *pClass) = 0; - - virtual HRESULT STDMETHODCALLTYPE NewString( + + virtual HRESULT STDMETHODCALLTYPE NewString( /* [in] */ LPCWSTR string) = 0; - - virtual HRESULT STDMETHODCALLTYPE NewArray( + + virtual HRESULT STDMETHODCALLTYPE NewArray( /* [in] */ CorElementType elementType, /* [in] */ ICorDebugClass *pElementClass, /* [in] */ ULONG32 rank, /* [size_is][in] */ ULONG32 dims[ ], /* [size_is][in] */ ULONG32 lowBounds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsActive( + + virtual HRESULT STDMETHODCALLTYPE IsActive( /* [out] */ BOOL *pbActive) = 0; - + virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetResult( + + virtual HRESULT STDMETHODCALLTYPE GetResult( /* [out] */ ICorDebugValue **ppResult) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThread( + + virtual HRESULT STDMETHODCALLTYPE GetThread( /* [out] */ ICorDebugThread **ppThread) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateValue( + + virtual HRESULT STDMETHODCALLTYPE CreateValue( /* [in] */ CorElementType elementType, /* [in] */ ICorDebugClass *pElementClass, /* [out] */ ICorDebugValue **ppValue) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugEvalVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugEval * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugEval * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugEval * This); - - HRESULT ( STDMETHODCALLTYPE *CallFunction )( + + DECLSPEC_XFGVIRT(ICorDebugEval, CallFunction) + HRESULT ( STDMETHODCALLTYPE *CallFunction )( ICorDebugEval * This, /* [in] */ ICorDebugFunction *pFunction, /* [in] */ ULONG32 nArgs, /* [size_is][in] */ ICorDebugValue *ppArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *NewObject )( + + DECLSPEC_XFGVIRT(ICorDebugEval, NewObject) + HRESULT ( STDMETHODCALLTYPE *NewObject )( ICorDebugEval * This, /* [in] */ ICorDebugFunction *pConstructor, /* [in] */ ULONG32 nArgs, /* [size_is][in] */ ICorDebugValue *ppArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *NewObjectNoConstructor )( + + DECLSPEC_XFGVIRT(ICorDebugEval, NewObjectNoConstructor) + HRESULT ( STDMETHODCALLTYPE *NewObjectNoConstructor )( ICorDebugEval * This, /* [in] */ ICorDebugClass *pClass); - - HRESULT ( STDMETHODCALLTYPE *NewString )( + + DECLSPEC_XFGVIRT(ICorDebugEval, NewString) + HRESULT ( STDMETHODCALLTYPE *NewString )( ICorDebugEval * This, /* [in] */ LPCWSTR string); - - HRESULT ( STDMETHODCALLTYPE *NewArray )( + + DECLSPEC_XFGVIRT(ICorDebugEval, NewArray) + HRESULT ( STDMETHODCALLTYPE *NewArray )( ICorDebugEval * This, /* [in] */ CorElementType elementType, /* [in] */ ICorDebugClass *pElementClass, /* [in] */ ULONG32 rank, /* [size_is][in] */ ULONG32 dims[ ], /* [size_is][in] */ ULONG32 lowBounds[ ]); - - HRESULT ( STDMETHODCALLTYPE *IsActive )( + + DECLSPEC_XFGVIRT(ICorDebugEval, IsActive) + HRESULT ( STDMETHODCALLTYPE *IsActive )( ICorDebugEval * This, /* [out] */ BOOL *pbActive); - - HRESULT ( STDMETHODCALLTYPE *Abort )( + + DECLSPEC_XFGVIRT(ICorDebugEval, Abort) + HRESULT ( STDMETHODCALLTYPE *Abort )( ICorDebugEval * This); - - HRESULT ( STDMETHODCALLTYPE *GetResult )( + + DECLSPEC_XFGVIRT(ICorDebugEval, GetResult) + HRESULT ( STDMETHODCALLTYPE *GetResult )( ICorDebugEval * This, /* [out] */ ICorDebugValue **ppResult); - - HRESULT ( STDMETHODCALLTYPE *GetThread )( + + DECLSPEC_XFGVIRT(ICorDebugEval, GetThread) + HRESULT ( STDMETHODCALLTYPE *GetThread )( ICorDebugEval * This, /* [out] */ ICorDebugThread **ppThread); - - HRESULT ( STDMETHODCALLTYPE *CreateValue )( + + DECLSPEC_XFGVIRT(ICorDebugEval, CreateValue) + HRESULT ( STDMETHODCALLTYPE *CreateValue )( ICorDebugEval * This, /* [in] */ CorElementType elementType, /* [in] */ ICorDebugClass *pElementClass, /* [out] */ ICorDebugValue **ppValue); - + END_INTERFACE } ICorDebugEvalVtbl; @@ -13851,175 +14756,185 @@ EXTERN_C const IID IID_ICorDebugEval; CONST_VTBL struct ICorDebugEvalVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugEval_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugEval_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugEval_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugEval_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugEval_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugEval_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugEval_CallFunction(This,pFunction,nArgs,ppArgs) \ - ( (This)->lpVtbl -> CallFunction(This,pFunction,nArgs,ppArgs) ) +#define ICorDebugEval_CallFunction(This,pFunction,nArgs,ppArgs) \ + ( (This)->lpVtbl -> CallFunction(This,pFunction,nArgs,ppArgs) ) -#define ICorDebugEval_NewObject(This,pConstructor,nArgs,ppArgs) \ - ( (This)->lpVtbl -> NewObject(This,pConstructor,nArgs,ppArgs) ) +#define ICorDebugEval_NewObject(This,pConstructor,nArgs,ppArgs) \ + ( (This)->lpVtbl -> NewObject(This,pConstructor,nArgs,ppArgs) ) -#define ICorDebugEval_NewObjectNoConstructor(This,pClass) \ - ( (This)->lpVtbl -> NewObjectNoConstructor(This,pClass) ) +#define ICorDebugEval_NewObjectNoConstructor(This,pClass) \ + ( (This)->lpVtbl -> NewObjectNoConstructor(This,pClass) ) -#define ICorDebugEval_NewString(This,string) \ - ( (This)->lpVtbl -> NewString(This,string) ) +#define ICorDebugEval_NewString(This,string) \ + ( (This)->lpVtbl -> NewString(This,string) ) -#define ICorDebugEval_NewArray(This,elementType,pElementClass,rank,dims,lowBounds) \ - ( (This)->lpVtbl -> NewArray(This,elementType,pElementClass,rank,dims,lowBounds) ) +#define ICorDebugEval_NewArray(This,elementType,pElementClass,rank,dims,lowBounds) \ + ( (This)->lpVtbl -> NewArray(This,elementType,pElementClass,rank,dims,lowBounds) ) -#define ICorDebugEval_IsActive(This,pbActive) \ - ( (This)->lpVtbl -> IsActive(This,pbActive) ) +#define ICorDebugEval_IsActive(This,pbActive) \ + ( (This)->lpVtbl -> IsActive(This,pbActive) ) -#define ICorDebugEval_Abort(This) \ - ( (This)->lpVtbl -> Abort(This) ) +#define ICorDebugEval_Abort(This) \ + ( (This)->lpVtbl -> Abort(This) ) -#define ICorDebugEval_GetResult(This,ppResult) \ - ( (This)->lpVtbl -> GetResult(This,ppResult) ) +#define ICorDebugEval_GetResult(This,ppResult) \ + ( (This)->lpVtbl -> GetResult(This,ppResult) ) -#define ICorDebugEval_GetThread(This,ppThread) \ - ( (This)->lpVtbl -> GetThread(This,ppThread) ) +#define ICorDebugEval_GetThread(This,ppThread) \ + ( (This)->lpVtbl -> GetThread(This,ppThread) ) -#define ICorDebugEval_CreateValue(This,elementType,pElementClass,ppValue) \ - ( (This)->lpVtbl -> CreateValue(This,elementType,pElementClass,ppValue) ) +#define ICorDebugEval_CreateValue(This,elementType,pElementClass,ppValue) \ + ( (This)->lpVtbl -> CreateValue(This,elementType,pElementClass,ppValue) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugEval_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugEval_INTERFACE_DEFINED__ */ #ifndef __ICorDebugEval2_INTERFACE_DEFINED__ #define __ICorDebugEval2_INTERFACE_DEFINED__ /* interface ICorDebugEval2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugEval2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("FB0D9CE7-BE66-4683-9D32-A42A04E2FD91") ICorDebugEval2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CallParameterizedFunction( + virtual HRESULT STDMETHODCALLTYPE CallParameterizedFunction( /* [in] */ ICorDebugFunction *pFunction, /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ], /* [in] */ ULONG32 nArgs, /* [size_is][in] */ ICorDebugValue *ppArgs[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateValueForType( + + virtual HRESULT STDMETHODCALLTYPE CreateValueForType( /* [in] */ ICorDebugType *pType, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE NewParameterizedObject( + + virtual HRESULT STDMETHODCALLTYPE NewParameterizedObject( /* [in] */ ICorDebugFunction *pConstructor, /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ], /* [in] */ ULONG32 nArgs, /* [size_is][in] */ ICorDebugValue *ppArgs[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE NewParameterizedObjectNoConstructor( + + virtual HRESULT STDMETHODCALLTYPE NewParameterizedObjectNoConstructor( /* [in] */ ICorDebugClass *pClass, /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE NewParameterizedArray( + + virtual HRESULT STDMETHODCALLTYPE NewParameterizedArray( /* [in] */ ICorDebugType *pElementType, /* [in] */ ULONG32 rank, /* [size_is][in] */ ULONG32 dims[ ], /* [size_is][in] */ ULONG32 lowBounds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE NewStringWithLength( + + virtual HRESULT STDMETHODCALLTYPE NewStringWithLength( /* [in] */ LPCWSTR string, /* [in] */ UINT uiLength) = 0; - + virtual HRESULT STDMETHODCALLTYPE RudeAbort( void) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugEval2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugEval2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugEval2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugEval2 * This); - - HRESULT ( STDMETHODCALLTYPE *CallParameterizedFunction )( + + DECLSPEC_XFGVIRT(ICorDebugEval2, CallParameterizedFunction) + HRESULT ( STDMETHODCALLTYPE *CallParameterizedFunction )( ICorDebugEval2 * This, /* [in] */ ICorDebugFunction *pFunction, /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ], /* [in] */ ULONG32 nArgs, /* [size_is][in] */ ICorDebugValue *ppArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *CreateValueForType )( + + DECLSPEC_XFGVIRT(ICorDebugEval2, CreateValueForType) + HRESULT ( STDMETHODCALLTYPE *CreateValueForType )( ICorDebugEval2 * This, /* [in] */ ICorDebugType *pType, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *NewParameterizedObject )( + + DECLSPEC_XFGVIRT(ICorDebugEval2, NewParameterizedObject) + HRESULT ( STDMETHODCALLTYPE *NewParameterizedObject )( ICorDebugEval2 * This, /* [in] */ ICorDebugFunction *pConstructor, /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ], /* [in] */ ULONG32 nArgs, /* [size_is][in] */ ICorDebugValue *ppArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *NewParameterizedObjectNoConstructor )( + + DECLSPEC_XFGVIRT(ICorDebugEval2, NewParameterizedObjectNoConstructor) + HRESULT ( STDMETHODCALLTYPE *NewParameterizedObjectNoConstructor )( ICorDebugEval2 * This, /* [in] */ ICorDebugClass *pClass, /* [in] */ ULONG32 nTypeArgs, /* [size_is][in] */ ICorDebugType *ppTypeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *NewParameterizedArray )( + + DECLSPEC_XFGVIRT(ICorDebugEval2, NewParameterizedArray) + HRESULT ( STDMETHODCALLTYPE *NewParameterizedArray )( ICorDebugEval2 * This, /* [in] */ ICorDebugType *pElementType, /* [in] */ ULONG32 rank, /* [size_is][in] */ ULONG32 dims[ ], /* [size_is][in] */ ULONG32 lowBounds[ ]); - - HRESULT ( STDMETHODCALLTYPE *NewStringWithLength )( + + DECLSPEC_XFGVIRT(ICorDebugEval2, NewStringWithLength) + HRESULT ( STDMETHODCALLTYPE *NewStringWithLength )( ICorDebugEval2 * This, /* [in] */ LPCWSTR string, /* [in] */ UINT uiLength); - - HRESULT ( STDMETHODCALLTYPE *RudeAbort )( + + DECLSPEC_XFGVIRT(ICorDebugEval2, RudeAbort) + HRESULT ( STDMETHODCALLTYPE *RudeAbort )( ICorDebugEval2 * This); - + END_INTERFACE } ICorDebugEval2Vtbl; @@ -14028,117 +14943,124 @@ EXTERN_C const IID IID_ICorDebugEval2; CONST_VTBL struct ICorDebugEval2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugEval2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugEval2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugEval2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugEval2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugEval2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugEval2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugEval2_CallParameterizedFunction(This,pFunction,nTypeArgs,ppTypeArgs,nArgs,ppArgs) \ - ( (This)->lpVtbl -> CallParameterizedFunction(This,pFunction,nTypeArgs,ppTypeArgs,nArgs,ppArgs) ) +#define ICorDebugEval2_CallParameterizedFunction(This,pFunction,nTypeArgs,ppTypeArgs,nArgs,ppArgs) \ + ( (This)->lpVtbl -> CallParameterizedFunction(This,pFunction,nTypeArgs,ppTypeArgs,nArgs,ppArgs) ) -#define ICorDebugEval2_CreateValueForType(This,pType,ppValue) \ - ( (This)->lpVtbl -> CreateValueForType(This,pType,ppValue) ) +#define ICorDebugEval2_CreateValueForType(This,pType,ppValue) \ + ( (This)->lpVtbl -> CreateValueForType(This,pType,ppValue) ) -#define ICorDebugEval2_NewParameterizedObject(This,pConstructor,nTypeArgs,ppTypeArgs,nArgs,ppArgs) \ - ( (This)->lpVtbl -> NewParameterizedObject(This,pConstructor,nTypeArgs,ppTypeArgs,nArgs,ppArgs) ) +#define ICorDebugEval2_NewParameterizedObject(This,pConstructor,nTypeArgs,ppTypeArgs,nArgs,ppArgs) \ + ( (This)->lpVtbl -> NewParameterizedObject(This,pConstructor,nTypeArgs,ppTypeArgs,nArgs,ppArgs) ) -#define ICorDebugEval2_NewParameterizedObjectNoConstructor(This,pClass,nTypeArgs,ppTypeArgs) \ - ( (This)->lpVtbl -> NewParameterizedObjectNoConstructor(This,pClass,nTypeArgs,ppTypeArgs) ) +#define ICorDebugEval2_NewParameterizedObjectNoConstructor(This,pClass,nTypeArgs,ppTypeArgs) \ + ( (This)->lpVtbl -> NewParameterizedObjectNoConstructor(This,pClass,nTypeArgs,ppTypeArgs) ) -#define ICorDebugEval2_NewParameterizedArray(This,pElementType,rank,dims,lowBounds) \ - ( (This)->lpVtbl -> NewParameterizedArray(This,pElementType,rank,dims,lowBounds) ) +#define ICorDebugEval2_NewParameterizedArray(This,pElementType,rank,dims,lowBounds) \ + ( (This)->lpVtbl -> NewParameterizedArray(This,pElementType,rank,dims,lowBounds) ) -#define ICorDebugEval2_NewStringWithLength(This,string,uiLength) \ - ( (This)->lpVtbl -> NewStringWithLength(This,string,uiLength) ) +#define ICorDebugEval2_NewStringWithLength(This,string,uiLength) \ + ( (This)->lpVtbl -> NewStringWithLength(This,string,uiLength) ) -#define ICorDebugEval2_RudeAbort(This) \ - ( (This)->lpVtbl -> RudeAbort(This) ) +#define ICorDebugEval2_RudeAbort(This) \ + ( (This)->lpVtbl -> RudeAbort(This) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugEval2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugEval2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugValue_INTERFACE_DEFINED__ #define __ICorDebugValue_INTERFACE_DEFINED__ /* interface ICorDebugValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAF7-8A68-11d2-983C-0000F808342D") ICorDebugValue : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetType( + virtual HRESULT STDMETHODCALLTYPE GetType( /* [out] */ CorElementType *pType) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSize( + + virtual HRESULT STDMETHODCALLTYPE GetSize( /* [out] */ ULONG32 *pSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAddress( + + virtual HRESULT STDMETHODCALLTYPE GetAddress( /* [out] */ CORDB_ADDRESS *pAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateBreakpoint( + + virtual HRESULT STDMETHODCALLTYPE CreateBreakpoint( /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugValue * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugValue * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - + END_INTERFACE } ICorDebugValueVtbl; @@ -14147,87 +15069,91 @@ EXTERN_C const IID IID_ICorDebugValue; CONST_VTBL struct ICorDebugValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugValue_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugValue_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugValue_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugValue_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugValue_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugValue_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugValue_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugValue_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugValue_INTERFACE_DEFINED__ */ #ifndef __ICorDebugValue2_INTERFACE_DEFINED__ #define __ICorDebugValue2_INTERFACE_DEFINED__ /* interface ICorDebugValue2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugValue2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("5E0B54E7-D88A-4626-9420-A691E0A78B49") ICorDebugValue2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetExactType( + virtual HRESULT STDMETHODCALLTYPE GetExactType( /* [out] */ ICorDebugType **ppType) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugValue2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugValue2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugValue2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugValue2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetExactType )( + + DECLSPEC_XFGVIRT(ICorDebugValue2, GetExactType) + HRESULT ( STDMETHODCALLTYPE *GetExactType )( ICorDebugValue2 * This, /* [out] */ ICorDebugType **ppType); - + END_INTERFACE } ICorDebugValue2Vtbl; @@ -14236,78 +15162,82 @@ EXTERN_C const IID IID_ICorDebugValue2; CONST_VTBL struct ICorDebugValue2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugValue2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugValue2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugValue2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugValue2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugValue2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugValue2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugValue2_GetExactType(This,ppType) \ - ( (This)->lpVtbl -> GetExactType(This,ppType) ) +#define ICorDebugValue2_GetExactType(This,ppType) \ + ( (This)->lpVtbl -> GetExactType(This,ppType) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugValue2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugValue2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugValue3_INTERFACE_DEFINED__ #define __ICorDebugValue3_INTERFACE_DEFINED__ /* interface ICorDebugValue3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugValue3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("565005FC-0F8A-4F3E-9EDB-83102B156595") ICorDebugValue3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetSize64( + virtual HRESULT STDMETHODCALLTYPE GetSize64( /* [out] */ ULONG64 *pSize) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugValue3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugValue3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugValue3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugValue3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetSize64 )( + + DECLSPEC_XFGVIRT(ICorDebugValue3, GetSize64) + HRESULT ( STDMETHODCALLTYPE *GetSize64 )( ICorDebugValue3 * This, /* [out] */ ULONG64 *pSize); - + END_INTERFACE } ICorDebugValue3Vtbl; @@ -14316,101 +15246,110 @@ EXTERN_C const IID IID_ICorDebugValue3; CONST_VTBL struct ICorDebugValue3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugValue3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugValue3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugValue3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugValue3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugValue3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugValue3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugValue3_GetSize64(This,pSize) \ - ( (This)->lpVtbl -> GetSize64(This,pSize) ) +#define ICorDebugValue3_GetSize64(This,pSize) \ + ( (This)->lpVtbl -> GetSize64(This,pSize) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugValue3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugValue3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugGenericValue_INTERFACE_DEFINED__ #define __ICorDebugGenericValue_INTERFACE_DEFINED__ /* interface ICorDebugGenericValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugGenericValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAF8-8A68-11d2-983C-0000F808342D") ICorDebugGenericValue : public ICorDebugValue { public: - virtual HRESULT STDMETHODCALLTYPE GetValue( + virtual HRESULT STDMETHODCALLTYPE GetValue( /* [out] */ void *pTo) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetValue( + + virtual HRESULT STDMETHODCALLTYPE SetValue( /* [in] */ void *pFrom) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugGenericValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugGenericValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugGenericValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugGenericValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugGenericValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugGenericValue * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugGenericValue * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugGenericValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *GetValue )( + + DECLSPEC_XFGVIRT(ICorDebugGenericValue, GetValue) + HRESULT ( STDMETHODCALLTYPE *GetValue )( ICorDebugGenericValue * This, /* [out] */ void *pTo); - - HRESULT ( STDMETHODCALLTYPE *SetValue )( + + DECLSPEC_XFGVIRT(ICorDebugGenericValue, SetValue) + HRESULT ( STDMETHODCALLTYPE *SetValue )( ICorDebugGenericValue * This, /* [in] */ void *pFrom); - + END_INTERFACE } ICorDebugGenericValueVtbl; @@ -14419,138 +15358,150 @@ EXTERN_C const IID IID_ICorDebugGenericValue; CONST_VTBL struct ICorDebugGenericValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugGenericValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugGenericValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugGenericValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugGenericValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugGenericValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugGenericValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugGenericValue_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugGenericValue_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugGenericValue_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugGenericValue_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugGenericValue_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugGenericValue_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugGenericValue_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugGenericValue_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugGenericValue_GetValue(This,pTo) \ - ( (This)->lpVtbl -> GetValue(This,pTo) ) +#define ICorDebugGenericValue_GetValue(This,pTo) \ + ( (This)->lpVtbl -> GetValue(This,pTo) ) -#define ICorDebugGenericValue_SetValue(This,pFrom) \ - ( (This)->lpVtbl -> SetValue(This,pFrom) ) +#define ICorDebugGenericValue_SetValue(This,pFrom) \ + ( (This)->lpVtbl -> SetValue(This,pFrom) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugGenericValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugGenericValue_INTERFACE_DEFINED__ */ #ifndef __ICorDebugReferenceValue_INTERFACE_DEFINED__ #define __ICorDebugReferenceValue_INTERFACE_DEFINED__ /* interface ICorDebugReferenceValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugReferenceValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAF9-8A68-11d2-983C-0000F808342D") ICorDebugReferenceValue : public ICorDebugValue { public: - virtual HRESULT STDMETHODCALLTYPE IsNull( + virtual HRESULT STDMETHODCALLTYPE IsNull( /* [out] */ BOOL *pbNull) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetValue( + + virtual HRESULT STDMETHODCALLTYPE GetValue( /* [out] */ CORDB_ADDRESS *pValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetValue( + + virtual HRESULT STDMETHODCALLTYPE SetValue( /* [in] */ CORDB_ADDRESS value) = 0; - - virtual HRESULT STDMETHODCALLTYPE Dereference( + + virtual HRESULT STDMETHODCALLTYPE Dereference( /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE DereferenceStrong( + + virtual HRESULT STDMETHODCALLTYPE DereferenceStrong( /* [out] */ ICorDebugValue **ppValue) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugReferenceValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugReferenceValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugReferenceValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugReferenceValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugReferenceValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugReferenceValue * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugReferenceValue * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugReferenceValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *IsNull )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, IsNull) + HRESULT ( STDMETHODCALLTYPE *IsNull )( ICorDebugReferenceValue * This, /* [out] */ BOOL *pbNull); - - HRESULT ( STDMETHODCALLTYPE *GetValue )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, GetValue) + HRESULT ( STDMETHODCALLTYPE *GetValue )( ICorDebugReferenceValue * This, /* [out] */ CORDB_ADDRESS *pValue); - - HRESULT ( STDMETHODCALLTYPE *SetValue )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, SetValue) + HRESULT ( STDMETHODCALLTYPE *SetValue )( ICorDebugReferenceValue * This, /* [in] */ CORDB_ADDRESS value); - - HRESULT ( STDMETHODCALLTYPE *Dereference )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, Dereference) + HRESULT ( STDMETHODCALLTYPE *Dereference )( ICorDebugReferenceValue * This, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *DereferenceStrong )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, DereferenceStrong) + HRESULT ( STDMETHODCALLTYPE *DereferenceStrong )( ICorDebugReferenceValue * This, /* [out] */ ICorDebugValue **ppValue); - + END_INTERFACE } ICorDebugReferenceValueVtbl; @@ -14559,126 +15510,135 @@ EXTERN_C const IID IID_ICorDebugReferenceValue; CONST_VTBL struct ICorDebugReferenceValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugReferenceValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugReferenceValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugReferenceValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugReferenceValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugReferenceValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugReferenceValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugReferenceValue_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugReferenceValue_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugReferenceValue_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugReferenceValue_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugReferenceValue_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugReferenceValue_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugReferenceValue_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugReferenceValue_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugReferenceValue_IsNull(This,pbNull) \ - ( (This)->lpVtbl -> IsNull(This,pbNull) ) +#define ICorDebugReferenceValue_IsNull(This,pbNull) \ + ( (This)->lpVtbl -> IsNull(This,pbNull) ) -#define ICorDebugReferenceValue_GetValue(This,pValue) \ - ( (This)->lpVtbl -> GetValue(This,pValue) ) +#define ICorDebugReferenceValue_GetValue(This,pValue) \ + ( (This)->lpVtbl -> GetValue(This,pValue) ) -#define ICorDebugReferenceValue_SetValue(This,value) \ - ( (This)->lpVtbl -> SetValue(This,value) ) +#define ICorDebugReferenceValue_SetValue(This,value) \ + ( (This)->lpVtbl -> SetValue(This,value) ) -#define ICorDebugReferenceValue_Dereference(This,ppValue) \ - ( (This)->lpVtbl -> Dereference(This,ppValue) ) +#define ICorDebugReferenceValue_Dereference(This,ppValue) \ + ( (This)->lpVtbl -> Dereference(This,ppValue) ) -#define ICorDebugReferenceValue_DereferenceStrong(This,ppValue) \ - ( (This)->lpVtbl -> DereferenceStrong(This,ppValue) ) +#define ICorDebugReferenceValue_DereferenceStrong(This,ppValue) \ + ( (This)->lpVtbl -> DereferenceStrong(This,ppValue) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugReferenceValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugReferenceValue_INTERFACE_DEFINED__ */ #ifndef __ICorDebugHeapValue_INTERFACE_DEFINED__ #define __ICorDebugHeapValue_INTERFACE_DEFINED__ /* interface ICorDebugHeapValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugHeapValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAFA-8A68-11d2-983C-0000F808342D") ICorDebugHeapValue : public ICorDebugValue { public: - virtual HRESULT STDMETHODCALLTYPE IsValid( + virtual HRESULT STDMETHODCALLTYPE IsValid( /* [out] */ BOOL *pbValid) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateRelocBreakpoint( + + virtual HRESULT STDMETHODCALLTYPE CreateRelocBreakpoint( /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugHeapValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugHeapValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugHeapValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugHeapValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugHeapValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugHeapValue * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugHeapValue * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugHeapValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *IsValid )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue, IsValid) + HRESULT ( STDMETHODCALLTYPE *IsValid )( ICorDebugHeapValue * This, /* [out] */ BOOL *pbValid); - - HRESULT ( STDMETHODCALLTYPE *CreateRelocBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue, CreateRelocBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateRelocBreakpoint )( ICorDebugHeapValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - + END_INTERFACE } ICorDebugHeapValueVtbl; @@ -14687,96 +15647,100 @@ EXTERN_C const IID IID_ICorDebugHeapValue; CONST_VTBL struct ICorDebugHeapValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugHeapValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugHeapValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugHeapValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugHeapValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugHeapValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugHeapValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugHeapValue_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugHeapValue_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugHeapValue_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugHeapValue_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugHeapValue_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugHeapValue_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugHeapValue_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugHeapValue_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugHeapValue_IsValid(This,pbValid) \ - ( (This)->lpVtbl -> IsValid(This,pbValid) ) +#define ICorDebugHeapValue_IsValid(This,pbValid) \ + ( (This)->lpVtbl -> IsValid(This,pbValid) ) -#define ICorDebugHeapValue_CreateRelocBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateRelocBreakpoint(This,ppBreakpoint) ) +#define ICorDebugHeapValue_CreateRelocBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateRelocBreakpoint(This,ppBreakpoint) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugHeapValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugHeapValue_INTERFACE_DEFINED__ */ #ifndef __ICorDebugHeapValue2_INTERFACE_DEFINED__ #define __ICorDebugHeapValue2_INTERFACE_DEFINED__ /* interface ICorDebugHeapValue2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugHeapValue2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("E3AC4D6C-9CB7-43e6-96CC-B21540E5083C") ICorDebugHeapValue2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CreateHandle( + virtual HRESULT STDMETHODCALLTYPE CreateHandle( /* [in] */ CorDebugHandleType type, /* [out] */ ICorDebugHandleValue **ppHandle) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugHeapValue2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugHeapValue2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugHeapValue2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugHeapValue2 * This); - - HRESULT ( STDMETHODCALLTYPE *CreateHandle )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue2, CreateHandle) + HRESULT ( STDMETHODCALLTYPE *CreateHandle )( ICorDebugHeapValue2 * This, /* [in] */ CorDebugHandleType type, /* [out] */ ICorDebugHandleValue **ppHandle); - + END_INTERFACE } ICorDebugHeapValue2Vtbl; @@ -14785,87 +15749,92 @@ EXTERN_C const IID IID_ICorDebugHeapValue2; CONST_VTBL struct ICorDebugHeapValue2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugHeapValue2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugHeapValue2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugHeapValue2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugHeapValue2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugHeapValue2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugHeapValue2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugHeapValue2_CreateHandle(This,type,ppHandle) \ - ( (This)->lpVtbl -> CreateHandle(This,type,ppHandle) ) +#define ICorDebugHeapValue2_CreateHandle(This,type,ppHandle) \ + ( (This)->lpVtbl -> CreateHandle(This,type,ppHandle) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugHeapValue2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugHeapValue2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugHeapValue3_INTERFACE_DEFINED__ #define __ICorDebugHeapValue3_INTERFACE_DEFINED__ /* interface ICorDebugHeapValue3 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugHeapValue3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("A69ACAD8-2374-46e9-9FF8-B1F14120D296") ICorDebugHeapValue3 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetThreadOwningMonitorLock( + virtual HRESULT STDMETHODCALLTYPE GetThreadOwningMonitorLock( /* [out] */ ICorDebugThread **ppThread, /* [out] */ DWORD *pAcquisitionCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMonitorEventWaitList( + + virtual HRESULT STDMETHODCALLTYPE GetMonitorEventWaitList( /* [out] */ ICorDebugThreadEnum **ppThreadEnum) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugHeapValue3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugHeapValue3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugHeapValue3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugHeapValue3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetThreadOwningMonitorLock )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue3, GetThreadOwningMonitorLock) + HRESULT ( STDMETHODCALLTYPE *GetThreadOwningMonitorLock )( ICorDebugHeapValue3 * This, /* [out] */ ICorDebugThread **ppThread, /* [out] */ DWORD *pAcquisitionCount); - - HRESULT ( STDMETHODCALLTYPE *GetMonitorEventWaitList )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue3, GetMonitorEventWaitList) + HRESULT ( STDMETHODCALLTYPE *GetMonitorEventWaitList )( ICorDebugHeapValue3 * This, /* [out] */ ICorDebugThreadEnum **ppThreadEnum); - + END_INTERFACE } ICorDebugHeapValue3Vtbl; @@ -14874,81 +15843,85 @@ EXTERN_C const IID IID_ICorDebugHeapValue3; CONST_VTBL struct ICorDebugHeapValue3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugHeapValue3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugHeapValue3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugHeapValue3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugHeapValue3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugHeapValue3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugHeapValue3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugHeapValue3_GetThreadOwningMonitorLock(This,ppThread,pAcquisitionCount) \ - ( (This)->lpVtbl -> GetThreadOwningMonitorLock(This,ppThread,pAcquisitionCount) ) +#define ICorDebugHeapValue3_GetThreadOwningMonitorLock(This,ppThread,pAcquisitionCount) \ + ( (This)->lpVtbl -> GetThreadOwningMonitorLock(This,ppThread,pAcquisitionCount) ) -#define ICorDebugHeapValue3_GetMonitorEventWaitList(This,ppThreadEnum) \ - ( (This)->lpVtbl -> GetMonitorEventWaitList(This,ppThreadEnum) ) +#define ICorDebugHeapValue3_GetMonitorEventWaitList(This,ppThreadEnum) \ + ( (This)->lpVtbl -> GetMonitorEventWaitList(This,ppThreadEnum) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugHeapValue3_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugHeapValue3_INTERFACE_DEFINED__ */ #ifndef __ICorDebugHeapValue4_INTERFACE_DEFINED__ #define __ICorDebugHeapValue4_INTERFACE_DEFINED__ /* interface ICorDebugHeapValue4 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugHeapValue4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("B35DD495-A555-463B-9BE9-C55338486BB8") ICorDebugHeapValue4 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CreatePinnedHandle( + virtual HRESULT STDMETHODCALLTYPE CreatePinnedHandle( /* [out] */ ICorDebugHandleValue **ppHandle) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugHeapValue4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugHeapValue4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugHeapValue4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugHeapValue4 * This); - - HRESULT ( STDMETHODCALLTYPE *CreatePinnedHandle )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue4, CreatePinnedHandle) + HRESULT ( STDMETHODCALLTYPE *CreatePinnedHandle )( ICorDebugHeapValue4 * This, /* [out] */ ICorDebugHandleValue **ppHandle); - + END_INTERFACE } ICorDebugHeapValue4Vtbl; @@ -14957,142 +15930,156 @@ EXTERN_C const IID IID_ICorDebugHeapValue4; CONST_VTBL struct ICorDebugHeapValue4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugHeapValue4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugHeapValue4_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugHeapValue4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugHeapValue4_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugHeapValue4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugHeapValue4_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugHeapValue4_CreatePinnedHandle(This,ppHandle) \ - ( (This)->lpVtbl -> CreatePinnedHandle(This,ppHandle) ) +#define ICorDebugHeapValue4_CreatePinnedHandle(This,ppHandle) \ + ( (This)->lpVtbl -> CreatePinnedHandle(This,ppHandle) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugHeapValue4_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugHeapValue4_INTERFACE_DEFINED__ */ #ifndef __ICorDebugObjectValue_INTERFACE_DEFINED__ #define __ICorDebugObjectValue_INTERFACE_DEFINED__ /* interface ICorDebugObjectValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugObjectValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("18AD3D6E-B7D2-11d2-BD04-0000F80849BD") ICorDebugObjectValue : public ICorDebugValue { public: - virtual HRESULT STDMETHODCALLTYPE GetClass( + virtual HRESULT STDMETHODCALLTYPE GetClass( /* [out] */ ICorDebugClass **ppClass) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFieldValue( + + virtual HRESULT STDMETHODCALLTYPE GetFieldValue( /* [in] */ ICorDebugClass *pClass, /* [in] */ mdFieldDef fieldDef, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVirtualMethod( + + virtual HRESULT STDMETHODCALLTYPE GetVirtualMethod( /* [in] */ mdMemberRef memberRef, /* [out] */ ICorDebugFunction **ppFunction) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetContext( + + virtual HRESULT STDMETHODCALLTYPE GetContext( /* [out] */ ICorDebugContext **ppContext) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsValueClass( + + virtual HRESULT STDMETHODCALLTYPE IsValueClass( /* [out] */ BOOL *pbIsValueClass) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetManagedCopy( + + virtual HRESULT STDMETHODCALLTYPE GetManagedCopy( /* [out] */ IUnknown **ppObject) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFromManagedCopy( + + virtual HRESULT STDMETHODCALLTYPE SetFromManagedCopy( /* [in] */ IUnknown *pObject) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugObjectValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugObjectValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugObjectValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugObjectValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugObjectValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugObjectValue * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugObjectValue * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugObjectValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *GetClass )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetClass) + HRESULT ( STDMETHODCALLTYPE *GetClass )( ICorDebugObjectValue * This, /* [out] */ ICorDebugClass **ppClass); - - HRESULT ( STDMETHODCALLTYPE *GetFieldValue )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetFieldValue) + HRESULT ( STDMETHODCALLTYPE *GetFieldValue )( ICorDebugObjectValue * This, /* [in] */ ICorDebugClass *pClass, /* [in] */ mdFieldDef fieldDef, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetVirtualMethod )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetVirtualMethod) + HRESULT ( STDMETHODCALLTYPE *GetVirtualMethod )( ICorDebugObjectValue * This, /* [in] */ mdMemberRef memberRef, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetContext )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetContext) + HRESULT ( STDMETHODCALLTYPE *GetContext )( ICorDebugObjectValue * This, /* [out] */ ICorDebugContext **ppContext); - - HRESULT ( STDMETHODCALLTYPE *IsValueClass )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, IsValueClass) + HRESULT ( STDMETHODCALLTYPE *IsValueClass )( ICorDebugObjectValue * This, /* [out] */ BOOL *pbIsValueClass); - - HRESULT ( STDMETHODCALLTYPE *GetManagedCopy )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetManagedCopy) + HRESULT ( STDMETHODCALLTYPE *GetManagedCopy )( ICorDebugObjectValue * This, /* [out] */ IUnknown **ppObject); - - HRESULT ( STDMETHODCALLTYPE *SetFromManagedCopy )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, SetFromManagedCopy) + HRESULT ( STDMETHODCALLTYPE *SetFromManagedCopy )( ICorDebugObjectValue * This, /* [in] */ IUnknown *pObject); - + END_INTERFACE } ICorDebugObjectValueVtbl; @@ -15101,113 +16088,117 @@ EXTERN_C const IID IID_ICorDebugObjectValue; CONST_VTBL struct ICorDebugObjectValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugObjectValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugObjectValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugObjectValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugObjectValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugObjectValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugObjectValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugObjectValue_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugObjectValue_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugObjectValue_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugObjectValue_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugObjectValue_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugObjectValue_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugObjectValue_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugObjectValue_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugObjectValue_GetClass(This,ppClass) \ - ( (This)->lpVtbl -> GetClass(This,ppClass) ) +#define ICorDebugObjectValue_GetClass(This,ppClass) \ + ( (This)->lpVtbl -> GetClass(This,ppClass) ) -#define ICorDebugObjectValue_GetFieldValue(This,pClass,fieldDef,ppValue) \ - ( (This)->lpVtbl -> GetFieldValue(This,pClass,fieldDef,ppValue) ) +#define ICorDebugObjectValue_GetFieldValue(This,pClass,fieldDef,ppValue) \ + ( (This)->lpVtbl -> GetFieldValue(This,pClass,fieldDef,ppValue) ) -#define ICorDebugObjectValue_GetVirtualMethod(This,memberRef,ppFunction) \ - ( (This)->lpVtbl -> GetVirtualMethod(This,memberRef,ppFunction) ) +#define ICorDebugObjectValue_GetVirtualMethod(This,memberRef,ppFunction) \ + ( (This)->lpVtbl -> GetVirtualMethod(This,memberRef,ppFunction) ) -#define ICorDebugObjectValue_GetContext(This,ppContext) \ - ( (This)->lpVtbl -> GetContext(This,ppContext) ) +#define ICorDebugObjectValue_GetContext(This,ppContext) \ + ( (This)->lpVtbl -> GetContext(This,ppContext) ) -#define ICorDebugObjectValue_IsValueClass(This,pbIsValueClass) \ - ( (This)->lpVtbl -> IsValueClass(This,pbIsValueClass) ) +#define ICorDebugObjectValue_IsValueClass(This,pbIsValueClass) \ + ( (This)->lpVtbl -> IsValueClass(This,pbIsValueClass) ) -#define ICorDebugObjectValue_GetManagedCopy(This,ppObject) \ - ( (This)->lpVtbl -> GetManagedCopy(This,ppObject) ) +#define ICorDebugObjectValue_GetManagedCopy(This,ppObject) \ + ( (This)->lpVtbl -> GetManagedCopy(This,ppObject) ) -#define ICorDebugObjectValue_SetFromManagedCopy(This,pObject) \ - ( (This)->lpVtbl -> SetFromManagedCopy(This,pObject) ) +#define ICorDebugObjectValue_SetFromManagedCopy(This,pObject) \ + ( (This)->lpVtbl -> SetFromManagedCopy(This,pObject) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugObjectValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugObjectValue_INTERFACE_DEFINED__ */ #ifndef __ICorDebugObjectValue2_INTERFACE_DEFINED__ #define __ICorDebugObjectValue2_INTERFACE_DEFINED__ /* interface ICorDebugObjectValue2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugObjectValue2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("49E4A320-4A9B-4eca-B105-229FB7D5009F") ICorDebugObjectValue2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetVirtualMethodAndType( + virtual HRESULT STDMETHODCALLTYPE GetVirtualMethodAndType( /* [in] */ mdMemberRef memberRef, /* [out] */ ICorDebugFunction **ppFunction, /* [out] */ ICorDebugType **ppType) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugObjectValue2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugObjectValue2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugObjectValue2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugObjectValue2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetVirtualMethodAndType )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue2, GetVirtualMethodAndType) + HRESULT ( STDMETHODCALLTYPE *GetVirtualMethodAndType )( ICorDebugObjectValue2 * This, /* [in] */ mdMemberRef memberRef, /* [out] */ ICorDebugFunction **ppFunction, /* [out] */ ICorDebugType **ppType); - + END_INTERFACE } ICorDebugObjectValue2Vtbl; @@ -15216,85 +16207,90 @@ EXTERN_C const IID IID_ICorDebugObjectValue2; CONST_VTBL struct ICorDebugObjectValue2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugObjectValue2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugObjectValue2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugObjectValue2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugObjectValue2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugObjectValue2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugObjectValue2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugObjectValue2_GetVirtualMethodAndType(This,memberRef,ppFunction,ppType) \ - ( (This)->lpVtbl -> GetVirtualMethodAndType(This,memberRef,ppFunction,ppType) ) +#define ICorDebugObjectValue2_GetVirtualMethodAndType(This,memberRef,ppFunction,ppType) \ + ( (This)->lpVtbl -> GetVirtualMethodAndType(This,memberRef,ppFunction,ppType) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugObjectValue2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugObjectValue2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugDelegateObjectValue_INTERFACE_DEFINED__ #define __ICorDebugDelegateObjectValue_INTERFACE_DEFINED__ /* interface ICorDebugDelegateObjectValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugDelegateObjectValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("3AF70CC7-6047-47F6-A5C5-090A1A622638") ICorDebugDelegateObjectValue : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetTarget( + virtual HRESULT STDMETHODCALLTYPE GetTarget( /* [out] */ ICorDebugReferenceValue **ppObject) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunction( + + virtual HRESULT STDMETHODCALLTYPE GetFunction( /* [out] */ ICorDebugFunction **ppFunction) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugDelegateObjectValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugDelegateObjectValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugDelegateObjectValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugDelegateObjectValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetTarget )( + + DECLSPEC_XFGVIRT(ICorDebugDelegateObjectValue, GetTarget) + HRESULT ( STDMETHODCALLTYPE *GetTarget )( ICorDebugDelegateObjectValue * This, /* [out] */ ICorDebugReferenceValue **ppObject); - - HRESULT ( STDMETHODCALLTYPE *GetFunction )( + + DECLSPEC_XFGVIRT(ICorDebugDelegateObjectValue, GetFunction) + HRESULT ( STDMETHODCALLTYPE *GetFunction )( ICorDebugDelegateObjectValue * This, /* [out] */ ICorDebugFunction **ppFunction); - + END_INTERFACE } ICorDebugDelegateObjectValueVtbl; @@ -15303,105 +16299,115 @@ EXTERN_C const IID IID_ICorDebugDelegateObjectValue; CONST_VTBL struct ICorDebugDelegateObjectValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugDelegateObjectValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugDelegateObjectValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugDelegateObjectValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugDelegateObjectValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugDelegateObjectValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugDelegateObjectValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugDelegateObjectValue_GetTarget(This,ppObject) \ - ( (This)->lpVtbl -> GetTarget(This,ppObject) ) +#define ICorDebugDelegateObjectValue_GetTarget(This,ppObject) \ + ( (This)->lpVtbl -> GetTarget(This,ppObject) ) -#define ICorDebugDelegateObjectValue_GetFunction(This,ppFunction) \ - ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) +#define ICorDebugDelegateObjectValue_GetFunction(This,ppFunction) \ + ( (This)->lpVtbl -> GetFunction(This,ppFunction) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugDelegateObjectValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugDelegateObjectValue_INTERFACE_DEFINED__ */ #ifndef __ICorDebugBoxValue_INTERFACE_DEFINED__ #define __ICorDebugBoxValue_INTERFACE_DEFINED__ /* interface ICorDebugBoxValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugBoxValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAFC-8A68-11d2-983C-0000F808342D") ICorDebugBoxValue : public ICorDebugHeapValue { public: - virtual HRESULT STDMETHODCALLTYPE GetObject( + virtual HRESULT STDMETHODCALLTYPE GetObject( /* [out] */ ICorDebugObjectValue **ppObject) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugBoxValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugBoxValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugBoxValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugBoxValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugBoxValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugBoxValue * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugBoxValue * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugBoxValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *IsValid )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue, IsValid) + HRESULT ( STDMETHODCALLTYPE *IsValid )( ICorDebugBoxValue * This, /* [out] */ BOOL *pbValid); - - HRESULT ( STDMETHODCALLTYPE *CreateRelocBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue, CreateRelocBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateRelocBreakpoint )( ICorDebugBoxValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *GetObject )( + + DECLSPEC_XFGVIRT(ICorDebugBoxValue, GetObject) + HRESULT ( STDMETHODCALLTYPE *GetObject )( ICorDebugBoxValue * This, /* [out] */ ICorDebugObjectValue **ppObject); - + END_INTERFACE } ICorDebugBoxValueVtbl; @@ -15410,143 +16416,154 @@ EXTERN_C const IID IID_ICorDebugBoxValue; CONST_VTBL struct ICorDebugBoxValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugBoxValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugBoxValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugBoxValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugBoxValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugBoxValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugBoxValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugBoxValue_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugBoxValue_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugBoxValue_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugBoxValue_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugBoxValue_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugBoxValue_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugBoxValue_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugBoxValue_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugBoxValue_IsValid(This,pbValid) \ - ( (This)->lpVtbl -> IsValid(This,pbValid) ) +#define ICorDebugBoxValue_IsValid(This,pbValid) \ + ( (This)->lpVtbl -> IsValid(This,pbValid) ) -#define ICorDebugBoxValue_CreateRelocBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateRelocBreakpoint(This,ppBreakpoint) ) +#define ICorDebugBoxValue_CreateRelocBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateRelocBreakpoint(This,ppBreakpoint) ) -#define ICorDebugBoxValue_GetObject(This,ppObject) \ - ( (This)->lpVtbl -> GetObject(This,ppObject) ) +#define ICorDebugBoxValue_GetObject(This,ppObject) \ + ( (This)->lpVtbl -> GetObject(This,ppObject) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugBoxValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugBoxValue_INTERFACE_DEFINED__ */ -/* interface __MIDL_itf_cordebug_0000_0105 */ -/* [local] */ +/* interface __MIDL_itf_cordebug_0000_0106 */ +/* [local] */ #pragma warning(push) -#pragma warning(disable:28718) +#pragma warning(disable:28718) -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0105_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0105_v0_0_s_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0106_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0106_v0_0_s_ifspec; #ifndef __ICorDebugStringValue_INTERFACE_DEFINED__ #define __ICorDebugStringValue_INTERFACE_DEFINED__ /* interface ICorDebugStringValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugStringValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCAFD-8A68-11d2-983C-0000F808342D") ICorDebugStringValue : public ICorDebugHeapValue { public: - virtual HRESULT STDMETHODCALLTYPE GetLength( + virtual HRESULT STDMETHODCALLTYPE GetLength( /* [out] */ ULONG32 *pcchString) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( + + virtual HRESULT STDMETHODCALLTYPE GetString( /* [in] */ ULONG32 cchString, /* [out] */ ULONG32 *pcchString, /* [length_is][size_is][out] */ WCHAR szString[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugStringValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugStringValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugStringValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugStringValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugStringValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugStringValue * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugStringValue * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugStringValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *IsValid )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue, IsValid) + HRESULT ( STDMETHODCALLTYPE *IsValid )( ICorDebugStringValue * This, /* [out] */ BOOL *pbValid); - - HRESULT ( STDMETHODCALLTYPE *CreateRelocBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue, CreateRelocBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateRelocBreakpoint )( ICorDebugStringValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *GetLength )( + + DECLSPEC_XFGVIRT(ICorDebugStringValue, GetLength) + HRESULT ( STDMETHODCALLTYPE *GetLength )( ICorDebugStringValue * This, /* [out] */ ULONG32 *pcchString); - - HRESULT ( STDMETHODCALLTYPE *GetString )( + + DECLSPEC_XFGVIRT(ICorDebugStringValue, GetString) + HRESULT ( STDMETHODCALLTYPE *GetString )( ICorDebugStringValue * This, /* [in] */ ULONG32 cchString, /* [out] */ ULONG32 *pcchString, /* [length_is][size_is][out] */ WCHAR szString[ ]); - + END_INTERFACE } ICorDebugStringValueVtbl; @@ -15555,193 +16572,210 @@ EXTERN_C const IID IID_ICorDebugStringValue; CONST_VTBL struct ICorDebugStringValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugStringValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugStringValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugStringValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugStringValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugStringValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugStringValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugStringValue_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugStringValue_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugStringValue_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugStringValue_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugStringValue_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugStringValue_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugStringValue_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugStringValue_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugStringValue_IsValid(This,pbValid) \ - ( (This)->lpVtbl -> IsValid(This,pbValid) ) +#define ICorDebugStringValue_IsValid(This,pbValid) \ + ( (This)->lpVtbl -> IsValid(This,pbValid) ) -#define ICorDebugStringValue_CreateRelocBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateRelocBreakpoint(This,ppBreakpoint) ) +#define ICorDebugStringValue_CreateRelocBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateRelocBreakpoint(This,ppBreakpoint) ) -#define ICorDebugStringValue_GetLength(This,pcchString) \ - ( (This)->lpVtbl -> GetLength(This,pcchString) ) +#define ICorDebugStringValue_GetLength(This,pcchString) \ + ( (This)->lpVtbl -> GetLength(This,pcchString) ) -#define ICorDebugStringValue_GetString(This,cchString,pcchString,szString) \ - ( (This)->lpVtbl -> GetString(This,cchString,pcchString,szString) ) +#define ICorDebugStringValue_GetString(This,cchString,pcchString,szString) \ + ( (This)->lpVtbl -> GetString(This,cchString,pcchString,szString) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugStringValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugStringValue_INTERFACE_DEFINED__ */ -/* interface __MIDL_itf_cordebug_0000_0106 */ -/* [local] */ +/* interface __MIDL_itf_cordebug_0000_0107 */ +/* [local] */ #pragma warning(pop) -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0106_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0106_v0_0_s_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0107_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0107_v0_0_s_ifspec; #ifndef __ICorDebugArrayValue_INTERFACE_DEFINED__ #define __ICorDebugArrayValue_INTERFACE_DEFINED__ /* interface ICorDebugArrayValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugArrayValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("0405B0DF-A660-11d2-BD02-0000F80849BD") ICorDebugArrayValue : public ICorDebugHeapValue { public: - virtual HRESULT STDMETHODCALLTYPE GetElementType( + virtual HRESULT STDMETHODCALLTYPE GetElementType( /* [out] */ CorElementType *pType) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRank( + + virtual HRESULT STDMETHODCALLTYPE GetRank( /* [out] */ ULONG32 *pnRank) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG32 *pnCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDimensions( + + virtual HRESULT STDMETHODCALLTYPE GetDimensions( /* [in] */ ULONG32 cdim, /* [length_is][size_is][out] */ ULONG32 dims[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE HasBaseIndicies( + + virtual HRESULT STDMETHODCALLTYPE HasBaseIndicies( /* [out] */ BOOL *pbHasBaseIndicies) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBaseIndicies( + + virtual HRESULT STDMETHODCALLTYPE GetBaseIndicies( /* [in] */ ULONG32 cdim, /* [length_is][size_is][out] */ ULONG32 indices[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetElement( + + virtual HRESULT STDMETHODCALLTYPE GetElement( /* [in] */ ULONG32 cdim, /* [length_is][size_is][in] */ ULONG32 indices[ ], /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetElementAtPosition( + + virtual HRESULT STDMETHODCALLTYPE GetElementAtPosition( /* [in] */ ULONG32 nPosition, /* [out] */ ICorDebugValue **ppValue) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugArrayValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugArrayValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugArrayValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugArrayValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugArrayValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugArrayValue * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugArrayValue * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugArrayValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *IsValid )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue, IsValid) + HRESULT ( STDMETHODCALLTYPE *IsValid )( ICorDebugArrayValue * This, /* [out] */ BOOL *pbValid); - - HRESULT ( STDMETHODCALLTYPE *CreateRelocBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugHeapValue, CreateRelocBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateRelocBreakpoint )( ICorDebugArrayValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *GetElementType )( + + DECLSPEC_XFGVIRT(ICorDebugArrayValue, GetElementType) + HRESULT ( STDMETHODCALLTYPE *GetElementType )( ICorDebugArrayValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetRank )( + + DECLSPEC_XFGVIRT(ICorDebugArrayValue, GetRank) + HRESULT ( STDMETHODCALLTYPE *GetRank )( ICorDebugArrayValue * This, /* [out] */ ULONG32 *pnRank); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugArrayValue, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugArrayValue * This, /* [out] */ ULONG32 *pnCount); - - HRESULT ( STDMETHODCALLTYPE *GetDimensions )( + + DECLSPEC_XFGVIRT(ICorDebugArrayValue, GetDimensions) + HRESULT ( STDMETHODCALLTYPE *GetDimensions )( ICorDebugArrayValue * This, /* [in] */ ULONG32 cdim, /* [length_is][size_is][out] */ ULONG32 dims[ ]); - - HRESULT ( STDMETHODCALLTYPE *HasBaseIndicies )( + + DECLSPEC_XFGVIRT(ICorDebugArrayValue, HasBaseIndicies) + HRESULT ( STDMETHODCALLTYPE *HasBaseIndicies )( ICorDebugArrayValue * This, /* [out] */ BOOL *pbHasBaseIndicies); - - HRESULT ( STDMETHODCALLTYPE *GetBaseIndicies )( + + DECLSPEC_XFGVIRT(ICorDebugArrayValue, GetBaseIndicies) + HRESULT ( STDMETHODCALLTYPE *GetBaseIndicies )( ICorDebugArrayValue * This, /* [in] */ ULONG32 cdim, /* [length_is][size_is][out] */ ULONG32 indices[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetElement )( + + DECLSPEC_XFGVIRT(ICorDebugArrayValue, GetElement) + HRESULT ( STDMETHODCALLTYPE *GetElement )( ICorDebugArrayValue * This, /* [in] */ ULONG32 cdim, /* [length_is][size_is][in] */ ULONG32 indices[ ], /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetElementAtPosition )( + + DECLSPEC_XFGVIRT(ICorDebugArrayValue, GetElementAtPosition) + HRESULT ( STDMETHODCALLTYPE *GetElementAtPosition )( ICorDebugArrayValue * This, /* [in] */ ULONG32 nPosition, /* [out] */ ICorDebugValue **ppValue); - + END_INTERFACE } ICorDebugArrayValueVtbl; @@ -15750,171 +16784,181 @@ EXTERN_C const IID IID_ICorDebugArrayValue; CONST_VTBL struct ICorDebugArrayValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugArrayValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugArrayValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugArrayValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugArrayValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugArrayValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugArrayValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugArrayValue_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugArrayValue_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugArrayValue_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugArrayValue_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugArrayValue_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugArrayValue_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugArrayValue_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugArrayValue_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugArrayValue_IsValid(This,pbValid) \ - ( (This)->lpVtbl -> IsValid(This,pbValid) ) +#define ICorDebugArrayValue_IsValid(This,pbValid) \ + ( (This)->lpVtbl -> IsValid(This,pbValid) ) -#define ICorDebugArrayValue_CreateRelocBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateRelocBreakpoint(This,ppBreakpoint) ) +#define ICorDebugArrayValue_CreateRelocBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateRelocBreakpoint(This,ppBreakpoint) ) -#define ICorDebugArrayValue_GetElementType(This,pType) \ - ( (This)->lpVtbl -> GetElementType(This,pType) ) +#define ICorDebugArrayValue_GetElementType(This,pType) \ + ( (This)->lpVtbl -> GetElementType(This,pType) ) -#define ICorDebugArrayValue_GetRank(This,pnRank) \ - ( (This)->lpVtbl -> GetRank(This,pnRank) ) +#define ICorDebugArrayValue_GetRank(This,pnRank) \ + ( (This)->lpVtbl -> GetRank(This,pnRank) ) -#define ICorDebugArrayValue_GetCount(This,pnCount) \ - ( (This)->lpVtbl -> GetCount(This,pnCount) ) +#define ICorDebugArrayValue_GetCount(This,pnCount) \ + ( (This)->lpVtbl -> GetCount(This,pnCount) ) -#define ICorDebugArrayValue_GetDimensions(This,cdim,dims) \ - ( (This)->lpVtbl -> GetDimensions(This,cdim,dims) ) +#define ICorDebugArrayValue_GetDimensions(This,cdim,dims) \ + ( (This)->lpVtbl -> GetDimensions(This,cdim,dims) ) -#define ICorDebugArrayValue_HasBaseIndicies(This,pbHasBaseIndicies) \ - ( (This)->lpVtbl -> HasBaseIndicies(This,pbHasBaseIndicies) ) +#define ICorDebugArrayValue_HasBaseIndicies(This,pbHasBaseIndicies) \ + ( (This)->lpVtbl -> HasBaseIndicies(This,pbHasBaseIndicies) ) -#define ICorDebugArrayValue_GetBaseIndicies(This,cdim,indices) \ - ( (This)->lpVtbl -> GetBaseIndicies(This,cdim,indices) ) +#define ICorDebugArrayValue_GetBaseIndicies(This,cdim,indices) \ + ( (This)->lpVtbl -> GetBaseIndicies(This,cdim,indices) ) -#define ICorDebugArrayValue_GetElement(This,cdim,indices,ppValue) \ - ( (This)->lpVtbl -> GetElement(This,cdim,indices,ppValue) ) +#define ICorDebugArrayValue_GetElement(This,cdim,indices,ppValue) \ + ( (This)->lpVtbl -> GetElement(This,cdim,indices,ppValue) ) -#define ICorDebugArrayValue_GetElementAtPosition(This,nPosition,ppValue) \ - ( (This)->lpVtbl -> GetElementAtPosition(This,nPosition,ppValue) ) +#define ICorDebugArrayValue_GetElementAtPosition(This,nPosition,ppValue) \ + ( (This)->lpVtbl -> GetElementAtPosition(This,nPosition,ppValue) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugArrayValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugArrayValue_INTERFACE_DEFINED__ */ #ifndef __ICorDebugVariableHome_INTERFACE_DEFINED__ #define __ICorDebugVariableHome_INTERFACE_DEFINED__ /* interface ICorDebugVariableHome */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum VariableLocationType { - VLT_REGISTER = 0, - VLT_REGISTER_RELATIVE = ( VLT_REGISTER + 1 ) , - VLT_INVALID = ( VLT_REGISTER_RELATIVE + 1 ) - } VariableLocationType; + VLT_REGISTER = 0, + VLT_REGISTER_RELATIVE = ( VLT_REGISTER + 1 ) , + VLT_INVALID = ( VLT_REGISTER_RELATIVE + 1 ) + } VariableLocationType; EXTERN_C const IID IID_ICorDebugVariableHome; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("50847b8d-f43f-41b0-924c-6383a5f2278b") ICorDebugVariableHome : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetCode( + virtual HRESULT STDMETHODCALLTYPE GetCode( /* [out] */ ICorDebugCode **ppCode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetSlotIndex( + + virtual HRESULT STDMETHODCALLTYPE GetSlotIndex( /* [out] */ ULONG32 *pSlotIndex) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetArgumentIndex( + + virtual HRESULT STDMETHODCALLTYPE GetArgumentIndex( /* [out] */ ULONG32 *pArgumentIndex) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLiveRange( + + virtual HRESULT STDMETHODCALLTYPE GetLiveRange( /* [out] */ ULONG32 *pStartOffset, /* [out] */ ULONG32 *pEndOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLocationType( + + virtual HRESULT STDMETHODCALLTYPE GetLocationType( /* [out] */ VariableLocationType *pLocationType) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRegister( + + virtual HRESULT STDMETHODCALLTYPE GetRegister( /* [out] */ CorDebugRegister *pRegister) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetOffset( + + virtual HRESULT STDMETHODCALLTYPE GetOffset( /* [out] */ LONG *pOffset) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugVariableHomeVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugVariableHome * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugVariableHome * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugVariableHome * This); - - HRESULT ( STDMETHODCALLTYPE *GetCode )( + + DECLSPEC_XFGVIRT(ICorDebugVariableHome, GetCode) + HRESULT ( STDMETHODCALLTYPE *GetCode )( ICorDebugVariableHome * This, /* [out] */ ICorDebugCode **ppCode); - - HRESULT ( STDMETHODCALLTYPE *GetSlotIndex )( + + DECLSPEC_XFGVIRT(ICorDebugVariableHome, GetSlotIndex) + HRESULT ( STDMETHODCALLTYPE *GetSlotIndex )( ICorDebugVariableHome * This, /* [out] */ ULONG32 *pSlotIndex); - - HRESULT ( STDMETHODCALLTYPE *GetArgumentIndex )( + + DECLSPEC_XFGVIRT(ICorDebugVariableHome, GetArgumentIndex) + HRESULT ( STDMETHODCALLTYPE *GetArgumentIndex )( ICorDebugVariableHome * This, /* [out] */ ULONG32 *pArgumentIndex); - - HRESULT ( STDMETHODCALLTYPE *GetLiveRange )( + + DECLSPEC_XFGVIRT(ICorDebugVariableHome, GetLiveRange) + HRESULT ( STDMETHODCALLTYPE *GetLiveRange )( ICorDebugVariableHome * This, /* [out] */ ULONG32 *pStartOffset, /* [out] */ ULONG32 *pEndOffset); - - HRESULT ( STDMETHODCALLTYPE *GetLocationType )( + + DECLSPEC_XFGVIRT(ICorDebugVariableHome, GetLocationType) + HRESULT ( STDMETHODCALLTYPE *GetLocationType )( ICorDebugVariableHome * This, /* [out] */ VariableLocationType *pLocationType); - - HRESULT ( STDMETHODCALLTYPE *GetRegister )( + + DECLSPEC_XFGVIRT(ICorDebugVariableHome, GetRegister) + HRESULT ( STDMETHODCALLTYPE *GetRegister )( ICorDebugVariableHome * This, /* [out] */ CorDebugRegister *pRegister); - - HRESULT ( STDMETHODCALLTYPE *GetOffset )( + + DECLSPEC_XFGVIRT(ICorDebugVariableHome, GetOffset) + HRESULT ( STDMETHODCALLTYPE *GetOffset )( ICorDebugVariableHome * This, /* [out] */ LONG *pOffset); - + END_INTERFACE } ICorDebugVariableHomeVtbl; @@ -15923,137 +16967,151 @@ EXTERN_C const IID IID_ICorDebugVariableHome; CONST_VTBL struct ICorDebugVariableHomeVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugVariableHome_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugVariableHome_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugVariableHome_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugVariableHome_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugVariableHome_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugVariableHome_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugVariableHome_GetCode(This,ppCode) \ - ( (This)->lpVtbl -> GetCode(This,ppCode) ) +#define ICorDebugVariableHome_GetCode(This,ppCode) \ + ( (This)->lpVtbl -> GetCode(This,ppCode) ) -#define ICorDebugVariableHome_GetSlotIndex(This,pSlotIndex) \ - ( (This)->lpVtbl -> GetSlotIndex(This,pSlotIndex) ) +#define ICorDebugVariableHome_GetSlotIndex(This,pSlotIndex) \ + ( (This)->lpVtbl -> GetSlotIndex(This,pSlotIndex) ) -#define ICorDebugVariableHome_GetArgumentIndex(This,pArgumentIndex) \ - ( (This)->lpVtbl -> GetArgumentIndex(This,pArgumentIndex) ) +#define ICorDebugVariableHome_GetArgumentIndex(This,pArgumentIndex) \ + ( (This)->lpVtbl -> GetArgumentIndex(This,pArgumentIndex) ) -#define ICorDebugVariableHome_GetLiveRange(This,pStartOffset,pEndOffset) \ - ( (This)->lpVtbl -> GetLiveRange(This,pStartOffset,pEndOffset) ) +#define ICorDebugVariableHome_GetLiveRange(This,pStartOffset,pEndOffset) \ + ( (This)->lpVtbl -> GetLiveRange(This,pStartOffset,pEndOffset) ) -#define ICorDebugVariableHome_GetLocationType(This,pLocationType) \ - ( (This)->lpVtbl -> GetLocationType(This,pLocationType) ) +#define ICorDebugVariableHome_GetLocationType(This,pLocationType) \ + ( (This)->lpVtbl -> GetLocationType(This,pLocationType) ) -#define ICorDebugVariableHome_GetRegister(This,pRegister) \ - ( (This)->lpVtbl -> GetRegister(This,pRegister) ) +#define ICorDebugVariableHome_GetRegister(This,pRegister) \ + ( (This)->lpVtbl -> GetRegister(This,pRegister) ) -#define ICorDebugVariableHome_GetOffset(This,pOffset) \ - ( (This)->lpVtbl -> GetOffset(This,pOffset) ) +#define ICorDebugVariableHome_GetOffset(This,pOffset) \ + ( (This)->lpVtbl -> GetOffset(This,pOffset) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugVariableHome_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugVariableHome_INTERFACE_DEFINED__ */ #ifndef __ICorDebugHandleValue_INTERFACE_DEFINED__ #define __ICorDebugHandleValue_INTERFACE_DEFINED__ /* interface ICorDebugHandleValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugHandleValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("029596E8-276B-46a1-9821-732E96BBB00B") ICorDebugHandleValue : public ICorDebugReferenceValue { public: - virtual HRESULT STDMETHODCALLTYPE GetHandleType( + virtual HRESULT STDMETHODCALLTYPE GetHandleType( /* [out] */ CorDebugHandleType *pType) = 0; - + virtual HRESULT STDMETHODCALLTYPE Dispose( void) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugHandleValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugHandleValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugHandleValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugHandleValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugHandleValue * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugHandleValue * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugHandleValue * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugHandleValue * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *IsNull )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, IsNull) + HRESULT ( STDMETHODCALLTYPE *IsNull )( ICorDebugHandleValue * This, /* [out] */ BOOL *pbNull); - - HRESULT ( STDMETHODCALLTYPE *GetValue )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, GetValue) + HRESULT ( STDMETHODCALLTYPE *GetValue )( ICorDebugHandleValue * This, /* [out] */ CORDB_ADDRESS *pValue); - - HRESULT ( STDMETHODCALLTYPE *SetValue )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, SetValue) + HRESULT ( STDMETHODCALLTYPE *SetValue )( ICorDebugHandleValue * This, /* [in] */ CORDB_ADDRESS value); - - HRESULT ( STDMETHODCALLTYPE *Dereference )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, Dereference) + HRESULT ( STDMETHODCALLTYPE *Dereference )( ICorDebugHandleValue * This, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *DereferenceStrong )( + + DECLSPEC_XFGVIRT(ICorDebugReferenceValue, DereferenceStrong) + HRESULT ( STDMETHODCALLTYPE *DereferenceStrong )( ICorDebugHandleValue * This, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetHandleType )( + + DECLSPEC_XFGVIRT(ICorDebugHandleValue, GetHandleType) + HRESULT ( STDMETHODCALLTYPE *GetHandleType )( ICorDebugHandleValue * This, /* [out] */ CorDebugHandleType *pType); - - HRESULT ( STDMETHODCALLTYPE *Dispose )( + + DECLSPEC_XFGVIRT(ICorDebugHandleValue, Dispose) + HRESULT ( STDMETHODCALLTYPE *Dispose )( ICorDebugHandleValue * This); - + END_INTERFACE } ICorDebugHandleValueVtbl; @@ -16062,150 +17120,164 @@ EXTERN_C const IID IID_ICorDebugHandleValue; CONST_VTBL struct ICorDebugHandleValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugHandleValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugHandleValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugHandleValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugHandleValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugHandleValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugHandleValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugHandleValue_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugHandleValue_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugHandleValue_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugHandleValue_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugHandleValue_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugHandleValue_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugHandleValue_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugHandleValue_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugHandleValue_IsNull(This,pbNull) \ - ( (This)->lpVtbl -> IsNull(This,pbNull) ) +#define ICorDebugHandleValue_IsNull(This,pbNull) \ + ( (This)->lpVtbl -> IsNull(This,pbNull) ) -#define ICorDebugHandleValue_GetValue(This,pValue) \ - ( (This)->lpVtbl -> GetValue(This,pValue) ) +#define ICorDebugHandleValue_GetValue(This,pValue) \ + ( (This)->lpVtbl -> GetValue(This,pValue) ) -#define ICorDebugHandleValue_SetValue(This,value) \ - ( (This)->lpVtbl -> SetValue(This,value) ) +#define ICorDebugHandleValue_SetValue(This,value) \ + ( (This)->lpVtbl -> SetValue(This,value) ) -#define ICorDebugHandleValue_Dereference(This,ppValue) \ - ( (This)->lpVtbl -> Dereference(This,ppValue) ) +#define ICorDebugHandleValue_Dereference(This,ppValue) \ + ( (This)->lpVtbl -> Dereference(This,ppValue) ) -#define ICorDebugHandleValue_DereferenceStrong(This,ppValue) \ - ( (This)->lpVtbl -> DereferenceStrong(This,ppValue) ) +#define ICorDebugHandleValue_DereferenceStrong(This,ppValue) \ + ( (This)->lpVtbl -> DereferenceStrong(This,ppValue) ) -#define ICorDebugHandleValue_GetHandleType(This,pType) \ - ( (This)->lpVtbl -> GetHandleType(This,pType) ) +#define ICorDebugHandleValue_GetHandleType(This,pType) \ + ( (This)->lpVtbl -> GetHandleType(This,pType) ) -#define ICorDebugHandleValue_Dispose(This) \ - ( (This)->lpVtbl -> Dispose(This) ) +#define ICorDebugHandleValue_Dispose(This) \ + ( (This)->lpVtbl -> Dispose(This) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugHandleValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugHandleValue_INTERFACE_DEFINED__ */ #ifndef __ICorDebugContext_INTERFACE_DEFINED__ #define __ICorDebugContext_INTERFACE_DEFINED__ /* interface ICorDebugContext */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugContext; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB00-8A68-11d2-983C-0000F808342D") ICorDebugContext : public ICorDebugObjectValue { public: }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugContextVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugContext * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugContext * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugContext * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugContext * This, /* [out] */ CorElementType *pType); - - HRESULT ( STDMETHODCALLTYPE *GetSize )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetSize) + HRESULT ( STDMETHODCALLTYPE *GetSize )( ICorDebugContext * This, /* [out] */ ULONG32 *pSize); - - HRESULT ( STDMETHODCALLTYPE *GetAddress )( + + DECLSPEC_XFGVIRT(ICorDebugValue, GetAddress) + HRESULT ( STDMETHODCALLTYPE *GetAddress )( ICorDebugContext * This, /* [out] */ CORDB_ADDRESS *pAddress); - - HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( + + DECLSPEC_XFGVIRT(ICorDebugValue, CreateBreakpoint) + HRESULT ( STDMETHODCALLTYPE *CreateBreakpoint )( ICorDebugContext * This, /* [out] */ ICorDebugValueBreakpoint **ppBreakpoint); - - HRESULT ( STDMETHODCALLTYPE *GetClass )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetClass) + HRESULT ( STDMETHODCALLTYPE *GetClass )( ICorDebugContext * This, /* [out] */ ICorDebugClass **ppClass); - - HRESULT ( STDMETHODCALLTYPE *GetFieldValue )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetFieldValue) + HRESULT ( STDMETHODCALLTYPE *GetFieldValue )( ICorDebugContext * This, /* [in] */ ICorDebugClass *pClass, /* [in] */ mdFieldDef fieldDef, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetVirtualMethod )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetVirtualMethod) + HRESULT ( STDMETHODCALLTYPE *GetVirtualMethod )( ICorDebugContext * This, /* [in] */ mdMemberRef memberRef, /* [out] */ ICorDebugFunction **ppFunction); - - HRESULT ( STDMETHODCALLTYPE *GetContext )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetContext) + HRESULT ( STDMETHODCALLTYPE *GetContext )( ICorDebugContext * This, /* [out] */ ICorDebugContext **ppContext); - - HRESULT ( STDMETHODCALLTYPE *IsValueClass )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, IsValueClass) + HRESULT ( STDMETHODCALLTYPE *IsValueClass )( ICorDebugContext * This, /* [out] */ BOOL *pbIsValueClass); - - HRESULT ( STDMETHODCALLTYPE *GetManagedCopy )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, GetManagedCopy) + HRESULT ( STDMETHODCALLTYPE *GetManagedCopy )( ICorDebugContext * This, /* [out] */ IUnknown **ppObject); - - HRESULT ( STDMETHODCALLTYPE *SetFromManagedCopy )( + + DECLSPEC_XFGVIRT(ICorDebugObjectValue, SetFromManagedCopy) + HRESULT ( STDMETHODCALLTYPE *SetFromManagedCopy )( ICorDebugContext * This, /* [in] */ IUnknown *pObject); - + END_INTERFACE } ICorDebugContextVtbl; @@ -16214,125 +17286,130 @@ EXTERN_C const IID IID_ICorDebugContext; CONST_VTBL struct ICorDebugContextVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugContext_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugContext_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugContext_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugContext_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugContext_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugContext_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugContext_GetType(This,pType) \ - ( (This)->lpVtbl -> GetType(This,pType) ) +#define ICorDebugContext_GetType(This,pType) \ + ( (This)->lpVtbl -> GetType(This,pType) ) -#define ICorDebugContext_GetSize(This,pSize) \ - ( (This)->lpVtbl -> GetSize(This,pSize) ) +#define ICorDebugContext_GetSize(This,pSize) \ + ( (This)->lpVtbl -> GetSize(This,pSize) ) -#define ICorDebugContext_GetAddress(This,pAddress) \ - ( (This)->lpVtbl -> GetAddress(This,pAddress) ) +#define ICorDebugContext_GetAddress(This,pAddress) \ + ( (This)->lpVtbl -> GetAddress(This,pAddress) ) -#define ICorDebugContext_CreateBreakpoint(This,ppBreakpoint) \ - ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) +#define ICorDebugContext_CreateBreakpoint(This,ppBreakpoint) \ + ( (This)->lpVtbl -> CreateBreakpoint(This,ppBreakpoint) ) -#define ICorDebugContext_GetClass(This,ppClass) \ - ( (This)->lpVtbl -> GetClass(This,ppClass) ) +#define ICorDebugContext_GetClass(This,ppClass) \ + ( (This)->lpVtbl -> GetClass(This,ppClass) ) -#define ICorDebugContext_GetFieldValue(This,pClass,fieldDef,ppValue) \ - ( (This)->lpVtbl -> GetFieldValue(This,pClass,fieldDef,ppValue) ) +#define ICorDebugContext_GetFieldValue(This,pClass,fieldDef,ppValue) \ + ( (This)->lpVtbl -> GetFieldValue(This,pClass,fieldDef,ppValue) ) -#define ICorDebugContext_GetVirtualMethod(This,memberRef,ppFunction) \ - ( (This)->lpVtbl -> GetVirtualMethod(This,memberRef,ppFunction) ) +#define ICorDebugContext_GetVirtualMethod(This,memberRef,ppFunction) \ + ( (This)->lpVtbl -> GetVirtualMethod(This,memberRef,ppFunction) ) -#define ICorDebugContext_GetContext(This,ppContext) \ - ( (This)->lpVtbl -> GetContext(This,ppContext) ) +#define ICorDebugContext_GetContext(This,ppContext) \ + ( (This)->lpVtbl -> GetContext(This,ppContext) ) -#define ICorDebugContext_IsValueClass(This,pbIsValueClass) \ - ( (This)->lpVtbl -> IsValueClass(This,pbIsValueClass) ) +#define ICorDebugContext_IsValueClass(This,pbIsValueClass) \ + ( (This)->lpVtbl -> IsValueClass(This,pbIsValueClass) ) -#define ICorDebugContext_GetManagedCopy(This,ppObject) \ - ( (This)->lpVtbl -> GetManagedCopy(This,ppObject) ) +#define ICorDebugContext_GetManagedCopy(This,ppObject) \ + ( (This)->lpVtbl -> GetManagedCopy(This,ppObject) ) -#define ICorDebugContext_SetFromManagedCopy(This,pObject) \ - ( (This)->lpVtbl -> SetFromManagedCopy(This,pObject) ) +#define ICorDebugContext_SetFromManagedCopy(This,pObject) \ + ( (This)->lpVtbl -> SetFromManagedCopy(This,pObject) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugContext_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugContext_INTERFACE_DEFINED__ */ #ifndef __ICorDebugComObjectValue_INTERFACE_DEFINED__ #define __ICorDebugComObjectValue_INTERFACE_DEFINED__ /* interface ICorDebugComObjectValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugComObjectValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("5F69C5E5-3E12-42DF-B371-F9D761D6EE24") ICorDebugComObjectValue : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetCachedInterfaceTypes( + virtual HRESULT STDMETHODCALLTYPE GetCachedInterfaceTypes( /* [in] */ BOOL bIInspectableOnly, /* [out] */ ICorDebugTypeEnum **ppInterfacesEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCachedInterfacePointers( + + virtual HRESULT STDMETHODCALLTYPE GetCachedInterfacePointers( /* [in] */ BOOL bIInspectableOnly, /* [in] */ ULONG32 celt, /* [out] */ ULONG32 *pcEltFetched, /* [length_is][size_is][out] */ CORDB_ADDRESS *ptrs) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugComObjectValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugComObjectValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugComObjectValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugComObjectValue * This); - - HRESULT ( STDMETHODCALLTYPE *GetCachedInterfaceTypes )( + + DECLSPEC_XFGVIRT(ICorDebugComObjectValue, GetCachedInterfaceTypes) + HRESULT ( STDMETHODCALLTYPE *GetCachedInterfaceTypes )( ICorDebugComObjectValue * This, /* [in] */ BOOL bIInspectableOnly, /* [out] */ ICorDebugTypeEnum **ppInterfacesEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCachedInterfacePointers )( + + DECLSPEC_XFGVIRT(ICorDebugComObjectValue, GetCachedInterfacePointers) + HRESULT ( STDMETHODCALLTYPE *GetCachedInterfacePointers )( ICorDebugComObjectValue * This, /* [in] */ BOOL bIInspectableOnly, /* [in] */ ULONG32 celt, /* [out] */ ULONG32 *pcEltFetched, /* [length_is][size_is][out] */ CORDB_ADDRESS *ptrs); - + END_INTERFACE } ICorDebugComObjectValueVtbl; @@ -16341,100 +17418,108 @@ EXTERN_C const IID IID_ICorDebugComObjectValue; CONST_VTBL struct ICorDebugComObjectValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugComObjectValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugComObjectValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugComObjectValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugComObjectValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugComObjectValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugComObjectValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugComObjectValue_GetCachedInterfaceTypes(This,bIInspectableOnly,ppInterfacesEnum) \ - ( (This)->lpVtbl -> GetCachedInterfaceTypes(This,bIInspectableOnly,ppInterfacesEnum) ) +#define ICorDebugComObjectValue_GetCachedInterfaceTypes(This,bIInspectableOnly,ppInterfacesEnum) \ + ( (This)->lpVtbl -> GetCachedInterfaceTypes(This,bIInspectableOnly,ppInterfacesEnum) ) -#define ICorDebugComObjectValue_GetCachedInterfacePointers(This,bIInspectableOnly,celt,pcEltFetched,ptrs) \ - ( (This)->lpVtbl -> GetCachedInterfacePointers(This,bIInspectableOnly,celt,pcEltFetched,ptrs) ) +#define ICorDebugComObjectValue_GetCachedInterfacePointers(This,bIInspectableOnly,celt,pcEltFetched,ptrs) \ + ( (This)->lpVtbl -> GetCachedInterfacePointers(This,bIInspectableOnly,celt,pcEltFetched,ptrs) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugComObjectValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugComObjectValue_INTERFACE_DEFINED__ */ #ifndef __ICorDebugObjectEnum_INTERFACE_DEFINED__ #define __ICorDebugObjectEnum_INTERFACE_DEFINED__ /* interface ICorDebugObjectEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugObjectEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB02-8A68-11d2-983C-0000F808342D") ICorDebugObjectEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ CORDB_ADDRESS objects[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugObjectEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugObjectEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugObjectEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugObjectEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugObjectEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugObjectEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugObjectEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugObjectEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugObjectEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugObjectEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ CORDB_ADDRESS objects[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugObjectEnumVtbl; @@ -16443,110 +17528,118 @@ EXTERN_C const IID IID_ICorDebugObjectEnum; CONST_VTBL struct ICorDebugObjectEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugObjectEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugObjectEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugObjectEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugObjectEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugObjectEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugObjectEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugObjectEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugObjectEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugObjectEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugObjectEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugObjectEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugObjectEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugObjectEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugObjectEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugObjectEnum_Next(This,celt,objects,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) +#define ICorDebugObjectEnum_Next(This,celt,objects,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugObjectEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugObjectEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugBreakpointEnum_INTERFACE_DEFINED__ #define __ICorDebugBreakpointEnum_INTERFACE_DEFINED__ /* interface ICorDebugBreakpointEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugBreakpointEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB03-8A68-11d2-983C-0000F808342D") ICorDebugBreakpointEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugBreakpoint *breakpoints[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugBreakpointEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugBreakpointEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugBreakpointEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugBreakpointEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugBreakpointEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugBreakpointEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugBreakpointEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugBreakpointEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugBreakpointEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugBreakpointEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugBreakpoint *breakpoints[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugBreakpointEnumVtbl; @@ -16555,110 +17648,118 @@ EXTERN_C const IID IID_ICorDebugBreakpointEnum; CONST_VTBL struct ICorDebugBreakpointEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugBreakpointEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugBreakpointEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugBreakpointEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugBreakpointEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugBreakpointEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugBreakpointEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugBreakpointEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugBreakpointEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugBreakpointEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugBreakpointEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugBreakpointEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugBreakpointEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugBreakpointEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugBreakpointEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugBreakpointEnum_Next(This,celt,breakpoints,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,breakpoints,pceltFetched) ) +#define ICorDebugBreakpointEnum_Next(This,celt,breakpoints,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,breakpoints,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugBreakpointEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugBreakpointEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugStepperEnum_INTERFACE_DEFINED__ #define __ICorDebugStepperEnum_INTERFACE_DEFINED__ /* interface ICorDebugStepperEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugStepperEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB04-8A68-11d2-983C-0000F808342D") ICorDebugStepperEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugStepper *steppers[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugStepperEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugStepperEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugStepperEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugStepperEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugStepperEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugStepperEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugStepperEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugStepperEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugStepperEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugStepperEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugStepper *steppers[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugStepperEnumVtbl; @@ -16667,110 +17768,118 @@ EXTERN_C const IID IID_ICorDebugStepperEnum; CONST_VTBL struct ICorDebugStepperEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugStepperEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugStepperEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugStepperEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugStepperEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugStepperEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugStepperEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugStepperEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugStepperEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugStepperEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugStepperEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugStepperEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugStepperEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugStepperEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugStepperEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugStepperEnum_Next(This,celt,steppers,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,steppers,pceltFetched) ) +#define ICorDebugStepperEnum_Next(This,celt,steppers,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,steppers,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugStepperEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugStepperEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugProcessEnum_INTERFACE_DEFINED__ #define __ICorDebugProcessEnum_INTERFACE_DEFINED__ /* interface ICorDebugProcessEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugProcessEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB05-8A68-11d2-983C-0000F808342D") ICorDebugProcessEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugProcess *processes[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugProcessEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugProcessEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugProcessEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugProcessEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugProcessEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugProcessEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugProcessEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugProcessEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugProcessEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugProcessEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugProcess *processes[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugProcessEnumVtbl; @@ -16779,110 +17888,118 @@ EXTERN_C const IID IID_ICorDebugProcessEnum; CONST_VTBL struct ICorDebugProcessEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugProcessEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugProcessEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugProcessEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugProcessEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugProcessEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugProcessEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugProcessEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugProcessEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugProcessEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugProcessEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugProcessEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugProcessEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugProcessEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugProcessEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugProcessEnum_Next(This,celt,processes,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,processes,pceltFetched) ) +#define ICorDebugProcessEnum_Next(This,celt,processes,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,processes,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugProcessEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugProcessEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugThreadEnum_INTERFACE_DEFINED__ #define __ICorDebugThreadEnum_INTERFACE_DEFINED__ /* interface ICorDebugThreadEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugThreadEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB06-8A68-11d2-983C-0000F808342D") ICorDebugThreadEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugThread *threads[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugThreadEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugThreadEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugThreadEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugThreadEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugThreadEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugThreadEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugThreadEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugThreadEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugThreadEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugThreadEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugThread *threads[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugThreadEnumVtbl; @@ -16891,110 +18008,118 @@ EXTERN_C const IID IID_ICorDebugThreadEnum; CONST_VTBL struct ICorDebugThreadEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugThreadEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugThreadEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugThreadEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugThreadEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugThreadEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugThreadEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugThreadEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugThreadEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugThreadEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugThreadEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugThreadEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugThreadEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugThreadEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugThreadEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugThreadEnum_Next(This,celt,threads,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,threads,pceltFetched) ) +#define ICorDebugThreadEnum_Next(This,celt,threads,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,threads,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugThreadEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugThreadEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugFrameEnum_INTERFACE_DEFINED__ #define __ICorDebugFrameEnum_INTERFACE_DEFINED__ /* interface ICorDebugFrameEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugFrameEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB07-8A68-11d2-983C-0000F808342D") ICorDebugFrameEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugFrame *frames[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugFrameEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugFrameEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugFrameEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugFrameEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugFrameEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugFrameEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugFrameEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugFrameEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugFrameEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugFrameEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugFrame *frames[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugFrameEnumVtbl; @@ -17003,110 +18128,118 @@ EXTERN_C const IID IID_ICorDebugFrameEnum; CONST_VTBL struct ICorDebugFrameEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugFrameEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugFrameEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugFrameEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugFrameEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugFrameEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugFrameEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugFrameEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugFrameEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugFrameEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugFrameEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugFrameEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugFrameEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugFrameEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugFrameEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugFrameEnum_Next(This,celt,frames,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,frames,pceltFetched) ) +#define ICorDebugFrameEnum_Next(This,celt,frames,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,frames,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugFrameEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugFrameEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugChainEnum_INTERFACE_DEFINED__ #define __ICorDebugChainEnum_INTERFACE_DEFINED__ /* interface ICorDebugChainEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugChainEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB08-8A68-11d2-983C-0000F808342D") ICorDebugChainEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugChain *chains[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugChainEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugChainEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugChainEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugChainEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugChainEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugChainEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugChainEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugChainEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugChainEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugChainEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugChain *chains[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugChainEnumVtbl; @@ -17115,110 +18248,118 @@ EXTERN_C const IID IID_ICorDebugChainEnum; CONST_VTBL struct ICorDebugChainEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugChainEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugChainEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugChainEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugChainEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugChainEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugChainEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugChainEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugChainEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugChainEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugChainEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugChainEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugChainEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugChainEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugChainEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugChainEnum_Next(This,celt,chains,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,chains,pceltFetched) ) +#define ICorDebugChainEnum_Next(This,celt,chains,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,chains,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugChainEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugChainEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugModuleEnum_INTERFACE_DEFINED__ #define __ICorDebugModuleEnum_INTERFACE_DEFINED__ /* interface ICorDebugModuleEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugModuleEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB09-8A68-11d2-983C-0000F808342D") ICorDebugModuleEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugModule *modules[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugModuleEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugModuleEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugModuleEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugModuleEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugModuleEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugModuleEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugModuleEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugModuleEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugModuleEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugModuleEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugModule *modules[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugModuleEnumVtbl; @@ -17227,110 +18368,118 @@ EXTERN_C const IID IID_ICorDebugModuleEnum; CONST_VTBL struct ICorDebugModuleEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugModuleEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugModuleEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugModuleEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugModuleEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugModuleEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugModuleEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugModuleEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugModuleEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugModuleEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugModuleEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugModuleEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugModuleEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugModuleEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugModuleEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugModuleEnum_Next(This,celt,modules,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,modules,pceltFetched) ) +#define ICorDebugModuleEnum_Next(This,celt,modules,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,modules,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugModuleEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugModuleEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugValueEnum_INTERFACE_DEFINED__ #define __ICorDebugValueEnum_INTERFACE_DEFINED__ /* interface ICorDebugValueEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugValueEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC7BCB0A-8A68-11d2-983C-0000F808342D") ICorDebugValueEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugValue *values[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugValueEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugValueEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugValueEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugValueEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugValueEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugValueEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugValueEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugValueEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugValueEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugValueEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugValue *values[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugValueEnumVtbl; @@ -17339,110 +18488,118 @@ EXTERN_C const IID IID_ICorDebugValueEnum; CONST_VTBL struct ICorDebugValueEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugValueEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugValueEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugValueEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugValueEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugValueEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugValueEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugValueEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugValueEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugValueEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugValueEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugValueEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugValueEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugValueEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugValueEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugValueEnum_Next(This,celt,values,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) +#define ICorDebugValueEnum_Next(This,celt,values,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugValueEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugValueEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugVariableHomeEnum_INTERFACE_DEFINED__ #define __ICorDebugVariableHomeEnum_INTERFACE_DEFINED__ /* interface ICorDebugVariableHomeEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugVariableHomeEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("e76b7a57-4f7a-4309-85a7-5d918c3deaf7") ICorDebugVariableHomeEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugVariableHome *homes[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugVariableHomeEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugVariableHomeEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugVariableHomeEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugVariableHomeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugVariableHomeEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugVariableHomeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugVariableHomeEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugVariableHomeEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugVariableHomeEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugVariableHomeEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugVariableHome *homes[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugVariableHomeEnumVtbl; @@ -17451,110 +18608,118 @@ EXTERN_C const IID IID_ICorDebugVariableHomeEnum; CONST_VTBL struct ICorDebugVariableHomeEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugVariableHomeEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugVariableHomeEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugVariableHomeEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugVariableHomeEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugVariableHomeEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugVariableHomeEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugVariableHomeEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugVariableHomeEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugVariableHomeEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugVariableHomeEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugVariableHomeEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugVariableHomeEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugVariableHomeEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugVariableHomeEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugVariableHomeEnum_Next(This,celt,homes,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,homes,pceltFetched) ) +#define ICorDebugVariableHomeEnum_Next(This,celt,homes,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,homes,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugVariableHomeEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugVariableHomeEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugCodeEnum_INTERFACE_DEFINED__ #define __ICorDebugCodeEnum_INTERFACE_DEFINED__ /* interface ICorDebugCodeEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugCodeEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("55E96461-9645-45e4-A2FF-0367877ABCDE") ICorDebugCodeEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugCode *values[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugCodeEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugCodeEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugCodeEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugCodeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugCodeEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugCodeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugCodeEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugCodeEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugCodeEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugCodeEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugCode *values[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugCodeEnumVtbl; @@ -17563,110 +18728,118 @@ EXTERN_C const IID IID_ICorDebugCodeEnum; CONST_VTBL struct ICorDebugCodeEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugCodeEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugCodeEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugCodeEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugCodeEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugCodeEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugCodeEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugCodeEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugCodeEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugCodeEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugCodeEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugCodeEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugCodeEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugCodeEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugCodeEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugCodeEnum_Next(This,celt,values,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) +#define ICorDebugCodeEnum_Next(This,celt,values,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugCodeEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugCodeEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugTypeEnum_INTERFACE_DEFINED__ #define __ICorDebugTypeEnum_INTERFACE_DEFINED__ /* interface ICorDebugTypeEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugTypeEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("10F27499-9DF2-43ce-8333-A321D7C99CB4") ICorDebugTypeEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugType *values[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugTypeEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugTypeEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugTypeEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugTypeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugTypeEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugTypeEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugTypeEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugTypeEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugTypeEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugTypeEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugType *values[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugTypeEnumVtbl; @@ -17675,137 +18848,147 @@ EXTERN_C const IID IID_ICorDebugTypeEnum; CONST_VTBL struct ICorDebugTypeEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugTypeEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugTypeEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugTypeEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugTypeEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugTypeEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugTypeEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugTypeEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugTypeEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugTypeEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugTypeEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugTypeEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugTypeEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugTypeEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugTypeEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugTypeEnum_Next(This,celt,values,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) +#define ICorDebugTypeEnum_Next(This,celt,values,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugTypeEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugTypeEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugType_INTERFACE_DEFINED__ #define __ICorDebugType_INTERFACE_DEFINED__ /* interface ICorDebugType */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugType; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("D613F0BB-ACE1-4c19-BD72-E4C08D5DA7F5") ICorDebugType : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetType( + virtual HRESULT STDMETHODCALLTYPE GetType( /* [out] */ CorElementType *ty) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClass( + + virtual HRESULT STDMETHODCALLTYPE GetClass( /* [out] */ ICorDebugClass **ppClass) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumerateTypeParameters( + + virtual HRESULT STDMETHODCALLTYPE EnumerateTypeParameters( /* [out] */ ICorDebugTypeEnum **ppTyParEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFirstTypeParameter( + + virtual HRESULT STDMETHODCALLTYPE GetFirstTypeParameter( /* [out] */ ICorDebugType **value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBase( + + virtual HRESULT STDMETHODCALLTYPE GetBase( /* [out] */ ICorDebugType **pBase) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStaticFieldValue( + + virtual HRESULT STDMETHODCALLTYPE GetStaticFieldValue( /* [in] */ mdFieldDef fieldDef, /* [in] */ ICorDebugFrame *pFrame, /* [out] */ ICorDebugValue **ppValue) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRank( + + virtual HRESULT STDMETHODCALLTYPE GetRank( /* [out] */ ULONG32 *pnRank) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugTypeVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugType * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugType * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugType * This); - - HRESULT ( STDMETHODCALLTYPE *GetType )( + + DECLSPEC_XFGVIRT(ICorDebugType, GetType) + HRESULT ( STDMETHODCALLTYPE *GetType )( ICorDebugType * This, /* [out] */ CorElementType *ty); - - HRESULT ( STDMETHODCALLTYPE *GetClass )( + + DECLSPEC_XFGVIRT(ICorDebugType, GetClass) + HRESULT ( STDMETHODCALLTYPE *GetClass )( ICorDebugType * This, /* [out] */ ICorDebugClass **ppClass); - - HRESULT ( STDMETHODCALLTYPE *EnumerateTypeParameters )( + + DECLSPEC_XFGVIRT(ICorDebugType, EnumerateTypeParameters) + HRESULT ( STDMETHODCALLTYPE *EnumerateTypeParameters )( ICorDebugType * This, /* [out] */ ICorDebugTypeEnum **ppTyParEnum); - - HRESULT ( STDMETHODCALLTYPE *GetFirstTypeParameter )( + + DECLSPEC_XFGVIRT(ICorDebugType, GetFirstTypeParameter) + HRESULT ( STDMETHODCALLTYPE *GetFirstTypeParameter )( ICorDebugType * This, /* [out] */ ICorDebugType **value); - - HRESULT ( STDMETHODCALLTYPE *GetBase )( + + DECLSPEC_XFGVIRT(ICorDebugType, GetBase) + HRESULT ( STDMETHODCALLTYPE *GetBase )( ICorDebugType * This, /* [out] */ ICorDebugType **pBase); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldValue )( + + DECLSPEC_XFGVIRT(ICorDebugType, GetStaticFieldValue) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldValue )( ICorDebugType * This, /* [in] */ mdFieldDef fieldDef, /* [in] */ ICorDebugFrame *pFrame, /* [out] */ ICorDebugValue **ppValue); - - HRESULT ( STDMETHODCALLTYPE *GetRank )( + + DECLSPEC_XFGVIRT(ICorDebugType, GetRank) + HRESULT ( STDMETHODCALLTYPE *GetRank )( ICorDebugType * This, /* [out] */ ULONG32 *pnRank); - + END_INTERFACE } ICorDebugTypeVtbl; @@ -17814,96 +18997,100 @@ EXTERN_C const IID IID_ICorDebugType; CONST_VTBL struct ICorDebugTypeVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugType_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugType_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugType_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugType_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugType_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugType_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugType_GetType(This,ty) \ - ( (This)->lpVtbl -> GetType(This,ty) ) +#define ICorDebugType_GetType(This,ty) \ + ( (This)->lpVtbl -> GetType(This,ty) ) -#define ICorDebugType_GetClass(This,ppClass) \ - ( (This)->lpVtbl -> GetClass(This,ppClass) ) +#define ICorDebugType_GetClass(This,ppClass) \ + ( (This)->lpVtbl -> GetClass(This,ppClass) ) -#define ICorDebugType_EnumerateTypeParameters(This,ppTyParEnum) \ - ( (This)->lpVtbl -> EnumerateTypeParameters(This,ppTyParEnum) ) +#define ICorDebugType_EnumerateTypeParameters(This,ppTyParEnum) \ + ( (This)->lpVtbl -> EnumerateTypeParameters(This,ppTyParEnum) ) -#define ICorDebugType_GetFirstTypeParameter(This,value) \ - ( (This)->lpVtbl -> GetFirstTypeParameter(This,value) ) +#define ICorDebugType_GetFirstTypeParameter(This,value) \ + ( (This)->lpVtbl -> GetFirstTypeParameter(This,value) ) -#define ICorDebugType_GetBase(This,pBase) \ - ( (This)->lpVtbl -> GetBase(This,pBase) ) +#define ICorDebugType_GetBase(This,pBase) \ + ( (This)->lpVtbl -> GetBase(This,pBase) ) -#define ICorDebugType_GetStaticFieldValue(This,fieldDef,pFrame,ppValue) \ - ( (This)->lpVtbl -> GetStaticFieldValue(This,fieldDef,pFrame,ppValue) ) +#define ICorDebugType_GetStaticFieldValue(This,fieldDef,pFrame,ppValue) \ + ( (This)->lpVtbl -> GetStaticFieldValue(This,fieldDef,pFrame,ppValue) ) -#define ICorDebugType_GetRank(This,pnRank) \ - ( (This)->lpVtbl -> GetRank(This,pnRank) ) +#define ICorDebugType_GetRank(This,pnRank) \ + ( (This)->lpVtbl -> GetRank(This,pnRank) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugType_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugType_INTERFACE_DEFINED__ */ #ifndef __ICorDebugType2_INTERFACE_DEFINED__ #define __ICorDebugType2_INTERFACE_DEFINED__ /* interface ICorDebugType2 */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugType2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("e6e91d79-693d-48bc-b417-8284b4f10fb5") ICorDebugType2 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetTypeID( + virtual HRESULT STDMETHODCALLTYPE GetTypeID( /* [out] */ COR_TYPEID *id) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugType2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugType2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugType2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugType2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeID )( + + DECLSPEC_XFGVIRT(ICorDebugType2, GetTypeID) + HRESULT ( STDMETHODCALLTYPE *GetTypeID )( ICorDebugType2 * This, /* [out] */ COR_TYPEID *id); - + END_INTERFACE } ICorDebugType2Vtbl; @@ -17912,97 +19099,105 @@ EXTERN_C const IID IID_ICorDebugType2; CONST_VTBL struct ICorDebugType2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugType2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugType2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugType2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugType2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugType2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugType2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugType2_GetTypeID(This,id) \ - ( (This)->lpVtbl -> GetTypeID(This,id) ) +#define ICorDebugType2_GetTypeID(This,id) \ + ( (This)->lpVtbl -> GetTypeID(This,id) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugType2_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugType2_INTERFACE_DEFINED__ */ #ifndef __ICorDebugErrorInfoEnum_INTERFACE_DEFINED__ #define __ICorDebugErrorInfoEnum_INTERFACE_DEFINED__ /* interface ICorDebugErrorInfoEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugErrorInfoEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F0E18809-72B5-11d2-976F-00A0C9B4D50C") ICorDebugErrorInfoEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugEditAndContinueErrorInfo *errors[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugErrorInfoEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugErrorInfoEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugErrorInfoEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugErrorInfoEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugErrorInfoEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugErrorInfoEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugErrorInfoEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugErrorInfoEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugErrorInfoEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugErrorInfoEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugEditAndContinueErrorInfo *errors[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugErrorInfoEnumVtbl; @@ -18011,110 +19206,118 @@ EXTERN_C const IID IID_ICorDebugErrorInfoEnum; CONST_VTBL struct ICorDebugErrorInfoEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugErrorInfoEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugErrorInfoEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugErrorInfoEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugErrorInfoEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugErrorInfoEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugErrorInfoEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugErrorInfoEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugErrorInfoEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugErrorInfoEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugErrorInfoEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugErrorInfoEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugErrorInfoEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugErrorInfoEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugErrorInfoEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugErrorInfoEnum_Next(This,celt,errors,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,errors,pceltFetched) ) +#define ICorDebugErrorInfoEnum_Next(This,celt,errors,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,errors,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugErrorInfoEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugErrorInfoEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugAppDomainEnum_INTERFACE_DEFINED__ #define __ICorDebugAppDomainEnum_INTERFACE_DEFINED__ /* interface ICorDebugAppDomainEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugAppDomainEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("63ca1b24-4359-4883-bd57-13f815f58744") ICorDebugAppDomainEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugAppDomain *values[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugAppDomainEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugAppDomainEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugAppDomainEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugAppDomainEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugAppDomainEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugAppDomainEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugAppDomainEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugAppDomainEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugAppDomainEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugAppDomainEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugAppDomain *values[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugAppDomainEnumVtbl; @@ -18123,110 +19326,118 @@ EXTERN_C const IID IID_ICorDebugAppDomainEnum; CONST_VTBL struct ICorDebugAppDomainEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugAppDomainEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugAppDomainEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugAppDomainEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugAppDomainEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugAppDomainEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugAppDomainEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugAppDomainEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugAppDomainEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugAppDomainEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugAppDomainEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugAppDomainEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugAppDomainEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugAppDomainEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugAppDomainEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugAppDomainEnum_Next(This,celt,values,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) +#define ICorDebugAppDomainEnum_Next(This,celt,values,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugAppDomainEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugAppDomainEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugAssemblyEnum_INTERFACE_DEFINED__ #define __ICorDebugAssemblyEnum_INTERFACE_DEFINED__ /* interface ICorDebugAssemblyEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugAssemblyEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("4a2a1ec9-85ec-4bfb-9f15-a89fdfe0fe83") ICorDebugAssemblyEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugAssembly *values[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugAssemblyEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugAssemblyEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugAssemblyEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugAssemblyEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugAssemblyEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugAssemblyEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugAssemblyEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugAssemblyEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugAssemblyEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugAssemblyEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ICorDebugAssembly *values[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugAssemblyEnumVtbl; @@ -18235,110 +19446,118 @@ EXTERN_C const IID IID_ICorDebugAssemblyEnum; CONST_VTBL struct ICorDebugAssemblyEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugAssemblyEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugAssemblyEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugAssemblyEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugAssemblyEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugAssemblyEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugAssemblyEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugAssemblyEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugAssemblyEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugAssemblyEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugAssemblyEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugAssemblyEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugAssemblyEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugAssemblyEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugAssemblyEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugAssemblyEnum_Next(This,celt,values,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) +#define ICorDebugAssemblyEnum_Next(This,celt,values,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugAssemblyEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugAssemblyEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugBlockingObjectEnum_INTERFACE_DEFINED__ #define __ICorDebugBlockingObjectEnum_INTERFACE_DEFINED__ /* interface ICorDebugBlockingObjectEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugBlockingObjectEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("976A6278-134A-4a81-81A3-8F277943F4C3") ICorDebugBlockingObjectEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ CorDebugBlockingObject values[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugBlockingObjectEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugBlockingObjectEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugBlockingObjectEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugBlockingObjectEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugBlockingObjectEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugBlockingObjectEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugBlockingObjectEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugBlockingObjectEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugBlockingObjectEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugBlockingObjectEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ CorDebugBlockingObject values[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugBlockingObjectEnumVtbl; @@ -18347,147 +19566,155 @@ EXTERN_C const IID IID_ICorDebugBlockingObjectEnum; CONST_VTBL struct ICorDebugBlockingObjectEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugBlockingObjectEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugBlockingObjectEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugBlockingObjectEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugBlockingObjectEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugBlockingObjectEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugBlockingObjectEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugBlockingObjectEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugBlockingObjectEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugBlockingObjectEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugBlockingObjectEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugBlockingObjectEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugBlockingObjectEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugBlockingObjectEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugBlockingObjectEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugBlockingObjectEnum_Next(This,celt,values,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) +#define ICorDebugBlockingObjectEnum_Next(This,celt,values,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugBlockingObjectEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugBlockingObjectEnum_INTERFACE_DEFINED__ */ -/* interface __MIDL_itf_cordebug_0000_0130 */ -/* [local] */ +/* interface __MIDL_itf_cordebug_0000_0131 */ +/* [local] */ #pragma warning(push) #pragma warning(disable:28718) -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0130_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0130_v0_0_s_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0131_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0131_v0_0_s_ifspec; #ifndef __ICorDebugMDA_INTERFACE_DEFINED__ #define __ICorDebugMDA_INTERFACE_DEFINED__ /* interface ICorDebugMDA */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ -typedef +typedef enum CorDebugMDAFlags { - MDA_FLAG_SLIP = 0x2 - } CorDebugMDAFlags; + MDA_FLAG_SLIP = 0x2 + } CorDebugMDAFlags; EXTERN_C const IID IID_ICorDebugMDA; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC726F2F-1DB7-459b-B0EC-05F01D841B42") ICorDebugMDA : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetName( + virtual HRESULT STDMETHODCALLTYPE GetName( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDescription( + + virtual HRESULT STDMETHODCALLTYPE GetDescription( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetXML( + + virtual HRESULT STDMETHODCALLTYPE GetXML( /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFlags( + + virtual HRESULT STDMETHODCALLTYPE GetFlags( /* [in] */ CorDebugMDAFlags *pFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetOSThreadId( + + virtual HRESULT STDMETHODCALLTYPE GetOSThreadId( /* [out] */ DWORD *pOsTid) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugMDAVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugMDA * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugMDA * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugMDA * This); - - HRESULT ( STDMETHODCALLTYPE *GetName )( + + DECLSPEC_XFGVIRT(ICorDebugMDA, GetName) + HRESULT ( STDMETHODCALLTYPE *GetName )( ICorDebugMDA * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetDescription )( + + DECLSPEC_XFGVIRT(ICorDebugMDA, GetDescription) + HRESULT ( STDMETHODCALLTYPE *GetDescription )( ICorDebugMDA * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetXML )( + + DECLSPEC_XFGVIRT(ICorDebugMDA, GetXML) + HRESULT ( STDMETHODCALLTYPE *GetXML )( ICorDebugMDA * This, /* [in] */ ULONG32 cchName, /* [out] */ ULONG32 *pcchName, /* [length_is][size_is][out] */ WCHAR szName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFlags )( + + DECLSPEC_XFGVIRT(ICorDebugMDA, GetFlags) + HRESULT ( STDMETHODCALLTYPE *GetFlags )( ICorDebugMDA * This, /* [in] */ CorDebugMDAFlags *pFlags); - - HRESULT ( STDMETHODCALLTYPE *GetOSThreadId )( + + DECLSPEC_XFGVIRT(ICorDebugMDA, GetOSThreadId) + HRESULT ( STDMETHODCALLTYPE *GetOSThreadId )( ICorDebugMDA * This, /* [out] */ DWORD *pOsTid); - + END_INTERFACE } ICorDebugMDAVtbl; @@ -18496,126 +19723,133 @@ EXTERN_C const IID IID_ICorDebugMDA; CONST_VTBL struct ICorDebugMDAVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugMDA_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugMDA_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugMDA_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugMDA_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugMDA_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugMDA_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugMDA_GetName(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) +#define ICorDebugMDA_GetName(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetName(This,cchName,pcchName,szName) ) -#define ICorDebugMDA_GetDescription(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetDescription(This,cchName,pcchName,szName) ) +#define ICorDebugMDA_GetDescription(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetDescription(This,cchName,pcchName,szName) ) -#define ICorDebugMDA_GetXML(This,cchName,pcchName,szName) \ - ( (This)->lpVtbl -> GetXML(This,cchName,pcchName,szName) ) +#define ICorDebugMDA_GetXML(This,cchName,pcchName,szName) \ + ( (This)->lpVtbl -> GetXML(This,cchName,pcchName,szName) ) -#define ICorDebugMDA_GetFlags(This,pFlags) \ - ( (This)->lpVtbl -> GetFlags(This,pFlags) ) +#define ICorDebugMDA_GetFlags(This,pFlags) \ + ( (This)->lpVtbl -> GetFlags(This,pFlags) ) -#define ICorDebugMDA_GetOSThreadId(This,pOsTid) \ - ( (This)->lpVtbl -> GetOSThreadId(This,pOsTid) ) +#define ICorDebugMDA_GetOSThreadId(This,pOsTid) \ + ( (This)->lpVtbl -> GetOSThreadId(This,pOsTid) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugMDA_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugMDA_INTERFACE_DEFINED__ */ -/* interface __MIDL_itf_cordebug_0000_0131 */ -/* [local] */ +/* interface __MIDL_itf_cordebug_0000_0132 */ +/* [local] */ #pragma warning(pop) #pragma warning(push) -#pragma warning(disable:28718) +#pragma warning(disable:28718) -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0131_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0131_v0_0_s_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0132_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0132_v0_0_s_ifspec; #ifndef __ICorDebugEditAndContinueErrorInfo_INTERFACE_DEFINED__ #define __ICorDebugEditAndContinueErrorInfo_INTERFACE_DEFINED__ /* interface ICorDebugEditAndContinueErrorInfo */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugEditAndContinueErrorInfo; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("8D600D41-F4F6-4cb3-B7EC-7BD164944036") ICorDebugEditAndContinueErrorInfo : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetModule( + virtual HRESULT STDMETHODCALLTYPE GetModule( /* [out] */ ICorDebugModule **ppModule) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetToken( + + virtual HRESULT STDMETHODCALLTYPE GetToken( /* [out] */ mdToken *pToken) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetErrorCode( + + virtual HRESULT STDMETHODCALLTYPE GetErrorCode( /* [out] */ HRESULT *pHr) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( + + virtual HRESULT STDMETHODCALLTYPE GetString( /* [in] */ ULONG32 cchString, /* [out] */ ULONG32 *pcchString, /* [length_is][size_is][out] */ WCHAR szString[ ]) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugEditAndContinueErrorInfoVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugEditAndContinueErrorInfo * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugEditAndContinueErrorInfo * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugEditAndContinueErrorInfo * This); - - HRESULT ( STDMETHODCALLTYPE *GetModule )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueErrorInfo, GetModule) + HRESULT ( STDMETHODCALLTYPE *GetModule )( ICorDebugEditAndContinueErrorInfo * This, /* [out] */ ICorDebugModule **ppModule); - - HRESULT ( STDMETHODCALLTYPE *GetToken )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueErrorInfo, GetToken) + HRESULT ( STDMETHODCALLTYPE *GetToken )( ICorDebugEditAndContinueErrorInfo * This, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetErrorCode )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueErrorInfo, GetErrorCode) + HRESULT ( STDMETHODCALLTYPE *GetErrorCode )( ICorDebugEditAndContinueErrorInfo * This, /* [out] */ HRESULT *pHr); - - HRESULT ( STDMETHODCALLTYPE *GetString )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueErrorInfo, GetString) + HRESULT ( STDMETHODCALLTYPE *GetString )( ICorDebugEditAndContinueErrorInfo * This, /* [in] */ ULONG32 cchString, /* [out] */ ULONG32 *pcchString, /* [length_is][size_is][out] */ WCHAR szString[ ]); - + END_INTERFACE } ICorDebugEditAndContinueErrorInfoVtbl; @@ -18624,144 +19858,154 @@ EXTERN_C const IID IID_ICorDebugEditAndContinueErrorInfo; CONST_VTBL struct ICorDebugEditAndContinueErrorInfoVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugEditAndContinueErrorInfo_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugEditAndContinueErrorInfo_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugEditAndContinueErrorInfo_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugEditAndContinueErrorInfo_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugEditAndContinueErrorInfo_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugEditAndContinueErrorInfo_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugEditAndContinueErrorInfo_GetModule(This,ppModule) \ - ( (This)->lpVtbl -> GetModule(This,ppModule) ) +#define ICorDebugEditAndContinueErrorInfo_GetModule(This,ppModule) \ + ( (This)->lpVtbl -> GetModule(This,ppModule) ) -#define ICorDebugEditAndContinueErrorInfo_GetToken(This,pToken) \ - ( (This)->lpVtbl -> GetToken(This,pToken) ) +#define ICorDebugEditAndContinueErrorInfo_GetToken(This,pToken) \ + ( (This)->lpVtbl -> GetToken(This,pToken) ) -#define ICorDebugEditAndContinueErrorInfo_GetErrorCode(This,pHr) \ - ( (This)->lpVtbl -> GetErrorCode(This,pHr) ) +#define ICorDebugEditAndContinueErrorInfo_GetErrorCode(This,pHr) \ + ( (This)->lpVtbl -> GetErrorCode(This,pHr) ) -#define ICorDebugEditAndContinueErrorInfo_GetString(This,cchString,pcchString,szString) \ - ( (This)->lpVtbl -> GetString(This,cchString,pcchString,szString) ) +#define ICorDebugEditAndContinueErrorInfo_GetString(This,cchString,pcchString,szString) \ + ( (This)->lpVtbl -> GetString(This,cchString,pcchString,szString) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugEditAndContinueErrorInfo_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugEditAndContinueErrorInfo_INTERFACE_DEFINED__ */ -/* interface __MIDL_itf_cordebug_0000_0132 */ -/* [local] */ +/* interface __MIDL_itf_cordebug_0000_0133 */ +/* [local] */ #pragma warning(pop) -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0132_v0_0_c_ifspec; -extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0132_v0_0_s_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0133_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_cordebug_0000_0133_v0_0_s_ifspec; #ifndef __ICorDebugEditAndContinueSnapshot_INTERFACE_DEFINED__ #define __ICorDebugEditAndContinueSnapshot_INTERFACE_DEFINED__ /* interface ICorDebugEditAndContinueSnapshot */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugEditAndContinueSnapshot; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("6DC3FA01-D7CB-11d2-8A95-0080C792E5D8") ICorDebugEditAndContinueSnapshot : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE CopyMetaData( + virtual HRESULT STDMETHODCALLTYPE CopyMetaData( /* [in] */ IStream *pIStream, /* [out] */ GUID *pMvid) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMvid( + + virtual HRESULT STDMETHODCALLTYPE GetMvid( /* [out] */ GUID *pMvid) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRoDataRVA( + + virtual HRESULT STDMETHODCALLTYPE GetRoDataRVA( /* [out] */ ULONG32 *pRoDataRVA) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRwDataRVA( + + virtual HRESULT STDMETHODCALLTYPE GetRwDataRVA( /* [out] */ ULONG32 *pRwDataRVA) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetPEBytes( + + virtual HRESULT STDMETHODCALLTYPE SetPEBytes( /* [in] */ IStream *pIStream) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetILMap( + + virtual HRESULT STDMETHODCALLTYPE SetILMap( /* [in] */ mdToken mdFunction, /* [in] */ ULONG cMapSize, /* [size_is][in] */ COR_IL_MAP map[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetPESymbolBytes( + + virtual HRESULT STDMETHODCALLTYPE SetPESymbolBytes( /* [in] */ IStream *pIStream) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugEditAndContinueSnapshotVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugEditAndContinueSnapshot * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugEditAndContinueSnapshot * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugEditAndContinueSnapshot * This); - - HRESULT ( STDMETHODCALLTYPE *CopyMetaData )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueSnapshot, CopyMetaData) + HRESULT ( STDMETHODCALLTYPE *CopyMetaData )( ICorDebugEditAndContinueSnapshot * This, /* [in] */ IStream *pIStream, /* [out] */ GUID *pMvid); - - HRESULT ( STDMETHODCALLTYPE *GetMvid )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueSnapshot, GetMvid) + HRESULT ( STDMETHODCALLTYPE *GetMvid )( ICorDebugEditAndContinueSnapshot * This, /* [out] */ GUID *pMvid); - - HRESULT ( STDMETHODCALLTYPE *GetRoDataRVA )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueSnapshot, GetRoDataRVA) + HRESULT ( STDMETHODCALLTYPE *GetRoDataRVA )( ICorDebugEditAndContinueSnapshot * This, /* [out] */ ULONG32 *pRoDataRVA); - - HRESULT ( STDMETHODCALLTYPE *GetRwDataRVA )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueSnapshot, GetRwDataRVA) + HRESULT ( STDMETHODCALLTYPE *GetRwDataRVA )( ICorDebugEditAndContinueSnapshot * This, /* [out] */ ULONG32 *pRwDataRVA); - - HRESULT ( STDMETHODCALLTYPE *SetPEBytes )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueSnapshot, SetPEBytes) + HRESULT ( STDMETHODCALLTYPE *SetPEBytes )( ICorDebugEditAndContinueSnapshot * This, /* [in] */ IStream *pIStream); - - HRESULT ( STDMETHODCALLTYPE *SetILMap )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueSnapshot, SetILMap) + HRESULT ( STDMETHODCALLTYPE *SetILMap )( ICorDebugEditAndContinueSnapshot * This, /* [in] */ mdToken mdFunction, /* [in] */ ULONG cMapSize, /* [size_is][in] */ COR_IL_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetPESymbolBytes )( + + DECLSPEC_XFGVIRT(ICorDebugEditAndContinueSnapshot, SetPESymbolBytes) + HRESULT ( STDMETHODCALLTYPE *SetPESymbolBytes )( ICorDebugEditAndContinueSnapshot * This, /* [in] */ IStream *pIStream); - + END_INTERFACE } ICorDebugEditAndContinueSnapshotVtbl; @@ -18770,115 +20014,123 @@ EXTERN_C const IID IID_ICorDebugEditAndContinueSnapshot; CONST_VTBL struct ICorDebugEditAndContinueSnapshotVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugEditAndContinueSnapshot_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugEditAndContinueSnapshot_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugEditAndContinueSnapshot_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugEditAndContinueSnapshot_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugEditAndContinueSnapshot_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugEditAndContinueSnapshot_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugEditAndContinueSnapshot_CopyMetaData(This,pIStream,pMvid) \ - ( (This)->lpVtbl -> CopyMetaData(This,pIStream,pMvid) ) +#define ICorDebugEditAndContinueSnapshot_CopyMetaData(This,pIStream,pMvid) \ + ( (This)->lpVtbl -> CopyMetaData(This,pIStream,pMvid) ) -#define ICorDebugEditAndContinueSnapshot_GetMvid(This,pMvid) \ - ( (This)->lpVtbl -> GetMvid(This,pMvid) ) +#define ICorDebugEditAndContinueSnapshot_GetMvid(This,pMvid) \ + ( (This)->lpVtbl -> GetMvid(This,pMvid) ) -#define ICorDebugEditAndContinueSnapshot_GetRoDataRVA(This,pRoDataRVA) \ - ( (This)->lpVtbl -> GetRoDataRVA(This,pRoDataRVA) ) +#define ICorDebugEditAndContinueSnapshot_GetRoDataRVA(This,pRoDataRVA) \ + ( (This)->lpVtbl -> GetRoDataRVA(This,pRoDataRVA) ) -#define ICorDebugEditAndContinueSnapshot_GetRwDataRVA(This,pRwDataRVA) \ - ( (This)->lpVtbl -> GetRwDataRVA(This,pRwDataRVA) ) +#define ICorDebugEditAndContinueSnapshot_GetRwDataRVA(This,pRwDataRVA) \ + ( (This)->lpVtbl -> GetRwDataRVA(This,pRwDataRVA) ) -#define ICorDebugEditAndContinueSnapshot_SetPEBytes(This,pIStream) \ - ( (This)->lpVtbl -> SetPEBytes(This,pIStream) ) +#define ICorDebugEditAndContinueSnapshot_SetPEBytes(This,pIStream) \ + ( (This)->lpVtbl -> SetPEBytes(This,pIStream) ) -#define ICorDebugEditAndContinueSnapshot_SetILMap(This,mdFunction,cMapSize,map) \ - ( (This)->lpVtbl -> SetILMap(This,mdFunction,cMapSize,map) ) +#define ICorDebugEditAndContinueSnapshot_SetILMap(This,mdFunction,cMapSize,map) \ + ( (This)->lpVtbl -> SetILMap(This,mdFunction,cMapSize,map) ) -#define ICorDebugEditAndContinueSnapshot_SetPESymbolBytes(This,pIStream) \ - ( (This)->lpVtbl -> SetPESymbolBytes(This,pIStream) ) +#define ICorDebugEditAndContinueSnapshot_SetPESymbolBytes(This,pIStream) \ + ( (This)->lpVtbl -> SetPESymbolBytes(This,pIStream) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugEditAndContinueSnapshot_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugEditAndContinueSnapshot_INTERFACE_DEFINED__ */ #ifndef __ICorDebugExceptionObjectCallStackEnum_INTERFACE_DEFINED__ #define __ICorDebugExceptionObjectCallStackEnum_INTERFACE_DEFINED__ /* interface ICorDebugExceptionObjectCallStackEnum */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugExceptionObjectCallStackEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("ED775530-4DC4-41F7-86D0-9E2DEF7DFC66") ICorDebugExceptionObjectCallStackEnum : public ICorDebugEnum { public: - virtual HRESULT STDMETHODCALLTYPE Next( + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ CorDebugExceptionObjectStackFrame values[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugExceptionObjectCallStackEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugExceptionObjectCallStackEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugExceptionObjectCallStackEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugExceptionObjectCallStackEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorDebugExceptionObjectCallStackEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorDebugExceptionObjectCallStackEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorDebugExceptionObjectCallStackEnum * This, /* [out] */ ICorDebugEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorDebugEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorDebugExceptionObjectCallStackEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorDebugExceptionObjectCallStackEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorDebugExceptionObjectCallStackEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ CorDebugExceptionObjectStackFrame values[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorDebugExceptionObjectCallStackEnumVtbl; @@ -18887,91 +20139,95 @@ EXTERN_C const IID IID_ICorDebugExceptionObjectCallStackEnum; CONST_VTBL struct ICorDebugExceptionObjectCallStackEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugExceptionObjectCallStackEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugExceptionObjectCallStackEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugExceptionObjectCallStackEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugExceptionObjectCallStackEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugExceptionObjectCallStackEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugExceptionObjectCallStackEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugExceptionObjectCallStackEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) +#define ICorDebugExceptionObjectCallStackEnum_Skip(This,celt) \ + ( (This)->lpVtbl -> Skip(This,celt) ) -#define ICorDebugExceptionObjectCallStackEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) +#define ICorDebugExceptionObjectCallStackEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) -#define ICorDebugExceptionObjectCallStackEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) +#define ICorDebugExceptionObjectCallStackEnum_Clone(This,ppEnum) \ + ( (This)->lpVtbl -> Clone(This,ppEnum) ) -#define ICorDebugExceptionObjectCallStackEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) +#define ICorDebugExceptionObjectCallStackEnum_GetCount(This,pcelt) \ + ( (This)->lpVtbl -> GetCount(This,pcelt) ) -#define ICorDebugExceptionObjectCallStackEnum_Next(This,celt,values,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) +#define ICorDebugExceptionObjectCallStackEnum_Next(This,celt,values,pceltFetched) \ + ( (This)->lpVtbl -> Next(This,celt,values,pceltFetched) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugExceptionObjectCallStackEnum_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugExceptionObjectCallStackEnum_INTERFACE_DEFINED__ */ #ifndef __ICorDebugExceptionObjectValue_INTERFACE_DEFINED__ #define __ICorDebugExceptionObjectValue_INTERFACE_DEFINED__ /* interface ICorDebugExceptionObjectValue */ -/* [unique][uuid][local][object] */ +/* [unique][uuid][local][object] */ EXTERN_C const IID IID_ICorDebugExceptionObjectValue; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("AE4CA65D-59DD-42A2-83A5-57E8A08D8719") ICorDebugExceptionObjectValue : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE EnumerateExceptionCallStack( + virtual HRESULT STDMETHODCALLTYPE EnumerateExceptionCallStack( /* [out] */ ICorDebugExceptionObjectCallStackEnum **ppCallStackEnum) = 0; - + }; - - -#else /* C style interface */ + + +#else /* C style interface */ typedef struct ICorDebugExceptionObjectValueVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorDebugExceptionObjectValue * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorDebugExceptionObjectValue * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorDebugExceptionObjectValue * This); - - HRESULT ( STDMETHODCALLTYPE *EnumerateExceptionCallStack )( + + DECLSPEC_XFGVIRT(ICorDebugExceptionObjectValue, EnumerateExceptionCallStack) + HRESULT ( STDMETHODCALLTYPE *EnumerateExceptionCallStack )( ICorDebugExceptionObjectValue * This, /* [out] */ ICorDebugExceptionObjectCallStackEnum **ppCallStackEnum); - + END_INTERFACE } ICorDebugExceptionObjectValueVtbl; @@ -18980,33 +20236,33 @@ EXTERN_C const IID IID_ICorDebugExceptionObjectValue; CONST_VTBL struct ICorDebugExceptionObjectValueVtbl *lpVtbl; }; - + #ifdef COBJMACROS -#define ICorDebugExceptionObjectValue_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) +#define ICorDebugExceptionObjectValue_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) -#define ICorDebugExceptionObjectValue_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) +#define ICorDebugExceptionObjectValue_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) -#define ICorDebugExceptionObjectValue_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) +#define ICorDebugExceptionObjectValue_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) -#define ICorDebugExceptionObjectValue_EnumerateExceptionCallStack(This,ppCallStackEnum) \ - ( (This)->lpVtbl -> EnumerateExceptionCallStack(This,ppCallStackEnum) ) +#define ICorDebugExceptionObjectValue_EnumerateExceptionCallStack(This,ppCallStackEnum) \ + ( (This)->lpVtbl -> EnumerateExceptionCallStack(This,ppCallStackEnum) ) #endif /* COBJMACROS */ -#endif /* C style interface */ +#endif /* C style interface */ -#endif /* __ICorDebugExceptionObjectValue_INTERFACE_DEFINED__ */ +#endif /* __ICorDebugExceptionObjectValue_INTERFACE_DEFINED__ */ @@ -19014,7 +20270,7 @@ EXTERN_C const IID IID_ICorDebugExceptionObjectValue; #define __CORDBLib_LIBRARY_DEFINED__ /* library CORDBLib */ -/* [helpstring][version][uuid] */ +/* [helpstring][version][uuid] */ @@ -19075,3 +20331,5 @@ EmbeddedCLRCorDebug; #endif #endif + + diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/corerror.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/corerror.h index 2bfebe10fe..e073dea06d 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/corerror.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/corerror.h @@ -43,7 +43,6 @@ #define FUSION_E_REF_DEF_MISMATCH EMAKEHR(0x1040) #define FUSION_E_PRIVATE_ASM_DISALLOWED EMAKEHR(0x1044) #define FUSION_E_INVALID_NAME EMAKEHR(0x1047) -#define FUSION_E_CACHEFILE_FAILED EMAKEHR(0x1052) #define FUSION_E_APP_DOMAIN_LOCKED EMAKEHR(0x1053) #define COR_E_LOADING_REFERENCE_ASSEMBLY EMAKEHR(0x1058) #define COR_E_AMBIGUOUSIMPLEMENTATION EMAKEHR(0x106a) @@ -214,6 +213,7 @@ #define CORDIAGIPC_E_UNKNOWN_MAGIC EMAKEHR(0x1386) #define CORDIAGIPC_E_UNKNOWN_ERROR EMAKEHR(0x1387) #define CORPROF_E_SUSPENSION_IN_PROGRESS EMAKEHR(0x1388) +#define CORPROF_E_NOT_GC_OBJECT EMAKEHR(0x1389) #define CORSEC_E_POLICY_EXCEPTION EMAKEHR(0x1416) #define CORSEC_E_MIN_GRANT_FAIL EMAKEHR(0x1417) #define CORSEC_E_NO_EXEC_PERM EMAKEHR(0x1418) @@ -374,6 +374,7 @@ #define CLR_E_GC_BAD_AFFINITY_CONFIG_FORMAT EMAKEHR(0x200b) #define CLR_E_GC_BAD_HARD_LIMIT EMAKEHR(0x200d) #define CLR_E_GC_LARGE_PAGE_MISSING_HARD_LIMIT EMAKEHR(0x200e) +#define CLR_E_GC_BAD_REGION_SIZE EMAKEHR(0x200f) #define COR_E_UNAUTHORIZEDACCESS E_ACCESSDENIED #define COR_E_ARGUMENT E_INVALIDARG #define COR_E_INVALIDCAST E_NOINTERFACE diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/corprof.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/corprof.h index 05e935661a..d4cd312a99 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/corprof.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/corprof.h @@ -3,12 +3,12 @@ /* this ALWAYS GENERATED file contains the definitions for the interfaces */ - /* File created by MIDL compiler version 8.01.0622 */ + /* File created by MIDL compiler version 8.01.0628 */ /* Compiler settings for corprof.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0622 + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0628 protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ @@ -41,7 +41,15 @@ #pragma once #endif -/* Forward Declarations */ +#ifndef DECLSPEC_XFGVIRT +#if defined(_CONTROL_FLOW_GUARD_XFG) +#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func)) +#else +#define DECLSPEC_XFGVIRT(base, func) +#endif +#endif + +/* Forward Declarations */ #ifndef __ICorProfilerCallback_FWD_DEFINED__ #define __ICorProfilerCallback_FWD_DEFINED__ @@ -246,6 +254,13 @@ typedef interface ICorProfilerInfo13 ICorProfilerInfo13; #endif /* __ICorProfilerInfo13_FWD_DEFINED__ */ +#ifndef __ICorProfilerInfo14_FWD_DEFINED__ +#define __ICorProfilerInfo14_FWD_DEFINED__ +typedef interface ICorProfilerInfo14 ICorProfilerInfo14; + +#endif /* __ICorProfilerInfo14_FWD_DEFINED__ */ + + #ifndef __ICorProfilerMethodEnum_FWD_DEFINED__ #define __ICorProfilerMethodEnum_FWD_DEFINED__ typedef interface ICorProfilerMethodEnum ICorProfilerMethodEnum; @@ -272,11 +287,11 @@ typedef interface ICorProfilerAssemblyReferenceProvider ICorProfilerAssemblyRefe #ifdef __cplusplus extern "C"{ -#endif +#endif /* interface __MIDL_itf_corprof_0000_0000 */ -/* [local] */ +/* [local] */ #if 0 typedef LONG32 mdToken; @@ -336,7 +351,7 @@ typedef struct _COR_IL_MAP #endif //_COR_IL_MAP #ifndef _COR_DEBUG_IL_TO_NATIVE_MAP_ #define _COR_DEBUG_IL_TO_NATIVE_MAP_ -typedef +typedef enum CorDebugIlToNativeMappingTypes { NO_MAPPING = -1, @@ -391,16 +406,16 @@ typedef /* [public][public][public][public][public][public][public][public][publ UINT_PTR clientID; } FunctionIDOrClientID; -typedef UINT_PTR __stdcall __stdcall FunctionIDMapper( +typedef UINT_PTR __stdcall __stdcall FunctionIDMapper( FunctionID funcId, BOOL *pbHookFunction); -typedef UINT_PTR __stdcall __stdcall FunctionIDMapper2( +typedef UINT_PTR __stdcall __stdcall FunctionIDMapper2( FunctionID funcId, void *clientData, BOOL *pbHookFunction); -typedef +typedef enum _COR_PRF_SNAPSHOT_INFO { COR_PRF_SNAPSHOT_DEFAULT = 0, @@ -429,7 +444,7 @@ typedef struct _COR_PRF_CODE_INFO SIZE_T size; } COR_PRF_CODE_INFO; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0004 { COR_PRF_FIELD_NOT_A_STATIC = 0, @@ -462,54 +477,54 @@ typedef struct _COR_PRF_METHOD mdMethodDef methodId; } COR_PRF_METHOD; -typedef void FunctionEnter( +typedef void FunctionEnter( FunctionID funcID); -typedef void FunctionLeave( +typedef void FunctionLeave( FunctionID funcID); -typedef void FunctionTailcall( +typedef void FunctionTailcall( FunctionID funcID); -typedef void FunctionEnter2( +typedef void FunctionEnter2( FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func, COR_PRF_FUNCTION_ARGUMENT_INFO *argumentInfo); -typedef void FunctionLeave2( +typedef void FunctionLeave2( FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func, COR_PRF_FUNCTION_ARGUMENT_RANGE *retvalRange); -typedef void FunctionTailcall2( +typedef void FunctionTailcall2( FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func); -typedef void FunctionEnter3( +typedef void FunctionEnter3( FunctionIDOrClientID functionIDOrClientID); -typedef void FunctionLeave3( +typedef void FunctionLeave3( FunctionIDOrClientID functionIDOrClientID); -typedef void FunctionTailcall3( +typedef void FunctionTailcall3( FunctionIDOrClientID functionIDOrClientID); -typedef void FunctionEnter3WithInfo( +typedef void FunctionEnter3WithInfo( FunctionIDOrClientID functionIDOrClientID, COR_PRF_ELT_INFO eltInfo); -typedef void FunctionLeave3WithInfo( +typedef void FunctionLeave3WithInfo( FunctionIDOrClientID functionIDOrClientID, COR_PRF_ELT_INFO eltInfo); -typedef void FunctionTailcall3WithInfo( +typedef void FunctionTailcall3WithInfo( FunctionIDOrClientID functionIDOrClientID, COR_PRF_ELT_INFO eltInfo); -typedef HRESULT __stdcall __stdcall StackSnapshotCallback( +typedef HRESULT __stdcall __stdcall StackSnapshotCallback( FunctionID funcId, UINT_PTR ip, COR_PRF_FRAME_INFO frameInfo, @@ -517,12 +532,12 @@ typedef HRESULT __stdcall __stdcall StackSnapshotCallback( BYTE context[ ], void *clientData); -typedef BOOL ObjectReferenceCallback( +typedef BOOL ObjectReferenceCallback( ObjectID root, ObjectID *reference, void *clientData); -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0005 { COR_PRF_MONITOR_NONE = 0, @@ -563,10 +578,10 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0005 COR_PRF_REQUIRE_PROFILE_IMAGE = ( ( COR_PRF_USE_PROFILE_IMAGES | COR_PRF_MONITOR_CODE_TRANSITIONS ) | COR_PRF_MONITOR_ENTERLEAVE ) , COR_PRF_ALLOWABLE_AFTER_ATTACH = ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_THREADS | COR_PRF_MONITOR_MODULE_LOADS ) | COR_PRF_MONITOR_ASSEMBLY_LOADS ) | COR_PRF_MONITOR_APPDOMAIN_LOADS ) | COR_PRF_ENABLE_STACK_SNAPSHOT ) | COR_PRF_MONITOR_GC ) | COR_PRF_MONITOR_SUSPENDS ) | COR_PRF_MONITOR_CLASS_LOADS ) | COR_PRF_MONITOR_EXCEPTIONS ) | COR_PRF_MONITOR_JIT_COMPILATION ) | COR_PRF_ENABLE_REJIT ) , COR_PRF_ALLOWABLE_NOTIFICATION_PROFILER = ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_FUNCTION_UNLOADS | COR_PRF_MONITOR_CLASS_LOADS ) | COR_PRF_MONITOR_MODULE_LOADS ) | COR_PRF_MONITOR_ASSEMBLY_LOADS ) | COR_PRF_MONITOR_APPDOMAIN_LOADS ) | COR_PRF_MONITOR_JIT_COMPILATION ) | COR_PRF_MONITOR_EXCEPTIONS ) | COR_PRF_MONITOR_OBJECT_ALLOCATED ) | COR_PRF_MONITOR_THREADS ) | COR_PRF_MONITOR_CODE_TRANSITIONS ) | COR_PRF_MONITOR_CCW ) | COR_PRF_MONITOR_SUSPENDS ) | COR_PRF_MONITOR_CACHE_SEARCHES ) | COR_PRF_DISABLE_INLINING ) | COR_PRF_DISABLE_OPTIMIZATIONS ) | COR_PRF_ENABLE_OBJECT_ALLOCATED ) | COR_PRF_MONITOR_CLR_EXCEPTIONS ) | COR_PRF_ENABLE_STACK_SNAPSHOT ) | COR_PRF_USE_PROFILE_IMAGES ) | COR_PRF_DISABLE_ALL_NGEN_IMAGES ) , - COR_PRF_MONITOR_IMMUTABLE = ( ( ( ( ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_CODE_TRANSITIONS | COR_PRF_MONITOR_REMOTING ) | COR_PRF_MONITOR_REMOTING_COOKIE ) | COR_PRF_MONITOR_REMOTING_ASYNC ) | COR_PRF_ENABLE_INPROC_DEBUGGING ) | COR_PRF_ENABLE_JIT_MAPS ) | COR_PRF_DISABLE_OPTIMIZATIONS ) | COR_PRF_DISABLE_INLINING ) | COR_PRF_ENABLE_OBJECT_ALLOCATED ) | COR_PRF_ENABLE_FUNCTION_ARGS ) | COR_PRF_ENABLE_FUNCTION_RETVAL ) | COR_PRF_ENABLE_FRAME_INFO ) | COR_PRF_USE_PROFILE_IMAGES ) | COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST ) | COR_PRF_DISABLE_ALL_NGEN_IMAGES ) + COR_PRF_MONITOR_IMMUTABLE = ( ( ( ( ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_CODE_TRANSITIONS | COR_PRF_MONITOR_REMOTING ) | COR_PRF_MONITOR_REMOTING_COOKIE ) | COR_PRF_MONITOR_REMOTING_ASYNC ) | COR_PRF_ENABLE_INPROC_DEBUGGING ) | COR_PRF_ENABLE_JIT_MAPS ) | COR_PRF_DISABLE_OPTIMIZATIONS ) | COR_PRF_DISABLE_INLINING ) | COR_PRF_ENABLE_OBJECT_ALLOCATED ) | COR_PRF_ENABLE_FUNCTION_ARGS ) | COR_PRF_ENABLE_FUNCTION_RETVAL ) | COR_PRF_ENABLE_FRAME_INFO ) | COR_PRF_USE_PROFILE_IMAGES ) | COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST ) | COR_PRF_DISABLE_ALL_NGEN_IMAGES ) } COR_PRF_MONITOR; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0006 { COR_PRF_HIGH_MONITOR_NONE = 0, @@ -585,7 +600,7 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0006 COR_PRF_HIGH_MONITOR_IMMUTABLE = COR_PRF_HIGH_DISABLE_TIERED_COMPILATION } COR_PRF_HIGH_MONITOR; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0007 { PROFILER_PARENT_UNKNOWN = 0xfffffffd, @@ -593,21 +608,21 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0007 PROFILER_GLOBAL_MODULE = 0xffffffff } COR_PRF_MISC; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0008 { COR_PRF_CACHED_FUNCTION_FOUND = 0, - COR_PRF_CACHED_FUNCTION_NOT_FOUND = ( COR_PRF_CACHED_FUNCTION_FOUND + 1 ) + COR_PRF_CACHED_FUNCTION_NOT_FOUND = ( COR_PRF_CACHED_FUNCTION_FOUND + 1 ) } COR_PRF_JIT_CACHE; -typedef /* [public][public][public] */ +typedef /* [public][public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0009 { COR_PRF_TRANSITION_CALL = 0, - COR_PRF_TRANSITION_RETURN = ( COR_PRF_TRANSITION_CALL + 1 ) + COR_PRF_TRANSITION_RETURN = ( COR_PRF_TRANSITION_CALL + 1 ) } COR_PRF_TRANSITION_REASON; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0010 { COR_PRF_SUSPEND_OTHER = 0, @@ -621,14 +636,14 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0010 COR_PRF_SUSPEND_FOR_PROFILER = 9 } COR_PRF_SUSPEND_REASON; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0011 { COR_PRF_DESKTOP_CLR = 0x1, COR_PRF_CORE_CLR = 0x2 } COR_PRF_RUNTIME_TYPE; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0012 { COR_PRF_REJIT_BLOCK_INLINING = 0x1, @@ -641,7 +656,7 @@ typedef UINT_PTR EVENTPIPE_EVENT; typedef UINT64 EVENTPIPE_SESSION; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0013 { COR_PRF_EVENTPIPE_OBJECT = 1, @@ -664,7 +679,7 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0013 COR_PRF_EVENTPIPE_ARRAY = 19 } COR_PRF_EVENTPIPE_PARAM_TYPE; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0000_0014 { COR_PRF_EVENTPIPE_LOGALWAYS = 0, @@ -697,12 +712,28 @@ typedef /* [public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0017 UINT32 reserved; } COR_PRF_EVENT_DATA; -typedef +typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0018 + { + UINT64 Ptr; + UINT32 Size; + UINT32 Type; + } COR_PRF_FILTER_DATA; + +typedef void EventPipeProviderCallback( + const UINT8 *source_id, + UINT32 is_enabled, + UINT8 level, + UINT64 match_any_keywords, + UINT64 match_all_keywords, + COR_PRF_FILTER_DATA *filter_data, + void *callback_data); + +typedef enum _COR_PRF_HANDLE_TYPE { - COR_PRF_HANDLE_TYPE_WEAK = 0x1, - COR_PRF_HANDLE_TYPE_STRONG = 0x2, - COR_PRF_HANDLE_TYPE_PINNED = 0x3 + COR_PRF_HANDLE_TYPE_WEAK = 0x1, + COR_PRF_HANDLE_TYPE_STRONG = 0x2, + COR_PRF_HANDLE_TYPE_PINNED = 0x3 } COR_PRF_HANDLE_TYPE; typedef void **ObjectHandleID; @@ -723,6 +754,8 @@ typedef void **ObjectHandleID; + + extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0000_v0_0_s_ifspec; @@ -730,567 +763,639 @@ extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0000_v0_0_s_ifspec; #define __ICorProfilerCallback_INTERFACE_DEFINED__ /* interface ICorProfilerCallback */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("176FBED1-A55C-4796-98CA-A9DA0EF883E7") ICorProfilerCallback : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Initialize( + virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ IUnknown *pICorProfilerInfoUnk) = 0; - + virtual HRESULT STDMETHODCALLTYPE Shutdown( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE AppDomainCreationStarted( + + virtual HRESULT STDMETHODCALLTYPE AppDomainCreationStarted( /* [in] */ AppDomainID appDomainId) = 0; - - virtual HRESULT STDMETHODCALLTYPE AppDomainCreationFinished( + + virtual HRESULT STDMETHODCALLTYPE AppDomainCreationFinished( /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownStarted( + + virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownStarted( /* [in] */ AppDomainID appDomainId) = 0; - - virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownFinished( + + virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownFinished( /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE AssemblyLoadStarted( + + virtual HRESULT STDMETHODCALLTYPE AssemblyLoadStarted( /* [in] */ AssemblyID assemblyId) = 0; - - virtual HRESULT STDMETHODCALLTYPE AssemblyLoadFinished( + + virtual HRESULT STDMETHODCALLTYPE AssemblyLoadFinished( /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadStarted( + + virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadStarted( /* [in] */ AssemblyID assemblyId) = 0; - - virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadFinished( + + virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadFinished( /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleLoadStarted( + + virtual HRESULT STDMETHODCALLTYPE ModuleLoadStarted( /* [in] */ ModuleID moduleId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleLoadFinished( + + virtual HRESULT STDMETHODCALLTYPE ModuleLoadFinished( /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleUnloadStarted( + + virtual HRESULT STDMETHODCALLTYPE ModuleUnloadStarted( /* [in] */ ModuleID moduleId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleUnloadFinished( + + virtual HRESULT STDMETHODCALLTYPE ModuleUnloadFinished( /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE ModuleAttachedToAssembly( + + virtual HRESULT STDMETHODCALLTYPE ModuleAttachedToAssembly( /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClassLoadStarted( + + virtual HRESULT STDMETHODCALLTYPE ClassLoadStarted( /* [in] */ ClassID classId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClassLoadFinished( + + virtual HRESULT STDMETHODCALLTYPE ClassLoadFinished( /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClassUnloadStarted( + + virtual HRESULT STDMETHODCALLTYPE ClassUnloadStarted( /* [in] */ ClassID classId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ClassUnloadFinished( + + virtual HRESULT STDMETHODCALLTYPE ClassUnloadFinished( /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE FunctionUnloadStarted( + + virtual HRESULT STDMETHODCALLTYPE FunctionUnloadStarted( /* [in] */ FunctionID functionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITCompilationStarted( + + virtual HRESULT STDMETHODCALLTYPE JITCompilationStarted( /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITCompilationFinished( + + virtual HRESULT STDMETHODCALLTYPE JITCompilationFinished( /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchStarted( + + virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchStarted( /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchFinished( + + virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchFinished( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITFunctionPitched( + + virtual HRESULT STDMETHODCALLTYPE JITFunctionPitched( /* [in] */ FunctionID functionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE JITInlining( + + virtual HRESULT STDMETHODCALLTYPE JITInlining( /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline) = 0; - - virtual HRESULT STDMETHODCALLTYPE ThreadCreated( + + virtual HRESULT STDMETHODCALLTYPE ThreadCreated( /* [in] */ ThreadID threadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ThreadDestroyed( + + virtual HRESULT STDMETHODCALLTYPE ThreadDestroyed( /* [in] */ ThreadID threadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ThreadAssignedToOSThread( + + virtual HRESULT STDMETHODCALLTYPE ThreadAssignedToOSThread( /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId) = 0; - + virtual HRESULT STDMETHODCALLTYPE RemotingClientInvocationStarted( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RemotingClientSendingMessage( + + virtual HRESULT STDMETHODCALLTYPE RemotingClientSendingMessage( /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync) = 0; - - virtual HRESULT STDMETHODCALLTYPE RemotingClientReceivingReply( + + virtual HRESULT STDMETHODCALLTYPE RemotingClientReceivingReply( /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync) = 0; - + virtual HRESULT STDMETHODCALLTYPE RemotingClientInvocationFinished( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RemotingServerReceivingMessage( + + virtual HRESULT STDMETHODCALLTYPE RemotingServerReceivingMessage( /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync) = 0; - + virtual HRESULT STDMETHODCALLTYPE RemotingServerInvocationStarted( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE RemotingServerInvocationReturned( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RemotingServerSendingReply( + + virtual HRESULT STDMETHODCALLTYPE RemotingServerSendingReply( /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync) = 0; - - virtual HRESULT STDMETHODCALLTYPE UnmanagedToManagedTransition( + + virtual HRESULT STDMETHODCALLTYPE UnmanagedToManagedTransition( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason) = 0; - - virtual HRESULT STDMETHODCALLTYPE ManagedToUnmanagedTransition( + + virtual HRESULT STDMETHODCALLTYPE ManagedToUnmanagedTransition( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason) = 0; - - virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendStarted( + + virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendStarted( /* [in] */ COR_PRF_SUSPEND_REASON suspendReason) = 0; - + virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendFinished( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendAborted( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE RuntimeResumeStarted( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE RuntimeResumeFinished( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RuntimeThreadSuspended( + + virtual HRESULT STDMETHODCALLTYPE RuntimeThreadSuspended( /* [in] */ ThreadID threadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE RuntimeThreadResumed( + + virtual HRESULT STDMETHODCALLTYPE RuntimeThreadResumed( /* [in] */ ThreadID threadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE MovedReferences( + + virtual HRESULT STDMETHODCALLTYPE MovedReferences( /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE ObjectAllocated( + + virtual HRESULT STDMETHODCALLTYPE ObjectAllocated( /* [in] */ ObjectID objectId, /* [in] */ ClassID classId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ObjectsAllocatedByClass( + + virtual HRESULT STDMETHODCALLTYPE ObjectsAllocatedByClass( /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE ObjectReferences( + + virtual HRESULT STDMETHODCALLTYPE ObjectReferences( /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE RootReferences( + + virtual HRESULT STDMETHODCALLTYPE RootReferences( /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionThrown( + + virtual HRESULT STDMETHODCALLTYPE ExceptionThrown( /* [in] */ ObjectID thrownObjectId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFunctionEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFunctionEnter( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFunctionLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFilterEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFilterEnter( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFilterLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionSearchCatcherFound( + + virtual HRESULT STDMETHODCALLTYPE ExceptionSearchCatcherFound( /* [in] */ FunctionID functionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerEnter( /* [in] */ UINT_PTR __unused) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerLeave( + + virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerLeave( /* [in] */ UINT_PTR __unused) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFunctionEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFunctionEnter( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFunctionLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFinallyEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFinallyEnter( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFinallyLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ExceptionCatcherEnter( + + virtual HRESULT STDMETHODCALLTYPE ExceptionCatcherEnter( /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionCatcherLeave( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE COMClassicVTableCreated( + + virtual HRESULT STDMETHODCALLTYPE COMClassicVTableCreated( /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots) = 0; - - virtual HRESULT STDMETHODCALLTYPE COMClassicVTableDestroyed( + + virtual HRESULT STDMETHODCALLTYPE COMClassicVTableDestroyed( /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionCLRCatcherFound( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE ExceptionCLRCatcherExecute( void) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallbackVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback * This); - + END_INTERFACE } ICorProfilerCallbackVtbl; @@ -1299,227 +1404,227 @@ EXTERN_C const IID IID_ICorProfilerCallback; CONST_VTBL struct ICorProfilerCallbackVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #endif /* COBJMACROS */ @@ -1533,9 +1638,9 @@ EXTERN_C const IID IID_ICorProfilerCallback; /* interface __MIDL_itf_corprof_0000_0001 */ -/* [local] */ +/* [local] */ -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0001 { COR_PRF_GC_ROOT_STACK = 1, @@ -1544,7 +1649,7 @@ enum __MIDL___MIDL_itf_corprof_0000_0001_0001 COR_PRF_GC_ROOT_OTHER = 0 } COR_PRF_GC_ROOT_KIND; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0002 { COR_PRF_GC_ROOT_PINNING = 0x1, @@ -1553,13 +1658,13 @@ enum __MIDL___MIDL_itf_corprof_0000_0001_0002 COR_PRF_GC_ROOT_REFCOUNTED = 0x8 } COR_PRF_GC_ROOT_FLAGS; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0003 { COR_PRF_FINALIZER_CRITICAL = 0x1 } COR_PRF_FINALIZER_FLAGS; -typedef /* [public][public][public][public] */ +typedef /* [public][public][public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0004 { COR_PRF_GC_GEN_0 = 0, @@ -1577,7 +1682,14 @@ typedef struct COR_PRF_GC_GENERATION_RANGE UINT_PTR rangeLengthReserved; } COR_PRF_GC_GENERATION_RANGE; -typedef /* [public][public][public] */ +typedef struct COR_PRF_NONGC_HEAP_RANGE + { + ObjectID rangeStart; + UINT_PTR rangeLength; + UINT_PTR rangeLengthReserved; + } COR_PRF_NONGC_HEAP_RANGE; + +typedef /* [public][public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0005 { COR_PRF_CLAUSE_NONE = 0, @@ -1594,14 +1706,14 @@ typedef struct COR_PRF_EX_CLAUSE_INFO UINT_PTR shadowStackPointer; } COR_PRF_EX_CLAUSE_INFO; -typedef /* [public][public] */ +typedef /* [public][public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0006 { COR_PRF_GC_INDUCED = 1, COR_PRF_GC_OTHER = 0 } COR_PRF_GC_REASON; -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0001_0007 { COR_PRF_MODULE_DISK = 0x1, @@ -1622,417 +1734,497 @@ extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0001_v0_0_s_ifspec; #define __ICorProfilerCallback2_INTERFACE_DEFINED__ /* interface ICorProfilerCallback2 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("8A8CC829-CCF2-49fe-BBAE-0F022228071A") ICorProfilerCallback2 : public ICorProfilerCallback { public: - virtual HRESULT STDMETHODCALLTYPE ThreadNameChanged( + virtual HRESULT STDMETHODCALLTYPE ThreadNameChanged( /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GarbageCollectionStarted( + + virtual HRESULT STDMETHODCALLTYPE GarbageCollectionStarted( /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason) = 0; - - virtual HRESULT STDMETHODCALLTYPE SurvivingReferences( + + virtual HRESULT STDMETHODCALLTYPE SurvivingReferences( /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]) = 0; - + virtual HRESULT STDMETHODCALLTYPE GarbageCollectionFinished( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE FinalizeableObjectQueued( + + virtual HRESULT STDMETHODCALLTYPE FinalizeableObjectQueued( /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID) = 0; - - virtual HRESULT STDMETHODCALLTYPE RootReferences2( + + virtual HRESULT STDMETHODCALLTYPE RootReferences2( /* [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[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE HandleCreated( + + virtual HRESULT STDMETHODCALLTYPE HandleCreated( /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId) = 0; - - virtual HRESULT STDMETHODCALLTYPE HandleDestroyed( + + virtual HRESULT STDMETHODCALLTYPE HandleDestroyed( /* [in] */ GCHandleID handleId) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback2 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback2 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback2 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback2 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback2 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback2 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback2 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback2 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback2 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback2 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback2 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback2 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback2 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback2 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback2 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback2 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback2 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback2 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback2 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback2 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback2 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback2 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback2 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback2 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback2 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback2 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback2 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback2 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback2 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback2 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback2 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback2 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback2 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback2 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback2 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback2 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback2 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback2 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback2 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback2 * This, /* [in] */ GCHandleID handleId); - + END_INTERFACE } ICorProfilerCallback2Vtbl; @@ -2041,252 +2233,252 @@ EXTERN_C const IID IID_ICorProfilerCallback2; CONST_VTBL struct ICorProfilerCallback2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback2_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback2_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback2_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback2_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback2_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback2_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback2_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback2_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback2_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback2_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback2_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback2_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback2_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback2_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback2_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback2_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback2_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback2_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback2_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback2_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback2_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback2_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback2_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback2_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback2_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback2_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback2_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback2_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback2_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback2_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback2_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback2_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback2_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback2_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback2_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback2_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback2_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback2_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback2_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback2_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback2_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback2_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback2_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback2_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback2_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback2_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback2_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback2_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback2_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback2_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback2_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback2_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback2_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback2_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback2_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback2_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback2_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback2_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback2_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback2_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback2_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback2_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback2_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback2_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback2_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback2_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback2_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback2_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback2_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback2_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback2_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback2_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback2_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback2_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback2_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback2_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback2_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #endif /* COBJMACROS */ @@ -2303,402 +2495,485 @@ EXTERN_C const IID IID_ICorProfilerCallback2; #define __ICorProfilerCallback3_INTERFACE_DEFINED__ /* interface ICorProfilerCallback3 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("4FD2ED52-7731-4b8d-9469-03D2CC3086C5") ICorProfilerCallback3 : public ICorProfilerCallback2 { public: - virtual HRESULT STDMETHODCALLTYPE InitializeForAttach( + virtual HRESULT STDMETHODCALLTYPE InitializeForAttach( /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData) = 0; - + virtual HRESULT STDMETHODCALLTYPE ProfilerAttachComplete( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE ProfilerDetachSucceeded( void) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback3 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback3 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback3 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback3 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback3 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback3 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback3 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback3 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback3 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback3 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback3 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback3 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback3 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback3 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback3 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback3 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback3 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback3 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback3 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback3 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback3 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback3 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback3 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback3 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback3 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback3 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback3 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback3 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback3 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback3 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback3 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback3 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback3 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback3 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback3 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback3 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback3 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback3 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback3 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach) + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback3 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete) + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback3 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded) + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback3 * This); - + END_INTERFACE } ICorProfilerCallback3Vtbl; @@ -2707,262 +2982,262 @@ EXTERN_C const IID IID_ICorProfilerCallback3; CONST_VTBL struct ICorProfilerCallback3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback3_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback3_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback3_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback3_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback3_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback3_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback3_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback3_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback3_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback3_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback3_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback3_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback3_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback3_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback3_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback3_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback3_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback3_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback3_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback3_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback3_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback3_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback3_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback3_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback3_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback3_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback3_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback3_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback3_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback3_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback3_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback3_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback3_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback3_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback3_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback3_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback3_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback3_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback3_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback3_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback3_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback3_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback3_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback3_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback3_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback3_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback3_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback3_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback3_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback3_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback3_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback3_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback3_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback3_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback3_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback3_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback3_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback3_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback3_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback3_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback3_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback3_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback3_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback3_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback3_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback3_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback3_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback3_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback3_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback3_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback3_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback3_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback3_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback3_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback3_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback3_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback3_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback3_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback3_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback3_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #endif /* COBJMACROS */ @@ -2979,465 +3254,554 @@ EXTERN_C const IID IID_ICorProfilerCallback3; #define __ICorProfilerCallback4_INTERFACE_DEFINED__ /* interface ICorProfilerCallback4 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback4; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("7B63B2E3-107D-4d48-B2F6-F61E229470D2") ICorProfilerCallback4 : public ICorProfilerCallback3 { public: - virtual HRESULT STDMETHODCALLTYPE ReJITCompilationStarted( + virtual HRESULT STDMETHODCALLTYPE ReJITCompilationStarted( /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetReJITParameters( + + virtual HRESULT STDMETHODCALLTYPE GetReJITParameters( /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReJITCompilationFinished( + + virtual HRESULT STDMETHODCALLTYPE ReJITCompilationFinished( /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReJITError( + + virtual HRESULT STDMETHODCALLTYPE ReJITError( /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE MovedReferences2( + + virtual HRESULT STDMETHODCALLTYPE MovedReferences2( /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SurvivingReferences2( + + virtual HRESULT STDMETHODCALLTYPE SurvivingReferences2( /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback4 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback4 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback4 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback4 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback4 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback4 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback4 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback4 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback4 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback4 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback4 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback4 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback4 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback4 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback4 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback4 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback4 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback4 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback4 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback4 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback4 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback4 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback4 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback4 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback4 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback4 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback4 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback4 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback4 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback4 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback4 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback4 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback4 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback4 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback4 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback4 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback4 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach) + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback4 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete) + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded) + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback4 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters) + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback4 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError) + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2) + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback4 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback4 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - + END_INTERFACE } ICorProfilerCallback4Vtbl; @@ -3446,281 +3810,281 @@ EXTERN_C const IID IID_ICorProfilerCallback4; CONST_VTBL struct ICorProfilerCallback4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback4_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback4_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback4_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback4_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback4_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback4_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback4_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback4_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback4_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback4_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback4_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback4_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback4_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback4_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback4_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback4_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback4_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback4_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback4_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback4_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback4_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback4_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback4_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback4_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback4_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback4_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback4_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback4_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback4_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback4_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback4_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback4_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback4_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback4_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback4_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback4_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback4_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback4_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback4_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback4_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback4_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback4_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback4_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback4_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback4_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback4_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback4_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback4_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback4_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback4_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback4_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback4_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback4_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback4_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback4_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback4_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback4_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback4_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback4_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback4_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback4_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback4_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback4_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback4_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback4_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback4_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback4_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback4_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback4_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback4_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback4_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback4_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback4_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback4_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback4_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback4_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback4_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback4_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback4_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback4_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback4_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback4_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback4_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback4_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback4_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback4_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #endif /* COBJMACROS */ @@ -3737,445 +4101,535 @@ EXTERN_C const IID IID_ICorProfilerCallback4; #define __ICorProfilerCallback5_INTERFACE_DEFINED__ /* interface ICorProfilerCallback5 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback5; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("8DFBA405-8C9F-45F8-BFFA-83B14CEF78B5") ICorProfilerCallback5 : public ICorProfilerCallback4 { public: - virtual HRESULT STDMETHODCALLTYPE ConditionalWeakTableElementReferences( + virtual HRESULT STDMETHODCALLTYPE ConditionalWeakTableElementReferences( /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback5Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback5 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback5 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback5 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback5 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback5 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback5 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback5 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback5 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback5 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback5 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback5 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback5 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback5 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback5 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback5 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback5 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback5 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback5 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback5 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback5 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback5 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback5 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback5 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback5 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback5 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback5 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback5 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback5 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback5 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback5 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback5 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback5 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback5 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback5 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback5 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback5 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback5 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback5 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback5 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach) + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback5 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete) + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded) + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback5 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters) + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback5 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError) + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2) + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback5 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback5 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences) + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback5 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - + END_INTERFACE } ICorProfilerCallback5Vtbl; @@ -4184,285 +4638,285 @@ EXTERN_C const IID IID_ICorProfilerCallback5; CONST_VTBL struct ICorProfilerCallback5Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback5_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback5_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback5_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback5_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback5_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback5_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback5_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback5_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback5_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback5_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback5_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback5_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback5_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback5_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback5_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback5_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback5_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback5_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback5_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback5_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback5_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback5_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback5_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback5_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback5_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback5_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback5_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback5_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback5_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback5_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback5_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback5_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback5_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback5_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback5_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback5_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback5_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback5_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback5_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback5_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback5_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback5_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback5_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback5_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback5_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback5_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback5_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback5_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback5_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback5_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback5_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback5_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback5_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback5_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback5_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback5_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback5_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback5_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback5_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback5_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback5_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback5_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback5_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback5_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback5_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback5_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback5_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback5_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback5_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback5_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback5_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback5_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback5_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback5_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback5_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback5_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback5_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback5_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback5_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback5_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback5_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback5_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback5_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback5_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback5_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback5_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback5_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback5_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback5_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback5_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #endif /* COBJMACROS */ @@ -4479,448 +4933,539 @@ EXTERN_C const IID IID_ICorProfilerCallback5; #define __ICorProfilerCallback6_INTERFACE_DEFINED__ /* interface ICorProfilerCallback6 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback6; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("FC13DF4B-4448-4F4F-950C-BA8D19D00C36") ICorProfilerCallback6 : public ICorProfilerCallback5 { public: - virtual HRESULT STDMETHODCALLTYPE GetAssemblyReferences( + virtual HRESULT STDMETHODCALLTYPE GetAssemblyReferences( /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback6Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback6 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback6 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback6 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback6 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback6 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback6 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback6 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback6 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback6 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback6 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback6 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback6 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback6 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback6 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback6 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback6 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback6 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback6 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback6 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback6 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback6 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback6 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback6 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback6 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback6 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback6 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback6 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback6 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback6 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback6 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback6 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback6 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback6 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback6 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback6 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback6 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback6 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback6 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach) + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback6 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete) + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded) + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback6 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters) + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback6 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError) + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2) + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback6 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback6 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences) + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback6 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback6 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - + END_INTERFACE } ICorProfilerCallback6Vtbl; @@ -4929,289 +5474,289 @@ EXTERN_C const IID IID_ICorProfilerCallback6; CONST_VTBL struct ICorProfilerCallback6Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback6_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback6_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback6_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback6_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback6_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback6_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback6_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback6_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback6_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback6_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback6_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback6_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback6_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback6_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback6_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback6_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback6_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback6_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback6_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback6_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback6_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback6_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback6_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback6_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback6_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback6_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback6_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback6_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback6_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback6_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback6_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback6_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback6_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback6_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback6_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback6_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback6_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback6_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback6_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback6_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback6_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback6_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback6_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback6_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback6_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback6_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback6_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback6_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback6_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback6_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback6_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback6_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback6_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback6_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback6_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback6_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback6_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback6_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback6_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback6_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback6_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback6_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback6_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback6_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback6_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback6_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback6_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback6_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback6_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback6_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback6_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback6_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback6_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback6_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback6_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback6_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback6_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback6_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback6_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback6_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback6_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback6_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback6_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback6_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback6_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback6_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback6_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #define ICorProfilerCallback6_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ - ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #endif /* COBJMACROS */ @@ -5228,451 +5773,543 @@ EXTERN_C const IID IID_ICorProfilerCallback6; #define __ICorProfilerCallback7_INTERFACE_DEFINED__ /* interface ICorProfilerCallback7 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback7; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F76A2DBA-1D52-4539-866C-2AA518F9EFC3") ICorProfilerCallback7 : public ICorProfilerCallback6 { public: - virtual HRESULT STDMETHODCALLTYPE ModuleInMemorySymbolsUpdated( + virtual HRESULT STDMETHODCALLTYPE ModuleInMemorySymbolsUpdated( ModuleID moduleId) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback7Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback7 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback7 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback7 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback7 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback7 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback7 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback7 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback7 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback7 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback7 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback7 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback7 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback7 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback7 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback7 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback7 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback7 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback7 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback7 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback7 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback7 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback7 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback7 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback7 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback7 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback7 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback7 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback7 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback7 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback7 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback7 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback7 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback7 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback7 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback7 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback7 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback7 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback7 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback7 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach) + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback7 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete) + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded) + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback7 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters) + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback7 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError) + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2) + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback7 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback7 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences) + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback7 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback7 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - - HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated) + HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( ICorProfilerCallback7 * This, ModuleID moduleId); - + END_INTERFACE } ICorProfilerCallback7Vtbl; @@ -5681,293 +6318,293 @@ EXTERN_C const IID IID_ICorProfilerCallback7; CONST_VTBL struct ICorProfilerCallback7Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback7_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback7_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback7_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback7_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback7_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback7_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback7_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback7_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback7_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback7_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback7_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback7_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback7_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback7_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback7_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback7_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback7_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback7_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback7_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback7_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback7_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback7_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback7_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback7_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback7_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback7_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback7_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback7_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback7_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback7_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback7_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback7_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback7_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback7_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback7_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback7_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback7_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback7_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback7_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback7_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback7_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback7_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback7_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback7_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback7_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback7_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback7_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback7_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback7_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback7_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback7_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback7_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback7_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback7_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback7_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback7_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback7_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback7_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback7_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback7_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback7_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback7_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback7_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback7_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback7_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback7_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback7_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback7_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback7_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback7_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback7_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback7_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback7_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback7_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback7_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback7_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback7_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback7_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback7_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback7_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback7_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback7_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback7_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback7_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback7_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback7_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback7_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback7_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback7_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback7_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #define ICorProfilerCallback7_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ - ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #define ICorProfilerCallback7_ModuleInMemorySymbolsUpdated(This,moduleId) \ - ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) + ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) #endif /* COBJMACROS */ @@ -5984,472 +6621,566 @@ EXTERN_C const IID IID_ICorProfilerCallback7; #define __ICorProfilerCallback8_INTERFACE_DEFINED__ /* interface ICorProfilerCallback8 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback8; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("5BED9B15-C079-4D47-BFE2-215A140C07E0") ICorProfilerCallback8 : public ICorProfilerCallback7 { public: - virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationStarted( + virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationStarted( /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock, /* [in] */ LPCBYTE pILHeader, /* [in] */ ULONG cbILHeader) = 0; - - virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationFinished( + + virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationFinished( /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback8Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback8 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback8 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback8 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback8 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback8 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback8 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback8 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback8 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback8 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback8 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback8 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback8 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback8 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback8 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback8 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback8 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback8 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback8 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback8 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback8 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback8 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback8 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + 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 *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback8 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback8 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback8 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback8 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback8 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback8 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback8 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback8 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback8 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback8 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback8 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback8 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback8 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback8 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback8 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach) + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback8 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete) + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded) + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback8 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters) + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError) + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback8 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback8 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - - HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated) + HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( ICorProfilerCallback8 * This, ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock, /* [in] */ LPCBYTE pILHeader, /* [in] */ ULONG cbILHeader); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( ICorProfilerCallback8 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - + END_INTERFACE } ICorProfilerCallback8Vtbl; @@ -6458,300 +7189,300 @@ EXTERN_C const IID IID_ICorProfilerCallback8; CONST_VTBL struct ICorProfilerCallback8Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback8_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback8_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback8_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback8_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback8_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback8_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback8_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback8_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback8_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback8_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback8_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback8_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback8_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback8_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback8_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback8_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback8_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback8_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback8_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback8_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback8_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback8_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback8_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback8_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback8_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback8_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback8_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback8_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback8_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback8_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback8_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback8_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback8_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback8_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback8_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback8_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback8_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback8_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback8_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback8_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback8_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback8_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback8_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback8_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback8_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback8_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback8_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback8_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback8_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback8_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback8_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback8_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback8_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback8_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback8_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback8_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback8_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback8_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback8_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback8_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback8_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback8_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback8_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback8_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback8_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback8_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback8_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback8_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback8_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback8_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback8_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback8_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback8_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback8_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback8_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback8_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback8_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback8_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback8_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback8_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback8_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback8_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #define ICorProfilerCallback8_ModuleInMemorySymbolsUpdated(This,moduleId) \ - ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) + ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) #define ICorProfilerCallback8_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) #define ICorProfilerCallback8_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #endif /* COBJMACROS */ @@ -6768,468 +7499,563 @@ EXTERN_C const IID IID_ICorProfilerCallback8; #define __ICorProfilerCallback9_INTERFACE_DEFINED__ /* interface ICorProfilerCallback9 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback9; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("27583EC3-C8F5-482F-8052-194B8CE4705A") ICorProfilerCallback9 : public ICorProfilerCallback8 { public: - virtual HRESULT STDMETHODCALLTYPE DynamicMethodUnloaded( + virtual HRESULT STDMETHODCALLTYPE DynamicMethodUnloaded( /* [in] */ FunctionID functionId) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback9Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback9 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback9 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback9 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback9 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback9 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback9 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback9 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback9 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback9 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback9 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback9 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback9 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback9 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback9 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback9 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback9 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback9 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback9 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback9 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback9 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback9 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback9 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback9 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback9 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback9 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback9 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback9 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback9 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback9 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback9 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback9 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback9 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback9 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback9 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback9 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback9 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback9 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback9 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback9 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach) + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback9 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete) + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded) + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback9 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters) + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError) + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2) + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback9 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback9 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences) + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback9 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback9 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - - HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated) + HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( ICorProfilerCallback9 * This, ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock, /* [in] */ LPCBYTE pILHeader, /* [in] */ ULONG cbILHeader); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback9, DynamicMethodUnloaded) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( ICorProfilerCallback9 * This, /* [in] */ FunctionID functionId); - + END_INTERFACE } ICorProfilerCallback9Vtbl; @@ -7238,304 +8064,304 @@ EXTERN_C const IID IID_ICorProfilerCallback9; CONST_VTBL struct ICorProfilerCallback9Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback9_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback9_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback9_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback9_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback9_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback9_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback9_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback9_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback9_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback9_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback9_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback9_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback9_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback9_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback9_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback9_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback9_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback9_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback9_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback9_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback9_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback9_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback9_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback9_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback9_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback9_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback9_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback9_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback9_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback9_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback9_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback9_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback9_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback9_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback9_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback9_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback9_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback9_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback9_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback9_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback9_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback9_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback9_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback9_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback9_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback9_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback9_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback9_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback9_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback9_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback9_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback9_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback9_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback9_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback9_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback9_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback9_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback9_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback9_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback9_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback9_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback9_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback9_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback9_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback9_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback9_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback9_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback9_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback9_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback9_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback9_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback9_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback9_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback9_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback9_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback9_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback9_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback9_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback9_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback9_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback9_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback9_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback9_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback9_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback9_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback9_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback9_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback9_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback9_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback9_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #define ICorProfilerCallback9_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ - ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #define ICorProfilerCallback9_ModuleInMemorySymbolsUpdated(This,moduleId) \ - ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) + ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) #define ICorProfilerCallback9_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) #define ICorProfilerCallback9_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback9_DynamicMethodUnloaded(This,functionId) \ - ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) + ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) #endif /* COBJMACROS */ @@ -7552,18 +8378,18 @@ EXTERN_C const IID IID_ICorProfilerCallback9; #define __ICorProfilerCallback10_INTERFACE_DEFINED__ /* interface ICorProfilerCallback10 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback10; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CEC5B60E-C69C-495F-87F6-84D28EE16FFB") ICorProfilerCallback10 : public ICorProfilerCallback9 { public: - virtual HRESULT STDMETHODCALLTYPE EventPipeEventDelivered( + virtual HRESULT STDMETHODCALLTYPE EventPipeEventDelivered( /* [in] */ EVENTPIPE_PROVIDER provider, /* [in] */ DWORD eventId, /* [in] */ DWORD eventVersion, @@ -7576,459 +8402,555 @@ EXTERN_C const IID IID_ICorProfilerCallback10; /* [in] */ ThreadID eventThread, /* [in] */ ULONG numStackFrames, /* [length_is][in] */ UINT_PTR stackFrames[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE EventPipeProviderCreated( + + virtual HRESULT STDMETHODCALLTYPE EventPipeProviderCreated( /* [in] */ EVENTPIPE_PROVIDER provider) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback10Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback10 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback10 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback10 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback10 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback10 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback10 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback10 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback10 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback10 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback10 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback10 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback10 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback10 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback10 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback10 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback10 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback10 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback10 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback10 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback10 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback10 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback10 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback10 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback10 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback10 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback10 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback10 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback10 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback10 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback10 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback10 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback10 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback10 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback10 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback10 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback10 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback10 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback10 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback10 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback10 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback10 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback10 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback10 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback10 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback10 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback10 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback10 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback10 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach) + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback10 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete) + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded) + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback10 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters) + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError) + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2) + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback10 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback10 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences) + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback10 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback10 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - - HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated) + HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( ICorProfilerCallback10 * This, ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock, /* [in] */ LPCBYTE pILHeader, /* [in] */ ULONG cbILHeader); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback9, DynamicMethodUnloaded) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( ICorProfilerCallback10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeEventDelivered) + HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )( ICorProfilerCallback10 * This, /* [in] */ EVENTPIPE_PROVIDER provider, /* [in] */ DWORD eventId, @@ -8042,11 +8964,12 @@ EXTERN_C const IID IID_ICorProfilerCallback10; /* [in] */ ThreadID eventThread, /* [in] */ ULONG numStackFrames, /* [length_is][in] */ UINT_PTR stackFrames[ ]); - - HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeProviderCreated) + HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )( ICorProfilerCallback10 * This, /* [in] */ EVENTPIPE_PROVIDER provider); - + END_INTERFACE } ICorProfilerCallback10Vtbl; @@ -8055,311 +8978,311 @@ EXTERN_C const IID IID_ICorProfilerCallback10; CONST_VTBL struct ICorProfilerCallback10Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback10_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback10_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback10_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback10_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback10_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback10_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback10_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback10_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback10_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback10_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback10_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback10_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback10_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback10_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback10_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback10_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback10_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback10_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback10_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback10_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback10_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback10_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback10_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback10_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback10_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback10_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback10_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback10_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback10_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback10_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback10_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback10_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback10_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback10_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback10_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback10_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback10_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback10_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback10_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback10_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback10_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback10_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback10_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback10_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback10_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback10_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback10_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback10_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback10_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback10_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback10_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback10_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback10_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback10_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback10_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback10_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback10_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback10_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback10_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback10_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback10_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback10_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback10_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback10_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback10_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback10_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback10_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback10_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback10_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback10_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback10_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback10_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback10_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback10_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback10_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback10_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback10_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback10_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback10_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback10_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback10_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback10_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback10_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback10_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback10_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback10_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback10_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback10_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback10_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback10_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #define ICorProfilerCallback10_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ - ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #define ICorProfilerCallback10_ModuleInMemorySymbolsUpdated(This,moduleId) \ - ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) + ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) #define ICorProfilerCallback10_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) #define ICorProfilerCallback10_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback10_DynamicMethodUnloaded(This,functionId) \ - ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) + ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) #define ICorProfilerCallback10_EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,cbEventData,eventData,pActivityId,pRelatedActivityId,eventThread,numStackFrames,stackFrames) \ - ( (This)->lpVtbl -> EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,cbEventData,eventData,pActivityId,pRelatedActivityId,eventThread,numStackFrames,stackFrames) ) + ( (This)->lpVtbl -> EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,cbEventData,eventData,pActivityId,pRelatedActivityId,eventThread,numStackFrames,stackFrames) ) #define ICorProfilerCallback10_EventPipeProviderCreated(This,provider) \ - ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) ) + ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) ) #endif /* COBJMACROS */ @@ -8376,469 +9299,565 @@ EXTERN_C const IID IID_ICorProfilerCallback10; #define __ICorProfilerCallback11_INTERFACE_DEFINED__ /* interface ICorProfilerCallback11 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerCallback11; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("42350846-AAED-47F7-B128-FD0C98881CDE") ICorProfilerCallback11 : public ICorProfilerCallback10 { public: - virtual HRESULT STDMETHODCALLTYPE LoadAsNotificationOnly( + virtual HRESULT STDMETHODCALLTYPE LoadAsNotificationOnly( BOOL *pbNotificationOnly) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerCallback11Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerCallback11 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerCallback11 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize) + HRESULT ( STDMETHODCALLTYPE *Initialize )( ICorProfilerCallback11 * This, /* [in] */ IUnknown *pICorProfilerInfoUnk); - - HRESULT ( STDMETHODCALLTYPE *Shutdown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown) + HRESULT ( STDMETHODCALLTYPE *Shutdown )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )( ICorProfilerCallback11 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )( ICorProfilerCallback11 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )( ICorProfilerCallback11 * This, /* [in] */ AppDomainID appDomainId); - - HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished) + HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )( ICorProfilerCallback11 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )( ICorProfilerCallback11 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )( ICorProfilerCallback11 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )( ICorProfilerCallback11 * This, /* [in] */ AssemblyID assemblyId); - - HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )( ICorProfilerCallback11 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )( ICorProfilerCallback11 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )( ICorProfilerCallback11 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )( ICorProfilerCallback11 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )( ICorProfilerCallback11 * This, /* [in] */ ModuleID moduleId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly) + HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )( ICorProfilerCallback11 * This, /* [in] */ ModuleID moduleId, /* [in] */ AssemblyID AssemblyId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )( ICorProfilerCallback11 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )( ICorProfilerCallback11 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )( ICorProfilerCallback11 * This, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished) + HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )( ICorProfilerCallback11 * This, /* [in] */ ClassID classId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted) + HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *pbUseCachedFunction); - - HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished) + HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_JIT_CACHE result); - - HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched) + HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *JITInlining )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining) + HRESULT ( STDMETHODCALLTYPE *JITInlining )( ICorProfilerCallback11 * This, /* [in] */ FunctionID callerId, /* [in] */ FunctionID calleeId, /* [out] */ BOOL *pfShouldInline); - - HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated) + HRESULT ( STDMETHODCALLTYPE *ThreadCreated )( ICorProfilerCallback11 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed) + HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )( ICorProfilerCallback11 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread) + HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )( ICorProfilerCallback11 * This, /* [in] */ ThreadID managedThreadId, /* [in] */ DWORD osThreadId); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )( ICorProfilerCallback11 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )( ICorProfilerCallback11 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished) + HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage) + HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )( ICorProfilerCallback11 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned) + HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply) + HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )( ICorProfilerCallback11 * This, /* [in] */ GUID *pCookie, /* [in] */ BOOL fIsAsync); - - HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition) + HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition) + HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_TRANSITION_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )( ICorProfilerCallback11 * This, /* [in] */ COR_PRF_SUSPEND_REASON suspendReason); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted) + HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished) + HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )( ICorProfilerCallback11 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed) + HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )( ICorProfilerCallback11 * This, /* [in] */ ThreadID threadId); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences) + HRESULT ( STDMETHODCALLTYPE *MovedReferences )( ICorProfilerCallback11 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated) + HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )( ICorProfilerCallback11 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId); - - HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass) + HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )( ICorProfilerCallback11 * This, /* [in] */ ULONG cClassCount, /* [size_is][in] */ ClassID classIds[ ], /* [size_is][in] */ ULONG cObjects[ ]); - - HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences) + HRESULT ( STDMETHODCALLTYPE *ObjectReferences )( ICorProfilerCallback11 * This, /* [in] */ ObjectID objectId, /* [in] */ ClassID classId, /* [in] */ ULONG cObjectRefs, /* [size_is][in] */ ObjectID objectRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RootReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences) + HRESULT ( STDMETHODCALLTYPE *RootReferences )( ICorProfilerCallback11 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID rootRefIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown) + HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )( ICorProfilerCallback11 * This, /* [in] */ ObjectID thrownObjectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )( ICorProfilerCallback11 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )( ICorProfilerCallback11 * This, /* [in] */ UINT_PTR __unused); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ ObjectID objectId); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave) + HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )( ICorProfilerCallback11 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable, /* [in] */ ULONG cSlots); - - HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed) + HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )( ICorProfilerCallback11 * This, /* [in] */ ClassID wrappedClassId, /* [in] */ REFGUID implementedIID, /* [in] */ void *pVTable); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute) + HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged) + HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )( ICorProfilerCallback11 * This, /* [in] */ ThreadID threadId, /* [in] */ ULONG cchName, - /* [annotation][in] */ + /* [annotation][in] */ _In_reads_opt_(cchName) WCHAR name[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )( ICorProfilerCallback11 * This, /* [in] */ int cGenerations, /* [size_is][in] */ BOOL generationCollected[ ], /* [in] */ COR_PRF_GC_REASON reason); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )( ICorProfilerCallback11 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished) + HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued) + HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )( ICorProfilerCallback11 * This, /* [in] */ DWORD finalizerFlags, /* [in] */ ObjectID objectID); - - HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2) + HRESULT ( STDMETHODCALLTYPE *RootReferences2 )( ICorProfilerCallback11 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated) + HRESULT ( STDMETHODCALLTYPE *HandleCreated )( ICorProfilerCallback11 * This, /* [in] */ GCHandleID handleId, /* [in] */ ObjectID initialObjectId); - - HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed) + HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )( ICorProfilerCallback11 * This, /* [in] */ GCHandleID handleId); - - HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach) + HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )( ICorProfilerCallback11 * This, /* [in] */ IUnknown *pCorProfilerInfoUnk, /* [in] */ void *pvClientData, /* [in] */ UINT cbClientData); - - HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete) + HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded) + HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )( ICorProfilerCallback11 * This); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters) + HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )( ICorProfilerCallback11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ ICorProfilerFunctionControl *pFunctionControl); - - HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ ReJITID rejitId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *ReJITError )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError) + HRESULT ( STDMETHODCALLTYPE *ReJITError )( ICorProfilerCallback11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus); - - HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2) + HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )( ICorProfilerCallback11 * This, /* [in] */ ULONG cMovedObjectIDRanges, /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ], /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2) + HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )( ICorProfilerCallback11 * This, /* [in] */ ULONG cSurvivingObjectIDRanges, /* [size_is][in] */ ObjectID objectIDRangeStart[ ], /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]); - - HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences) + HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )( ICorProfilerCallback11 * This, /* [in] */ ULONG cRootRefs, /* [size_is][in] */ ObjectID keyRefIds[ ], /* [size_is][in] */ ObjectID valueRefIds[ ], /* [size_is][in] */ GCHandleID rootIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )( ICorProfilerCallback11 * This, /* [string][in] */ const WCHAR *wszAssemblyPath, /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider); - - HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated) + HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )( ICorProfilerCallback11 * This, ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fIsSafeToBlock, /* [in] */ LPCBYTE pILHeader, /* [in] */ ULONG cbILHeader); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId, /* [in] */ HRESULT hrStatus, /* [in] */ BOOL fIsSafeToBlock); - - HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback9, DynamicMethodUnloaded) + HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )( ICorProfilerCallback11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeEventDelivered) + HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )( ICorProfilerCallback11 * This, /* [in] */ EVENTPIPE_PROVIDER provider, /* [in] */ DWORD eventId, @@ -8852,15 +9871,17 @@ EXTERN_C const IID IID_ICorProfilerCallback11; /* [in] */ ThreadID eventThread, /* [in] */ ULONG numStackFrames, /* [length_is][in] */ UINT_PTR stackFrames[ ]); - - HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeProviderCreated) + HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )( ICorProfilerCallback11 * This, /* [in] */ EVENTPIPE_PROVIDER provider); - - HRESULT ( STDMETHODCALLTYPE *LoadAsNotificationOnly )( + + DECLSPEC_XFGVIRT(ICorProfilerCallback11, LoadAsNotificationOnly) + HRESULT ( STDMETHODCALLTYPE *LoadAsNotificationOnly )( ICorProfilerCallback11 * This, BOOL *pbNotificationOnly); - + END_INTERFACE } ICorProfilerCallback11Vtbl; @@ -8869,315 +9890,315 @@ EXTERN_C const IID IID_ICorProfilerCallback11; CONST_VTBL struct ICorProfilerCallback11Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerCallback11_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerCallback11_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerCallback11_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerCallback11_Initialize(This,pICorProfilerInfoUnk) \ - ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) + ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) ) #define ICorProfilerCallback11_Shutdown(This) \ - ( (This)->lpVtbl -> Shutdown(This) ) + ( (This)->lpVtbl -> Shutdown(This) ) #define ICorProfilerCallback11_AppDomainCreationStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) ) #define ICorProfilerCallback11_AppDomainCreationFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback11_AppDomainShutdownStarted(This,appDomainId) \ - ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) + ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) ) #define ICorProfilerCallback11_AppDomainShutdownFinished(This,appDomainId,hrStatus) \ - ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) + ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) ) #define ICorProfilerCallback11_AssemblyLoadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) ) #define ICorProfilerCallback11_AssemblyLoadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback11_AssemblyUnloadStarted(This,assemblyId) \ - ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) + ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) ) #define ICorProfilerCallback11_AssemblyUnloadFinished(This,assemblyId,hrStatus) \ - ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) + ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) ) #define ICorProfilerCallback11_ModuleLoadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) ) #define ICorProfilerCallback11_ModuleLoadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback11_ModuleUnloadStarted(This,moduleId) \ - ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) + ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) ) #define ICorProfilerCallback11_ModuleUnloadFinished(This,moduleId,hrStatus) \ - ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) + ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) ) #define ICorProfilerCallback11_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \ - ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) + ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) ) #define ICorProfilerCallback11_ClassLoadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassLoadStarted(This,classId) ) #define ICorProfilerCallback11_ClassLoadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback11_ClassUnloadStarted(This,classId) \ - ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) + ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) ) #define ICorProfilerCallback11_ClassUnloadFinished(This,classId,hrStatus) \ - ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) + ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) ) #define ICorProfilerCallback11_FunctionUnloadStarted(This,functionId) \ - ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) + ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) ) #define ICorProfilerCallback11_JITCompilationStarted(This,functionId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) ) #define ICorProfilerCallback11_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback11_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) ) #define ICorProfilerCallback11_JITCachedFunctionSearchFinished(This,functionId,result) \ - ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) + ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) ) #define ICorProfilerCallback11_JITFunctionPitched(This,functionId) \ - ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) + ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) ) #define ICorProfilerCallback11_JITInlining(This,callerId,calleeId,pfShouldInline) \ - ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) + ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) ) #define ICorProfilerCallback11_ThreadCreated(This,threadId) \ - ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) + ( (This)->lpVtbl -> ThreadCreated(This,threadId) ) #define ICorProfilerCallback11_ThreadDestroyed(This,threadId) \ - ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) + ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) ) #define ICorProfilerCallback11_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \ - ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) + ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) ) #define ICorProfilerCallback11_RemotingClientInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) ) #define ICorProfilerCallback11_RemotingClientSendingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback11_RemotingClientReceivingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback11_RemotingClientInvocationFinished(This) \ - ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) + ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) ) #define ICorProfilerCallback11_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) ) #define ICorProfilerCallback11_RemotingServerInvocationStarted(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) ) #define ICorProfilerCallback11_RemotingServerInvocationReturned(This) \ - ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) + ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) ) #define ICorProfilerCallback11_RemotingServerSendingReply(This,pCookie,fIsAsync) \ - ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) + ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) ) #define ICorProfilerCallback11_UnmanagedToManagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) ) #define ICorProfilerCallback11_ManagedToUnmanagedTransition(This,functionId,reason) \ - ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) + ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) ) #define ICorProfilerCallback11_RuntimeSuspendStarted(This,suspendReason) \ - ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) + ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) ) #define ICorProfilerCallback11_RuntimeSuspendFinished(This) \ - ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) + ( (This)->lpVtbl -> RuntimeSuspendFinished(This) ) #define ICorProfilerCallback11_RuntimeSuspendAborted(This) \ - ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) + ( (This)->lpVtbl -> RuntimeSuspendAborted(This) ) #define ICorProfilerCallback11_RuntimeResumeStarted(This) \ - ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) + ( (This)->lpVtbl -> RuntimeResumeStarted(This) ) #define ICorProfilerCallback11_RuntimeResumeFinished(This) \ - ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) + ( (This)->lpVtbl -> RuntimeResumeFinished(This) ) #define ICorProfilerCallback11_RuntimeThreadSuspended(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) ) #define ICorProfilerCallback11_RuntimeThreadResumed(This,threadId) \ - ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) + ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) ) #define ICorProfilerCallback11_MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback11_ObjectAllocated(This,objectId,classId) \ - ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) + ( (This)->lpVtbl -> ObjectAllocated(This,objectId,classId) ) #define ICorProfilerCallback11_ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) \ - ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) + ( (This)->lpVtbl -> ObjectsAllocatedByClass(This,cClassCount,classIds,cObjects) ) #define ICorProfilerCallback11_ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) \ - ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) + ( (This)->lpVtbl -> ObjectReferences(This,objectId,classId,cObjectRefs,objectRefIds) ) #define ICorProfilerCallback11_RootReferences(This,cRootRefs,rootRefIds) \ - ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) + ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) ) #define ICorProfilerCallback11_ExceptionThrown(This,thrownObjectId) \ - ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) + ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) ) #define ICorProfilerCallback11_ExceptionSearchFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) ) #define ICorProfilerCallback11_ExceptionSearchFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) ) #define ICorProfilerCallback11_ExceptionSearchFilterEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) ) #define ICorProfilerCallback11_ExceptionSearchFilterLeave(This) \ - ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) + ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) ) #define ICorProfilerCallback11_ExceptionSearchCatcherFound(This,functionId) \ - ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) + ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) ) #define ICorProfilerCallback11_ExceptionOSHandlerEnter(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) ) #define ICorProfilerCallback11_ExceptionOSHandlerLeave(This,__unused) \ - ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) + ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) ) #define ICorProfilerCallback11_ExceptionUnwindFunctionEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) ) #define ICorProfilerCallback11_ExceptionUnwindFunctionLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) ) #define ICorProfilerCallback11_ExceptionUnwindFinallyEnter(This,functionId) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) ) #define ICorProfilerCallback11_ExceptionUnwindFinallyLeave(This) \ - ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) + ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) ) #define ICorProfilerCallback11_ExceptionCatcherEnter(This,functionId,objectId) \ - ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) + ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) ) #define ICorProfilerCallback11_ExceptionCatcherLeave(This) \ - ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) + ( (This)->lpVtbl -> ExceptionCatcherLeave(This) ) #define ICorProfilerCallback11_COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) \ - ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) + ( (This)->lpVtbl -> COMClassicVTableCreated(This,wrappedClassId,implementedIID,pVTable,cSlots) ) #define ICorProfilerCallback11_COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) \ - ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) + ( (This)->lpVtbl -> COMClassicVTableDestroyed(This,wrappedClassId,implementedIID,pVTable) ) #define ICorProfilerCallback11_ExceptionCLRCatcherFound(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) ) #define ICorProfilerCallback11_ExceptionCLRCatcherExecute(This) \ - ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) + ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) ) #define ICorProfilerCallback11_ThreadNameChanged(This,threadId,cchName,name) \ - ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) + ( (This)->lpVtbl -> ThreadNameChanged(This,threadId,cchName,name) ) #define ICorProfilerCallback11_GarbageCollectionStarted(This,cGenerations,generationCollected,reason) \ - ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) + ( (This)->lpVtbl -> GarbageCollectionStarted(This,cGenerations,generationCollected,reason) ) #define ICorProfilerCallback11_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback11_GarbageCollectionFinished(This) \ - ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) + ( (This)->lpVtbl -> GarbageCollectionFinished(This) ) #define ICorProfilerCallback11_FinalizeableObjectQueued(This,finalizerFlags,objectID) \ - ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) + ( (This)->lpVtbl -> FinalizeableObjectQueued(This,finalizerFlags,objectID) ) #define ICorProfilerCallback11_RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) \ - ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) + ( (This)->lpVtbl -> RootReferences2(This,cRootRefs,rootRefIds,rootKinds,rootFlags,rootIds) ) #define ICorProfilerCallback11_HandleCreated(This,handleId,initialObjectId) \ - ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) + ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) ) #define ICorProfilerCallback11_HandleDestroyed(This,handleId) \ - ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) + ( (This)->lpVtbl -> HandleDestroyed(This,handleId) ) #define ICorProfilerCallback11_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \ - ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) + ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) ) #define ICorProfilerCallback11_ProfilerAttachComplete(This) \ - ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) + ( (This)->lpVtbl -> ProfilerAttachComplete(This) ) #define ICorProfilerCallback11_ProfilerDetachSucceeded(This) \ - ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) + ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) ) #define ICorProfilerCallback11_ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationStarted(This,functionId,rejitId,fIsSafeToBlock) ) #define ICorProfilerCallback11_GetReJITParameters(This,moduleId,methodId,pFunctionControl) \ - ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) + ( (This)->lpVtbl -> GetReJITParameters(This,moduleId,methodId,pFunctionControl) ) #define ICorProfilerCallback11_ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> ReJITCompilationFinished(This,functionId,rejitId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback11_ReJITError(This,moduleId,methodId,functionId,hrStatus) \ - ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) + ( (This)->lpVtbl -> ReJITError(This,moduleId,methodId,functionId,hrStatus) ) #define ICorProfilerCallback11_MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> MovedReferences2(This,cMovedObjectIDRanges,oldObjectIDRangeStart,newObjectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback11_SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \ - ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) + ( (This)->lpVtbl -> SurvivingReferences2(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) ) #define ICorProfilerCallback11_ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) \ - ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) + ( (This)->lpVtbl -> ConditionalWeakTableElementReferences(This,cRootRefs,keyRefIds,valueRefIds,rootIds) ) #define ICorProfilerCallback11_GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) \ - ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) + ( (This)->lpVtbl -> GetAssemblyReferences(This,wszAssemblyPath,pAsmRefProvider) ) #define ICorProfilerCallback11_ModuleInMemorySymbolsUpdated(This,moduleId) \ - ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) + ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) ) #define ICorProfilerCallback11_DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationStarted(This,functionId,fIsSafeToBlock,pILHeader,cbILHeader) ) #define ICorProfilerCallback11_DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \ - ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) + ( (This)->lpVtbl -> DynamicMethodJITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) ) #define ICorProfilerCallback11_DynamicMethodUnloaded(This,functionId) \ - ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) + ( (This)->lpVtbl -> DynamicMethodUnloaded(This,functionId) ) #define ICorProfilerCallback11_EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,cbEventData,eventData,pActivityId,pRelatedActivityId,eventThread,numStackFrames,stackFrames) \ - ( (This)->lpVtbl -> EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,cbEventData,eventData,pActivityId,pRelatedActivityId,eventThread,numStackFrames,stackFrames) ) + ( (This)->lpVtbl -> EventPipeEventDelivered(This,provider,eventId,eventVersion,cbMetadataBlob,metadataBlob,cbEventData,eventData,pActivityId,pRelatedActivityId,eventThread,numStackFrames,stackFrames) ) #define ICorProfilerCallback11_EventPipeProviderCreated(This,provider) \ - ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) ) + ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) ) #define ICorProfilerCallback11_LoadAsNotificationOnly(This,pbNotificationOnly) \ - ( (This)->lpVtbl -> LoadAsNotificationOnly(This,pbNotificationOnly) ) + ( (This)->lpVtbl -> LoadAsNotificationOnly(This,pbNotificationOnly) ) #endif /* COBJMACROS */ @@ -9191,13 +10212,14 @@ EXTERN_C const IID IID_ICorProfilerCallback11; /* interface __MIDL_itf_corprof_0000_0011 */ -/* [local] */ +/* [local] */ -typedef /* [public] */ +typedef /* [public] */ enum __MIDL___MIDL_itf_corprof_0000_0011_0001 { COR_PRF_CODEGEN_DISABLE_INLINING = 0x1, - COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS = 0x2 + COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS = 0x2, + COR_PRF_CODEGEN_DEBUG_INFO = 0x3 } COR_PRF_CODEGEN_FLAGS; @@ -9209,383 +10231,419 @@ extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0011_v0_0_s_ifspec; #define __ICorProfilerInfo_INTERFACE_DEFINED__ /* interface ICorProfilerInfo */ -/* [local][unique][uuid][object] */ +/* [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( + virtual HRESULT STDMETHODCALLTYPE GetClassFromObject( /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClassFromToken( + + virtual HRESULT STDMETHODCALLTYPE GetClassFromToken( /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeInfo( + + virtual HRESULT STDMETHODCALLTYPE GetCodeInfo( /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetEventMask( + + virtual HRESULT STDMETHODCALLTYPE GetEventMask( /* [out] */ DWORD *pdwEvents) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP( /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromToken( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromToken( /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHandleFromThread( + + virtual HRESULT STDMETHODCALLTYPE GetHandleFromThread( /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObjectSize( + + virtual HRESULT STDMETHODCALLTYPE GetObjectSize( /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsArrayClass( + + virtual HRESULT STDMETHODCALLTYPE IsArrayClass( /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadInfo( + + virtual HRESULT STDMETHODCALLTYPE GetThreadInfo( /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadID( + + virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadID( /* [out] */ ThreadID *pThreadId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo( + + virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo( /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo( /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEventMask( + + virtual HRESULT STDMETHODCALLTYPE SetEventMask( /* [in] */ DWORD dwEvents) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks( + + virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks( /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper( + + virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper( /* [in] */ FunctionIDMapper *pFunc) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTokenAndMetaDataFromFunction( + + virtual HRESULT STDMETHODCALLTYPE GetTokenAndMetaDataFromFunction( /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetModuleInfo( + + virtual HRESULT STDMETHODCALLTYPE GetModuleInfo( /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetModuleMetaData( + + virtual HRESULT STDMETHODCALLTYPE GetModuleMetaData( /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILFunctionBody( + + virtual HRESULT STDMETHODCALLTYPE GetILFunctionBody( /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILFunctionBodyAllocator( + + virtual HRESULT STDMETHODCALLTYPE GetILFunctionBodyAllocator( /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody( + + virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody( /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAppDomainInfo( + + virtual HRESULT STDMETHODCALLTYPE GetAppDomainInfo( /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAssemblyInfo( + + virtual HRESULT STDMETHODCALLTYPE GetAssemblyInfo( /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFunctionReJIT( + + virtual HRESULT STDMETHODCALLTYPE SetFunctionReJIT( /* [in] */ FunctionID functionId) = 0; - + virtual HRESULT STDMETHODCALLTYPE ForceGC( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap( + + 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( + + virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionInterface( /* [out] */ IUnknown **ppicd) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionIThisThread( + + virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionIThisThread( /* [out] */ IUnknown **ppicd) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadContext( + + virtual HRESULT STDMETHODCALLTYPE GetThreadContext( /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId) = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginInprocDebugging( + + virtual HRESULT STDMETHODCALLTYPE BeginInprocDebugging( /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext) = 0; - - virtual HRESULT STDMETHODCALLTYPE EndInprocDebugging( + + virtual HRESULT STDMETHODCALLTYPE EndInprocDebugging( /* [in] */ DWORD dwProfilerContext) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping( + + 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 )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + 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[ ]); - + END_INTERFACE } ICorProfilerInfoVtbl; @@ -9594,119 +10652,119 @@ EXTERN_C const IID IID_ICorProfilerInfo; CONST_VTBL struct ICorProfilerInfoVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #endif /* COBJMACROS */ @@ -9723,31 +10781,31 @@ EXTERN_C const IID IID_ICorProfilerInfo; #define __ICorProfilerInfo2_INTERFACE_DEFINED__ /* interface ICorProfilerInfo2 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo2; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("CC0935CD-A518-487d-B0BB-A93214E65478") ICorProfilerInfo2 : public ICorProfilerInfo { public: - virtual HRESULT STDMETHODCALLTYPE DoStackSnapshot( + 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( + + virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks2( /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo2( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo2( /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, /* [out] */ ClassID *pClassId, @@ -9756,20 +10814,20 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStringLayout( + + virtual HRESULT STDMETHODCALLTYPE GetStringLayout( /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetClassLayout( + + 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( + + virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo2( /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken, @@ -9777,298 +10835,335 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeInfo2( + + 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 GetClassFromTokenAndTypeArgs( + + 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 GetFunctionFromTokenAndTypeArgs( + + 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 EnumModuleFrozenObjects( + + virtual HRESULT STDMETHODCALLTYPE EnumModuleFrozenObjects( /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetArrayObjectInfo( + + 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( + + virtual HRESULT STDMETHODCALLTYPE GetBoxClassLayout( /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadAppDomain( + + virtual HRESULT STDMETHODCALLTYPE GetThreadAppDomain( /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRVAStaticAddress( + + virtual HRESULT STDMETHODCALLTYPE GetRVAStaticAddress( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAppDomainStaticAddress( + + virtual HRESULT STDMETHODCALLTYPE GetAppDomainStaticAddress( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress( + + virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetContextStaticAddress( + + virtual HRESULT STDMETHODCALLTYPE GetContextStaticAddress( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStaticFieldInfo( + + virtual HRESULT STDMETHODCALLTYPE GetStaticFieldInfo( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetGenerationBounds( + + 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( + + virtual HRESULT STDMETHODCALLTYPE GetObjectGeneration( /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetNotifiedExceptionClauseInfo( + + virtual HRESULT STDMETHODCALLTYPE GetNotifiedExceptionClauseInfo( /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo2Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo2 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo2 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo2 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo2 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo2 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo2 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo2 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo2 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo2 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo2 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo2 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo2 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo2 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo2 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo2 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo2 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo2 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo2 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo2 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo2 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo2 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -10076,14 +11171,16 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo2 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo2 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -10093,22 +11190,25 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo2 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -10117,23 +11217,26 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -10141,78 +11244,90 @@ EXTERN_C const IID IID_ICorProfilerInfo2; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo2 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo2 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo2 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo2 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo2 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - + END_INTERFACE } ICorProfilerInfo2Vtbl; @@ -10221,183 +11336,183 @@ EXTERN_C const IID IID_ICorProfilerInfo2; CONST_VTBL struct ICorProfilerInfo2Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo2_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo2_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo2_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo2_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo2_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo2_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo2_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo2_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo2_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo2_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo2_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo2_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo2_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo2_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo2_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo2_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo2_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo2_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo2_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo2_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo2_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo2_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo2_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo2_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo2_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo2_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo2_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo2_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo2_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo2_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo2_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo2_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> 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) ) + ( (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) ) + ( (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) ) + ( (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) ) + ( (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) ) + ( (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) ) + ( (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) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo2_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo2_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo2_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo2_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo2_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo2_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo2_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo2_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #endif /* COBJMACROS */ @@ -10414,63 +11529,63 @@ EXTERN_C const IID IID_ICorProfilerInfo2; #define __ICorProfilerInfo3_INTERFACE_DEFINED__ /* interface ICorProfilerInfo3 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo3; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("B555ED4F-452A-4E54-8B39-B5360BAD32A0") ICorProfilerInfo3 : public ICorProfilerInfo2 { public: - virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions( + virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions( /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE RequestProfilerDetach( + + virtual HRESULT STDMETHODCALLTYPE RequestProfilerDetach( /* [in] */ DWORD dwExpectedCompletionMilliseconds) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper2( + + virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper2( /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStringLayout2( + + virtual HRESULT STDMETHODCALLTYPE GetStringLayout2( /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3( + + virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3( /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3WithInfo( + + virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3WithInfo( /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionEnter3Info( + + 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( + + 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( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionTailcall3Info( /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumModules( + + virtual HRESULT STDMETHODCALLTYPE EnumModules( /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetRuntimeInformation( + + virtual HRESULT STDMETHODCALLTYPE GetRuntimeInformation( /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, /* [out] */ USHORT *pMajorVersion, @@ -10479,243 +11594,280 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress2( + + virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress2( /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAppDomainsContainingModule( + + 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( + + virtual HRESULT STDMETHODCALLTYPE GetModuleInfo2( /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo3Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo3 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo3 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo3 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo3 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo3 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo3 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo3 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo3 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo3 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo3 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo3 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo3 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo3 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo3 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo3 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo3 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo3 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo3 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo3 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo3 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -10723,14 +11875,16 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo3 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo3 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -10740,22 +11894,25 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo3 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -10764,23 +11921,26 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -10788,134 +11948,157 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo3 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo3 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo3 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo3 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo3 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo3 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo3 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo3 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo3 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo3 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo3 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo3 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -10925,35 +12108,38 @@ EXTERN_C const IID IID_ICorProfilerInfo3; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo3 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo3 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - + END_INTERFACE } ICorProfilerInfo3Vtbl; @@ -10962,226 +12148,226 @@ EXTERN_C const IID IID_ICorProfilerInfo3; CONST_VTBL struct ICorProfilerInfo3Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo3_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo3_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo3_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo3_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo3_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo3_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo3_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo3_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo3_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo3_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo3_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo3_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo3_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo3_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> 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) ) + ( (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) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo3_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo3_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> 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) ) + ( (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) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo3_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo3_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo3_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo3_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo3_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo3_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo3_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo3_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo3_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo3_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> 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) ) + ( (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) ) + ( (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) ) + ( (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) ) + ( (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) ) + ( (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) ) + ( (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) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo3_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo3_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo3_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo3_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo3_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo3_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo3_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo3_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo3_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo3_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo3_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo3_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo3_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> 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) ) + ( (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) ) + ( (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) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo3_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo3_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> 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) ) + ( (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) ) + ( (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) ) + ( (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) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #endif /* COBJMACROS */ @@ -11198,75 +12384,83 @@ EXTERN_C const IID IID_ICorProfilerInfo3; #define __ICorProfilerObjectEnum_INTERFACE_DEFINED__ /* interface ICorProfilerObjectEnum */ -/* [local][unique][uuid][object] */ +/* [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( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( + + 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 )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerObjectEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerObjectEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerObjectEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorProfilerObjectEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorProfilerObjectEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorProfilerObjectEnum * This, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorProfilerObjectEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorProfilerObjectEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ObjectID objects[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorProfilerObjectEnumVtbl; @@ -11275,35 +12469,35 @@ EXTERN_C const IID IID_ICorProfilerObjectEnum; CONST_VTBL struct ICorProfilerObjectEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerObjectEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerObjectEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerObjectEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerObjectEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerObjectEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerObjectEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerObjectEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerObjectEnum_Next(This,celt,objects,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,objects,pceltFetched) ) #endif /* COBJMACROS */ @@ -11320,75 +12514,83 @@ EXTERN_C const IID IID_ICorProfilerObjectEnum; #define __ICorProfilerFunctionEnum_INTERFACE_DEFINED__ /* interface ICorProfilerFunctionEnum */ -/* [local][unique][uuid][object] */ +/* [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( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( + + 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 )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerFunctionEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerFunctionEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerFunctionEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorProfilerFunctionEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorProfilerFunctionEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorProfilerFunctionEnum * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorProfilerFunctionEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorProfilerFunctionEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorProfilerFunctionEnumVtbl; @@ -11397,35 +12599,35 @@ EXTERN_C const IID IID_ICorProfilerFunctionEnum; CONST_VTBL struct ICorProfilerFunctionEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerFunctionEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerFunctionEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerFunctionEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerFunctionEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerFunctionEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerFunctionEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerFunctionEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerFunctionEnum_Next(This,celt,ids,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) #endif /* COBJMACROS */ @@ -11442,75 +12644,83 @@ EXTERN_C const IID IID_ICorProfilerFunctionEnum; #define __ICorProfilerModuleEnum_INTERFACE_DEFINED__ /* interface ICorProfilerModuleEnum */ -/* [local][unique][uuid][object] */ +/* [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( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( + + 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 )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerModuleEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerModuleEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerModuleEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorProfilerModuleEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorProfilerModuleEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorProfilerModuleEnum * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorProfilerModuleEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorProfilerModuleEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ModuleID ids[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorProfilerModuleEnumVtbl; @@ -11519,35 +12729,35 @@ EXTERN_C const IID IID_ICorProfilerModuleEnum; CONST_VTBL struct ICorProfilerModuleEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerModuleEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerModuleEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerModuleEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerModuleEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerModuleEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerModuleEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerModuleEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerModuleEnum_Next(This,celt,ids,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) #endif /* COBJMACROS */ @@ -11564,45 +12774,49 @@ EXTERN_C const IID IID_ICorProfilerModuleEnum; #define __IMethodMalloc_INTERFACE_DEFINED__ /* interface IMethodMalloc */ -/* [local][unique][uuid][object] */ +/* [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( + virtual PVOID STDMETHODCALLTYPE Alloc( /* [in] */ ULONG cb) = 0; - + }; - - + + #else /* C style interface */ typedef struct IMethodMallocVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMethodMalloc * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( IMethodMalloc * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( IMethodMalloc * This); - - PVOID ( STDMETHODCALLTYPE *Alloc )( + + DECLSPEC_XFGVIRT(IMethodMalloc, Alloc) + PVOID ( STDMETHODCALLTYPE *Alloc )( IMethodMalloc * This, /* [in] */ ULONG cb); - + END_INTERFACE } IMethodMallocVtbl; @@ -11611,23 +12825,23 @@ EXTERN_C const IID IID_IMethodMalloc; CONST_VTBL struct IMethodMallocVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define IMethodMalloc_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMethodMalloc_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define IMethodMalloc_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define IMethodMalloc_Alloc(This,cb) \ - ( (This)->lpVtbl -> Alloc(This,cb) ) + ( (This)->lpVtbl -> Alloc(This,cb) ) #endif /* COBJMACROS */ @@ -11644,63 +12858,69 @@ EXTERN_C const IID IID_IMethodMalloc; #define __ICorProfilerFunctionControl_INTERFACE_DEFINED__ /* interface ICorProfilerFunctionControl */ -/* [local][unique][uuid][object] */ +/* [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( + virtual HRESULT STDMETHODCALLTYPE SetCodegenFlags( /* [in] */ DWORD flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody( + + virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody( /* [in] */ ULONG cbNewILMethodHeader, /* [size_is][in] */ LPCBYTE pbNewILMethodHeader) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap( + + 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 )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerFunctionControl * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerFunctionControl * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerFunctionControl * This); - - HRESULT ( STDMETHODCALLTYPE *SetCodegenFlags )( + + DECLSPEC_XFGVIRT(ICorProfilerFunctionControl, SetCodegenFlags) + HRESULT ( STDMETHODCALLTYPE *SetCodegenFlags )( ICorProfilerFunctionControl * This, /* [in] */ DWORD flags); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerFunctionControl, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerFunctionControl * This, /* [in] */ ULONG cbNewILMethodHeader, /* [size_is][in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerFunctionControl, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerFunctionControl * This, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - + END_INTERFACE } ICorProfilerFunctionControlVtbl; @@ -11709,29 +12929,29 @@ EXTERN_C const IID IID_ICorProfilerFunctionControl; CONST_VTBL struct ICorProfilerFunctionControlVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerFunctionControl_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerFunctionControl_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerFunctionControl_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerFunctionControl_SetCodegenFlags(This,flags) \ - ( (This)->lpVtbl -> SetCodegenFlags(This,flags) ) + ( (This)->lpVtbl -> SetCodegenFlags(This,flags) ) #define ICorProfilerFunctionControl_SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,cbNewILMethodHeader,pbNewILMethodHeader) ) #define ICorProfilerFunctionControl_SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,cILMapEntries,rgILMapEntries) ) #endif /* COBJMACROS */ @@ -11748,276 +12968,313 @@ EXTERN_C const IID IID_ICorProfilerFunctionControl; #define __ICorProfilerInfo4_INTERFACE_DEFINED__ /* interface ICorProfilerInfo4 */ -/* [local][unique][uuid][object] */ +/* [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( + virtual HRESULT STDMETHODCALLTYPE EnumThreads( /* [out] */ ICorProfilerThreadEnum **ppEnum) = 0; - + virtual HRESULT STDMETHODCALLTYPE InitializeCurrentThread( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE RequestReJIT( + + virtual HRESULT STDMETHODCALLTYPE RequestReJIT( /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE RequestRevert( + + 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( + + 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( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP2( /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetReJITIDs( + + 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( + + 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( + + virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions2( /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObjectSize2( + + virtual HRESULT STDMETHODCALLTYPE GetObjectSize2( /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo4Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo4 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo4 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo4 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo4 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo4 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo4 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo4 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo4 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo4 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo4 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo4 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo4 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo4 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo4 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo4 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo4 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo4 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo4 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo4 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo4 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo4 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo4 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -12025,14 +13282,16 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo4 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo4 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -12042,22 +13301,25 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo4 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -12066,23 +13328,26 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -12090,134 +13355,157 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo4 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo4 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo4 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo4 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo4 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo4 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo4 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo4 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo4 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + 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 *GetFunctionLeave3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + 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 *GetFunctionTailcall3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo4 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo4 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -12227,93 +13515,106 @@ EXTERN_C const IID IID_ICorProfilerInfo4; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo4 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo4 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo4 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo4 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo4 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo4 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + 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[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo4 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo4 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo4 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo4 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - + END_INTERFACE } ICorProfilerInfo4Vtbl; @@ -12322,257 +13623,257 @@ EXTERN_C const IID IID_ICorProfilerInfo4; CONST_VTBL struct ICorProfilerInfo4Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo4_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo4_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo4_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo4_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo4_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo4_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo4_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo4_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo4_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo4_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo4_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo4_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo4_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo4_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo4_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo4_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo4_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo4_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo4_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo4_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo4_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo4_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo4_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo4_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo4_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo4_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo4_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo4_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo4_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo4_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo4_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo4_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo4_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo4_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> 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) ) + ( (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) ) + ( (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) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo4_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo4_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo4_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo4_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo4_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo4_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo4_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo4_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo4_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo4_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo4_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo4_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo4_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo4_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo4_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo4_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo4_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo4_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo4_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo4_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo4_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo4_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo4_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo4_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo4_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo4_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo4_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo4_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo4_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #endif /* COBJMACROS */ @@ -12589,236 +13890,273 @@ EXTERN_C const IID IID_ICorProfilerInfo4; #define __ICorProfilerInfo5_INTERFACE_DEFINED__ /* interface ICorProfilerInfo5 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo5; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("07602928-CE38-4B83-81E7-74ADAF781214") ICorProfilerInfo5 : public ICorProfilerInfo4 { public: - virtual HRESULT STDMETHODCALLTYPE GetEventMask2( + virtual HRESULT STDMETHODCALLTYPE GetEventMask2( /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEventMask2( + + virtual HRESULT STDMETHODCALLTYPE SetEventMask2( /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo5Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo5 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo5 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo5 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo5 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo5 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo5 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo5 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo5 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo5 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo5 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo5 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo5 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo5 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo5 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo5 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo5 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo5 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo5 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo5 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo5 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -12826,14 +14164,16 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo5 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo5 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -12843,22 +14183,25 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo5 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo5 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -12867,23 +14210,26 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -12891,134 +14237,157 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo5 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo5 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo5 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo5 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo5 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo5 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo5 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo5 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo5 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo5 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo5 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo5 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -13028,103 +14397,118 @@ EXTERN_C const IID IID_ICorProfilerInfo5; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo5 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo5 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo5 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo5 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo5 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo5 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo5 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo5 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo5 * 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo5 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo5 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo5 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo5 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - + END_INTERFACE } ICorProfilerInfo5Vtbl; @@ -13133,264 +14517,264 @@ EXTERN_C const IID IID_ICorProfilerInfo5; CONST_VTBL struct ICorProfilerInfo5Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo5_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo5_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo5_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo5_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo5_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo5_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo5_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo5_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo5_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo5_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo5_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo5_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo5_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo5_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo5_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo5_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo5_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo5_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo5_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo5_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo5_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo5_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo5_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo5_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo5_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo5_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo5_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo5_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo5_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo5_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo5_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo5_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo5_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo5_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo5_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo5_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo5_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo5_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo5_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo5_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo5_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo5_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo5_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo5_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo5_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo5_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo5_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo5_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo5_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo5_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo5_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo5_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo5_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo5_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo5_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo5_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo5_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo5_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo5_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo5_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #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) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo5_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo5_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo5_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo5_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo5_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo5_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo5_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo5_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo5_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo5_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo5_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo5_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo5_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #endif /* COBJMACROS */ @@ -13407,235 +14791,272 @@ EXTERN_C const IID IID_ICorProfilerInfo5; #define __ICorProfilerInfo6_INTERFACE_DEFINED__ /* interface ICorProfilerInfo6 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo6; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("F30A070D-BFFB-46A7-B1D8-8781EF7B698A") ICorProfilerInfo6 : public ICorProfilerInfo5 { public: - virtual HRESULT STDMETHODCALLTYPE EnumNgenModuleMethodsInliningThisMethod( + 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 ICorProfilerInfo6Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo6 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo6 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo6 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo6 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo6 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo6 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo6 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo6 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo6 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo6 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo6 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo6 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo6 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo6 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo6 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo6 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo6 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo6 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -13643,14 +15064,16 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo6 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo6 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -13660,22 +15083,25 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo6 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo6 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -13684,23 +15110,26 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -13708,134 +15137,157 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo6 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo6 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo6 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo6 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo6 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo6 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo6 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo6 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo6 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo6 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo6 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo6 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -13845,111 +15297,127 @@ EXTERN_C const IID IID_ICorProfilerInfo6; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo6 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo6 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo6 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo6 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo6 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo6 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo6 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo6 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo6 * 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo6 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo6 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo6 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo6 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod) + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo6 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - + END_INTERFACE } ICorProfilerInfo6Vtbl; @@ -13958,268 +15426,268 @@ EXTERN_C const IID IID_ICorProfilerInfo6; CONST_VTBL struct ICorProfilerInfo6Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo6_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo6_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo6_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo6_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo6_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo6_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo6_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo6_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo6_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo6_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo6_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo6_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo6_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo6_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo6_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo6_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo6_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo6_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo6_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo6_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo6_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo6_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo6_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo6_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo6_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo6_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo6_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo6_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo6_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo6_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo6_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo6_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo6_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo6_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo6_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo6_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo6_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo6_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo6_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo6_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo6_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo6_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo6_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo6_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo6_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo6_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo6_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo6_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo6_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo6_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo6_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo6_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo6_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo6_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo6_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo6_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo6_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #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) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo6_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo6_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo6_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo6_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo6_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo6_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo6_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo6_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo6_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo6_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo6_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo6_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo6_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #endif /* COBJMACROS */ @@ -14236,242 +15704,279 @@ EXTERN_C const IID IID_ICorProfilerInfo6; #define __ICorProfilerInfo7_INTERFACE_DEFINED__ /* interface ICorProfilerInfo7 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo7; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("9AEECC0D-63E0-4187-8C00-E312F503F663") ICorProfilerInfo7 : public ICorProfilerInfo6 { public: - virtual HRESULT STDMETHODCALLTYPE ApplyMetaData( + virtual HRESULT STDMETHODCALLTYPE ApplyMetaData( /* [in] */ ModuleID moduleId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInMemorySymbolsLength( + + virtual HRESULT STDMETHODCALLTYPE GetInMemorySymbolsLength( /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReadInMemorySymbols( + + 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 ICorProfilerInfo7Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo7 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo7 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo7 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo7 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo7 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo7 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo7 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo7 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo7 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo7 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo7 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo7 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo7 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo7 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo7 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo7 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo7 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo7 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo7 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo7 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -14479,14 +15984,16 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo7 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo7 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -14496,22 +16003,25 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo7 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo7 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -14520,23 +16030,26 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -14544,134 +16057,157 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo7 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo7 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo7 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo7 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo7 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo7 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo7 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo7 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo7 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo7 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo7 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo7 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -14681,128 +16217,147 @@ EXTERN_C const IID IID_ICorProfilerInfo7; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo7 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo7 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo7 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo7 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo7 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo7 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo7 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo7 * 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo7 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo7 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo7 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo7 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod) + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo7 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData) + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength) + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols) + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo7 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - + END_INTERFACE } ICorProfilerInfo7Vtbl; @@ -14811,278 +16366,278 @@ EXTERN_C const IID IID_ICorProfilerInfo7; CONST_VTBL struct ICorProfilerInfo7Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo7_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo7_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo7_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo7_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo7_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo7_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo7_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo7_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo7_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo7_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo7_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo7_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo7_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo7_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo7_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo7_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo7_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo7_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo7_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo7_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo7_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo7_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo7_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo7_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo7_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo7_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo7_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo7_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo7_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo7_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo7_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo7_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo7_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo7_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo7_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo7_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo7_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo7_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo7_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo7_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo7_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo7_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo7_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo7_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo7_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo7_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo7_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo7_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo7_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo7_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo7_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo7_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo7_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo7_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo7_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo7_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo7_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo7_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo7_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo7_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #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) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo7_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo7_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> 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) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo7_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo7_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo7_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo7_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo7_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo7_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo7_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo7_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo7_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo7_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo7_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo7_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo7_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #endif /* COBJMACROS */ @@ -15099,27 +16654,27 @@ EXTERN_C const IID IID_ICorProfilerInfo7; #define __ICorProfilerInfo8_INTERFACE_DEFINED__ /* interface ICorProfilerInfo8 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo8; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("C5AC80A6-782E-4716-8044-39598C60CFBF") ICorProfilerInfo8 : public ICorProfilerInfo7 { public: - virtual HRESULT STDMETHODCALLTYPE IsFunctionDynamic( + virtual HRESULT STDMETHODCALLTYPE IsFunctionDynamic( /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP3( + + virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP3( /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDynamicFunctionInfo( + + virtual HRESULT STDMETHODCALLTYPE GetDynamicFunctionInfo( /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, /* [out] */ PCCOR_SIGNATURE *ppvSig, @@ -15127,218 +16682,255 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo8Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo8 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo8 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo8 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo8 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo8 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo8 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo8 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo8 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo8 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo8 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo8 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo8 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo8 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo8 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo8 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo8 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo8 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo8 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo8 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo8 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -15346,14 +16938,16 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo8 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo8 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -15363,22 +16957,25 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo8 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo8 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -15387,23 +16984,26 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -15411,134 +17011,157 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo8 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo8 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo8 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo8 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo8 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo8 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo8 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo8 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo8 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo8 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo8 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo8 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -15548,140 +17171,162 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo8 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo8 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo8 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo8 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo8 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo8 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo8 * 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo8 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo8 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo8 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo8 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod) + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo8 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData) + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength) + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols) + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo8 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic) + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo8 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo8 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -15690,7 +17335,7 @@ EXTERN_C const IID IID_ICorProfilerInfo8; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - + END_INTERFACE } ICorProfilerInfo8Vtbl; @@ -15699,288 +17344,288 @@ EXTERN_C const IID IID_ICorProfilerInfo8; CONST_VTBL struct ICorProfilerInfo8Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo8_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo8_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo8_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo8_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo8_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo8_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo8_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo8_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo8_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo8_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo8_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo8_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo8_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo8_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo8_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo8_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo8_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo8_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo8_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo8_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo8_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo8_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo8_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo8_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo8_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo8_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo8_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo8_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo8_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo8_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo8_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo8_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo8_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo8_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo8_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo8_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo8_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo8_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo8_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo8_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo8_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo8_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo8_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo8_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo8_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo8_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo8_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo8_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo8_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo8_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo8_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo8_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo8_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo8_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo8_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo8_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo8_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo8_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo8_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo8_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo8_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo8_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo8_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo8_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo8_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo8_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo8_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #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) ) + ( (This)->lpVtbl -> GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) ) #define ICorProfilerInfo8_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo8_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo8_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo8_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo8_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo8_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo8_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo8_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo8_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo8_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo8_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo8_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo8_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo8_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo8_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo8_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo8_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo8_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo8_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo8_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> 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) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #endif /* COBJMACROS */ @@ -15997,247 +17642,284 @@ EXTERN_C const IID IID_ICorProfilerInfo8; #define __ICorProfilerInfo9_INTERFACE_DEFINED__ /* interface ICorProfilerInfo9 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo9; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("008170DB-F8CC-4796-9A51-DC8AA0B47012") ICorProfilerInfo9 : public ICorProfilerInfo8 { public: - virtual HRESULT STDMETHODCALLTYPE GetNativeCodeStartAddresses( + virtual HRESULT STDMETHODCALLTYPE GetNativeCodeStartAddresses( FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping3( + + virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping3( UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCodeInfo4( + + virtual HRESULT STDMETHODCALLTYPE GetCodeInfo4( UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo9Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo9 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo9 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo9 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo9 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo9 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo9 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo9 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo9 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo9 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo9 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo9 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo9 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo9 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo9 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo9 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo9 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo9 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo9 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo9 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo9 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo9 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -16245,14 +17927,16 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo9 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo9 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -16262,22 +17946,25 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo9 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo9 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -16286,23 +17973,26 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -16310,134 +18000,157 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo9 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo9 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo9 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo9 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo9 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo9 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo9 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo9 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo9 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo9 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo9 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo9 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo9 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -16447,140 +18160,162 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo9 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo9 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo9 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo9 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo9 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo9 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo9 * 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo9 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo9 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo9 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo9 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod) + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo9 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData) + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength) + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols) + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo9 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic) + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo9 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo9 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -16589,29 +18324,32 @@ EXTERN_C const IID IID_ICorProfilerInfo9; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses) + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( ICorProfilerInfo9 * This, FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( ICorProfilerInfo9 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( ICorProfilerInfo9 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]); - + END_INTERFACE } ICorProfilerInfo9Vtbl; @@ -16620,298 +18358,298 @@ EXTERN_C const IID IID_ICorProfilerInfo9; CONST_VTBL struct ICorProfilerInfo9Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo9_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo9_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo9_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo9_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo9_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo9_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo9_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo9_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo9_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo9_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo9_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo9_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo9_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo9_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo9_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo9_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo9_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo9_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo9_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo9_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo9_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo9_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo9_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo9_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo9_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo9_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo9_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo9_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo9_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo9_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo9_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo9_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo9_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo9_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo9_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo9_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo9_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo9_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo9_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo9_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo9_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo9_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo9_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo9_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo9_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo9_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo9_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo9_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo9_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo9_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo9_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo9_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo9_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo9_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo9_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo9_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo9_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo9_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo9_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo9_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo9_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo9_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo9_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo9_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo9_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo9_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo9_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo9_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> 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 ICorProfilerInfo9_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo9_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo9_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo9_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo9_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo9_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo9_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo9_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo9_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo9_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo9_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo9_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo9_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo9_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo9_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo9_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo9_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo9_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo9_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo9_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo9_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo9_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #define ICorProfilerInfo9_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ - ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) #define ICorProfilerInfo9_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) #define ICorProfilerInfo9_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) #endif /* COBJMACROS */ @@ -16928,250 +18666,287 @@ EXTERN_C const IID IID_ICorProfilerInfo9; #define __ICorProfilerInfo10_INTERFACE_DEFINED__ /* interface ICorProfilerInfo10 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo10; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("2F1B5152-C869-40C9-AA5F-3ABE026BD720") ICorProfilerInfo10 : public ICorProfilerInfo9 { public: - virtual HRESULT STDMETHODCALLTYPE EnumerateObjectReferences( + virtual HRESULT STDMETHODCALLTYPE EnumerateObjectReferences( ObjectID objectId, ObjectReferenceCallback callback, void *clientData) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsFrozenObject( + + virtual HRESULT STDMETHODCALLTYPE IsFrozenObject( ObjectID objectId, BOOL *pbFrozen) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetLOHObjectSizeThreshold( + + virtual HRESULT STDMETHODCALLTYPE GetLOHObjectSizeThreshold( DWORD *pThreshold) = 0; - - virtual HRESULT STDMETHODCALLTYPE RequestReJITWithInliners( + + virtual HRESULT STDMETHODCALLTYPE RequestReJITWithInliners( /* [in] */ DWORD dwRejitFlags, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]) = 0; - + virtual HRESULT STDMETHODCALLTYPE SuspendRuntime( void) = 0; - + virtual HRESULT STDMETHODCALLTYPE ResumeRuntime( void) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo10Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo10 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo10 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo10 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo10 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo10 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo10 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo10 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo10 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo10 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo10 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo10 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo10 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo10 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo10 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo10 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo10 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo10 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo10 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo10 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -17179,14 +18954,16 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo10 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo10 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -17196,22 +18973,25 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo10 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo10 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -17220,23 +19000,26 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -17244,134 +19027,157 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo10 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo10 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo10 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo10 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo10 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo10 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo10 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo10 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo10 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo10 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo10 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo10 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -17381,140 +19187,162 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo10 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo10 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo10 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo10 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo10 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo10 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo10 * 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo10 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo10 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo10 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod) + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo10 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData) + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength) + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols) + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo10 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic) + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo10 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo10 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -17523,57 +19351,66 @@ EXTERN_C const IID IID_ICorProfilerInfo10; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses) + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( ICorProfilerInfo10 * This, FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( ICorProfilerInfo10 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( ICorProfilerInfo10 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences) + HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( ICorProfilerInfo10 * This, ObjectID objectId, ObjectReferenceCallback callback, void *clientData); - - HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject) + HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( ICorProfilerInfo10 * This, ObjectID objectId, BOOL *pbFrozen); - - HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold) + HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( ICorProfilerInfo10 * This, DWORD *pThreshold); - - HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners) + HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( ICorProfilerInfo10 * This, /* [in] */ DWORD dwRejitFlags, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime) + HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( ICorProfilerInfo10 * This); - - HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime) + HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( ICorProfilerInfo10 * This); - + END_INTERFACE } ICorProfilerInfo10Vtbl; @@ -17582,317 +19419,317 @@ EXTERN_C const IID IID_ICorProfilerInfo10; CONST_VTBL struct ICorProfilerInfo10Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo10_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo10_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo10_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo10_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo10_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo10_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo10_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo10_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo10_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo10_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo10_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo10_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo10_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo10_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo10_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo10_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo10_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo10_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo10_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo10_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo10_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo10_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo10_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo10_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo10_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo10_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo10_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo10_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo10_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo10_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo10_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo10_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo10_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo10_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo10_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo10_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo10_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo10_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo10_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo10_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo10_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo10_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo10_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo10_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo10_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo10_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo10_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo10_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo10_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo10_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo10_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo10_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo10_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo10_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo10_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo10_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo10_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo10_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo10_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo10_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo10_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo10_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo10_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo10_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo10_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo10_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo10_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo10_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> 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 ICorProfilerInfo10_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo10_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo10_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo10_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo10_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo10_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo10_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo10_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo10_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo10_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo10_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo10_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo10_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo10_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo10_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo10_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo10_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo10_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo10_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo10_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo10_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo10_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #define ICorProfilerInfo10_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ - ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) #define ICorProfilerInfo10_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) #define ICorProfilerInfo10_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo10_EnumerateObjectReferences(This,objectId,callback,clientData) \ - ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) + ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) #define ICorProfilerInfo10_IsFrozenObject(This,objectId,pbFrozen) \ - ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) + ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) #define ICorProfilerInfo10_GetLOHObjectSizeThreshold(This,pThreshold) \ - ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) + ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) #define ICorProfilerInfo10_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo10_SuspendRuntime(This) \ - ( (This)->lpVtbl -> SuspendRuntime(This) ) + ( (This)->lpVtbl -> SuspendRuntime(This) ) #define ICorProfilerInfo10_ResumeRuntime(This) \ - ( (This)->lpVtbl -> ResumeRuntime(This) ) + ( (This)->lpVtbl -> ResumeRuntime(This) ) #endif /* COBJMACROS */ @@ -17909,239 +19746,276 @@ EXTERN_C const IID IID_ICorProfilerInfo10; #define __ICorProfilerInfo11_INTERFACE_DEFINED__ /* interface ICorProfilerInfo11 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo11; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("06398876-8987-4154-B621-40A00D6E4D04") ICorProfilerInfo11 : public ICorProfilerInfo10 { public: - virtual HRESULT STDMETHODCALLTYPE GetEnvironmentVariable( + virtual HRESULT STDMETHODCALLTYPE GetEnvironmentVariable( /* [string][in] */ const WCHAR *szName, /* [in] */ ULONG cchValue, /* [out] */ ULONG *pcchValue, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetEnvironmentVariable( + + virtual HRESULT STDMETHODCALLTYPE SetEnvironmentVariable( /* [string][in] */ const WCHAR *szName, /* [string][in] */ const WCHAR *szValue) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo11Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo11 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo11 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo11 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo11 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo11 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo11 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo11 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo11 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo11 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo11 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo11 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo11 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo11 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo11 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo11 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo11 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo11 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -18149,14 +20023,16 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo11 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo11 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -18166,22 +20042,25 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo11 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo11 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -18190,23 +20069,26 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -18214,134 +20096,157 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo11 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo11 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo11 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo11 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo11 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo11 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo11 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo11 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo11 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo11 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo11 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo11 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -18351,140 +20256,162 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo11 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo11 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo11 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo11 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo11 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo11 * 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo11 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo11 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo11 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod) + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo11 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData) + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength) + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols) + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo11 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic) + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo11 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo11 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -18493,70 +20420,81 @@ EXTERN_C const IID IID_ICorProfilerInfo11; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses) + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( ICorProfilerInfo11 * This, FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( ICorProfilerInfo11 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( ICorProfilerInfo11 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences) + HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( ICorProfilerInfo11 * This, ObjectID objectId, ObjectReferenceCallback callback, void *clientData); - - HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject) + HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( ICorProfilerInfo11 * This, ObjectID objectId, BOOL *pbFrozen); - - HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold) + HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( ICorProfilerInfo11 * This, DWORD *pThreshold); - - HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners) + HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( ICorProfilerInfo11 * This, /* [in] */ DWORD dwRejitFlags, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime) + HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime) + HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( ICorProfilerInfo11 * This); - - HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo11, GetEnvironmentVariable) + HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( ICorProfilerInfo11 * This, /* [string][in] */ const WCHAR *szName, /* [in] */ ULONG cchValue, /* [out] */ ULONG *pcchValue, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable) + HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( ICorProfilerInfo11 * This, /* [string][in] */ const WCHAR *szName, /* [string][in] */ const WCHAR *szValue); - + END_INTERFACE } ICorProfilerInfo11Vtbl; @@ -18565,324 +20503,324 @@ EXTERN_C const IID IID_ICorProfilerInfo11; CONST_VTBL struct ICorProfilerInfo11Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo11_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo11_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo11_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo11_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo11_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo11_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo11_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo11_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo11_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo11_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo11_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo11_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo11_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo11_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo11_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo11_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo11_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo11_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo11_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo11_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo11_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo11_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo11_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo11_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo11_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo11_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo11_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo11_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo11_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo11_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo11_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo11_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo11_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo11_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo11_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo11_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo11_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo11_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo11_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo11_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo11_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo11_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo11_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo11_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo11_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo11_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo11_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo11_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo11_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo11_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo11_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo11_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo11_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo11_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo11_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo11_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo11_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo11_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo11_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo11_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo11_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo11_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo11_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo11_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo11_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo11_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo11_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo11_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> 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 ICorProfilerInfo11_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo11_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo11_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo11_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo11_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo11_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo11_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo11_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo11_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo11_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo11_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo11_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo11_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo11_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo11_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo11_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo11_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo11_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo11_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo11_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo11_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo11_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #define ICorProfilerInfo11_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ - ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) #define ICorProfilerInfo11_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) #define ICorProfilerInfo11_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo11_EnumerateObjectReferences(This,objectId,callback,clientData) \ - ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) + ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) #define ICorProfilerInfo11_IsFrozenObject(This,objectId,pbFrozen) \ - ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) + ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) #define ICorProfilerInfo11_GetLOHObjectSizeThreshold(This,pThreshold) \ - ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) + ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) #define ICorProfilerInfo11_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo11_SuspendRuntime(This) \ - ( (This)->lpVtbl -> SuspendRuntime(This) ) + ( (This)->lpVtbl -> SuspendRuntime(This) ) #define ICorProfilerInfo11_ResumeRuntime(This) \ - ( (This)->lpVtbl -> ResumeRuntime(This) ) + ( (This)->lpVtbl -> ResumeRuntime(This) ) #define ICorProfilerInfo11_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) \ - ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) + ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) #define ICorProfilerInfo11_SetEnvironmentVariable(This,szName,szValue) \ - ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) + ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) #endif /* COBJMACROS */ @@ -18899,42 +20837,42 @@ EXTERN_C const IID IID_ICorProfilerInfo11; #define __ICorProfilerInfo12_INTERFACE_DEFINED__ /* interface ICorProfilerInfo12 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo12; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("27b24ccd-1cb1-47c5-96ee-98190dc30959") ICorProfilerInfo12 : public ICorProfilerInfo11 { public: - virtual HRESULT STDMETHODCALLTYPE EventPipeStartSession( + virtual HRESULT STDMETHODCALLTYPE EventPipeStartSession( /* [in] */ UINT32 cProviderConfigs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ], /* [in] */ BOOL requestRundown, /* [out] */ EVENTPIPE_SESSION *pSession) = 0; - - virtual HRESULT STDMETHODCALLTYPE EventPipeAddProviderToSession( + + virtual HRESULT STDMETHODCALLTYPE EventPipeAddProviderToSession( /* [in] */ EVENTPIPE_SESSION session, /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig) = 0; - - virtual HRESULT STDMETHODCALLTYPE EventPipeStopSession( + + virtual HRESULT STDMETHODCALLTYPE EventPipeStopSession( /* [in] */ EVENTPIPE_SESSION session) = 0; - - virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider( + + virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider( /* [string][in] */ const WCHAR *providerName, /* [out] */ EVENTPIPE_PROVIDER *pProvider) = 0; - - virtual HRESULT STDMETHODCALLTYPE EventPipeGetProviderInfo( + + virtual HRESULT STDMETHODCALLTYPE EventPipeGetProviderInfo( /* [in] */ EVENTPIPE_PROVIDER provider, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]) = 0; - - virtual HRESULT STDMETHODCALLTYPE EventPipeDefineEvent( + + virtual HRESULT STDMETHODCALLTYPE EventPipeDefineEvent( /* [in] */ EVENTPIPE_PROVIDER provider, /* [string][in] */ const WCHAR *eventName, /* [in] */ UINT32 eventID, @@ -18946,225 +20884,262 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ UINT32 cParamDescs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ], /* [out] */ EVENTPIPE_EVENT *pEvent) = 0; - - virtual HRESULT STDMETHODCALLTYPE EventPipeWriteEvent( + + virtual HRESULT STDMETHODCALLTYPE EventPipeWriteEvent( /* [in] */ EVENTPIPE_EVENT event, /* [in] */ UINT32 cData, /* [size_is][in] */ COR_PRF_EVENT_DATA data[ ], /* [in] */ LPCGUID pActivityId, /* [in] */ LPCGUID pRelatedActivityId) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo12Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo12 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo12 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo12 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo12 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo12 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo12 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo12 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo12 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo12 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo12 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo12 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo12 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo12 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo12 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo12 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo12 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo12 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -19172,14 +21147,16 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo12 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo12 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -19189,22 +21166,25 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo12 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo12 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -19213,23 +21193,26 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -19237,134 +21220,157 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo12 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo12 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo12 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo12 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo12 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo12 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo12 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo12 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo12 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo12 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo12 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo12 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -19374,140 +21380,162 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo12 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo12 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo12 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo12 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo12 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo12 * 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo12 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo12 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo12 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod) + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo12 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData) + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength) + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols) + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo12 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic) + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo12 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo12 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -19516,100 +21544,117 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses) + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( ICorProfilerInfo12 * This, FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( ICorProfilerInfo12 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( ICorProfilerInfo12 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences) + HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( ICorProfilerInfo12 * This, ObjectID objectId, ObjectReferenceCallback callback, void *clientData); - - HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject) + HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( ICorProfilerInfo12 * This, ObjectID objectId, BOOL *pbFrozen); - - HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold) + HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( ICorProfilerInfo12 * This, DWORD *pThreshold); - - HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners) + HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( ICorProfilerInfo12 * This, /* [in] */ DWORD dwRejitFlags, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime) + HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime) + HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( ICorProfilerInfo12 * This); - - HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo11, GetEnvironmentVariable) + HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( ICorProfilerInfo12 * This, /* [string][in] */ const WCHAR *szName, /* [in] */ ULONG cchValue, /* [out] */ ULONG *pcchValue, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable) + HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( ICorProfilerInfo12 * This, /* [string][in] */ const WCHAR *szName, /* [string][in] */ const WCHAR *szValue); - - HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStartSession) + HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( ICorProfilerInfo12 * This, /* [in] */ UINT32 cProviderConfigs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ], /* [in] */ BOOL requestRundown, /* [out] */ EVENTPIPE_SESSION *pSession); - - HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeAddProviderToSession) + HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )( ICorProfilerInfo12 * This, /* [in] */ EVENTPIPE_SESSION session, /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig); - - HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStopSession) + HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( ICorProfilerInfo12 * This, /* [in] */ EVENTPIPE_SESSION session); - - HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeCreateProvider) + HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( ICorProfilerInfo12 * This, /* [string][in] */ const WCHAR *providerName, /* [out] */ EVENTPIPE_PROVIDER *pProvider); - - HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeGetProviderInfo) + HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( ICorProfilerInfo12 * This, /* [in] */ EVENTPIPE_PROVIDER provider, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]); - - HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeDefineEvent) + HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( ICorProfilerInfo12 * This, /* [in] */ EVENTPIPE_PROVIDER provider, /* [string][in] */ const WCHAR *eventName, @@ -19622,15 +21667,16 @@ EXTERN_C const IID IID_ICorProfilerInfo12; /* [in] */ UINT32 cParamDescs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ], /* [out] */ EVENTPIPE_EVENT *pEvent); - - HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeWriteEvent) + HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( ICorProfilerInfo12 * This, /* [in] */ EVENTPIPE_EVENT event, /* [in] */ UINT32 cData, /* [size_is][in] */ COR_PRF_EVENT_DATA data[ ], /* [in] */ LPCGUID pActivityId, /* [in] */ LPCGUID pRelatedActivityId); - + END_INTERFACE } ICorProfilerInfo12Vtbl; @@ -19639,346 +21685,346 @@ EXTERN_C const IID IID_ICorProfilerInfo12; CONST_VTBL struct ICorProfilerInfo12Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo12_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo12_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo12_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo12_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo12_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo12_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo12_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo12_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo12_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo12_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo12_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo12_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo12_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo12_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo12_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo12_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo12_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo12_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo12_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo12_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo12_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo12_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo12_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo12_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo12_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo12_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo12_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo12_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo12_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo12_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo12_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo12_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo12_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo12_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo12_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo12_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo12_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo12_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo12_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo12_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo12_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo12_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo12_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo12_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo12_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo12_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo12_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo12_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo12_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo12_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo12_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo12_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo12_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo12_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo12_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo12_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo12_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo12_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo12_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo12_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo12_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo12_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo12_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo12_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo12_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo12_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo12_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo12_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> 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 ICorProfilerInfo12_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo12_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo12_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo12_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo12_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo12_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo12_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo12_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo12_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo12_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo12_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo12_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo12_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo12_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo12_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo12_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo12_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo12_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo12_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo12_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo12_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo12_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #define ICorProfilerInfo12_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ - ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) #define ICorProfilerInfo12_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) #define ICorProfilerInfo12_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo12_EnumerateObjectReferences(This,objectId,callback,clientData) \ - ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) + ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) #define ICorProfilerInfo12_IsFrozenObject(This,objectId,pbFrozen) \ - ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) + ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) #define ICorProfilerInfo12_GetLOHObjectSizeThreshold(This,pThreshold) \ - ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) + ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) #define ICorProfilerInfo12_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo12_SuspendRuntime(This) \ - ( (This)->lpVtbl -> SuspendRuntime(This) ) + ( (This)->lpVtbl -> SuspendRuntime(This) ) #define ICorProfilerInfo12_ResumeRuntime(This) \ - ( (This)->lpVtbl -> ResumeRuntime(This) ) + ( (This)->lpVtbl -> ResumeRuntime(This) ) #define ICorProfilerInfo12_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) \ - ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) + ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) #define ICorProfilerInfo12_SetEnvironmentVariable(This,szName,szValue) \ - ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) + ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) #define ICorProfilerInfo12_EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) \ - ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) ) + ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) ) #define ICorProfilerInfo12_EventPipeAddProviderToSession(This,session,providerConfig) \ - ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) ) + ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) ) #define ICorProfilerInfo12_EventPipeStopSession(This,session) \ - ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) + ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) #define ICorProfilerInfo12_EventPipeCreateProvider(This,providerName,pProvider) \ - ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) ) + ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) ) #define ICorProfilerInfo12_EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) \ - ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) ) + ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) ) #define ICorProfilerInfo12_EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) \ - ( (This)->lpVtbl -> EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) ) + ( (This)->lpVtbl -> EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) ) #define ICorProfilerInfo12_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) \ - ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) + ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) #endif /* COBJMACROS */ @@ -19995,239 +22041,277 @@ EXTERN_C const IID IID_ICorProfilerInfo12; #define __ICorProfilerInfo13_INTERFACE_DEFINED__ /* interface ICorProfilerInfo13 */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerInfo13; #if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("6e6c7ee2-0701-4ec2-9d29-2e8733b66934") + + MIDL_INTERFACE("6E6C7EE2-0701-4EC2-9D29-2E8733B66934") ICorProfilerInfo13 : public ICorProfilerInfo12 { public: - virtual HRESULT STDMETHODCALLTYPE CreateHandle( - /* [in] */ ObjectID object, - /* [in] */ COR_PRF_HANDLE_TYPE type, - /* [out] */ ObjectHandleID* pHandle) = 0; - - virtual HRESULT STDMETHODCALLTYPE DestroyHandle( + virtual HRESULT STDMETHODCALLTYPE CreateHandle( + /* [in] */ ObjectID object, + /* [in] */ COR_PRF_HANDLE_TYPE type, + /* [out] */ ObjectHandleID *pHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE DestroyHandle( /* [in] */ ObjectHandleID handle) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetObjectIDFromHandle( + + virtual HRESULT STDMETHODCALLTYPE GetObjectIDFromHandle( /* [in] */ ObjectHandleID handle, - /* [out] */ ObjectID* pObject) = 0; + /* [out] */ ObjectID *pObject) = 0; + }; - - + + #else /* C style interface */ typedef struct ICorProfilerInfo13Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerInfo13 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerInfo13 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerInfo13 * This); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( ICorProfilerInfo13 * This, /* [in] */ ObjectID objectId, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdTypeDef typeDef, /* [out] */ ClassID *pClassId); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionId, /* [out] */ LPCBYTE *pStart, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( ICorProfilerInfo13 * This, /* [out] */ DWORD *pdwEvents); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( ICorProfilerInfo13 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdToken token, /* [out] */ FunctionID *pFunctionId); - - HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( ICorProfilerInfo13 * This, /* [in] */ ThreadID threadId, /* [out] */ HANDLE *phThread); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( ICorProfilerInfo13 * This, /* [in] */ ObjectID objectId, /* [out] */ ULONG *pcSize); - - HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [out] */ CorElementType *pBaseElemType, /* [out] */ ClassID *pBaseClassId, /* [out] */ ULONG *pcRank); - - HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( ICorProfilerInfo13 * This, /* [in] */ ThreadID threadId, /* [out] */ DWORD *pdwWin32ThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( ICorProfilerInfo13 * This, /* [out] */ ThreadID *pThreadId); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdTypeDef *pTypeDefToken); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionId, /* [out] */ ClassID *pClassId, /* [out] */ ModuleID *pModuleId, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( ICorProfilerInfo13 * This, /* [in] */ DWORD dwEvents); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( ICorProfilerInfo13 * This, /* [in] */ FunctionEnter *pFuncEnter, /* [in] */ FunctionLeave *pFuncLeave, /* [in] */ FunctionTailcall *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( ICorProfilerInfo13 * This, /* [in] */ FunctionIDMapper *pFunc); - - HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionId, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppImport, /* [out] */ mdToken *pToken); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId); - - HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD dwOpenFlags, /* [in] */ REFIID riid, /* [out] */ IUnknown **ppOut); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodId, /* [out] */ LPCBYTE *ppMethodHeader, /* [out] */ ULONG *pcbMethodSize); - - HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [out] */ IMethodMalloc **ppMalloc); - - HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [in] */ mdMethodDef methodid, /* [in] */ LPCBYTE pbNewILMethodHeader); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( ICorProfilerInfo13 * This, /* [in] */ AppDomainID appDomainId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ ProcessID *pProcessId); - - HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( ICorProfilerInfo13 * This, /* [in] */ AssemblyID assemblyId, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AppDomainID *pAppDomainId, /* [out] */ ModuleID *pModuleId); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionId); - - HRESULT ( STDMETHODCALLTYPE *ForceGC )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( ICorProfilerInfo13 * This); - - HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionId, /* [in] */ BOOL fStartJit, /* [in] */ ULONG cILMapEntries, /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( ICorProfilerInfo13 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( ICorProfilerInfo13 * This, /* [out] */ IUnknown **ppicd); - - HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( ICorProfilerInfo13 * This, /* [in] */ ThreadID threadId, /* [out] */ ContextID *pContextId); - - HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( ICorProfilerInfo13 * This, /* [in] */ BOOL fThisThreadOnly, /* [out] */ DWORD *pdwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( ICorProfilerInfo13 * This, /* [in] */ DWORD dwProfilerContext); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( ICorProfilerInfo13 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( ICorProfilerInfo13 * This, /* [in] */ ThreadID thread, /* [in] */ StackSnapshotCallback *callback, @@ -20235,14 +22319,16 @@ EXTERN_C const IID IID_ICorProfilerInfo13; /* [in] */ void *clientData, /* [size_is][in] */ BYTE context[ ], /* [in] */ ULONG32 contextSize); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( ICorProfilerInfo13 * This, /* [in] */ FunctionEnter2 *pFuncEnter, /* [in] */ FunctionLeave2 *pFuncLeave, /* [in] */ FunctionTailcall2 *pFuncTailcall); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( ICorProfilerInfo13 * This, /* [in] */ FunctionID funcId, /* [in] */ COR_PRF_FRAME_INFO frameInfo, @@ -20252,22 +22338,25 @@ EXTERN_C const IID IID_ICorProfilerInfo13; /* [in] */ ULONG32 cTypeArgs, /* [out] */ ULONG32 *pcTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( ICorProfilerInfo13 * This, /* [out] */ ULONG *pBufferLengthOffset, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( ICorProfilerInfo13 * This, /* [in] */ ClassID classID, /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], /* [in] */ ULONG cFieldOffset, /* [out] */ ULONG *pcFieldOffset, /* [out] */ ULONG *pulClassSize); - - HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [out] */ ModuleID *pModuleId, @@ -20276,23 +22365,26 @@ EXTERN_C const IID IID_ICorProfilerInfo13; /* [in] */ ULONG32 cNumTypeArgs, /* [out] */ ULONG32 *pcNumTypeArgs, /* [out] */ ClassID typeArgs[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionID, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdTypeDef typeDef, /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ ClassID *pClassID); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleID, /* [in] */ mdMethodDef funcDef, @@ -20300,134 +22392,157 @@ EXTERN_C const IID IID_ICorProfilerInfo13; /* [in] */ ULONG32 cTypeArgs, /* [size_is][in] */ ClassID typeArgs[ ], /* [out] */ FunctionID *pFunctionID); - - HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleID, /* [out] */ ICorProfilerObjectEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( ICorProfilerInfo13 * This, /* [in] */ ObjectID objectId, /* [in] */ ULONG32 cDimensions, /* [size_is][out] */ ULONG32 pDimensionSizes[ ], /* [size_is][out] */ int pDimensionLowerBounds[ ], /* [out] */ BYTE **ppData); - - HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [out] */ ULONG32 *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( ICorProfilerInfo13 * This, /* [in] */ ThreadID threadId, /* [out] */ AppDomainID *pAppDomainId); - - HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ ContextID contextId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); - - HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( ICorProfilerInfo13 * This, /* [in] */ ULONG cObjectRanges, /* [out] */ ULONG *pcObjectRanges, /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( ICorProfilerInfo13 * This, /* [in] */ ObjectID objectId, /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); - - HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( ICorProfilerInfo13 * This, /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); - - HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( ICorProfilerInfo13 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( ICorProfilerInfo13 * This, /* [in] */ DWORD dwExpectedCompletionMilliseconds); - - HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( ICorProfilerInfo13 * This, /* [in] */ FunctionIDMapper2 *pFunc, /* [in] */ void *clientData); - - HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( ICorProfilerInfo13 * This, /* [out] */ ULONG *pStringLengthOffset, /* [out] */ ULONG *pBufferOffset); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( ICorProfilerInfo13 * This, /* [in] */ FunctionEnter3 *pFuncEnter3, /* [in] */ FunctionLeave3 *pFuncLeave3, /* [in] */ FunctionTailcall3 *pFuncTailcall3); - - HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( ICorProfilerInfo13 * This, /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( ICorProfilerInfo13 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( ICorProfilerInfo13 * 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 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionId, /* [in] */ COR_PRF_ELT_INFO eltInfo, /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); - - HRESULT ( STDMETHODCALLTYPE *EnumModules )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( ICorProfilerInfo13 * This, /* [out] */ ICorProfilerModuleEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( ICorProfilerInfo13 * This, /* [out] */ USHORT *pClrInstanceId, /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType, @@ -20437,140 +22552,162 @@ EXTERN_C const IID IID_ICorProfilerInfo13; /* [out] */ USHORT *pQFEVersion, /* [in] */ ULONG cchVersionString, /* [out] */ ULONG *pcchVersionString, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( ICorProfilerInfo13 * This, /* [in] */ ClassID classId, /* [in] */ mdFieldDef fieldToken, /* [in] */ AppDomainID appDomainId, /* [in] */ ThreadID threadId, /* [out] */ void **ppAddress); - - HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [in] */ ULONG32 cAppDomainIds, /* [out] */ ULONG32 *pcAppDomainIds, /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [out] */ LPCBYTE *ppBaseLoadAddress, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], /* [out] */ AssemblyID *pAssemblyId, /* [out] */ DWORD *pdwModuleFlags); - - HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( ICorProfilerInfo13 * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( ICorProfilerInfo13 * This); - - HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( ICorProfilerInfo13 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( ICorProfilerInfo13 * This, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ], /* [size_is][out] */ HRESULT status[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionID, /* [in] */ ReJITID reJitId, /* [in] */ ULONG32 cCodeInfos, /* [out] */ ULONG32 *pcCodeInfos, /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( ICorProfilerInfo13 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *pFunctionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionId, /* [in] */ ULONG cReJitIds, /* [out] */ ULONG *pcReJitIds, /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( ICorProfilerInfo13 * 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 *EnumJITedFunctions2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( ICorProfilerInfo13 * This, /* [out] */ ICorProfilerFunctionEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( ICorProfilerInfo13 * This, /* [in] */ ObjectID objectId, /* [out] */ SIZE_T *pcSize); - - HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( ICorProfilerInfo13 * This, /* [out] */ DWORD *pdwEventsLow, /* [out] */ DWORD *pdwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( ICorProfilerInfo13 * This, /* [in] */ DWORD dwEventsLow, /* [in] */ DWORD dwEventsHigh); - - HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod) + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( ICorProfilerInfo13 * This, /* [in] */ ModuleID inlinersModuleId, /* [in] */ ModuleID inlineeModuleId, /* [in] */ mdMethodDef inlineeMethodId, /* [out] */ BOOL *incompleteData, /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData) + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId); - - HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength) + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [out] */ DWORD *pCountSymbolBytes); - - HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols) + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( ICorProfilerInfo13 * This, /* [in] */ ModuleID moduleId, /* [in] */ DWORD symbolsReadOffset, /* [out] */ BYTE *pSymbolBytes, /* [in] */ DWORD countSymbolBytes, /* [out] */ DWORD *pCountSymbolBytesRead); - - HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic) + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionId, /* [out] */ BOOL *isDynamic); - - HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( ICorProfilerInfo13 * This, /* [in] */ LPCBYTE ip, /* [out] */ FunctionID *functionId, /* [out] */ ReJITID *pReJitId); - - HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( ICorProfilerInfo13 * This, /* [in] */ FunctionID functionId, /* [out] */ ModuleID *moduleId, @@ -20579,100 +22716,117 @@ EXTERN_C const IID IID_ICorProfilerInfo13; /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, /* [out] */ WCHAR wszName[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses) + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( ICorProfilerInfo13 * This, FunctionID functionID, ReJITID reJitId, ULONG32 cCodeStartAddresses, ULONG32 *pcCodeStartAddresses, UINT_PTR codeStartAddresses[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( ICorProfilerInfo13 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cMap, ULONG32 *pcMap, COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); - - HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( ICorProfilerInfo13 * This, UINT_PTR pNativeCodeStartAddress, ULONG32 cCodeInfos, ULONG32 *pcCodeInfos, COR_PRF_CODE_INFO codeInfos[ ]); - - HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences) + HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( ICorProfilerInfo13 * This, ObjectID objectId, ObjectReferenceCallback callback, void *clientData); - - HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject) + HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( ICorProfilerInfo13 * This, ObjectID objectId, BOOL *pbFrozen); - - HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold) + HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( ICorProfilerInfo13 * This, DWORD *pThreshold); - - HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners) + HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( ICorProfilerInfo13 * This, /* [in] */ DWORD dwRejitFlags, /* [in] */ ULONG cFunctions, /* [size_is][in] */ ModuleID moduleIds[ ], /* [size_is][in] */ mdMethodDef methodIds[ ]); - - HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime) + HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( ICorProfilerInfo13 * This); - - HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime) + HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( ICorProfilerInfo13 * This); - - HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo11, GetEnvironmentVariable) + HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( ICorProfilerInfo13 * This, /* [string][in] */ const WCHAR *szName, /* [in] */ ULONG cchValue, /* [out] */ ULONG *pcchValue, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]); - - HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable) + HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( ICorProfilerInfo13 * This, /* [string][in] */ const WCHAR *szName, /* [string][in] */ const WCHAR *szValue); - - HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStartSession) + HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( ICorProfilerInfo13 * This, /* [in] */ UINT32 cProviderConfigs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ], /* [in] */ BOOL requestRundown, /* [out] */ EVENTPIPE_SESSION *pSession); - - HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeAddProviderToSession) + HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )( ICorProfilerInfo13 * This, /* [in] */ EVENTPIPE_SESSION session, /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig); - - HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStopSession) + HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( ICorProfilerInfo13 * This, /* [in] */ EVENTPIPE_SESSION session); - - HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeCreateProvider) + HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( ICorProfilerInfo13 * This, /* [string][in] */ const WCHAR *providerName, /* [out] */ EVENTPIPE_PROVIDER *pProvider); - - HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeGetProviderInfo) + HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( ICorProfilerInfo13 * This, /* [in] */ EVENTPIPE_PROVIDER provider, /* [in] */ ULONG cchName, /* [out] */ ULONG *pcchName, - /* [annotation][out] */ + /* [annotation][out] */ _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]); - - HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeDefineEvent) + HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( ICorProfilerInfo13 * This, /* [in] */ EVENTPIPE_PROVIDER provider, /* [string][in] */ const WCHAR *eventName, @@ -20685,30 +22839,34 @@ EXTERN_C const IID IID_ICorProfilerInfo13; /* [in] */ UINT32 cParamDescs, /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ], /* [out] */ EVENTPIPE_EVENT *pEvent); - - HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeWriteEvent) + HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( ICorProfilerInfo13 * This, /* [in] */ EVENTPIPE_EVENT event, /* [in] */ UINT32 cData, /* [size_is][in] */ COR_PRF_EVENT_DATA data[ ], /* [in] */ LPCGUID pActivityId, /* [in] */ LPCGUID pRelatedActivityId); - - HRESULT ( STDMETHODCALLTYPE CreateHandle )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo13, CreateHandle) + HRESULT ( STDMETHODCALLTYPE *CreateHandle )( ICorProfilerInfo13 * This, /* [in] */ ObjectID object, /* [in] */ COR_PRF_HANDLE_TYPE type, - /* [out] */ ObjectHandleID* pHandle); - - HRESULT ( STDMETHODCALLTYPE DestroyHandle )( + /* [out] */ ObjectHandleID *pHandle); + + DECLSPEC_XFGVIRT(ICorProfilerInfo13, DestroyHandle) + HRESULT ( STDMETHODCALLTYPE *DestroyHandle )( ICorProfilerInfo13 * This, /* [in] */ ObjectHandleID handle); - - HRESULT ( STDMETHODCALLTYPE GetObjectIDFromHandle )( + + DECLSPEC_XFGVIRT(ICorProfilerInfo13, GetObjectIDFromHandle) + HRESULT ( STDMETHODCALLTYPE *GetObjectIDFromHandle )( ICorProfilerInfo13 * This, /* [in] */ ObjectHandleID handle, - /* [out] */ ObjectID* pObject); - + /* [out] */ ObjectID *pObject); + END_INTERFACE } ICorProfilerInfo13Vtbl; @@ -20717,357 +22875,356 @@ EXTERN_C const IID IID_ICorProfilerInfo13; CONST_VTBL struct ICorProfilerInfo13Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerInfo13_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerInfo13_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerInfo13_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerInfo13_GetClassFromObject(This,objectId,pClassId) \ - ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) #define ICorProfilerInfo13_GetClassFromToken(This,moduleId,typeDef,pClassId) \ - ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) #define ICorProfilerInfo13_GetCodeInfo(This,functionId,pStart,pcSize) \ - ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) #define ICorProfilerInfo13_GetEventMask(This,pdwEvents) \ - ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) #define ICorProfilerInfo13_GetFunctionFromIP(This,ip,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) #define ICorProfilerInfo13_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ - ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) #define ICorProfilerInfo13_GetHandleFromThread(This,threadId,phThread) \ - ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) #define ICorProfilerInfo13_GetObjectSize(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) #define ICorProfilerInfo13_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ - ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) #define ICorProfilerInfo13_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ - ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) #define ICorProfilerInfo13_GetCurrentThreadID(This,pThreadId) \ - ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) #define ICorProfilerInfo13_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ - ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) #define ICorProfilerInfo13_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ - ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) #define ICorProfilerInfo13_SetEventMask(This,dwEvents) \ - ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) #define ICorProfilerInfo13_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo13_SetFunctionIDMapper(This,pFunc) \ - ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) #define ICorProfilerInfo13_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ - ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) #define ICorProfilerInfo13_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ - ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) #define ICorProfilerInfo13_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ - ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) #define ICorProfilerInfo13_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ - ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) #define ICorProfilerInfo13_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ - ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) #define ICorProfilerInfo13_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ - ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) #define ICorProfilerInfo13_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ - ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) #define ICorProfilerInfo13_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ - ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) #define ICorProfilerInfo13_SetFunctionReJIT(This,functionId) \ - ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) #define ICorProfilerInfo13_ForceGC(This) \ - ( (This)->lpVtbl -> ForceGC(This) ) + ( (This)->lpVtbl -> ForceGC(This) ) #define ICorProfilerInfo13_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ - ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) #define ICorProfilerInfo13_GetInprocInspectionInterface(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) #define ICorProfilerInfo13_GetInprocInspectionIThisThread(This,ppicd) \ - ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) #define ICorProfilerInfo13_GetThreadContext(This,threadId,pContextId) \ - ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) #define ICorProfilerInfo13_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ - ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) #define ICorProfilerInfo13_EndInprocDebugging(This,dwProfilerContext) \ - ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) #define ICorProfilerInfo13_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) #define ICorProfilerInfo13_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ - ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) #define ICorProfilerInfo13_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) #define ICorProfilerInfo13_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) #define ICorProfilerInfo13_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo13_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ - ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) #define ICorProfilerInfo13_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ - ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) #define ICorProfilerInfo13_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo13_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ - ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) #define ICorProfilerInfo13_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ - ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) #define ICorProfilerInfo13_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ - ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) #define ICorProfilerInfo13_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ - ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) #define ICorProfilerInfo13_GetBoxClassLayout(This,classId,pBufferOffset) \ - ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) #define ICorProfilerInfo13_GetThreadAppDomain(This,threadId,pAppDomainId) \ - ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) #define ICorProfilerInfo13_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ - ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) #define ICorProfilerInfo13_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ - ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) #define ICorProfilerInfo13_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) #define ICorProfilerInfo13_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ - ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) #define ICorProfilerInfo13_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ - ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) #define ICorProfilerInfo13_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ - ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) #define ICorProfilerInfo13_GetObjectGeneration(This,objectId,range) \ - ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) #define ICorProfilerInfo13_GetNotifiedExceptionClauseInfo(This,pinfo) \ - ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) #define ICorProfilerInfo13_EnumJITedFunctions(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) #define ICorProfilerInfo13_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ - ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) #define ICorProfilerInfo13_SetFunctionIDMapper2(This,pFunc,clientData) \ - ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) #define ICorProfilerInfo13_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ - ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) #define ICorProfilerInfo13_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) #define ICorProfilerInfo13_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ - ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) #define ICorProfilerInfo13_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ - ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) #define ICorProfilerInfo13_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ - ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) #define ICorProfilerInfo13_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ - ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) #define ICorProfilerInfo13_EnumModules(This,ppEnum) \ - ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) #define ICorProfilerInfo13_GetRuntimeInformation(This,pClrInstanceId,pRuntimeType,pMajorVersion,pMinorVersion,pBuildNumber,pQFEVersion,cchVersionString,pcchVersionString,szVersionString) \ - ( (This)->lpVtbl -> 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 ICorProfilerInfo13_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ - ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) #define ICorProfilerInfo13_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ - ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) #define ICorProfilerInfo13_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ - ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) #define ICorProfilerInfo13_EnumThreads(This,ppEnum) \ - ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) #define ICorProfilerInfo13_InitializeCurrentThread(This) \ - ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) #define ICorProfilerInfo13_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo13_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ - ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) #define ICorProfilerInfo13_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo13_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) #define ICorProfilerInfo13_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ - ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) #define ICorProfilerInfo13_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) #define ICorProfilerInfo13_EnumJITedFunctions2(This,ppEnum) \ - ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) #define ICorProfilerInfo13_GetObjectSize2(This,objectId,pcSize) \ - ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) #define ICorProfilerInfo13_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ - ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) #define ICorProfilerInfo13_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ - ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) #define ICorProfilerInfo13_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ - ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) #define ICorProfilerInfo13_ApplyMetaData(This,moduleId) \ - ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) #define ICorProfilerInfo13_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ - ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) #define ICorProfilerInfo13_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ - ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) #define ICorProfilerInfo13_IsFunctionDynamic(This,functionId,isDynamic) \ - ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) #define ICorProfilerInfo13_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ - ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) #define ICorProfilerInfo13_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ - ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) #define ICorProfilerInfo13_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ - ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) #define ICorProfilerInfo13_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ - ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) #define ICorProfilerInfo13_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ - ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) #define ICorProfilerInfo13_EnumerateObjectReferences(This,objectId,callback,clientData) \ - ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) + ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) #define ICorProfilerInfo13_IsFrozenObject(This,objectId,pbFrozen) \ - ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) + ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) #define ICorProfilerInfo13_GetLOHObjectSizeThreshold(This,pThreshold) \ - ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) + ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) #define ICorProfilerInfo13_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \ - ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) + ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) #define ICorProfilerInfo13_SuspendRuntime(This) \ - ( (This)->lpVtbl -> SuspendRuntime(This) ) + ( (This)->lpVtbl -> SuspendRuntime(This) ) #define ICorProfilerInfo13_ResumeRuntime(This) \ - ( (This)->lpVtbl -> ResumeRuntime(This) ) + ( (This)->lpVtbl -> ResumeRuntime(This) ) #define ICorProfilerInfo13_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) \ - ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) + ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) #define ICorProfilerInfo13_SetEnvironmentVariable(This,szName,szValue) \ - ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) + ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) #define ICorProfilerInfo13_EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) \ - ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) ) + ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) ) #define ICorProfilerInfo13_EventPipeAddProviderToSession(This,session,providerConfig) \ - ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) ) + ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) ) #define ICorProfilerInfo13_EventPipeStopSession(This,session) \ - ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) + ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) #define ICorProfilerInfo13_EventPipeCreateProvider(This,providerName,pProvider) \ - ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) ) + ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) ) #define ICorProfilerInfo13_EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) \ - ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) ) + ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) ) #define ICorProfilerInfo13_EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) \ - ( (This)->lpVtbl -> EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) ) + ( (This)->lpVtbl -> EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) ) #define ICorProfilerInfo13_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) \ - ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) - -#define ICorProfilerInfo13_CreateHandle(This,object,type,pHandle) \ - ( (This)->lpVtbl -> CreateHandle(This,object,type,pHandle) ) + ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) -#define ICorProfilerInfo13_DestroyHandle(This,handle) \ - ( (This)->lpVtbl -> DestroyHandle(This,handle) ) -#define ICorProfilerInfo13_GetObjectIDFromHandle(This,handle,pObject) \ - ( (This)->lpVtbl -> GetObjectIDFromHandle(This,handle,pObject) ) +#define ICorProfilerInfo13_CreateHandle(This,object,type,pHandle) \ + ( (This)->lpVtbl -> CreateHandle(This,object,type,pHandle) ) +#define ICorProfilerInfo13_DestroyHandle(This,handle) \ + ( (This)->lpVtbl -> DestroyHandle(This,handle) ) +#define ICorProfilerInfo13_GetObjectIDFromHandle(This,handle,pObject) \ + ( (This)->lpVtbl -> GetObjectIDFromHandle(This,handle,pObject) ) #endif /* COBJMACROS */ @@ -21080,116 +23237,1354 @@ EXTERN_C const IID IID_ICorProfilerInfo13; #endif /* __ICorProfilerInfo13_INTERFACE_DEFINED__ */ -#ifndef __ICorProfilerMethodEnum_INTERFACE_DEFINED__ -#define __ICorProfilerMethodEnum_INTERFACE_DEFINED__ +#ifndef __ICorProfilerInfo14_INTERFACE_DEFINED__ +#define __ICorProfilerInfo14_INTERFACE_DEFINED__ -/* interface ICorProfilerMethodEnum */ -/* [local][unique][uuid][object] */ +/* interface ICorProfilerInfo14 */ +/* [local][unique][uuid][object] */ -EXTERN_C const IID IID_ICorProfilerMethodEnum; +EXTERN_C const IID IID_ICorProfilerInfo14; #if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("FCCEE788-0088-454B-A811-C99F298D1942") - ICorProfilerMethodEnum : public IUnknown + + MIDL_INTERFACE("F460E352-D76D-4FE9-835F-F6AF9D6E862D") + ICorProfilerInfo14 : public ICorProfilerInfo13 { public: - virtual HRESULT STDMETHODCALLTYPE Skip( - /* [in] */ ULONG celt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( - /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( - /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( - /* [in] */ ULONG celt, - /* [length_is][size_is][out] */ COR_PRF_METHOD elements[ ], - /* [out] */ ULONG *pceltFetched) = 0; - + virtual HRESULT STDMETHODCALLTYPE EnumerateNonGCObjects( + /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNonGCHeapBounds( + /* [in] */ ULONG cObjectRanges, + /* [out] */ ULONG *pcObjectRanges, + /* [length_is][size_is][out] */ COR_PRF_NONGC_HEAP_RANGE ranges[ ]) = 0; + + virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider2( + /* [string][in] */ const WCHAR *providerName, + /* [in] */ EventPipeProviderCallback *pCallback, + /* [out] */ EVENTPIPE_PROVIDER *pProvider) = 0; + }; - - + + #else /* C style interface */ - typedef struct ICorProfilerMethodEnumVtbl + typedef struct ICorProfilerInfo14Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - ICorProfilerMethodEnum * This, + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ICorProfilerInfo14 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - ICorProfilerMethodEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - ICorProfilerMethodEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( - ICorProfilerMethodEnum * This, - /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( - ICorProfilerMethodEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( - ICorProfilerMethodEnum * This, - /* [out] */ ICorProfilerMethodEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( - ICorProfilerMethodEnum * This, - /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( - ICorProfilerMethodEnum * This, - /* [in] */ ULONG celt, - /* [length_is][size_is][out] */ COR_PRF_METHOD elements[ ], - /* [out] */ ULONG *pceltFetched); - - END_INTERFACE - } ICorProfilerMethodEnumVtbl; - - interface ICorProfilerMethodEnum - { - CONST_VTBL struct ICorProfilerMethodEnumVtbl *lpVtbl; - }; - - - + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ICorProfilerInfo14 * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ICorProfilerInfo14 * This); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject) + HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )( + ICorProfilerInfo14 * This, + /* [in] */ ObjectID objectId, + /* [out] */ ClassID *pClassId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken) + HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ mdTypeDef typeDef, + /* [out] */ ClassID *pClassId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [out] */ LPCBYTE *pStart, + /* [out] */ ULONG *pcSize); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask) + HRESULT ( STDMETHODCALLTYPE *GetEventMask )( + ICorProfilerInfo14 * This, + /* [out] */ DWORD *pdwEvents); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )( + ICorProfilerInfo14 * This, + /* [in] */ LPCBYTE ip, + /* [out] */ FunctionID *pFunctionId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ mdToken token, + /* [out] */ FunctionID *pFunctionId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread) + HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )( + ICorProfilerInfo14 * This, + /* [in] */ ThreadID threadId, + /* [out] */ HANDLE *phThread); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize )( + ICorProfilerInfo14 * This, + /* [in] */ ObjectID objectId, + /* [out] */ ULONG *pcSize); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass) + HRESULT ( STDMETHODCALLTYPE *IsArrayClass )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [out] */ CorElementType *pBaseElemType, + /* [out] */ ClassID *pBaseClassId, + /* [out] */ ULONG *pcRank); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo) + HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )( + ICorProfilerInfo14 * This, + /* [in] */ ThreadID threadId, + /* [out] */ DWORD *pdwWin32ThreadId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID) + HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )( + ICorProfilerInfo14 * This, + /* [out] */ ThreadID *pThreadId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [out] */ ModuleID *pModuleId, + /* [out] */ mdTypeDef *pTypeDefToken); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [out] */ ClassID *pClassId, + /* [out] */ ModuleID *pModuleId, + /* [out] */ mdToken *pToken); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask) + HRESULT ( STDMETHODCALLTYPE *SetEventMask )( + ICorProfilerInfo14 * This, + /* [in] */ DWORD dwEvents); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionEnter *pFuncEnter, + /* [in] */ FunctionLeave *pFuncLeave, + /* [in] */ FunctionTailcall *pFuncTailcall); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionIDMapper *pFunc); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction) + HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [in] */ REFIID riid, + /* [out] */ IUnknown **ppImport, + /* [out] */ mdToken *pToken); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )( + ICorProfilerInfo14 * 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); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData) + HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ DWORD dwOpenFlags, + /* [in] */ REFIID riid, + /* [out] */ IUnknown **ppOut); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ mdMethodDef methodId, + /* [out] */ LPCBYTE *ppMethodHeader, + /* [out] */ ULONG *pcbMethodSize); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator) + HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId, + /* [out] */ IMethodMalloc **ppMalloc); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody) + HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ mdMethodDef methodid, + /* [in] */ LPCBYTE pbNewILMethodHeader); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )( + ICorProfilerInfo14 * This, + /* [in] */ AppDomainID appDomainId, + /* [in] */ ULONG cchName, + /* [out] */ ULONG *pcchName, + /* [annotation][out] */ + _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ], + /* [out] */ ProcessID *pProcessId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo) + HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )( + ICorProfilerInfo14 * 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); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT) + HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC) + HRESULT ( STDMETHODCALLTYPE *ForceGC )( + ICorProfilerInfo14 * This); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap) + HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [in] */ BOOL fStartJit, + /* [in] */ ULONG cILMapEntries, + /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )( + ICorProfilerInfo14 * This, + /* [out] */ IUnknown **ppicd); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread) + HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )( + ICorProfilerInfo14 * This, + /* [out] */ IUnknown **ppicd); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext) + HRESULT ( STDMETHODCALLTYPE *GetThreadContext )( + ICorProfilerInfo14 * This, + /* [in] */ ThreadID threadId, + /* [out] */ ContextID *pContextId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )( + ICorProfilerInfo14 * This, + /* [in] */ BOOL fThisThreadOnly, + /* [out] */ DWORD *pdwProfilerContext); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging) + HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )( + ICorProfilerInfo14 * This, + /* [in] */ DWORD dwProfilerContext); + + DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [in] */ ULONG32 cMap, + /* [out] */ ULONG32 *pcMap, + /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot) + HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )( + ICorProfilerInfo14 * This, + /* [in] */ ThreadID thread, + /* [in] */ StackSnapshotCallback *callback, + /* [in] */ ULONG32 infoFlags, + /* [in] */ void *clientData, + /* [size_is][in] */ BYTE context[ ], + /* [in] */ ULONG32 contextSize); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionEnter2 *pFuncEnter, + /* [in] */ FunctionLeave2 *pFuncLeave, + /* [in] */ FunctionTailcall2 *pFuncTailcall); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )( + ICorProfilerInfo14 * 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[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout )( + ICorProfilerInfo14 * This, + /* [out] */ ULONG *pBufferLengthOffset, + /* [out] */ ULONG *pStringLengthOffset, + /* [out] */ ULONG *pBufferOffset); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetClassLayout )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classID, + /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ], + /* [in] */ ULONG cFieldOffset, + /* [out] */ ULONG *pcFieldOffset, + /* [out] */ ULONG *pulClassSize); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2) + HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [out] */ ModuleID *pModuleId, + /* [out] */ mdTypeDef *pTypeDefToken, + /* [out] */ ClassID *pParentClassId, + /* [in] */ ULONG32 cNumTypeArgs, + /* [out] */ ULONG32 *pcNumTypeArgs, + /* [out] */ ClassID typeArgs[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionID, + /* [in] */ ULONG32 cCodeInfos, + /* [out] */ ULONG32 *pcCodeInfos, + /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleID, + /* [in] */ mdTypeDef typeDef, + /* [in] */ ULONG32 cTypeArgs, + /* [size_is][in] */ ClassID typeArgs[ ], + /* [out] */ ClassID *pClassID); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleID, + /* [in] */ mdMethodDef funcDef, + /* [in] */ ClassID classId, + /* [in] */ ULONG32 cTypeArgs, + /* [size_is][in] */ ClassID typeArgs[ ], + /* [out] */ FunctionID *pFunctionID); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects) + HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleID, + /* [out] */ ICorProfilerObjectEnum **ppEnum); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo) + HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )( + ICorProfilerInfo14 * This, + /* [in] */ ObjectID objectId, + /* [in] */ ULONG32 cDimensions, + /* [size_is][out] */ ULONG32 pDimensionSizes[ ], + /* [size_is][out] */ int pDimensionLowerBounds[ ], + /* [out] */ BYTE **ppData); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout) + HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [out] */ ULONG32 *pBufferOffset); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain) + HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )( + ICorProfilerInfo14 * This, + /* [in] */ ThreadID threadId, + /* [out] */ AppDomainID *pAppDomainId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [in] */ mdFieldDef fieldToken, + /* [out] */ void **ppAddress); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [in] */ mdFieldDef fieldToken, + /* [in] */ AppDomainID appDomainId, + /* [out] */ void **ppAddress); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [in] */ mdFieldDef fieldToken, + /* [in] */ ThreadID threadId, + /* [out] */ void **ppAddress); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress) + HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [in] */ mdFieldDef fieldToken, + /* [in] */ ContextID contextId, + /* [out] */ void **ppAddress); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo) + HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [in] */ mdFieldDef fieldToken, + /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds) + HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )( + ICorProfilerInfo14 * This, + /* [in] */ ULONG cObjectRanges, + /* [out] */ ULONG *pcObjectRanges, + /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration) + HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )( + ICorProfilerInfo14 * This, + /* [in] */ ObjectID objectId, + /* [out] */ COR_PRF_GC_GENERATION_RANGE *range); + + DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo) + HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )( + ICorProfilerInfo14 * This, + /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )( + ICorProfilerInfo14 * This, + /* [out] */ ICorProfilerFunctionEnum **ppEnum); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach) + HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )( + ICorProfilerInfo14 * This, + /* [in] */ DWORD dwExpectedCompletionMilliseconds); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2) + HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionIDMapper2 *pFunc, + /* [in] */ void *clientData); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2) + HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )( + ICorProfilerInfo14 * This, + /* [out] */ ULONG *pStringLengthOffset, + /* [out] */ ULONG *pBufferOffset); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionEnter3 *pFuncEnter3, + /* [in] */ FunctionLeave3 *pFuncLeave3, + /* [in] */ FunctionTailcall3 *pFuncTailcall3); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo) + HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo, + /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo, + /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )( + ICorProfilerInfo14 * 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); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [in] */ COR_PRF_ELT_INFO eltInfo, + /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo, + /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info) + HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [in] */ COR_PRF_ELT_INFO eltInfo, + /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules) + HRESULT ( STDMETHODCALLTYPE *EnumModules )( + ICorProfilerInfo14 * This, + /* [out] */ ICorProfilerModuleEnum **ppEnum); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation) + HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )( + ICorProfilerInfo14 * 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[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2) + HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )( + ICorProfilerInfo14 * This, + /* [in] */ ClassID classId, + /* [in] */ mdFieldDef fieldToken, + /* [in] */ AppDomainID appDomainId, + /* [in] */ ThreadID threadId, + /* [out] */ void **ppAddress); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule) + HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ ULONG32 cAppDomainIds, + /* [out] */ ULONG32 *pcAppDomainIds, + /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2) + HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )( + ICorProfilerInfo14 * 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); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads) + HRESULT ( STDMETHODCALLTYPE *EnumThreads )( + ICorProfilerInfo14 * This, + /* [out] */ ICorProfilerThreadEnum **ppEnum); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread) + HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )( + ICorProfilerInfo14 * This); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT) + HRESULT ( STDMETHODCALLTYPE *RequestReJIT )( + ICorProfilerInfo14 * This, + /* [in] */ ULONG cFunctions, + /* [size_is][in] */ ModuleID moduleIds[ ], + /* [size_is][in] */ mdMethodDef methodIds[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert) + HRESULT ( STDMETHODCALLTYPE *RequestRevert )( + ICorProfilerInfo14 * This, + /* [in] */ ULONG cFunctions, + /* [size_is][in] */ ModuleID moduleIds[ ], + /* [size_is][in] */ mdMethodDef methodIds[ ], + /* [size_is][out] */ HRESULT status[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionID, + /* [in] */ ReJITID reJitId, + /* [in] */ ULONG32 cCodeInfos, + /* [out] */ ULONG32 *pcCodeInfos, + /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )( + ICorProfilerInfo14 * This, + /* [in] */ LPCBYTE ip, + /* [out] */ FunctionID *pFunctionId, + /* [out] */ ReJITID *pReJitId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs) + HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [in] */ ULONG cReJitIds, + /* [out] */ ULONG *pcReJitIds, + /* [length_is][size_is][out] */ ReJITID reJitIds[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )( + ICorProfilerInfo14 * 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[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2) + HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )( + ICorProfilerInfo14 * This, + /* [out] */ ICorProfilerFunctionEnum **ppEnum); + + DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2) + HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )( + ICorProfilerInfo14 * This, + /* [in] */ ObjectID objectId, + /* [out] */ SIZE_T *pcSize); + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2) + HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )( + ICorProfilerInfo14 * This, + /* [out] */ DWORD *pdwEventsLow, + /* [out] */ DWORD *pdwEventsHigh); + + DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2) + HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )( + ICorProfilerInfo14 * This, + /* [in] */ DWORD dwEventsLow, + /* [in] */ DWORD dwEventsHigh); + + DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod) + HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID inlinersModuleId, + /* [in] */ ModuleID inlineeModuleId, + /* [in] */ mdMethodDef inlineeMethodId, + /* [out] */ BOOL *incompleteData, + /* [out] */ ICorProfilerMethodEnum **ppEnum); + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData) + HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength) + HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId, + /* [out] */ DWORD *pCountSymbolBytes); + + DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols) + HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )( + ICorProfilerInfo14 * This, + /* [in] */ ModuleID moduleId, + /* [in] */ DWORD symbolsReadOffset, + /* [out] */ BYTE *pSymbolBytes, + /* [in] */ DWORD countSymbolBytes, + /* [out] */ DWORD *pCountSymbolBytesRead); + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic) + HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [out] */ BOOL *isDynamic); + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3) + HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )( + ICorProfilerInfo14 * This, + /* [in] */ LPCBYTE ip, + /* [out] */ FunctionID *functionId, + /* [out] */ ReJITID *pReJitId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo) + HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )( + ICorProfilerInfo14 * This, + /* [in] */ FunctionID functionId, + /* [out] */ ModuleID *moduleId, + /* [out] */ PCCOR_SIGNATURE *ppvSig, + /* [out] */ ULONG *pbSig, + /* [in] */ ULONG cchName, + /* [out] */ ULONG *pcchName, + /* [out] */ WCHAR wszName[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses) + HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )( + ICorProfilerInfo14 * This, + FunctionID functionID, + ReJITID reJitId, + ULONG32 cCodeStartAddresses, + ULONG32 *pcCodeStartAddresses, + UINT_PTR codeStartAddresses[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3) + HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )( + ICorProfilerInfo14 * This, + UINT_PTR pNativeCodeStartAddress, + ULONG32 cMap, + ULONG32 *pcMap, + COR_DEBUG_IL_TO_NATIVE_MAP map[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4) + HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )( + ICorProfilerInfo14 * This, + UINT_PTR pNativeCodeStartAddress, + ULONG32 cCodeInfos, + ULONG32 *pcCodeInfos, + COR_PRF_CODE_INFO codeInfos[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences) + HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )( + ICorProfilerInfo14 * This, + ObjectID objectId, + ObjectReferenceCallback callback, + void *clientData); + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject) + HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )( + ICorProfilerInfo14 * This, + ObjectID objectId, + BOOL *pbFrozen); + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold) + HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )( + ICorProfilerInfo14 * This, + DWORD *pThreshold); + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners) + HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )( + ICorProfilerInfo14 * This, + /* [in] */ DWORD dwRejitFlags, + /* [in] */ ULONG cFunctions, + /* [size_is][in] */ ModuleID moduleIds[ ], + /* [size_is][in] */ mdMethodDef methodIds[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime) + HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )( + ICorProfilerInfo14 * This); + + DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime) + HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )( + ICorProfilerInfo14 * This); + + DECLSPEC_XFGVIRT(ICorProfilerInfo11, GetEnvironmentVariable) + HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )( + ICorProfilerInfo14 * This, + /* [string][in] */ const WCHAR *szName, + /* [in] */ ULONG cchValue, + /* [out] */ ULONG *pcchValue, + /* [annotation][out] */ + _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable) + HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )( + ICorProfilerInfo14 * This, + /* [string][in] */ const WCHAR *szName, + /* [string][in] */ const WCHAR *szValue); + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStartSession) + HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )( + ICorProfilerInfo14 * This, + /* [in] */ UINT32 cProviderConfigs, + /* [size_is][in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ], + /* [in] */ BOOL requestRundown, + /* [out] */ EVENTPIPE_SESSION *pSession); + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeAddProviderToSession) + HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )( + ICorProfilerInfo14 * This, + /* [in] */ EVENTPIPE_SESSION session, + /* [in] */ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig); + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStopSession) + HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )( + ICorProfilerInfo14 * This, + /* [in] */ EVENTPIPE_SESSION session); + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeCreateProvider) + HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )( + ICorProfilerInfo14 * This, + /* [string][in] */ const WCHAR *providerName, + /* [out] */ EVENTPIPE_PROVIDER *pProvider); + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeGetProviderInfo) + HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )( + ICorProfilerInfo14 * This, + /* [in] */ EVENTPIPE_PROVIDER provider, + /* [in] */ ULONG cchName, + /* [out] */ ULONG *pcchName, + /* [annotation][out] */ + _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeDefineEvent) + HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )( + ICorProfilerInfo14 * This, + /* [in] */ EVENTPIPE_PROVIDER provider, + /* [string][in] */ const WCHAR *eventName, + /* [in] */ UINT32 eventID, + /* [in] */ UINT64 keywords, + /* [in] */ UINT32 eventVersion, + /* [in] */ UINT32 level, + /* [in] */ UINT8 opcode, + /* [in] */ BOOL needStack, + /* [in] */ UINT32 cParamDescs, + /* [size_is][in] */ COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ], + /* [out] */ EVENTPIPE_EVENT *pEvent); + + DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeWriteEvent) + HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )( + ICorProfilerInfo14 * This, + /* [in] */ EVENTPIPE_EVENT event, + /* [in] */ UINT32 cData, + /* [size_is][in] */ COR_PRF_EVENT_DATA data[ ], + /* [in] */ LPCGUID pActivityId, + /* [in] */ LPCGUID pRelatedActivityId); + + DECLSPEC_XFGVIRT(ICorProfilerInfo13, CreateHandle) + HRESULT ( STDMETHODCALLTYPE *CreateHandle )( + ICorProfilerInfo14 * This, + /* [in] */ ObjectID object, + /* [in] */ COR_PRF_HANDLE_TYPE type, + /* [out] */ ObjectHandleID *pHandle); + + DECLSPEC_XFGVIRT(ICorProfilerInfo13, DestroyHandle) + HRESULT ( STDMETHODCALLTYPE *DestroyHandle )( + ICorProfilerInfo14 * This, + /* [in] */ ObjectHandleID handle); + + DECLSPEC_XFGVIRT(ICorProfilerInfo13, GetObjectIDFromHandle) + HRESULT ( STDMETHODCALLTYPE *GetObjectIDFromHandle )( + ICorProfilerInfo14 * This, + /* [in] */ ObjectHandleID handle, + /* [out] */ ObjectID *pObject); + + DECLSPEC_XFGVIRT(ICorProfilerInfo14, EnumerateNonGCObjects) + HRESULT ( STDMETHODCALLTYPE *EnumerateNonGCObjects )( + ICorProfilerInfo14 * This, + /* [out] */ ICorProfilerObjectEnum **ppEnum); + + DECLSPEC_XFGVIRT(ICorProfilerInfo14, GetNonGCHeapBounds) + HRESULT ( STDMETHODCALLTYPE *GetNonGCHeapBounds )( + ICorProfilerInfo14 * This, + /* [in] */ ULONG cObjectRanges, + /* [out] */ ULONG *pcObjectRanges, + /* [length_is][size_is][out] */ COR_PRF_NONGC_HEAP_RANGE ranges[ ]); + + DECLSPEC_XFGVIRT(ICorProfilerInfo14, EventPipeCreateProvider2) + HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider2 )( + ICorProfilerInfo14 * This, + /* [string][in] */ const WCHAR *providerName, + /* [in] */ EventPipeProviderCallback *pCallback, + /* [out] */ EVENTPIPE_PROVIDER *pProvider); + + END_INTERFACE + } ICorProfilerInfo14Vtbl; + + interface ICorProfilerInfo14 + { + CONST_VTBL struct ICorProfilerInfo14Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ICorProfilerInfo14_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICorProfilerInfo14_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICorProfilerInfo14_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ICorProfilerInfo14_GetClassFromObject(This,objectId,pClassId) \ + ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) ) + +#define ICorProfilerInfo14_GetClassFromToken(This,moduleId,typeDef,pClassId) \ + ( (This)->lpVtbl -> GetClassFromToken(This,moduleId,typeDef,pClassId) ) + +#define ICorProfilerInfo14_GetCodeInfo(This,functionId,pStart,pcSize) \ + ( (This)->lpVtbl -> GetCodeInfo(This,functionId,pStart,pcSize) ) + +#define ICorProfilerInfo14_GetEventMask(This,pdwEvents) \ + ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) ) + +#define ICorProfilerInfo14_GetFunctionFromIP(This,ip,pFunctionId) \ + ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) ) + +#define ICorProfilerInfo14_GetFunctionFromToken(This,moduleId,token,pFunctionId) \ + ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) ) + +#define ICorProfilerInfo14_GetHandleFromThread(This,threadId,phThread) \ + ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) ) + +#define ICorProfilerInfo14_GetObjectSize(This,objectId,pcSize) \ + ( (This)->lpVtbl -> GetObjectSize(This,objectId,pcSize) ) + +#define ICorProfilerInfo14_IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) \ + ( (This)->lpVtbl -> IsArrayClass(This,classId,pBaseElemType,pBaseClassId,pcRank) ) + +#define ICorProfilerInfo14_GetThreadInfo(This,threadId,pdwWin32ThreadId) \ + ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) ) + +#define ICorProfilerInfo14_GetCurrentThreadID(This,pThreadId) \ + ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) ) + +#define ICorProfilerInfo14_GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) \ + ( (This)->lpVtbl -> GetClassIDInfo(This,classId,pModuleId,pTypeDefToken) ) + +#define ICorProfilerInfo14_GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) \ + ( (This)->lpVtbl -> GetFunctionInfo(This,functionId,pClassId,pModuleId,pToken) ) + +#define ICorProfilerInfo14_SetEventMask(This,dwEvents) \ + ( (This)->lpVtbl -> SetEventMask(This,dwEvents) ) + +#define ICorProfilerInfo14_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + +#define ICorProfilerInfo14_SetFunctionIDMapper(This,pFunc) \ + ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) ) + +#define ICorProfilerInfo14_GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) \ + ( (This)->lpVtbl -> GetTokenAndMetaDataFromFunction(This,functionId,riid,ppImport,pToken) ) + +#define ICorProfilerInfo14_GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) \ + ( (This)->lpVtbl -> GetModuleInfo(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId) ) + +#define ICorProfilerInfo14_GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) \ + ( (This)->lpVtbl -> GetModuleMetaData(This,moduleId,dwOpenFlags,riid,ppOut) ) + +#define ICorProfilerInfo14_GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) \ + ( (This)->lpVtbl -> GetILFunctionBody(This,moduleId,methodId,ppMethodHeader,pcbMethodSize) ) + +#define ICorProfilerInfo14_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \ + ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) ) + +#define ICorProfilerInfo14_SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) \ + ( (This)->lpVtbl -> SetILFunctionBody(This,moduleId,methodid,pbNewILMethodHeader) ) + +#define ICorProfilerInfo14_GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) \ + ( (This)->lpVtbl -> GetAppDomainInfo(This,appDomainId,cchName,pcchName,szName,pProcessId) ) + +#define ICorProfilerInfo14_GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) \ + ( (This)->lpVtbl -> GetAssemblyInfo(This,assemblyId,cchName,pcchName,szName,pAppDomainId,pModuleId) ) + +#define ICorProfilerInfo14_SetFunctionReJIT(This,functionId) \ + ( (This)->lpVtbl -> SetFunctionReJIT(This,functionId) ) + +#define ICorProfilerInfo14_ForceGC(This) \ + ( (This)->lpVtbl -> ForceGC(This) ) + +#define ICorProfilerInfo14_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \ + ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) ) + +#define ICorProfilerInfo14_GetInprocInspectionInterface(This,ppicd) \ + ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) ) + +#define ICorProfilerInfo14_GetInprocInspectionIThisThread(This,ppicd) \ + ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) ) + +#define ICorProfilerInfo14_GetThreadContext(This,threadId,pContextId) \ + ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) ) + +#define ICorProfilerInfo14_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \ + ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) ) + +#define ICorProfilerInfo14_EndInprocDebugging(This,dwProfilerContext) \ + ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) ) + +#define ICorProfilerInfo14_GetILToNativeMapping(This,functionId,cMap,pcMap,map) \ + ( (This)->lpVtbl -> GetILToNativeMapping(This,functionId,cMap,pcMap,map) ) + + +#define ICorProfilerInfo14_DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) \ + ( (This)->lpVtbl -> DoStackSnapshot(This,thread,callback,infoFlags,clientData,context,contextSize) ) + +#define ICorProfilerInfo14_SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) \ + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks2(This,pFuncEnter,pFuncLeave,pFuncTailcall) ) + +#define ICorProfilerInfo14_GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) \ + ( (This)->lpVtbl -> GetFunctionInfo2(This,funcId,frameInfo,pClassId,pModuleId,pToken,cTypeArgs,pcTypeArgs,typeArgs) ) + +#define ICorProfilerInfo14_GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) \ + ( (This)->lpVtbl -> GetStringLayout(This,pBufferLengthOffset,pStringLengthOffset,pBufferOffset) ) + +#define ICorProfilerInfo14_GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) \ + ( (This)->lpVtbl -> GetClassLayout(This,classID,rFieldOffset,cFieldOffset,pcFieldOffset,pulClassSize) ) + +#define ICorProfilerInfo14_GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) \ + ( (This)->lpVtbl -> GetClassIDInfo2(This,classId,pModuleId,pTypeDefToken,pParentClassId,cNumTypeArgs,pcNumTypeArgs,typeArgs) ) + +#define ICorProfilerInfo14_GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) \ + ( (This)->lpVtbl -> GetCodeInfo2(This,functionID,cCodeInfos,pcCodeInfos,codeInfos) ) + +#define ICorProfilerInfo14_GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) \ + ( (This)->lpVtbl -> GetClassFromTokenAndTypeArgs(This,moduleID,typeDef,cTypeArgs,typeArgs,pClassID) ) + +#define ICorProfilerInfo14_GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) \ + ( (This)->lpVtbl -> GetFunctionFromTokenAndTypeArgs(This,moduleID,funcDef,classId,cTypeArgs,typeArgs,pFunctionID) ) + +#define ICorProfilerInfo14_EnumModuleFrozenObjects(This,moduleID,ppEnum) \ + ( (This)->lpVtbl -> EnumModuleFrozenObjects(This,moduleID,ppEnum) ) + +#define ICorProfilerInfo14_GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) \ + ( (This)->lpVtbl -> GetArrayObjectInfo(This,objectId,cDimensions,pDimensionSizes,pDimensionLowerBounds,ppData) ) + +#define ICorProfilerInfo14_GetBoxClassLayout(This,classId,pBufferOffset) \ + ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) ) + +#define ICorProfilerInfo14_GetThreadAppDomain(This,threadId,pAppDomainId) \ + ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) ) + +#define ICorProfilerInfo14_GetRVAStaticAddress(This,classId,fieldToken,ppAddress) \ + ( (This)->lpVtbl -> GetRVAStaticAddress(This,classId,fieldToken,ppAddress) ) + +#define ICorProfilerInfo14_GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) \ + ( (This)->lpVtbl -> GetAppDomainStaticAddress(This,classId,fieldToken,appDomainId,ppAddress) ) + +#define ICorProfilerInfo14_GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) \ + ( (This)->lpVtbl -> GetThreadStaticAddress(This,classId,fieldToken,threadId,ppAddress) ) + +#define ICorProfilerInfo14_GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) \ + ( (This)->lpVtbl -> GetContextStaticAddress(This,classId,fieldToken,contextId,ppAddress) ) + +#define ICorProfilerInfo14_GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) \ + ( (This)->lpVtbl -> GetStaticFieldInfo(This,classId,fieldToken,pFieldInfo) ) + +#define ICorProfilerInfo14_GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) \ + ( (This)->lpVtbl -> GetGenerationBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + +#define ICorProfilerInfo14_GetObjectGeneration(This,objectId,range) \ + ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) ) + +#define ICorProfilerInfo14_GetNotifiedExceptionClauseInfo(This,pinfo) \ + ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) ) + + +#define ICorProfilerInfo14_EnumJITedFunctions(This,ppEnum) \ + ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) ) + +#define ICorProfilerInfo14_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \ + ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) ) + +#define ICorProfilerInfo14_SetFunctionIDMapper2(This,pFunc,clientData) \ + ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) ) + +#define ICorProfilerInfo14_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \ + ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) ) + +#define ICorProfilerInfo14_SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) \ + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3(This,pFuncEnter3,pFuncLeave3,pFuncTailcall3) ) + +#define ICorProfilerInfo14_SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) \ + ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks3WithInfo(This,pFuncEnter3WithInfo,pFuncLeave3WithInfo,pFuncTailcall3WithInfo) ) + +#define ICorProfilerInfo14_GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) \ + ( (This)->lpVtbl -> GetFunctionEnter3Info(This,functionId,eltInfo,pFrameInfo,pcbArgumentInfo,pArgumentInfo) ) + +#define ICorProfilerInfo14_GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) \ + ( (This)->lpVtbl -> GetFunctionLeave3Info(This,functionId,eltInfo,pFrameInfo,pRetvalRange) ) + +#define ICorProfilerInfo14_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \ + ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) ) + +#define ICorProfilerInfo14_EnumModules(This,ppEnum) \ + ( (This)->lpVtbl -> EnumModules(This,ppEnum) ) + +#define ICorProfilerInfo14_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 ICorProfilerInfo14_GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) \ + ( (This)->lpVtbl -> GetThreadStaticAddress2(This,classId,fieldToken,appDomainId,threadId,ppAddress) ) + +#define ICorProfilerInfo14_GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) \ + ( (This)->lpVtbl -> GetAppDomainsContainingModule(This,moduleId,cAppDomainIds,pcAppDomainIds,appDomainIds) ) + +#define ICorProfilerInfo14_GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) \ + ( (This)->lpVtbl -> GetModuleInfo2(This,moduleId,ppBaseLoadAddress,cchName,pcchName,szName,pAssemblyId,pdwModuleFlags) ) + + +#define ICorProfilerInfo14_EnumThreads(This,ppEnum) \ + ( (This)->lpVtbl -> EnumThreads(This,ppEnum) ) + +#define ICorProfilerInfo14_InitializeCurrentThread(This) \ + ( (This)->lpVtbl -> InitializeCurrentThread(This) ) + +#define ICorProfilerInfo14_RequestReJIT(This,cFunctions,moduleIds,methodIds) \ + ( (This)->lpVtbl -> RequestReJIT(This,cFunctions,moduleIds,methodIds) ) + +#define ICorProfilerInfo14_RequestRevert(This,cFunctions,moduleIds,methodIds,status) \ + ( (This)->lpVtbl -> RequestRevert(This,cFunctions,moduleIds,methodIds,status) ) + +#define ICorProfilerInfo14_GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) \ + ( (This)->lpVtbl -> GetCodeInfo3(This,functionID,reJitId,cCodeInfos,pcCodeInfos,codeInfos) ) + +#define ICorProfilerInfo14_GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) \ + ( (This)->lpVtbl -> GetFunctionFromIP2(This,ip,pFunctionId,pReJitId) ) + +#define ICorProfilerInfo14_GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) \ + ( (This)->lpVtbl -> GetReJITIDs(This,functionId,cReJitIds,pcReJitIds,reJitIds) ) + +#define ICorProfilerInfo14_GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) \ + ( (This)->lpVtbl -> GetILToNativeMapping2(This,functionId,reJitId,cMap,pcMap,map) ) + +#define ICorProfilerInfo14_EnumJITedFunctions2(This,ppEnum) \ + ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) ) + +#define ICorProfilerInfo14_GetObjectSize2(This,objectId,pcSize) \ + ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) ) + + +#define ICorProfilerInfo14_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \ + ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) ) + +#define ICorProfilerInfo14_SetEventMask2(This,dwEventsLow,dwEventsHigh) \ + ( (This)->lpVtbl -> SetEventMask2(This,dwEventsLow,dwEventsHigh) ) + + +#define ICorProfilerInfo14_EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) \ + ( (This)->lpVtbl -> EnumNgenModuleMethodsInliningThisMethod(This,inlinersModuleId,inlineeModuleId,inlineeMethodId,incompleteData,ppEnum) ) + + +#define ICorProfilerInfo14_ApplyMetaData(This,moduleId) \ + ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) ) + +#define ICorProfilerInfo14_GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) \ + ( (This)->lpVtbl -> GetInMemorySymbolsLength(This,moduleId,pCountSymbolBytes) ) + +#define ICorProfilerInfo14_ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) \ + ( (This)->lpVtbl -> ReadInMemorySymbols(This,moduleId,symbolsReadOffset,pSymbolBytes,countSymbolBytes,pCountSymbolBytesRead) ) + + +#define ICorProfilerInfo14_IsFunctionDynamic(This,functionId,isDynamic) \ + ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) ) + +#define ICorProfilerInfo14_GetFunctionFromIP3(This,ip,functionId,pReJitId) \ + ( (This)->lpVtbl -> GetFunctionFromIP3(This,ip,functionId,pReJitId) ) + +#define ICorProfilerInfo14_GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) \ + ( (This)->lpVtbl -> GetDynamicFunctionInfo(This,functionId,moduleId,ppvSig,pbSig,cchName,pcchName,wszName) ) + + +#define ICorProfilerInfo14_GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) \ + ( (This)->lpVtbl -> GetNativeCodeStartAddresses(This,functionID,reJitId,cCodeStartAddresses,pcCodeStartAddresses,codeStartAddresses) ) + +#define ICorProfilerInfo14_GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) \ + ( (This)->lpVtbl -> GetILToNativeMapping3(This,pNativeCodeStartAddress,cMap,pcMap,map) ) + +#define ICorProfilerInfo14_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \ + ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) ) + + +#define ICorProfilerInfo14_EnumerateObjectReferences(This,objectId,callback,clientData) \ + ( (This)->lpVtbl -> EnumerateObjectReferences(This,objectId,callback,clientData) ) + +#define ICorProfilerInfo14_IsFrozenObject(This,objectId,pbFrozen) \ + ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) ) + +#define ICorProfilerInfo14_GetLOHObjectSizeThreshold(This,pThreshold) \ + ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) ) + +#define ICorProfilerInfo14_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \ + ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) ) + +#define ICorProfilerInfo14_SuspendRuntime(This) \ + ( (This)->lpVtbl -> SuspendRuntime(This) ) + +#define ICorProfilerInfo14_ResumeRuntime(This) \ + ( (This)->lpVtbl -> ResumeRuntime(This) ) + + +#define ICorProfilerInfo14_GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) \ + ( (This)->lpVtbl -> GetEnvironmentVariable(This,szName,cchValue,pcchValue,szValue) ) + +#define ICorProfilerInfo14_SetEnvironmentVariable(This,szName,szValue) \ + ( (This)->lpVtbl -> SetEnvironmentVariable(This,szName,szValue) ) + + +#define ICorProfilerInfo14_EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) \ + ( (This)->lpVtbl -> EventPipeStartSession(This,cProviderConfigs,pProviderConfigs,requestRundown,pSession) ) + +#define ICorProfilerInfo14_EventPipeAddProviderToSession(This,session,providerConfig) \ + ( (This)->lpVtbl -> EventPipeAddProviderToSession(This,session,providerConfig) ) + +#define ICorProfilerInfo14_EventPipeStopSession(This,session) \ + ( (This)->lpVtbl -> EventPipeStopSession(This,session) ) + +#define ICorProfilerInfo14_EventPipeCreateProvider(This,providerName,pProvider) \ + ( (This)->lpVtbl -> EventPipeCreateProvider(This,providerName,pProvider) ) + +#define ICorProfilerInfo14_EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) \ + ( (This)->lpVtbl -> EventPipeGetProviderInfo(This,provider,cchName,pcchName,providerName) ) + +#define ICorProfilerInfo14_EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) \ + ( (This)->lpVtbl -> EventPipeDefineEvent(This,provider,eventName,eventID,keywords,eventVersion,level,opcode,needStack,cParamDescs,pParamDescs,pEvent) ) + +#define ICorProfilerInfo14_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) \ + ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) ) + + +#define ICorProfilerInfo14_CreateHandle(This,object,type,pHandle) \ + ( (This)->lpVtbl -> CreateHandle(This,object,type,pHandle) ) + +#define ICorProfilerInfo14_DestroyHandle(This,handle) \ + ( (This)->lpVtbl -> DestroyHandle(This,handle) ) + +#define ICorProfilerInfo14_GetObjectIDFromHandle(This,handle,pObject) \ + ( (This)->lpVtbl -> GetObjectIDFromHandle(This,handle,pObject) ) + + +#define ICorProfilerInfo14_EnumerateNonGCObjects(This,ppEnum) \ + ( (This)->lpVtbl -> EnumerateNonGCObjects(This,ppEnum) ) + +#define ICorProfilerInfo14_GetNonGCHeapBounds(This,cObjectRanges,pcObjectRanges,ranges) \ + ( (This)->lpVtbl -> GetNonGCHeapBounds(This,cObjectRanges,pcObjectRanges,ranges) ) + +#define ICorProfilerInfo14_EventPipeCreateProvider2(This,providerName,pCallback,pProvider) \ + ( (This)->lpVtbl -> EventPipeCreateProvider2(This,providerName,pCallback,pProvider) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ICorProfilerInfo14_INTERFACE_DEFINED__ */ + + +#ifndef __ICorProfilerMethodEnum_INTERFACE_DEFINED__ +#define __ICorProfilerMethodEnum_INTERFACE_DEFINED__ + +/* interface ICorProfilerMethodEnum */ +/* [local][unique][uuid][object] */ + + +EXTERN_C const IID IID_ICorProfilerMethodEnum; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("FCCEE788-0088-454B-A811-C99F298D1942") + ICorProfilerMethodEnum : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE Skip( + /* [in] */ ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCount( + /* [out] */ ULONG *pcelt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Next( + /* [in] */ ULONG celt, + /* [length_is][size_is][out] */ COR_PRF_METHOD elements[ ], + /* [out] */ ULONG *pceltFetched) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ICorProfilerMethodEnumVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ICorProfilerMethodEnum * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ICorProfilerMethodEnum * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ICorProfilerMethodEnum * This); + + DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( + ICorProfilerMethodEnum * This, + /* [in] */ ULONG celt); + + DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( + ICorProfilerMethodEnum * This); + + DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( + ICorProfilerMethodEnum * This, + /* [out] */ ICorProfilerMethodEnum **ppEnum); + + DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( + ICorProfilerMethodEnum * This, + /* [out] */ ULONG *pcelt); + + DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( + ICorProfilerMethodEnum * This, + /* [in] */ ULONG celt, + /* [length_is][size_is][out] */ COR_PRF_METHOD elements[ ], + /* [out] */ ULONG *pceltFetched); + + END_INTERFACE + } ICorProfilerMethodEnumVtbl; + + interface ICorProfilerMethodEnum + { + CONST_VTBL struct ICorProfilerMethodEnumVtbl *lpVtbl; + }; + + + #ifdef COBJMACROS #define ICorProfilerMethodEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerMethodEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerMethodEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerMethodEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerMethodEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerMethodEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerMethodEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerMethodEnum_Next(This,celt,elements,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,elements,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,elements,pceltFetched) ) #endif /* COBJMACROS */ @@ -21206,75 +24601,83 @@ EXTERN_C const IID IID_ICorProfilerMethodEnum; #define __ICorProfilerThreadEnum_INTERFACE_DEFINED__ /* interface ICorProfilerThreadEnum */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerThreadEnum; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("571194f7-25ed-419f-aa8b-7016b3159701") ICorProfilerThreadEnum : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE Skip( + virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; - + virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Clone( + + virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ ICorProfilerThreadEnum **ppEnum) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCount( + + virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ ULONG *pcelt) = 0; - - virtual HRESULT STDMETHODCALLTYPE Next( + + virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ThreadID ids[ ], /* [out] */ ULONG *pceltFetched) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerThreadEnumVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerThreadEnum * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerThreadEnum * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerThreadEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Skip )( + + DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Skip) + HRESULT ( STDMETHODCALLTYPE *Skip )( ICorProfilerThreadEnum * This, /* [in] */ ULONG celt); - - HRESULT ( STDMETHODCALLTYPE *Reset )( + + DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Reset) + HRESULT ( STDMETHODCALLTYPE *Reset )( ICorProfilerThreadEnum * This); - - HRESULT ( STDMETHODCALLTYPE *Clone )( + + DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Clone) + HRESULT ( STDMETHODCALLTYPE *Clone )( ICorProfilerThreadEnum * This, /* [out] */ ICorProfilerThreadEnum **ppEnum); - - HRESULT ( STDMETHODCALLTYPE *GetCount )( + + DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, GetCount) + HRESULT ( STDMETHODCALLTYPE *GetCount )( ICorProfilerThreadEnum * This, /* [out] */ ULONG *pcelt); - - HRESULT ( STDMETHODCALLTYPE *Next )( + + DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Next) + HRESULT ( STDMETHODCALLTYPE *Next )( ICorProfilerThreadEnum * This, /* [in] */ ULONG celt, /* [length_is][size_is][out] */ ThreadID ids[ ], /* [out] */ ULONG *pceltFetched); - + END_INTERFACE } ICorProfilerThreadEnumVtbl; @@ -21283,35 +24686,35 @@ EXTERN_C const IID IID_ICorProfilerThreadEnum; CONST_VTBL struct ICorProfilerThreadEnumVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerThreadEnum_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerThreadEnum_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerThreadEnum_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerThreadEnum_Skip(This,celt) \ - ( (This)->lpVtbl -> Skip(This,celt) ) + ( (This)->lpVtbl -> Skip(This,celt) ) #define ICorProfilerThreadEnum_Reset(This) \ - ( (This)->lpVtbl -> Reset(This) ) + ( (This)->lpVtbl -> Reset(This) ) #define ICorProfilerThreadEnum_Clone(This,ppEnum) \ - ( (This)->lpVtbl -> Clone(This,ppEnum) ) + ( (This)->lpVtbl -> Clone(This,ppEnum) ) #define ICorProfilerThreadEnum_GetCount(This,pcelt) \ - ( (This)->lpVtbl -> GetCount(This,pcelt) ) + ( (This)->lpVtbl -> GetCount(This,pcelt) ) #define ICorProfilerThreadEnum_Next(This,celt,ids,pceltFetched) \ - ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) + ( (This)->lpVtbl -> Next(This,celt,ids,pceltFetched) ) #endif /* COBJMACROS */ @@ -21328,45 +24731,49 @@ EXTERN_C const IID IID_ICorProfilerThreadEnum; #define __ICorProfilerAssemblyReferenceProvider_INTERFACE_DEFINED__ /* interface ICorProfilerAssemblyReferenceProvider */ -/* [local][unique][uuid][object] */ +/* [local][unique][uuid][object] */ EXTERN_C const IID IID_ICorProfilerAssemblyReferenceProvider; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("66A78C24-2EEF-4F65-B45F-DD1D8038BF3C") ICorProfilerAssemblyReferenceProvider : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE AddAssemblyReference( + virtual HRESULT STDMETHODCALLTYPE AddAssemblyReference( const COR_PRF_ASSEMBLY_REFERENCE_INFO *pAssemblyRefInfo) = 0; - + }; - - + + #else /* C style interface */ typedef struct ICorProfilerAssemblyReferenceProviderVtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ICorProfilerAssemblyReferenceProvider * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( ICorProfilerAssemblyReferenceProvider * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( ICorProfilerAssemblyReferenceProvider * This); - - HRESULT ( STDMETHODCALLTYPE *AddAssemblyReference )( + + DECLSPEC_XFGVIRT(ICorProfilerAssemblyReferenceProvider, AddAssemblyReference) + HRESULT ( STDMETHODCALLTYPE *AddAssemblyReference )( ICorProfilerAssemblyReferenceProvider * This, const COR_PRF_ASSEMBLY_REFERENCE_INFO *pAssemblyRefInfo); - + END_INTERFACE } ICorProfilerAssemblyReferenceProviderVtbl; @@ -21375,23 +24782,23 @@ EXTERN_C const IID IID_ICorProfilerAssemblyReferenceProvider; CONST_VTBL struct ICorProfilerAssemblyReferenceProviderVtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ICorProfilerAssemblyReferenceProvider_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ICorProfilerAssemblyReferenceProvider_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ICorProfilerAssemblyReferenceProvider_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ICorProfilerAssemblyReferenceProvider_AddAssemblyReference(This,pAssemblyRefInfo) \ - ( (This)->lpVtbl -> AddAssemblyReference(This,pAssemblyRefInfo) ) + ( (This)->lpVtbl -> AddAssemblyReference(This,pAssemblyRefInfo) ) #endif /* COBJMACROS */ diff --git a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/sospriv.h b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/sospriv.h index 0276bffd8d..4c86b39cb6 100644 --- a/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/sospriv.h +++ b/src/OpenTelemetry.AutoInstrumentation.Native/lib/coreclr/src/pal/prebuilt/inc/sospriv.h @@ -73,6 +73,13 @@ typedef interface ISOSStackRefEnum ISOSStackRefEnum; #endif /* __ISOSStackRefEnum_FWD_DEFINED__ */ +#ifndef __ISOSMemoryEnum_FWD_DEFINED__ +#define __ISOSMemoryEnum_FWD_DEFINED__ +typedef interface ISOSMemoryEnum ISOSMemoryEnum; + +#endif /* __ISOSMemoryEnum_FWD_DEFINED__ */ + + #ifndef __ISOSDacInterface_FWD_DEFINED__ #define __ISOSDacInterface_FWD_DEFINED__ typedef interface ISOSDacInterface ISOSDacInterface; @@ -196,7 +203,9 @@ typedef int VCSHeapType; #endif typedef enum { TYPEDEFTOMETHODTABLE, TYPEREFTOMETHODTABLE } ModuleMapType; -typedef enum {IndcellHeap, LookupHeap, ResolveHeap, DispatchHeap, CacheEntryHeap} VCSHeapType; +typedef enum {IndcellHeap, LookupHeap, ResolveHeap, DispatchHeap, CacheEntryHeap, VtableHeap} VCSHeapType; +typedef enum {LoaderHeapKindNormal = 0, LoaderHeapKindExplicitControl = 1} LoaderHeapKind; +typedef enum {FreeUnknownRegion = 0, FreeGlobalHugeRegion = 1, FreeGlobalRegion = 2, FreeRegion = 3, FreeSohSegment = 4, FreeUohSegment = 5 } FreeRegionKind; typedef void ( *MODULEMAPTRAVERSE )( UINT index, CLRDATA_ADDRESS methodTable, @@ -488,6 +497,17 @@ typedef struct _SOS_StackRefError extern RPC_IF_HANDLE __MIDL_itf_sospriv_0000_0002_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_sospriv_0000_0002_v0_0_s_ifspec; +#ifndef _SOS_MemoryRegion_ +#define _SOS_MemoryRegion_ +typedef struct _SOSMemoryRegion + { + CLRDATA_ADDRESS Start; + CLRDATA_ADDRESS Size; + CLRDATA_ADDRESS ExtraData; + int Heap; + } SOSMemoryRegion; +#endif // _SOS_MemoryRegion_ + #ifndef __ISOSStackRefErrorEnum_INTERFACE_DEFINED__ #define __ISOSStackRefErrorEnum_INTERFACE_DEFINED__ @@ -593,6 +613,112 @@ EXTERN_C const IID IID_ISOSStackRefErrorEnum; #endif /* __ISOSStackRefErrorEnum_INTERFACE_DEFINED__ */ + +#ifndef __ISOSMemoryEnum_INTERFACE_DEFINED__ +#define __ISOSMemoryEnum_INTERFACE_DEFINED__ + +/* interface ISOSMemoryEnum */ +/* [uuid][local][object] */ + + +EXTERN_C const IID IID_ISOSMemoryEnum; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("E4B860EC-337A-40C0-A591-F09A9680690F") + ISOSMemoryEnum : public ISOSEnum + { + public: + virtual HRESULT STDMETHODCALLTYPE Next( + /* [in] */ unsigned int count, + /* [length_is][size_is][out] */ SOSMemoryRegion memRegion[ ], + /* [out] */ unsigned int *pNeeded) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ISOSMemoryEnumVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ISOSMemoryEnum * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ISOSMemoryEnum * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ISOSMemoryEnum * This); + + HRESULT ( STDMETHODCALLTYPE *Skip )( + ISOSMemoryEnum * This, + /* [in] */ unsigned int count); + + HRESULT ( STDMETHODCALLTYPE *Reset )( + ISOSMemoryEnum * This); + + HRESULT ( STDMETHODCALLTYPE *GetCount )( + ISOSMemoryEnum * This, + /* [out] */ unsigned int *pCount); + + HRESULT ( STDMETHODCALLTYPE *Next )( + ISOSMemoryEnum * This, + /* [in] */ unsigned int count, + /* [length_is][size_is][out] */ SOSMemoryRegion memRegion[ ], + /* [out] */ unsigned int *pNeeded); + + END_INTERFACE + } ISOSMemoryEnumVtbl; + + interface ISOSMemoryEnum + { + CONST_VTBL struct ISOSMemoryEnumVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISOSMemoryEnum_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISOSMemoryEnum_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISOSMemoryEnum_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISOSMemoryEnum_Skip(This,count) \ + ( (This)->lpVtbl -> Skip(This,count) ) + +#define ISOSMemoryEnum_Reset(This) \ + ( (This)->lpVtbl -> Reset(This) ) + +#define ISOSMemoryEnum_GetCount(This,pCount) \ + ( (This)->lpVtbl -> GetCount(This,pCount) ) + + +#define ISOSMemoryEnum_Next(This,count,memRegion,pNeeded) \ + ( (This)->lpVtbl -> Next(This,count,memRegion,pNeeded) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISOSMemoryEnum_INTERFACE_DEFINED__ */ + + #ifndef __ISOSStackRefEnum_INTERFACE_DEFINED__ #define __ISOSStackRefEnum_INTERFACE_DEFINED__ @@ -2620,7 +2746,7 @@ EXTERN_C const IID IID_ISOSDacInterface8; ISOSDacInterface8 * This, CLRDATA_ADDRESS methodTable, CLRDATA_ADDRESS *assemblyLoadContext); - + END_INTERFACE } ISOSDacInterface8Vtbl; @@ -2673,9 +2799,9 @@ EXTERN_C const IID IID_ISOSDacInterface8; /* interface __MIDL_itf_sospriv_0000_0012 */ -/* [local] */ +/* [local] */ -#define SOS_BREAKING_CHANGE_VERSION 3 +#define SOS_BREAKING_CHANGE_VERSION 4 extern RPC_IF_HANDLE __MIDL_itf_sospriv_0000_0012_v0_0_c_ifspec; @@ -2685,45 +2811,45 @@ extern RPC_IF_HANDLE __MIDL_itf_sospriv_0000_0012_v0_0_s_ifspec; #define __ISOSDacInterface9_INTERFACE_DEFINED__ /* interface ISOSDacInterface9 */ -/* [uuid][local][object] */ +/* [uuid][local][object] */ EXTERN_C const IID IID_ISOSDacInterface9; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("4eca42d8-7e7b-4c8a-a116-7bfbf6929267") ISOSDacInterface9 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetBreakingChangeVersion( + virtual HRESULT STDMETHODCALLTYPE GetBreakingChangeVersion( int *pVersion) = 0; - + }; - - + + #else /* C style interface */ typedef struct ISOSDacInterface9Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ISOSDacInterface9 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ISOSDacInterface9 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ISOSDacInterface9 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBreakingChangeVersion )( + + HRESULT ( STDMETHODCALLTYPE *GetBreakingChangeVersion )( ISOSDacInterface9 * This, int *pVersion); - + END_INTERFACE } ISOSDacInterface9Vtbl; @@ -2732,23 +2858,23 @@ EXTERN_C const IID IID_ISOSDacInterface9; CONST_VTBL struct ISOSDacInterface9Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ISOSDacInterface9_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ISOSDacInterface9_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ISOSDacInterface9_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ISOSDacInterface9_GetBreakingChangeVersion(This,pVersion) \ - ( (This)->lpVtbl -> GetBreakingChangeVersion(This,pVersion) ) + ( (This)->lpVtbl -> GetBreakingChangeVersion(This,pVersion) ) #endif /* COBJMACROS */ @@ -2763,91 +2889,91 @@ EXTERN_C const IID IID_ISOSDacInterface9; #define __ISOSDacInterface10_INTERFACE_DEFINED__ /* interface ISOSDacInterface10 */ -/* [uuid][local][object] */ +/* [uuid][local][object] */ EXTERN_C const IID IID_ISOSDacInterface10; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("90B8FCC3-7251-4B0A-AE3D-5C13A67EC9AA") ISOSDacInterface10 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetObjectComWrappersData( + virtual HRESULT STDMETHODCALLTYPE GetObjectComWrappersData( CLRDATA_ADDRESS objAddr, CLRDATA_ADDRESS *rcw, unsigned int count, CLRDATA_ADDRESS *mowList, unsigned int *pNeeded) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsComWrappersCCW( + + virtual HRESULT STDMETHODCALLTYPE IsComWrappersCCW( CLRDATA_ADDRESS ccw, BOOL *isComWrappersCCW) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetComWrappersCCWData( + + virtual HRESULT STDMETHODCALLTYPE GetComWrappersCCWData( CLRDATA_ADDRESS ccw, CLRDATA_ADDRESS *managedObject, int *refCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsComWrappersRCW( + + virtual HRESULT STDMETHODCALLTYPE IsComWrappersRCW( CLRDATA_ADDRESS rcw, BOOL *isComWrappersRCW) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetComWrappersRCWData( + + virtual HRESULT STDMETHODCALLTYPE GetComWrappersRCWData( CLRDATA_ADDRESS rcw, CLRDATA_ADDRESS *identity) = 0; - + }; - - + + #else /* C style interface */ typedef struct ISOSDacInterface10Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ISOSDacInterface10 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ISOSDacInterface10 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ISOSDacInterface10 * This); - - HRESULT ( STDMETHODCALLTYPE *GetObjectComWrappersData )( + + HRESULT ( STDMETHODCALLTYPE *GetObjectComWrappersData )( ISOSDacInterface10 * This, CLRDATA_ADDRESS objAddr, CLRDATA_ADDRESS *rcw, unsigned int count, CLRDATA_ADDRESS *mowList, unsigned int *pNeeded); - - HRESULT ( STDMETHODCALLTYPE *IsComWrappersCCW )( + + HRESULT ( STDMETHODCALLTYPE *IsComWrappersCCW )( ISOSDacInterface10 * This, CLRDATA_ADDRESS ccw, BOOL *isComWrappersCCW); - - HRESULT ( STDMETHODCALLTYPE *GetComWrappersCCWData )( + + HRESULT ( STDMETHODCALLTYPE *GetComWrappersCCWData )( ISOSDacInterface10 * This, CLRDATA_ADDRESS ccw, CLRDATA_ADDRESS *managedObject, int *refCount); - - HRESULT ( STDMETHODCALLTYPE *IsComWrappersRCW )( + + HRESULT ( STDMETHODCALLTYPE *IsComWrappersRCW )( ISOSDacInterface10 * This, CLRDATA_ADDRESS rcw, BOOL *isComWrappersRCW); - - HRESULT ( STDMETHODCALLTYPE *GetComWrappersRCWData )( + + HRESULT ( STDMETHODCALLTYPE *GetComWrappersRCWData )( ISOSDacInterface10 * This, CLRDATA_ADDRESS rcw, CLRDATA_ADDRESS *identity); - + END_INTERFACE } ISOSDacInterface10Vtbl; @@ -2856,35 +2982,35 @@ EXTERN_C const IID IID_ISOSDacInterface10; CONST_VTBL struct ISOSDacInterface10Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ISOSDacInterface10_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ISOSDacInterface10_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ISOSDacInterface10_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ISOSDacInterface10_GetObjectComWrappersData(This,objAddr,rcw,count,mowList,pNeeded) \ - ( (This)->lpVtbl -> GetObjectComWrappersData(This,objAddr,rcw,count,mowList,pNeeded) ) + ( (This)->lpVtbl -> GetObjectComWrappersData(This,objAddr,rcw,count,mowList,pNeeded) ) #define ISOSDacInterface10_IsComWrappersCCW(This,ccw,isComWrappersCCW) \ - ( (This)->lpVtbl -> IsComWrappersCCW(This,ccw,isComWrappersCCW) ) + ( (This)->lpVtbl -> IsComWrappersCCW(This,ccw,isComWrappersCCW) ) #define ISOSDacInterface10_GetComWrappersCCWData(This,ccw,managedObject,refCount) \ - ( (This)->lpVtbl -> GetComWrappersCCWData(This,ccw,managedObject,refCount) ) + ( (This)->lpVtbl -> GetComWrappersCCWData(This,ccw,managedObject,refCount) ) #define ISOSDacInterface10_IsComWrappersRCW(This,rcw,isComWrappersRCW) \ - ( (This)->lpVtbl -> IsComWrappersRCW(This,rcw,isComWrappersRCW) ) + ( (This)->lpVtbl -> IsComWrappersRCW(This,rcw,isComWrappersRCW) ) #define ISOSDacInterface10_GetComWrappersRCWData(This,rcw,identity) \ - ( (This)->lpVtbl -> GetComWrappersRCWData(This,rcw,identity) ) + ( (This)->lpVtbl -> GetComWrappersRCWData(This,rcw,identity) ) #endif /* COBJMACROS */ @@ -2900,60 +3026,60 @@ EXTERN_C const IID IID_ISOSDacInterface10; #define __ISOSDacInterface11_INTERFACE_DEFINED__ /* interface ISOSDacInterface11 */ -/* [uuid][local][object] */ +/* [uuid][local][object] */ EXTERN_C const IID IID_ISOSDacInterface11; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("96BA1DB9-14CD-4492-8065-1CAAECF6E5CF") ISOSDacInterface11 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE IsTrackedType( + virtual HRESULT STDMETHODCALLTYPE IsTrackedType( CLRDATA_ADDRESS objAddr, BOOL *isTrackedType, BOOL *hasTaggedMemory) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTaggedMemory( + + virtual HRESULT STDMETHODCALLTYPE GetTaggedMemory( CLRDATA_ADDRESS objAddr, CLRDATA_ADDRESS *taggedMemory, size_t *taggedMemorySizeInBytes) = 0; - + }; - - + + #else /* C style interface */ typedef struct ISOSDacInterface11Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ISOSDacInterface11 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ISOSDacInterface11 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ISOSDacInterface11 * This); - - HRESULT ( STDMETHODCALLTYPE *IsTrackedType )( + + HRESULT ( STDMETHODCALLTYPE *IsTrackedType )( ISOSDacInterface11 * This, CLRDATA_ADDRESS objAddr, BOOL *isTrackedType, BOOL *hasTaggedMemory); - - HRESULT ( STDMETHODCALLTYPE *GetTaggedMemory )( + + HRESULT ( STDMETHODCALLTYPE *GetTaggedMemory )( ISOSDacInterface11 * This, CLRDATA_ADDRESS objAddr, CLRDATA_ADDRESS *taggedMemory, size_t *taggedMemorySizeInBytes); - + END_INTERFACE } ISOSDacInterface11Vtbl; @@ -2962,26 +3088,26 @@ EXTERN_C const IID IID_ISOSDacInterface11; CONST_VTBL struct ISOSDacInterface11Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ISOSDacInterface11_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ISOSDacInterface11_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ISOSDacInterface11_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ISOSDacInterface11_IsTrackedType(This,objAddr,isTrackedType,hasTaggedMemory) \ - ( (This)->lpVtbl -> IsTrackedType(This,objAddr,isTrackedType,hasTaggedMemory) ) + ( (This)->lpVtbl -> IsTrackedType(This,objAddr,isTrackedType,hasTaggedMemory) ) #define ISOSDacInterface11_GetTaggedMemory(This,objAddr,taggedMemory,taggedMemorySizeInBytes) \ - ( (This)->lpVtbl -> GetTaggedMemory(This,objAddr,taggedMemory,taggedMemorySizeInBytes) ) + ( (This)->lpVtbl -> GetTaggedMemory(This,objAddr,taggedMemory,taggedMemorySizeInBytes) ) #endif /* COBJMACROS */ @@ -2994,47 +3120,47 @@ EXTERN_C const IID IID_ISOSDacInterface11; #define __ISOSDacInterface12_INTERFACE_DEFINED__ /* interface ISOSDacInterface12 */ -/* [uuid][local][object] */ +/* [uuid][local][object] */ EXTERN_C const IID IID_ISOSDacInterface12; #if defined(__cplusplus) && !defined(CINTERFACE) - + MIDL_INTERFACE("1b93bacc-8ca4-432d-943a-3e6e7ec0b0a3") ISOSDacInterface12 : public IUnknown { public: - virtual HRESULT STDMETHODCALLTYPE GetGlobalAllocationContext( + virtual HRESULT STDMETHODCALLTYPE GetGlobalAllocationContext( CLRDATA_ADDRESS *allocPtr, CLRDATA_ADDRESS *allocLimit) = 0; - + }; - - + + #else /* C style interface */ typedef struct ISOSDacInterface12Vtbl { BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( ISOSDacInterface12 * This, /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ + /* [annotation][iid_is][out] */ _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( + + ULONG ( STDMETHODCALLTYPE *AddRef )( ISOSDacInterface12 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( + + ULONG ( STDMETHODCALLTYPE *Release )( ISOSDacInterface12 * This); - - HRESULT ( STDMETHODCALLTYPE *GetGlobalAllocationContext )( + + HRESULT ( STDMETHODCALLTYPE *GetGlobalAllocationContext )( ISOSDacInterface12 * This, CLRDATA_ADDRESS *allocPtr, CLRDATA_ADDRESS *allocLimit); - + END_INTERFACE } ISOSDacInterface12Vtbl; @@ -3043,23 +3169,23 @@ EXTERN_C const IID IID_ISOSDacInterface12; CONST_VTBL struct ISOSDacInterface12Vtbl *lpVtbl; }; - + #ifdef COBJMACROS #define ISOSDacInterface12_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define ISOSDacInterface12_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) + ( (This)->lpVtbl -> AddRef(This) ) #define ISOSDacInterface12_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) + ( (This)->lpVtbl -> Release(This) ) #define ISOSDacInterface12_GetGlobalAllocationContext(This,allocPtr,allocLimit) \ - ( (This)->lpVtbl -> GetGlobalAllocationContext(This,allocPtr,allocLimit) ) + ( (This)->lpVtbl -> GetGlobalAllocationContext(This,allocPtr,allocLimit) ) #endif /* COBJMACROS */ @@ -3072,6 +3198,151 @@ EXTERN_C const IID IID_ISOSDacInterface12; #endif /* __ISOSDacInterface12_INTERFACE_DEFINED__ */ +#ifndef __ISOSDacInterface13_INTERFACE_DEFINED__ +#define __ISOSDacInterface13_INTERFACE_DEFINED__ + +/* interface ISOSDacInterface13 */ +/* [uuid][local][object] */ + + +EXTERN_C const IID IID_ISOSDacInterface13; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3176a8ed-597b-4f54-a71f-83695c6a8c5e") + ISOSDacInterface13 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE TraverseLoaderHeap( + CLRDATA_ADDRESS loaderHeapAddr, + LoaderHeapKind kind, + VISITHEAP pCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDomainLoaderAllocator( + CLRDATA_ADDRESS domainAddress, + CLRDATA_ADDRESS *pLoaderAllocator) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLoaderAllocatorHeapNames( + int count, + const char **ppNames, + int *pNeeded) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLoaderAllocatorHeaps( + CLRDATA_ADDRESS loaderAllocator, + int count, + CLRDATA_ADDRESS *pLoaderHeaps, + LoaderHeapKind *pKinds, + int *pNeeded) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHandleTableMemoryRegions( + ISOSMemoryEnum **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGCBookkeepingMemoryRegions( + ISOSMemoryEnum **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGCFreeRegions( + ISOSMemoryEnum **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE LockedFlush( void) = 0; + }; + + +#else /* C style interface */ + + + typedef struct ISOSDacInterface13Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ISOSDacInterface13 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ISOSDacInterface13 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ISOSDacInterface13 * This); + + HRESULT ( STDMETHODCALLTYPE *TraverseLoaderHeap )( + ISOSDacInterface13 * This, + CLRDATA_ADDRESS loaderHeapAddr, + LoaderHeapKind kind, + VISITHEAP pCallback); + + HRESULT ( STDMETHODCALLTYPE *GetDomainLoaderAllocator )( + ISOSDacInterface13 * This, + CLRDATA_ADDRESS domainAddress, + CLRDATA_ADDRESS *pLoaderAllocator); + + HRESULT ( STDMETHODCALLTYPE *GetLoaderAllocatorHeapNames )( + ISOSDacInterface13 * This, + int count, + const unsigned char **ppNames, + int *pNeeded); + + HRESULT ( STDMETHODCALLTYPE *GetLoaderAllocatorHeaps )( + ISOSDacInterface13 * This, + CLRDATA_ADDRESS loaderAllocator, + int count, + CLRDATA_ADDRESS *pLoaderHeaps, + LoaderHeapKind *pKinds, + int *pNeeded); + + HRESULT ( STDMETHODCALLTYPE *GetHandleTableMemoryRegions )( + ISOSDacInterface13 * This, + ISOSMemoryEnum **ppEnum); + + HRESULT ( STDMETHODCALLTYPE *GetGCBookkeepingMemoryRegions )( + ISOSDacInterface13 * This, + ISOSMemoryEnum **ppEnum); + + HRESULT ( STDMETHODCALLTYPE *GetGCFreeRegions )( + ISOSDacInterface13 * This, + ISOSMemoryEnum **ppEnum); + + HRESULT ( STDMETHODCALLTYPE *LockedFlush )( + ISOSDacInterface13 * This); + + END_INTERFACE + } ISOSDacInterface13Vtbl; + + interface ISOSDacInterface13 + { + CONST_VTBL struct ISOSDacInterface13Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISOSDacInterface13_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISOSDacInterface13_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISOSDacInterface13_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISOSDacInterface13_TraverseLoaderHeap(This,loaderHeapAddr,kind,pCallback) \ + ( (This)->lpVtbl -> TraverseLoaderHeap(This,loaderHeapAddr,kind,pCallback) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISOSDacInterface13_INTERFACE_DEFINED__ */ + + /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */