BaseUris = new()
{
- private static readonly Regex FileNamePattern = new Regex(@"^\w\w-\w+-([\w\-]+)$", RegexOptions.Compiled);
- private static readonly Regex ParameterHeaderPattern = new Regex(@"^### -param (\w+)", RegexOptions.Compiled);
- private static readonly Regex FieldHeaderPattern = new Regex(@"^### -field (?:\w+\.)*(\w+)", RegexOptions.Compiled);
- private static readonly Regex ReturnHeaderPattern = new Regex(@"^## -returns", RegexOptions.Compiled);
- private static readonly Regex RemarksHeaderPattern = new Regex(@"^## -remarks", RegexOptions.Compiled);
- private static readonly Regex InlineCodeTag = new Regex(@"\(.*)\
", RegexOptions.Compiled);
- private static readonly Regex EnumNameCell = new Regex(@"\]*\>\([\dxa-f]+)\<\/dt\>", RegexOptions.Compiled | RegexOptions.IgnoreCase);
- private readonly string contentBasePath;
- private readonly string outputPath;
+ { @"/ext/Console-Docs/docs", @"https://docs.microsoft.com/windows/console/" },
+ { @"/ext/office-developer-client-docs/docs", @"https://docs.microsoft.com/office/client-developer/" },
+ { @"/ext/sdk-api/sdk-api-src/content", @"https://docs.microsoft.com/windows/win32/api/" },
+ { @"/ext/sql-docs/docs", @"https://docs.microsoft.com/sql/" },
+ { @"/ext/Virtualization-Documentation", @"https://docs.microsoft.com/" },
+ { @"/ext/win32/desktop-src", @"https://docs.microsoft.com/windows/win32/" },
+ };
- private Program(string contentBasePath, string outputPath)
+ private static readonly string ExcludedContentPattern = @"(ADSchema|CIMWin32Prov|delivery_optimization|DMWmiBridgeProv|gdiplus|HyperV_v2|Midl\b|SecAuthZ|TermServ|WmiCoreProv|WmiSdk|\bindex\.md|\bTOC\.md)";
+
+ private readonly string contentBasePaths;
+ private readonly string outputPath;
+ private readonly string documentationMappingsRsp;
+
+ private Program(string contentBasePaths, string outputPath)
+ {
+ this.contentBasePaths = contentBasePaths;
+ this.outputPath = outputPath;
+ this.documentationMappingsRsp = Path.Combine(Path.GetDirectoryName(this.outputPath)!, "documentationMappings.rsp").Replace("\\", "/");
+ }
+
+ private bool EmitEnums { get; set; }
+
+ private static int Main(string[] args)
+ {
+ using var cts = new CancellationTokenSource();
+ Console.CancelKeyPress += (s, e) =>
{
- this.contentBasePath = contentBasePath;
- this.outputPath = outputPath;
+ Console.WriteLine("Canceling...");
+ cts.Cancel();
+ e.Cancel = true;
+ };
+
+ if (args.Length < 2)
+ {
+ Console.Error.WriteLine("USAGE: {0} [enums]");
+ return 1;
}
- private bool EmitEnums { get; set; }
+ string contentBasePaths = args[0];
+ string outputPath = args[1];
+ bool emitEnums = args.Length > 2 && args[2] == "enums";
- private static int Main(string[] args)
+ try
{
- using var cts = new CancellationTokenSource();
- Console.CancelKeyPress += (s, e) =>
- {
- Console.WriteLine("Canceling...");
- cts.Cancel();
- e.Cancel = true;
- };
+ new Program(contentBasePaths, outputPath) { EmitEnums = true }.Worker(cts.Token);
+ }
+ catch (OperationCanceledException ex) when (ex.CancellationToken == cts.Token)
+ {
+ return 2;
+ }
- if (args.Length < 2)
+ return 0;
+ }
+
+ private void Worker(CancellationToken cancellationToken)
+ {
+ Console.WriteLine("Enumerating documents to be parsed...");
+ var paths = new List();
+ foreach (var path in this.contentBasePaths.Split(';'))
+ {
+ paths.AddRange(Directory.GetFiles(path, "*.md", SearchOption.AllDirectories).
+ Where(p => !Regex.IsMatch(p, ExcludedContentPattern, RegexOptions.IgnoreCase)));
+ }
+
+ Console.WriteLine("Parsing documents...");
+
+ var timer = Stopwatch.StartNew();
+ var parsedNodes = from path in paths.AsParallel()
+ let parseResults = this.ParseDocFile(path)
+ where parseResults is not null
+ from result in parseResults
+ select (Path: path, result.ApiName, result.Docs, result.EnumsByParameter, result.EnumsByField);
+ var results = new ConcurrentDictionary();
+ var parameterEnums = new ConcurrentDictionary<(string MethodName, string ParameterName, string HelpLink), DocEnum>();
+ var fieldEnums = new ConcurrentDictionary<(string StructName, string FieldName, string HelpLink), DocEnum>();
+
+ if (Debugger.IsAttached)
+ {
+ parsedNodes = parsedNodes.WithDegreeOfParallelism(1); // improve debuggability
+ }
+
+ parsedNodes.
+ WithCancellation<(string Path, string ApiName, ApiDetails Docs, IReadOnlyDictionary EnumsByParameter, IReadOnlyDictionary EnumsByField)>(cancellationToken).
+ ForAll(result =>
+ {
+ if (!results.TryAdd(result.ApiName, result.Docs))
{
- Console.Error.WriteLine("USAGE: {0} [enums]");
- return 1;
+ // Prefer a more specific HelpLink if multiple results were returned.
+ if (!results[result.ApiName].HelpLink!.ToString().ToLower().EndsWith(result.ApiName.Replace(".", "-").ToLower()))
+ {
+ results[result.ApiName] = result.Docs;
+ }
}
- string contentBasePath = args[0];
- string outputPath = args[1];
- bool emitEnums = args.Length > 2 ? args[2] == "enums" : false;
+ foreach (var e in result.EnumsByParameter)
+ {
+ if (result.Docs.HelpLink is not null)
+ {
+ parameterEnums.TryAdd((result.ApiName, e.Key, result.Docs.HelpLink.AbsoluteUri), e.Value);
+ }
+ }
+ foreach (var e in result.EnumsByField)
+ {
+ if (result.Docs.HelpLink is not null)
+ {
+ fieldEnums.TryAdd((result.ApiName, e.Key, result.Docs.HelpLink.AbsoluteUri), e.Value);
+ }
+ }
+ });
+
+ if (paths.Count == 0)
+ {
+ Console.Error.WriteLine("No documents found to parse.");
+ }
+ else
+ {
+ Console.WriteLine("Parsed {2} documents in {0} ({1} per document)", timer.Elapsed, timer.Elapsed / paths.Count, paths.Count);
+ Console.WriteLine($"Found {parameterEnums.Count + fieldEnums.Count} enums.");
+ }
+
+ Console.WriteLine("Analyzing and naming enums and collecting docs on their members...");
+ var sortedResultsWithoutEnums = new SortedDictionary(results);
+ int constantsCount = this.AnalyzeEnums(results, parameterEnums, fieldEnums);
+ var sortedResultsWithEnums = new SortedDictionary(results);
+ Console.WriteLine($"Found docs for {constantsCount} constants.");
+
+ Console.WriteLine("Writing results to \"{0}\" and \"{1}\"", this.outputPath, this.documentationMappingsRsp);
+
+ Directory.CreateDirectory(Path.GetDirectoryName(this.outputPath)!);
+ using var outputFileStream = File.OpenWrite(this.outputPath);
+ MessagePackSerializer.Serialize(outputFileStream, sortedResultsWithEnums, MessagePackSerializerOptions.Standard, CancellationToken.None);
+
+ var documentationMappingsBuilder = new StringBuilder();
+ documentationMappingsBuilder.AppendLine("--memberRemap");
+
+ foreach (var api in sortedResultsWithoutEnums)
+ {
+ documentationMappingsBuilder.AppendLine($"{api.Key.Replace(".", "::")}=[Documentation(\"{api.Value.HelpLink}\")]");
+ }
+
+ File.WriteAllText(this.documentationMappingsRsp, documentationMappingsBuilder.ToString());
+ }
+
+ private List<(string ApiName, ApiDetails Docs, IReadOnlyDictionary EnumsByParameter, IReadOnlyDictionary EnumsByField)> ParseDocFile(string filePath)
+ {
+ try
+ {
+ ApiDetails apiDetails = new();
+ var enumsByParameter = new Dictionary();
+ var enumsByField = new Dictionary();
+
+ string? line;
+
+ using StreamReader mdFileReader = File.OpenText(filePath);
+ using var markdownToYamlReader = new YamlSectionReader(mdFileReader);
+ var yamlBuilder = new StringBuilder();
try
{
- new Program(contentBasePath, outputPath) { EmitEnums = true }.Worker(cts.Token);
- }
- catch (OperationCanceledException ex) when (ex.CancellationToken == cts.Token)
- {
- return 2;
- }
-
- return 0;
- }
-
- private static void Expect(string? expected, string? actual)
- {
- if (expected != actual)
- {
- throw new InvalidOperationException($"Expected: \"{expected}\" but read: \"{actual}\".");
- }
- }
-
- private int AnalyzeEnums(ConcurrentDictionary results, ConcurrentDictionary<(string MethodName, string ParameterName, string HelpLink), DocEnum> parameterEnums, ConcurrentDictionary<(string MethodName, string ParameterName, string HelpLink), DocEnum> fieldEnums)
- {
- var uniqueEnums = new Dictionary>();
- var constantsDocs = new Dictionary>();
-
- void Collect(ConcurrentDictionary<(string MethodName, string ParameterName, string HelpLink), DocEnum> enums, bool isMethod)
- {
- foreach (var item in enums)
- {
- if (!uniqueEnums.TryGetValue(item.Value, out List<(string MethodName, string ParameterName, string HelpLink, bool IsMethod)>? list))
- {
- uniqueEnums.Add(item.Value, list = new());
- }
-
- list.Add((item.Key.MethodName, item.Key.ParameterName, item.Key.HelpLink, isMethod));
-
- foreach (KeyValuePair enumValue in item.Value.Members)
- {
- if (enumValue.Value.Doc is object)
- {
- if (!constantsDocs.TryGetValue(enumValue.Key, out List<(string MethodName, string HelpLink, string Doc)>? values))
- {
- constantsDocs.Add(enumValue.Key, values = new());
- }
-
- values.Add((item.Key.MethodName, item.Key.HelpLink, enumValue.Value.Doc));
- }
- }
- }
- }
-
- Collect(parameterEnums, isMethod: true);
- Collect(fieldEnums, isMethod: false);
-
- foreach (var item in constantsDocs)
- {
- var docNode = new ApiDetails();
- docNode.Description = item.Value[0].Doc;
-
- // If the documentation varies across methods, just link to each document.
- bool differenceDetected = false;
- for (int i = 1; i < item.Value.Count; i++)
- {
- if (item.Value[i].Doc != docNode.Description)
- {
- differenceDetected = true;
- break;
- }
- }
-
- if (differenceDetected)
- {
- docNode.Description = "Documentation varies per use. Refer to each: " + string.Join(", ", item.Value.Select(v => @$"{v.MethodOrStructName}")) + ".";
- }
- else
- {
- // Just point to any arbitrary method that documents it.
- docNode.HelpLink = new Uri(item.Value[0].HelpLink);
- }
-
- results.TryAdd(item.Key, docNode);
- }
-
- if (this.EmitEnums)
- {
- string enumDirectory = Path.GetDirectoryName(this.outputPath) ?? throw new InvalidOperationException("Unable to determine where to write enums.");
- Directory.CreateDirectory(enumDirectory);
- using var enumsJsonStream = File.OpenWrite(Path.Combine(enumDirectory, "enums.json"));
- using var writer = new Utf8JsonWriter(enumsJsonStream, new JsonWriterOptions { Indented = true });
- writer.WriteStartArray();
-
- foreach (KeyValuePair> item in uniqueEnums)
- {
- writer.WriteStartObject();
-
- if (item.Key.GetRecommendedName(item.Value) is string enumName)
- {
- writer.WriteString("name", enumName);
- }
-
- writer.WriteBoolean("flags", item.Key.IsFlags);
-
- writer.WritePropertyName("members");
- writer.WriteStartArray();
- foreach (var member in item.Key.Members)
- {
- writer.WriteStartObject();
- writer.WriteString("name", member.Key);
- if (member.Value.Value is ulong value)
- {
- writer.WriteString("value", value.ToString(CultureInfo.InvariantCulture));
- }
-
- writer.WriteEndObject();
- }
-
- writer.WriteEndArray();
-
- writer.WritePropertyName("uses");
- writer.WriteStartArray();
- foreach (var uses in item.Value)
- {
- writer.WriteStartObject();
-
- int periodIndex = uses.MethodName.IndexOf('.', StringComparison.Ordinal);
- string? iface = periodIndex >= 0 ? uses.MethodName.Substring(0, periodIndex) : null;
- string name = periodIndex >= 0 ? uses.MethodName.Substring(periodIndex + 1) : uses.MethodName;
-
- if (iface is string)
- {
- writer.WriteString("interface", iface);
- }
-
- writer.WriteString(uses.IsMethod ? "method" : "struct", name);
- writer.WriteString(uses.IsMethod ? "parameter" : "field", uses.ParameterName);
-
- writer.WriteEndObject();
- }
-
- writer.WriteEndArray();
- writer.WriteEndObject();
- }
-
- writer.WriteEndArray();
- }
-
- return constantsDocs.Count;
- }
-
- private void Worker(CancellationToken cancellationToken)
- {
- Console.WriteLine("Enumerating documents to be parsed...");
- string[] paths = Directory.GetFiles(this.contentBasePath, "??-*-*.md", SearchOption.AllDirectories)
- ////.Where(p => p.Contains(@"ns-winsock2-blob", StringComparison.OrdinalIgnoreCase)).ToArray()
- ;
-
- Console.WriteLine("Parsing documents...");
- var timer = Stopwatch.StartNew();
- var parsedNodes = from path in paths.AsParallel()
- let result = this.ParseDocFile(path)
- where result is not null
- select (Path: path, result.Value.ApiName, result.Value.Docs, result.Value.EnumsByParameter, result.Value.EnumsByField);
- var results = new ConcurrentDictionary();
- var parameterEnums = new ConcurrentDictionary<(string MethodName, string ParameterName, string HelpLink), DocEnum>();
- var fieldEnums = new ConcurrentDictionary<(string StructName, string FieldName, string HelpLink), DocEnum>();
- if (Debugger.IsAttached)
- {
- parsedNodes = parsedNodes.WithDegreeOfParallelism(1); // improve debuggability
- }
-
- parsedNodes
- .WithCancellation<(string Path, string ApiName, ApiDetails Docs, IReadOnlyDictionary EnumsByParameter, IReadOnlyDictionary EnumsByField)>(cancellationToken)
- .ForAll(result =>
- {
- results.TryAdd(result.ApiName, result.Docs);
- foreach (var e in result.EnumsByParameter)
- {
- if (result.Docs.HelpLink is object)
- {
- parameterEnums.TryAdd((result.ApiName, e.Key, result.Docs.HelpLink.AbsoluteUri), e.Value);
- }
- }
-
- foreach (var e in result.EnumsByField)
- {
- if (result.Docs.HelpLink is object)
- {
- fieldEnums.TryAdd((result.ApiName, e.Key, result.Docs.HelpLink.AbsoluteUri), e.Value);
- }
- }
- });
- if (paths.Length == 0)
- {
- Console.Error.WriteLine("No documents found to parse.");
- }
- else
- {
- Console.WriteLine("Parsed {2} documents in {0} ({1} per document)", timer.Elapsed, timer.Elapsed / paths.Length, paths.Length);
- Console.WriteLine($"Found {parameterEnums.Count + fieldEnums.Count} enums.");
- }
-
- Console.WriteLine("Analyzing and naming enums and collecting docs on their members...");
- int constantsCount = this.AnalyzeEnums(results, parameterEnums, fieldEnums);
- Console.WriteLine($"Found docs for {constantsCount} constants.");
-
- Console.WriteLine("Writing results to \"{0}\"", this.outputPath);
- Directory.CreateDirectory(Path.GetDirectoryName(this.outputPath)!);
- using var outputFileStream = File.OpenWrite(this.outputPath);
- MessagePackSerializer.Serialize(outputFileStream, results.ToDictionary(kv => kv.Key, kv => kv.Value), MessagePackSerializerOptions.Standard);
- }
-
- private (string ApiName, ApiDetails Docs, IReadOnlyDictionary EnumsByParameter, IReadOnlyDictionary EnumsByField)? ParseDocFile(string filePath)
- {
- try
- {
- var enumsByParameter = new Dictionary();
- var enumsByField = new Dictionary();
- var yaml = new YamlStream();
- using StreamReader mdFileReader = File.OpenText(filePath);
- using var markdownToYamlReader = new YamlSectionReader(mdFileReader);
- var yamlBuilder = new StringBuilder();
- ApiDetails docs = new();
- string? line;
- while ((line = markdownToYamlReader.ReadLine()) is object)
+ while ((line = markdownToYamlReader.ReadLine()) is not null)
{
yamlBuilder.AppendLine(line);
}
+ }
+ catch (InvalidOperationException)
+ {
+ Debug.WriteLine("WARNING: Skipping content without YAML headers {0}", filePath);
+ return null!;
+ }
- try
- {
- yaml.Load(new StringReader(yamlBuilder.ToString()));
- }
- catch (YamlDotNet.Core.YamlException ex)
- {
- Debug.WriteLine("YAML parsing error in \"{0}\": {1}", filePath, ex.Message);
- return null;
- }
+ var yaml = new YamlStream();
+ try
+ {
+ yaml.Load(new StringReader(yamlBuilder.ToString()));
+ }
+ catch (YamlException ex)
+ {
+ Debug.WriteLine("YAML parsing error in \"{0}\": {1}", filePath, ex.Message);
+ return null!;
+ }
- YamlSequenceNode methodNames = (YamlSequenceNode)yaml.Documents[0].RootNode["api_name"];
- bool TryGetProperName(string searchFor, string? suffix, [NotNullWhen(true)] out string? match)
+ var yamlRootNode = (YamlMappingNode)yaml.Documents[0].RootNode;
+
+ if (!yamlRootNode.Children.Any(c =>
+ (c.Key.ToString() == "ms.topic" && c.Value.ToString().ToLower() == "reference") ||
+ (c.Key.ToString() == "topic_type" && (c.Value as YamlSequenceNode)!.Children.Any(i => i.ToString().ToLower() == "apiref"))))
+ {
+ Debug.WriteLine("WARNING: Skipping non-reference content {0}", filePath);
+ return null!;
+ }
+
+ YamlSequenceNode apiNames = null!;
+ if (yamlRootNode.Children.ContainsKey("api_name") && yamlRootNode.Children["api_name"] is YamlSequenceNode node)
+ {
+ apiNames = node;
+ }
+ else
+ {
+ Debug.WriteLine("WARNING: Could not find api_name node in: {0}", filePath);
+ }
+
+ // Populate ApiName.
+ string? apiName = null;
+
+ if (yamlRootNode.Children.ContainsKey("title"))
+ {
+ apiName = TitlePattern.Match(yamlRootNode.Children["title"].ToString()).Groups[1].Value;
+ }
+ else if (yamlRootNode.Children.ContainsKey("comtitle"))
+ {
+ apiName = TitlePattern.Match(yamlRootNode.Children["comtitle"].ToString()).Groups[1].Value;
+ }
+
+ apiName = apiName!.Replace("::", ".").Replace("\\", string.Empty);
+
+ // Populate HelpLink.
+ foreach (var baseUri in BaseUris.Keys)
+ {
+ if (filePath.Replace("\\", "/").Contains(baseUri))
{
- if (suffix is string)
+ apiDetails.HelpLink = new Uri(BaseUris[baseUri] + filePath[(filePath.IndexOf(baseUri) + baseUri.Length + 1)..(filePath.Length - 3)].Replace("\\", "/"));
+
+ break;
+ }
+ }
+
+ // Populate Description.
+ var description = yamlRootNode.Children.FirstOrDefault(n => n.Key is YamlScalarNode { Value: "description" }).Value as YamlScalarNode;
+ apiDetails.Description = description?.Value;
+
+ // Populate Parameters, Fields, ReturnValue, and Remarks.
+ var docBuilder = new StringBuilder();
+ line = mdFileReader.ReadLine();
+ while (line is not null)
+ {
+ if (ApiNamePattern.Match(line) is Match { Success: true } apiNameMatch)
+ {
+ var headerApiName = apiNameMatch.Groups[3].Value.Replace("::", ".").Replace("\\", string.Empty);
+
+ if ((apiName.Contains('.') && !headerApiName.Contains('.')) || headerApiName.Contains('*'))
{
- if (searchFor.EndsWith(suffix, StringComparison.Ordinal))
+ line = mdFileReader.ReadLine();
+ }
+ else
+ {
+ apiName = headerApiName;
+
+ line = mdFileReader.ReadLine();
+ }
+ }
+ else if (ParametersHeaderPattern.Match(line) is Match { Success: true } parametersMatch)
+ {
+ ParseSection(parametersMatch, apiDetails.Parameters, lookForParameterEnums: true);
+ }
+ else if (ParameterHeaderPattern.Match(line) is Match { Success: true } parameterMatch)
+ {
+ ParseSection(parameterMatch, apiDetails.Parameters, lookForParameterEnums: true);
+ }
+ else if (MembersHeaderPattern.Match(line) is Match { Success: true } membersMatch)
+ {
+ ParseSection(membersMatch, apiDetails.Fields, lookForParameterEnums: true);
+ }
+ else if (FieldHeaderPattern.Match(line) is Match { Success: true } fieldMatch)
+ {
+ ParseSection(fieldMatch, apiDetails.Fields, lookForFieldEnums: true);
+ }
+ else if (RemarksHeaderPattern.Match(line) is Match { Success: true } remarksMatch)
+ {
+ ParseTextSection(out string remarks);
+ apiDetails.Remarks = remarks;
+ }
+ else if (ReturnHeaderPattern.Match(line) is Match { Success: true } returnMatch)
+ {
+ ParseTextSection(out string returnValue);
+ apiDetails.ReturnValue = returnValue;
+ }
+ else
+ {
+ line = mdFileReader.ReadLine();
+ }
+ }
+
+ var result = new List<(string ApiName, ApiDetails Docs, IReadOnlyDictionary EnumsByParameter, IReadOnlyDictionary EnumsByField)>();
+ if (apiNames is not null && apiNames.Children.Contains(apiName))
+ {
+ // If api_names includes variants of the base API, create mappings for each.
+ // Example: ext/win32/desktop-src/printdocs/addprinter.md
+ foreach (var methodName in apiNames.Children.Cast())
+ {
+ if (methodName.Value! == apiName)
+ {
+ result.Add((methodName.Value!, apiDetails, enumsByParameter, enumsByField));
+ }
+ else
+ {
+ var fixedMethodName = methodName.Value!.StartsWith("_") ? methodName.Value![1..] : methodName.Value!;
+
+ if (!fixedMethodName.StartsWith(@"?"))
{
- searchFor = searchFor.Substring(0, searchFor.Length - suffix.Length);
- }
- else
- {
- match = null;
- return false;
+ result.Add((fixedMethodName, apiDetails, enumsByParameter, enumsByField));
}
}
-
- match = methodNames.Children.Cast().FirstOrDefault(c => string.Equals(c.Value?.Replace('.', '-'), searchFor, StringComparison.OrdinalIgnoreCase))?.Value;
-
- if (suffix is string && match is object)
- {
- match += suffix.ToUpper(CultureInfo.InvariantCulture);
- }
-
- return match is object;
}
+ }
+ else if (apiName.EndsWith("A/W"))
+ {
+ // If apiName includes variants of an API, create mappings for each.
+ // Example: ext/win32/desktop-src/DevNotes/patchapi-createpatchfileex.md
+ result.Add((apiName![..^3] + "A", apiDetails, enumsByParameter, enumsByField));
+ result.Add((apiName![..^3] + "W", apiDetails, enumsByParameter, enumsByField));
+ }
+ else
+ {
+ // If api_names doesn't include the base API, create a mapping just for the base API.
+ // Example: ext/win32/desktop-src/Controls/em-getfileline.md
+ result.Add((apiName!, apiDetails, enumsByParameter, enumsByField));
+ }
- string presumedMethodName = FileNamePattern.Match(Path.GetFileNameWithoutExtension(filePath)).Groups[1].Value;
+ return result;
- // Some structures have filenames that include the W or A suffix when the content doesn't. So try some fuzzy matching.
- if (!TryGetProperName(presumedMethodName, null, out string? properName) &&
- !TryGetProperName(presumedMethodName, "a", out properName) &&
- !TryGetProperName(presumedMethodName, "w", out properName) &&
- !TryGetProperName(presumedMethodName, "32", out properName) &&
- !TryGetProperName(presumedMethodName, "64", out properName))
+ void ParseSection(Match match, IDictionary receivingMap, bool lookForParameterEnums = false, bool lookForFieldEnums = false)
+ {
+ if (match.Value == "## Parameters" || match.Value == "## Arguments" || match.Value == "## Members")
{
- Debug.WriteLine("WARNING: Could not find proper API name in: {0}", filePath);
- return null;
- }
-
- Uri helpLink = new Uri("https://docs.microsoft.com/windows/win32/api/" + filePath.Substring(this.contentBasePath.Length, filePath.Length - 3 - this.contentBasePath.Length).Replace('\\', '/'));
- docs.HelpLink = helpLink;
-
- var description = ((YamlMappingNode)yaml.Documents[0].RootNode).Children.FirstOrDefault(n => n.Key is YamlScalarNode { Value: "description" }).Value as YamlScalarNode;
- docs.Description = description?.Value;
-
- // Search for parameter/field docs
- var parametersMap = new YamlMappingNode();
- var fieldsMap = new YamlMappingNode();
- StringBuilder docBuilder = new StringBuilder();
- line = mdFileReader.ReadLine();
-
- static string FixupLine(string line)
- {
- line = line.Replace("href=\"/", "href=\"https://docs.microsoft.com/");
- line = InlineCodeTag.Replace(line, match => $"{match.Groups[1].Value}");
- return line;
- }
-
- void ParseTextSection(out string text)
- {
- while ((line = mdFileReader.ReadLine()) is object)
+ string sectionName = string.Empty;
+ while ((line = mdFileReader.ReadLine()) is not null)
{
if (line.StartsWith('#'))
{
break;
}
- line = FixupLine(line);
+ if (ExcludePattern.IsMatch(line))
+ {
+ continue;
+ }
+
+ if (ParameterMemberPattern.Match(line) is Match { Success: true } parameterMemberMatch)
+ {
+ if (!string.IsNullOrEmpty(sectionName))
+ {
+ receivingMap.TryAdd(sectionName, docBuilder.ToString().Trim());
+ docBuilder.Clear();
+ }
+
+ sectionName = parameterMemberMatch.Groups[3].Value;
+
+ continue;
+ }
+
+ line = FixLine(line);
docBuilder.AppendLine(line);
}
- text = docBuilder.ToString();
-
- docBuilder.Clear();
- }
-
- IReadOnlyDictionary ParseEnumTable()
- {
- var enums = new Dictionary();
- int state = 0;
- const int StateReadingHeader = 0;
- const int StateReadingName = 1;
- const int StateLookingForDetail = 2;
- const int StateReadingDocColumn = 3;
- string? enumName = null;
- ulong? enumValue = null;
- var docsBuilder = new StringBuilder();
- while ((line = mdFileReader.ReadLine()) is object)
+ if (!string.IsNullOrEmpty(sectionName))
{
- if (line == "")
- {
- break;
- }
-
- switch (state)
- {
- case StateReadingHeader:
- // Reading TR header
- if (line == "")
- {
- state = StateReadingName;
- }
-
- break;
-
- case StateReadingName:
- // Reading an enum row's name column.
- Match m = EnumNameCell.Match(line);
- if (m.Success)
- {
- enumName = m.Groups[1].Value;
- if (enumName == "0")
- {
- enumName = "None";
- enumValue = 0;
- }
-
- state = StateLookingForDetail;
- }
-
- break;
-
- case StateLookingForDetail:
- // Looking for an enum row's doc column.
- m = EnumOrdinalValue.Match(line);
- if (m.Success)
- {
- string value = m.Groups[1].Value;
- bool hex = value.StartsWith("0x", StringComparison.OrdinalIgnoreCase);
- if (hex)
- {
- value = value.Substring(2);
- }
-
- enumValue = ulong.Parse(value, hex ? NumberStyles.HexNumber : NumberStyles.Integer, CultureInfo.InvariantCulture);
- }
- else if (line.StartsWith("", StringComparison.OrdinalIgnoreCase))
- {
- // The row ended before we found the doc column.
- state = StateReadingName;
- enums.Add(enumName!, (enumValue, null));
- enumName = null;
- enumValue = null;
- }
-
- break;
-
- case StateReadingDocColumn:
- // Reading the enum row's doc column.
- if (line.StartsWith(" | ", StringComparison.OrdinalIgnoreCase))
- {
- state = StateReadingName;
-
- // Some docs are invalid in documenting the same enum multiple times.
- if (!enums.ContainsKey(enumName!))
- {
- enums.Add(enumName!, (enumValue, docsBuilder.ToString().Trim()));
- }
-
- enumName = null;
- enumValue = null;
- docsBuilder.Clear();
- break;
- }
-
- docsBuilder.AppendLine(FixupLine(line));
- break;
- }
+ receivingMap.TryAdd(sectionName, docBuilder.ToString().Trim());
+ docBuilder.Clear();
}
-
- return enums;
}
-
- void ParseSection(Match match, IDictionary receivingMap, bool lookForParameterEnums = false, bool lookForFieldEnums = false)
+ else
{
string sectionName = match.Groups[1].Value;
bool foundEnum = false;
bool foundEnumIsFlags = false;
- while ((line = mdFileReader.ReadLine()) is object)
+ while ((line = mdFileReader.ReadLine()) is not null)
{
if (line.StartsWith('#'))
{
@@ -524,7 +446,7 @@ namespace ScrapeDocs
if (!foundEnum)
{
- line = FixupLine(line);
+ line = FixLine(line);
docBuilder.AppendLine(line);
}
}
@@ -532,111 +454,322 @@ namespace ScrapeDocs
receivingMap.TryAdd(sectionName, docBuilder.ToString().Trim());
docBuilder.Clear();
}
+ }
- while (line is object)
+ void ParseTextSection(out string text)
+ {
+ while ((line = mdFileReader.ReadLine()) is not null)
{
- if (ParameterHeaderPattern.Match(line) is Match { Success: true } parameterMatch)
+ if (line.StartsWith('#'))
{
- ParseSection(parameterMatch, docs.Parameters, lookForParameterEnums: true);
+ break;
}
- else if (FieldHeaderPattern.Match(line) is Match { Success: true } fieldMatch)
- {
- ParseSection(fieldMatch, docs.Fields, lookForFieldEnums: true);
- }
- else if (RemarksHeaderPattern.Match(line) is Match { Success: true } remarksMatch)
- {
- string remarks;
- ParseTextSection(out remarks);
- docs.Remarks = remarks;
- }
- else
- {
- // TODO: don't break out of this loop so soon... remarks sometimes follows return value docs.
- if (line is object && ReturnHeaderPattern.IsMatch(line))
- {
- break;
- }
- line = mdFileReader.ReadLine();
- }
+ line = FixLine(line);
+ docBuilder.AppendLine(line);
}
- // Search for return value documentation
- while (line is object)
+ text = docBuilder.ToString().Trim();
+
+ docBuilder.Clear();
+ }
+
+ IReadOnlyDictionary ParseEnumTable()
+ {
+ var enums = new Dictionary();
+ int state = 0;
+ const int StateReadingHeader = 0;
+ const int StateReadingName = 1;
+ const int StateLookingForDetail = 2;
+ const int StateReadingDocColumn = 3;
+ string? enumName = null;
+ ulong? enumValue = null;
+ var docsBuilder = new StringBuilder();
+ while ((line = mdFileReader.ReadLine()) is not null)
{
- Match m = ReturnHeaderPattern.Match(line);
- if (m.Success)
+ if (line == "")
{
- while ((line = mdFileReader.ReadLine()) is object)
- {
- if (line.StartsWith('#'))
+ break;
+ }
+
+ switch (state)
+ {
+ case StateReadingHeader:
+ // Reading TR header
+ if (line == "")
{
+ state = StateReadingName;
+ }
+
+ break;
+
+ case StateReadingName:
+ // Reading an enum row's name column.
+ Match m = EnumNameCell.Match(line);
+ if (m.Success)
+ {
+ enumName = m.Groups[1].Value;
+ if (enumName == "0")
+ {
+ enumName = "None";
+ enumValue = 0;
+ }
+
+ state = StateLookingForDetail;
+ }
+
+ break;
+
+ case StateLookingForDetail:
+ // Looking for an enum row's doc column.
+ m = EnumOrdinalValue.Match(line);
+ if (m.Success)
+ {
+ string value = m.Groups[1].Value;
+ bool hex = value.StartsWith("0x", StringComparison.OrdinalIgnoreCase);
+ if (hex)
+ {
+ value = value[2..];
+ }
+
+ enumValue = ulong.Parse(value, hex ? NumberStyles.HexNumber : NumberStyles.Integer, CultureInfo.InvariantCulture);
+ }
+ else if (line.StartsWith("", StringComparison.OrdinalIgnoreCase))
+ {
+ // The row ended before we found the doc column.
+ state = StateReadingName;
+ enums.Add(enumName!, (enumValue, null));
+ enumName = null;
+ enumValue = null;
+ }
+
+ break;
+
+ case StateReadingDocColumn:
+ // Reading the enum row's doc column.
+ if (line.StartsWith(" | ", StringComparison.OrdinalIgnoreCase))
+ {
+ state = StateReadingName;
+
+ // Some docs are invalid in documenting the same enum multiple times.
+ if (!enums.ContainsKey(enumName!))
+ {
+ enums.Add(enumName!, (enumValue, docsBuilder.ToString().Trim()));
+ }
+
+ enumName = null;
+ enumValue = null;
+ docsBuilder.Clear();
break;
}
- docBuilder.AppendLine(line);
- }
-
- docs.ReturnValue = docBuilder.ToString().Trim();
- docBuilder.Clear();
- break;
- }
- else
- {
- line = mdFileReader.ReadLine();
+ docsBuilder.AppendLine(FixLine(line));
+ break;
}
}
- return (properName, docs, enumsByParameter, enumsByField);
+ return enums;
}
- catch (Exception ex)
+
+ static string FixLine(string line)
{
- throw new ApplicationException($"Failed parsing \"{filePath}\".", ex);
+ line = line.Replace("href=\"/", "href=\"https://docs.microsoft.com/");
+ line = InlineCodeTag.Replace(line, match => $"{match.Groups[1].Value}");
+ return line;
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new ApplicationException($"Failed parsing \"{filePath}\".", ex);
+ }
+ }
+
+ private int AnalyzeEnums(ConcurrentDictionary results, ConcurrentDictionary<(string MethodName, string ParameterName, string HelpLink), DocEnum> parameterEnums, ConcurrentDictionary<(string MethodName, string ParameterName, string HelpLink), DocEnum> fieldEnums)
+ {
+ var uniqueEnums = new Dictionary>();
+ var constantsDocs = new Dictionary>();
+
+ void Collect(ConcurrentDictionary<(string MethodName, string ParameterName, string HelpLink), DocEnum> enums, bool isMethod)
+ {
+ foreach (var item in enums)
+ {
+ if (!uniqueEnums.TryGetValue(item.Value, out List<(string MethodName, string ParameterName, string HelpLink, bool IsMethod)>? list))
+ {
+ uniqueEnums.Add(item.Value, list = new());
+ }
+
+ list.Add((item.Key.MethodName, item.Key.ParameterName, item.Key.HelpLink, isMethod));
+
+ foreach (KeyValuePair enumValue in item.Value.Members)
+ {
+ if (enumValue.Value.Doc is not null)
+ {
+ if (!constantsDocs.TryGetValue(enumValue.Key, out List<(string MethodName, string HelpLink, string Doc)>? values))
+ {
+ constantsDocs.Add(enumValue.Key, values = new());
+ }
+
+ values.Add((item.Key.MethodName, item.Key.HelpLink, enumValue.Value.Doc));
+ }
+ }
}
}
- private class YamlSectionReader : TextReader
+ Collect(parameterEnums, isMethod: true);
+ Collect(fieldEnums, isMethod: false);
+
+ foreach (var item in constantsDocs)
{
- private readonly StreamReader fileReader;
- private bool firstLineRead;
- private bool lastLineRead;
+ // Sort by API name to make results more deterministic.
+ item.Value.Sort();
- internal YamlSectionReader(StreamReader fileReader)
+ var docNode = new ApiDetails
{
- this.fileReader = fileReader;
+ Description = item.Value[0].Doc,
+ };
+
+ // If the documentation varies across methods, just link to each document.
+ bool differenceDetected = false;
+ for (int i = 1; i < item.Value.Count; i++)
+ {
+ if (item.Value[i].Doc != docNode.Description)
+ {
+ differenceDetected = true;
+ break;
+ }
}
- public override string? ReadLine()
+ if (differenceDetected)
{
- if (this.lastLineRead)
- {
- return null;
- }
-
- if (!this.firstLineRead)
- {
- Expect("---", this.fileReader.ReadLine());
- this.firstLineRead = true;
- }
-
- string? line = this.fileReader.ReadLine();
- if (line == "---")
- {
- this.lastLineRead = true;
- return null;
- }
-
- return line;
+ docNode.Description = "Documentation varies per use. Refer to each: " + string.Join(", ", item.Value.Select(v => @$"{v.MethodOrStructName}")) + ".";
+ }
+ else
+ {
+ docNode.HelpLink = new Uri(item.Value[0].HelpLink);
}
- protected override void Dispose(bool disposing)
+ results.TryAdd(item.Key, docNode);
+ }
+
+ if (this.EmitEnums)
+ {
+ string enumDirectory = Path.GetDirectoryName(this.outputPath) ?? throw new InvalidOperationException("Unable to determine where to write enums.");
+ Directory.CreateDirectory(enumDirectory);
+ using var enumsJsonStream = File.OpenWrite(Path.Combine(enumDirectory, "enums.json"));
+ using var writer = new Utf8JsonWriter(enumsJsonStream, new JsonWriterOptions { Indented = true });
+ writer.WriteStartArray();
+
+ foreach (KeyValuePair> item in uniqueEnums)
{
- if (disposing)
+ writer.WriteStartObject();
+
+ if (item.Key.GetRecommendedName(item.Value) is string enumName)
{
- this.fileReader.Dispose();
+ writer.WriteString("name", enumName);
}
- base.Dispose(disposing);
+ writer.WriteBoolean("flags", item.Key.IsFlags);
+
+ writer.WritePropertyName("members");
+ writer.WriteStartArray();
+ foreach (var member in item.Key.Members)
+ {
+ writer.WriteStartObject();
+ writer.WriteString("name", member.Key);
+ if (member.Value.Value is ulong value)
+ {
+ writer.WriteString("value", value.ToString(CultureInfo.InvariantCulture));
+ }
+
+ writer.WriteEndObject();
+ }
+
+ writer.WriteEndArray();
+
+ writer.WritePropertyName("uses");
+ writer.WriteStartArray();
+ foreach (var (methodName, parameterName, helpLink, isMethod) in item.Value)
+ {
+ writer.WriteStartObject();
+
+ int periodIndex = methodName.IndexOf('.', StringComparison.Ordinal);
+ string? iface = periodIndex >= 0 ? methodName[..periodIndex] : null;
+ string name = periodIndex >= 0 ? methodName[(periodIndex + 1)..] : methodName;
+
+ if (iface is not null)
+ {
+ writer.WriteString("interface", iface);
+ }
+
+ writer.WriteString(isMethod ? "method" : "struct", name);
+ writer.WriteString(isMethod ? "parameter" : "field", parameterName);
+
+ writer.WriteEndObject();
+ }
+
+ writer.WriteEndArray();
+ writer.WriteEndObject();
+ }
+
+ writer.WriteEndArray();
+ }
+
+ return constantsDocs.Count;
+ }
+
+ private class YamlSectionReader : TextReader
+ {
+ private readonly StreamReader fileReader;
+ private bool firstLineRead;
+ private bool lastLineRead;
+
+ internal YamlSectionReader(StreamReader fileReader)
+ {
+ this.fileReader = fileReader;
+ }
+
+ public override string? ReadLine()
+ {
+ if (this.lastLineRead)
+ {
+ return null;
+ }
+
+ if (!this.firstLineRead)
+ {
+ Expect("---", this.fileReader.ReadLine());
+ this.firstLineRead = true;
+ }
+
+ string? line = this.fileReader.ReadLine();
+ if (line == "---")
+ {
+ this.lastLineRead = true;
+ return null;
+ }
+
+ return line;
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ this.fileReader.Dispose();
+ }
+
+ base.Dispose(disposing);
+ }
+
+ private static void Expect(string? expected, string? actual)
+ {
+ if (expected != actual)
+ {
+ throw new InvalidOperationException($"Expected: \"{expected}\" but read: \"{actual}\".");
}
}
}
diff --git a/apidocs/ScrapeDocs/Properties/launchSettings.json b/apidocs/ScrapeDocs/Properties/launchSettings.json
new file mode 100644
index 00000000..028afed1
--- /dev/null
+++ b/apidocs/ScrapeDocs/Properties/launchSettings.json
@@ -0,0 +1,8 @@
+{
+ "profiles": {
+ "ScrapeDocs": {
+ "commandName": "Project",
+ "commandLineArgs": "../../../ext/Virtualization-Documentation/virtualization/api/hcs/Reference ../../../bin/Debug/apidocs.msgpack"
+ }
+ }
+}
\ No newline at end of file
diff --git a/apidocs/ScrapeDocs/ScrapeDocs.csproj b/apidocs/ScrapeDocs/ScrapeDocs.csproj
index 2e0b68a4..2420dbbc 100644
--- a/apidocs/ScrapeDocs/ScrapeDocs.csproj
+++ b/apidocs/ScrapeDocs/ScrapeDocs.csproj
@@ -7,13 +7,21 @@
false
+
+ 10.0
+
+
+
+ 10.0
+
+
-
+
diff --git a/apidocs/version.json b/apidocs/version.json
index 64175808..3ff5ac27 100644
--- a/apidocs/version.json
+++ b/apidocs/version.json
@@ -2,9 +2,10 @@
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
"inherit": true,
"version": "0.1-alpha",
- "versionHeightOffset": 0, // manually +1 each time the ext/sdk-api submodule tree is updated
+ "versionHeightOffset": 2, // manually +1 each time the ext/sdk-api submodule tree is updated
"pathFilters": [
".",
- "../ext/sdk-api" // doesn't work yet: https://github.com/dotnet/Nerdbank.GitVersioning/issues/625
+ "../ext/sdk-api", // doesn't work yet: https://github.com/dotnet/Nerdbank.GitVersioning/issues/625
+ "../ext/win32" // doesn't work yet: https://github.com/dotnet/Nerdbank.GitVersioning/issues/625
]
}
diff --git a/azure-pipelines-apidocs.yml b/azure-pipelines-apidocs.yml
new file mode 100644
index 00000000..b054858e
--- /dev/null
+++ b/azure-pipelines-apidocs.yml
@@ -0,0 +1,135 @@
+trigger:
+ branches:
+ include:
+ - main
+ paths:
+ include:
+ - apidocs
+ batch: true
+
+pr:
+ branches:
+ include:
+ - main
+ paths:
+ include:
+ - apidocs
+
+variables:
+ BuildConfiguration: Release
+
+jobs:
+- job: build_docs
+ displayName: Build API docs
+ pool:
+ vmImage: ubuntu-20.04
+ steps:
+ - checkout: self
+ clean: true
+ submodules: recursive
+ - task: UseDotNet@2
+ displayName: ⚙ Install .NET SDK
+ inputs:
+ packageType: sdk
+ useGlobalJson: true
+
+ # ESRP Authenticode sign package DLLs
+ - task: UseDotNet@2
+ displayName: ⚙ Install .NET Core 2.1.x
+ inputs:
+ packageType: runtime
+ version: 2.1.x
+ - powershell: dotnet tool update --global nbgv
+ displayName: ⚙ Install nbgv
+ - script: dotnet build -c $(BuildConfiguration)
+ displayName: 🏭 dotnet build
+ workingDirectory: apidocs
+ - task: EsrpCodeSigning@1
+ displayName: ✒ Assembly sign
+ inputs:
+ ConnectedServiceName: Xlang Code Signing
+ FolderPath: $(System.DefaultWorkingDirectory)/bin/$(BuildConfiguration)/netstandard2.0
+ Pattern: '*.dll'
+ signConfigType: inlineSignParams
+ inlineOperation: |
+ [
+ {
+ "keyCode": "CP-230012",
+ "operationSetCode": "SigntoolSign",
+ "parameters": [
+ {
+ "parameterName": "OpusName",
+ "parameterValue": "Microsoft"
+ },
+ {
+ "parameterName": "OpusInfo",
+ "parameterValue": "http://www.microsoft.com"
+ },
+ {
+ "parameterName": "PageHash",
+ "parameterValue": "/NPH"
+ },
+ {
+ "parameterName": "FileDigest",
+ "parameterValue": "/fd sha256"
+ },
+ {
+ "parameterName": "TimeStamp",
+ "parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
+ }
+ ],
+ "toolName": "signtool.exe",
+ "toolVersion": "6.2.9304.0"
+ }
+ ]
+ SessionTimeout: 60
+ MaxConcurrency: 50
+ MaxRetryAttempts: 5
+ condition: and(succeeded(), eq(variables['SignFiles'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
+ - script: dotnet pack Microsoft.Windows.SDK.Win32Docs --no-build -c $(BuildConfiguration) -p:BuildProjectReferences=false
+ displayName: 📦 dotnet pack
+ workingDirectory: apidocs
+ - task: EsrpCodeSigning@1
+ displayName: ✒ NuGet sign
+ inputs:
+ ConnectedServiceName: Xlang Code Signing
+ FolderPath: $(System.DefaultWorkingDirectory)/bin/Packages/$(BuildConfiguration)/NuGet
+ Pattern: '*.nupkg'
+ signConfigType: inlineSignParams
+ inlineOperation: |
+ [
+ {
+ "KeyCode" : "CP-401405",
+ "OperationCode" : "NuGetSign",
+ "Parameters" : {},
+ "ToolName" : "sign",
+ "ToolVersion" : "1.0"
+ },
+ {
+ "KeyCode" : "CP-401405",
+ "OperationCode" : "NuGetVerify",
+ "Parameters" : {},
+ "ToolName" : "sign",
+ "ToolVersion" : "1.0"
+ }
+ ]
+ SessionTimeout: 60
+ MaxConcurrency: 50
+ MaxRetryAttempts: 5
+ condition: and(succeeded(), eq(variables['SignFiles'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
+ - publish: bin/Packages/$(BuildConfiguration)/NuGet
+ artifact: ApiDocsNuGetPackages
+ displayName: 📢 Publish package
+ - publish: bin/$(BuildConfiguration)/netstandard2.0/documentationMappings.rsp
+ artifact: ApiDocsMetadata
+ displayName: 📢 Publish metadata
+ # # There's a problem on microsoft.visualstudio.com that requires the guid instead of NuGetCommand@2
+ # # Don't publish if we're using pre-generated source
+ # - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
+ # displayName: 📤 NuGet push
+ # inputs:
+ # command: push
+ # packagesToPush: $(System.DefaultWorkingDirectory)/bin/Packages/$(BuildConfiguration)/NuGet/*.nupkg
+ # publishVstsFeed: c1408dcb-1833-4ae4-9af5-1a891a12cc3c
+ # allowPackageConflicts: true
+ # condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 2d3948da..8df35e38 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,10 +1,21 @@
trigger:
- batch: true
branches:
include:
- main
+ paths:
+ exclude:
+ - apidocs
+ - docs
+ batch: true
+
pr:
-- main
+ branches:
+ include:
+ - main
+ paths:
+ exclude:
+ - apidocs
+ - docs
variables:
BuildConfiguration: Release
@@ -169,7 +180,7 @@ jobs:
inputs:
ConnectedServiceName: 'Xlang Code Signing'
FolderPath: '$(Build.SourcesDirectory)\bin'
- Pattern: 'Windows.Win32.Interop.dll,Windows.Win32.winmd'
+ Pattern: 'Windows.Win32.winmd'
signConfigType: 'inlineSignParams'
inlineOperation: |
[
@@ -320,116 +331,4 @@ jobs:
packagesToPush: '$(OutputPackagesDir)/**/*.nupkg;!$(OutputPackagesDir)/**/*.symbols.nupkg'
publishVstsFeed: 'c1408dcb-1833-4ae4-9af5-1a891a12cc3c'
allowPackageConflicts: true
- condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
-
-- job: build_docs
- displayName: Build API docs
- pool:
- vmImage: ubuntu-20.04
- steps:
- - checkout: self
- clean: true
- submodules: recursive
- - task: UseDotNet@2
- displayName: ⚙ Install .NET SDK
- inputs:
- packageType: sdk
- useGlobalJson: true
-
- # ESRP Authenticode sign package DLLs
- - task: UseDotNet@2
- displayName: ⚙ Install .NET Core 2.1.x
- inputs:
- packageType: runtime
- version: 2.1.x
- - powershell: dotnet tool update --global nbgv
- displayName: ⚙ Install nbgv
- - script: dotnet build -c $(BuildConfiguration)
- displayName: 🏭 dotnet build
- workingDirectory: apidocs
- - task: EsrpCodeSigning@1
- displayName: ✒ Assembly sign
- inputs:
- ConnectedServiceName: Xlang Code Signing
- FolderPath: $(System.DefaultWorkingDirectory)/bin/$(BuildConfiguration)/netstandard2.0
- Pattern: '*.dll'
- signConfigType: inlineSignParams
- inlineOperation: |
- [
- {
- "keyCode": "CP-230012",
- "operationSetCode": "SigntoolSign",
- "parameters": [
- {
- "parameterName": "OpusName",
- "parameterValue": "Microsoft"
- },
- {
- "parameterName": "OpusInfo",
- "parameterValue": "http://www.microsoft.com"
- },
- {
- "parameterName": "PageHash",
- "parameterValue": "/NPH"
- },
- {
- "parameterName": "FileDigest",
- "parameterValue": "/fd sha256"
- },
- {
- "parameterName": "TimeStamp",
- "parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
- }
- ],
- "toolName": "signtool.exe",
- "toolVersion": "6.2.9304.0"
- }
- ]
- SessionTimeout: 60
- MaxConcurrency: 50
- MaxRetryAttempts: 5
- condition: and(succeeded(), eq(variables['SignFiles'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
- - script: dotnet pack Microsoft.Windows.SDK.Win32Docs --no-build -c $(BuildConfiguration) -p:BuildProjectReferences=false
- displayName: 📦 dotnet pack
- workingDirectory: apidocs
- - task: EsrpCodeSigning@1
- displayName: ✒ NuGet sign
- inputs:
- ConnectedServiceName: Xlang Code Signing
- FolderPath: $(System.DefaultWorkingDirectory)/bin/Packages/$(BuildConfiguration)/NuGet
- Pattern: '*.nupkg'
- signConfigType: inlineSignParams
- inlineOperation: |
- [
- {
- "KeyCode" : "CP-401405",
- "OperationCode" : "NuGetSign",
- "Parameters" : {},
- "ToolName" : "sign",
- "ToolVersion" : "1.0"
- },
- {
- "KeyCode" : "CP-401405",
- "OperationCode" : "NuGetVerify",
- "Parameters" : {},
- "ToolName" : "sign",
- "ToolVersion" : "1.0"
- }
- ]
- SessionTimeout: 60
- MaxConcurrency: 50
- MaxRetryAttempts: 5
- condition: and(succeeded(), eq(variables['SignFiles'], 'true'), ne(variables['Build.Reason'], 'PullRequest'))
- - publish: bin/Packages/$(BuildConfiguration)/NuGet
- artifact: ApiDocsNuGetPackages
- displayName: 📢 Publish package
- # There's a problem on microsoft.visualstudio.com that requires the guid instead of NuGetCommand@2
- # Don't publish if we're using pre-generated source
- - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
- displayName: 📤 NuGet push
- inputs:
- command: push
- packagesToPush: $(System.DefaultWorkingDirectory)/bin/Packages/$(BuildConfiguration)/NuGet/*.nupkg
- publishVstsFeed: c1408dcb-1833-4ae4-9af5-1a891a12cc3c
- allowPackageConflicts: true
- condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
+ condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
\ No newline at end of file
diff --git a/designs/metadatasdk-overall.md b/designs/metadatasdk-overall.md
deleted file mode 100644
index 431a3a8c..00000000
--- a/designs/metadatasdk-overall.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# Win32 Metadata SDK Overview
-
-## Goals
-
-Provide the public surface area of the Win32 SDK in a language-agnostic format that can be projected into other languages such as modern C++, C# and Rust.
-
-## Motivation
-
-The public API surface area of Win32 is described with C/C++ headers. These are not easily parseable for those who want to make an interop layer from different languages to Win32 APIs. As other languages gain in popularity, we would like to meet developers where they're at and provide a way for them to make use of Win32 APIs in languages other than C/C++. Once we are able to describe the Win32 API surface in metadata, we can create language projections so developers can call Win32 APIs from those languages.
-
-## Metadata Format
-
-### ECMA-335
-
-We have chosen to use [ECMA-335](http://www.ecma-international.org/publications/standards/Ecma-335.htm) to represent Win32 metdata. ECMA-335 is the binary format used for .NET binaries.
-
-#### Pros
-- This format is currently used for WinRT metadata (.winmd files) and is already consumed by [C++/WinRT](https://github.com/Microsoft/cppwinrt) and [Rust WinRT](https://github.com/Microsoft/cppwinrt) in order to project WinRT APIs. These two projects already have tooling to parse and consume ECMA-335 binaries, so consuming ECMA-335 metadata for Win32 APIs should be less work than using a completely new format.
-- Managed code was originally designed to work well with Win32 interop, so most of the Win32 concepts we need expressed in metadata should already exist.
-- It is trivial to write C# code that uses reflection to examine the metadata from a C# binary.
-
-#### Cons
-- ECMA-335 can't express all C constructs, such as bit fields or anonymous structs. We do our best to emit metadata that can be intepreted back to what the original headers intended.
-
-## Architecture
-
-### Scraper/Emitter: ClangSharp
-A tool that can accurately scrape Win32 C/C++ headers for the information needed to construct language-agnostic metadata. It should be able to capture:
-
-- API functions and which DLL exports each function
-- structs, including unions and embedded structs, packing information, and bit fields
-- Function pointers for APIs that use callback semantics
-- enums
-- In/out/optional semantics (like SAL) for each parameter
-
-### Metadata emitter
-The emitter will take the output of the scraper and emit metadata. Currently there is information we need emitted that isn't in the current Win32 headers. This could be added to the headers in the future, but for now the emitter will need additional input:
-
-- Which functions call `SetLastError`.
-- Which parameters and fields that represent Win32 resources (e.g. handles and GDI objects) are logically grouped together and which Win32 function can be called to release them (e.g. file handles vs. registry handles vs. GDI objects).
-- Many functions use a non-enum type, like a DWORD, and then use many #define statements to describe the possible values that function can recognize for tht parameter.
-
-### Language projections
-
-We will need individual tools that turn the ABI represented in metadata into language-specific projections.
-
-- Modern C++ -- someone might ask, why would you need this when you can just use the C-style APIs? This projection could use RAII types for Win32 resources (e.g. handles and GDI objects). It could also potentially use exceptions by interpreting the C-style return codes.
-- Rust
-- C# -- we would expect this to use SafeHandle abstractions for Win32 resources (e.g. handles and GDI objects), string objects for strings instead of char*/wchar*, etc.
\ No newline at end of file
diff --git a/docs/architecture.md b/docs/architecture.md
new file mode 100644
index 00000000..75b92f41
--- /dev/null
+++ b/docs/architecture.md
@@ -0,0 +1,76 @@
+# Architecture
+
+The [Scraper](#scraper) layer is responsible for traversing header files and generating C# files.
+
+The [Emitter](#emitter) layer is responsible for traversing the generated C# files and generating Windows.Win32.winmd.
+
+The [WinmdGenerator](#winmdgenerator) packages the Scraper and Emitter tooling into an [MSBuild project SDK](https://learn.microsoft.com/visualstudio/msbuild/how-to-use-project-sdk) that acts as the interface for converting C/C++ projects to winmds for use with language projections.
+
+## Scraper
+
+The Scraper layer is responsible for traversing header files and generating C# files.
+
+### ClangSharp
+
+[ClangSharp](https://github.com/dotnet/ClangSharp) traverses header files as defined within [Partitions](../generation/WinSDK/Partitions) and generates C# files within [generated](../generation/WinSDK/obj/generated).
+
+The base settings passed into ClangSharp are defined within [baseSettings.rsp](../sources/GeneratorSdk/tools/assets/scraper/baseSettings.rsp) along with adjacent architecture-specific response files.
+
+Project-specific settings are included within [scraper.settings.rsp](../generation/WinSDK/scraper.settings.rsp) along with adjacent domain-specific response files like [libMappings.rsp](../generation/WinSDK/libMappings.rsp), [supportedOS.rsp](../generation/WinSDK/supportedOS.rsp), and [WithSetLastError.rsp](../generation/WinSDK/WithSetLastError.rsp).
+
+[scraper.header.txt](../generation/WinSDK/scraper.header.txt) includes using statements that are added to the generated C# files to resolve cross-namespace dependencies.
+
+### ConstantsScraper
+
+[ConstantsScraper](../sources/MetadataUtils/ConstantsScraper.cs) walks the header files included within [Partitions](../generation/WinSDK/Partitions) and generates C# constants based on regular expression pattern matching.
+
+The base settings passed into ConstantsScraper are defined within [baseSettings.ConstantsScraper.rsp](../sources/GeneratorSdk/tools/assets/scraper/baseSettings.ConstantsScraper.rsp).
+
+Project-specific settings are included within [ConstantsScraper.settings.rsp](../generation/WinSDK/ConstantsScraper.settings.rsp).
+
+[ConstantsScraper.header.txt](../generation/WinSDK/ConstantsScraper.header.txt) includes using statements that are added to the generated C# files to resolve cross-namespace dependencies.
+
+## Emitter
+
+The Emitter layer is responsible for traversing the generated C# files and generating Windows.Win32.winmd.
+
+[ECMA-335](https://www.ecma-international.org/publications-and-standards/standards/ecma-335/) defines the format of winmd files. ECMA-335 is the binary format used by .NET binaries.
+
+* WinRT winmd files use this format
+* Many Win32 concepts already supported from .NET interop
+* Reflection-based APIs provide a simple interface for parsing the metadata directly
+* Reflection-based APIs provide a simple means to convert winmd to other formats like JSON
+
+The Emitter layer augments ECMA-335 by applying additional patterns and custom attributes that allow language projections to understand Win32-specific semantics and provide an improved developer experience. See [PROJECTIONS.md](projections.md).
+
+### ClangSharpSourceCompilation
+
+This class orchestrates the manipulation and compilation of the generated C# files.
+
+Project-specific settings are included within [emitter.settings.rsp](../generation/WinSDK/emitter.settings.rsp).
+
+ClangSharp was designed to create C#-compilable code from Win32 headers. Because its goal is to create C#-compilable code while also preserving pointers, it can't always express things in the way we would like for metadata, which is meant to be language-agnostic. For example, the CLR will not allow managed types such as "interface" or "delegate" to be on an unsafe struct (a struct that gets pointed to or includes pointers). This means ClangSharp emits COM objects as structs instead of interfaces, so that a COM object can exist on an unsafe struct. A .winmd does not have such restrictions, so ClangSharpSourceCompilation handles manipulating the generated CLR-compliant C# files into the language-agnostic metadata representation.
+
+#### NamesToCorrectNamespacesMover
+
+This class moves APIs to namespaces based on [requiredNamespacesForNames.rsp](../generation/WinSDK/requiredNamespacesForNames.rsp).
+
+#### MetadataSyntaxTreeCleaner
+
+This class visits each node in the C# abstract syntax trees (AST) and applies modifications such as remaps and custom attributes.
+
+#### CrossArchTreeMerger
+
+This class handles merging C# files from multiple architectures to identify architecture-specific APIs.
+
+### ClangSharpSourceWinmdGenerator
+
+This class walks the final C# abstract syntax trees (AST) and writes each node to Windows.Win32.winmd.
+
+## WinmdGenerator
+
+The WinmdGenerator packages the Scraper and Emitter tooling into an [MSBuild project SDK](https://learn.microsoft.com/visualstudio/msbuild/how-to-use-project-sdk) that acts as the interface for converting C/C++ projects to winmds for use with language projections.
+
+The WinmdGenerator tooling is published to nuget.org as [Microsoft.Windows.WinmdGenerator](https://www.nuget.org/packages/Microsoft.Windows.WinmdGenerator/). As an MSBuild project SDK, it enables a no-code project file based configuration interface for generating winmd files from arbitrary C/C++ projects.
+
+[win32metadata](https://github.com/microsoft/win32metadata/blob/main/generation/WinSDK/Windows.Win32.proj) and [wdkmetadata](https://github.com/microsoft/wdkmetadata/blob/main/generation/WDK/Windows.Wdk.proj) both demonstrate WinmdGenerator project files. The WinmdGenerator version can be controlled as described [here](https://learn.microsoft.com/visualstudio/msbuild/how-to-use-project-sdk#reference-a-project-sdk).
\ No newline at end of file
diff --git a/docs/faq.md b/docs/faq.md
index c5738efe..4ff2facd 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -4,10 +4,10 @@
A. Producing metadata for Win32 APIs enables programmatic generation of language projections with maximum API coverage and minimal maintenance. Language projections produced from this metadata will make Win32 APIs more accessible from more languages with improved API coverage and a better developer experience.
**Q. How do I use the metadata to call Win32 APIs from my preferred language?**
-A. Most developers will not consume the metadata directly and will instead use [language projections](projections.md) that themselves consume the metadata and project the APIs into the idiomatic patterns of the languages. We intend to support [C#](https://github.com/microsoft/CsWin32), [C++](https://github.com/microsoft/cppwin32), and [Rust](https://github.com/microsoft/windows-rs) projections initially with plans to coordinate with the community to support additional language projections based on demand. Language projections will be developed independently of the metadata tooling and will live in their own repos.
+A. Most developers will not consume the metadata directly and will instead use [language projections](projections.md) that themselves consume the metadata and project the APIs into the idiomatic patterns of the languages. We intend to support [C#](https://github.com/microsoft/CsWin32) and [Rust](https://github.com/microsoft/windows-rs) projections initially with plans to coordinate with the community to support additional language projections based on demand. Language projections will be developed independently of the metadata tooling and will live in their own repos.
**Q. Can I generate metadata for my own C and C++ APIs to make them available in more languages?**
-A. Yes. The same tooling we use to produce metadata for Win32 APIs can be used to produce metadata for your own APIs. You can use the [Microsoft.Windows.WinmdGenerator](https://www.nuget.org/packages/Microsoft.Windows.WinmdGenerator/) NuGet package produced from this repository to produce a winmd file for your APIs which can then be used with language projections like [C#/Win32](https://github.com/microsoft/CsWin32) and [Rust](https://github.com/microsoft/windows-rs). See the [Windows SDK](../generation/WinSDK) and [WinmdGenerator samples](../sources/GeneratorSdk/samples) in this repository for example usage of the WinmdGenerator. Also see https://withinrafael.com/2023/01/18/generating-metadata-for-the-windows-crate for more details and an example of producing metadata and associated Rust bindings for the C++ DIA SDK.
+A. Yes. The same tooling we use to produce metadata for Win32 APIs can be used to produce metadata for your own APIs. You can use the [Microsoft.Windows.WinmdGenerator](https://www.nuget.org/packages/Microsoft.Windows.WinmdGenerator/) NuGet package produced from this repository to produce a winmd file for your APIs which can then be used with language projections like [C#/Win32](https://github.com/microsoft/CsWin32) and [Rust](https://github.com/microsoft/windows-rs). See [ARCHITECTURE.md](architecture.md#winmdgenerator) and https://withinrafael.com/2023/01/18/generating-metadata-for-the-windows-crate for more details and example usage.
**Q. Can .NET code reference the metadata binary and call its APIs directly?**
A. No. While the metadata binary is compiled based on the ECMA-335 standard, it does not contain the same attributes that the .NET runtime requires to successfully P/Invoke into the functions exported by Windows. .NET code should use an appropriate language projection like [C#/Win32](https://github.com/microsoft/CsWin32).
diff --git a/docs/projections.md b/docs/projections.md
index 4ef7d674..077d8a7d 100644
--- a/docs/projections.md
+++ b/docs/projections.md
@@ -22,6 +22,7 @@ To call Win32 APIs from the language of your choice based off of this metadata,
* Beef - https://github.com/jayrulez/Win32-Beef (Community)
* D - https://github.com/rumbu13/windows-d (Community)
* Dart - https://github.com/timsneath/win32 (Community)
+* Python - https://github.com/ynkdir/py-win32more (Community)
* Zig - https://github.com/marlersoft/zigwin32 (Community)
Note: Community projects are listed here to help with discovery but are not officially validated by Microsoft.
@@ -43,22 +44,70 @@ Below are scenarios that are represented in the metadata and that language proje
DISCLAIMER: This list is a work in progress and is not yet comprehensive.
* Namespaces allow users to import only the APIs they require and/or to control any code generation that is producing language bindings
-* Entry points are assumed to be the same as function names unless the [EntryPoint](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.entrypoint) property of the `DllImport` attribute is specified
-* Calling convention is captured in the [CallingConvention](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.callingconvention) property of the `DllImport` attribute
-* typedefs (e.g. `BCRYPT_KEY_HANDLE`) are represented as CLR structs with a single field where the `NativeTypedef` attribute is applied to the struct. The type being defined is given by the name of the struct, and the type it is being defined as is the type of the struct field. typedefs can include the attributes `AlsoUsableFor`, `RAIIFree` and `InvalidHandleValue`:
+* The [DllImport](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute) attribute is used to define several properties of a function:
+ * Entry points are assumed to be the same as function names unless the [EntryPoint](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.entrypoint) property is specified
+ * Calling convention is captured in the [CallingConvention](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.callingconvention) property
+ * Whether a function calls `SetLastError` before returning is captured in the [SetLastError](https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportattribute.setlasterror) property
+* Architecture-specific types are represented as types with the same name where each type is decorated with the `[SupportedArchitecture]` attribute indicating the architecture(s) where that type is supported
+* Ansi and Unicode variants of APIs (-A/-W) are decorated with `[Ansi]` and `[Unicode]` attributes, respectively. Projections can choose to expose one set or the other and remove the suffix to declutter Intellisense and emulate the [unsuffixed macros provided by the headers](https://github.com/microsoft/win32metadata/blob/3608e3fff8cfecfef728bcf1811cdea9f1e86a46/generation/WinSDK/RecompiledIdlHeaders/um/synchapi.h#L446-L451). ([#711](https://github.com/microsoft/win32metadata/issues/711))
+* Documentation links are captured in the `[Documentation]` attribute. Rich documentation to power Intellisense can also be loaded from the [Microsoft.Windows.SDK.Win32Docs](https://www.nuget.org/packages/Microsoft.Windows.SDK.Win32Docs/) package which provides a [MessagePack](https://msgpack.org/) dictionary where the keys are API names and the values are [ApiDetails](../apidocs/Microsoft.Windows.SDK.Win32Docs/ApiDetails.cs) objects.
+* Input and output parameters are decorated with `[In]` and `[Out]` attributes. Parameters that are both input and output will contain both attributes. COM output pointer parameters are also decorated with the `[ComOutPtr]` attribute.
+* Optional parameters are decorated with the `[Optional]` attribute. Optional parameters may be `NULL`.
+* Reserved parameters are decorated with the `[Reserved]` attribute. Since reserved parameters always expect a `NULL` value, projections can choose to abstract away these parameters to improve the developer experience.
+* Pointer parameters that represent arrays are decorated with the `[NativeArrayInfo]` attribute that can contain the size of a fixed-length array (`CountConst`), the 0-based index of the parameter that defines the size of the array (`CountParamIndex`), or the struct field name (`CountFieldName`) that defines the size of the array
+* Pointer parameters whose byte size must be specified in another parameter are decorated with the `[MemorySize]` attribute that will contain the 0-based index of the parameter that can be automatically populated with the size of the provided pointer parameter (`BytesParamIndex`) ([#284](https://github.com/microsoft/win32metadata/issues/284))
+* Parameters that accept values from an enum but have conflicting types are decorated with the `[AssociatedEnum]` attribute indicating the enum that may be used with the parameter. The enum must exist in the same namespace as the API. This enables the metadata to preserve the original API definition while allowing projections to improve usability of the API with the enum if they choose. ([#1502](https://github.com/microsoft/win32metadata/issues/1502))
+* Output parameters that must be closed with a specific function are decorated with the `[FreeWith]` attribute
+* Handle parameters that should not be closed are decorated with the `[DoNotRelease]` attribute
+* Handle parameters or return values decorated with `[ReturnsUnownedHandle]` are unowned ([#792](https://github.com/microsoft/win32metadata/issues/792))
+* Handle parameters decorated with `[IgnoreIfReturn]` are undefined in failure scenarios and should be ignored if the value specified by the attribute is returned. Multiple return values are represented by multiple attributes. ([#1312](https://github.com/microsoft/win32metadata/issues/1312))
+* Return value parameters marked with the `_retval_` SAL annotation are decorated with the `[RetVal]` attribute
+* Functions that return multiple success values or return errors as success are decorated with `[CanReturnMultipleSuccessValues]` and `[CanReturnErrorsAsSuccess]` ([#1315](https://github.com/microsoft/win32metadata/issues/1315))
+* Variadic functions contain `__arglist` as the final parameter
+* Agile interfaces are decorated with the `[Agile]` attribute
+* Structs decorated with `[StructSizeField("")]` indicate that `` should be automatically populated with the size of the struct ([#433](https://github.com/microsoft/win32metadata/issues/433))
+ * NOTE: Examples of `""` include `"cbSize"` for a field on the struct or `"StartupInfo.cb"` for a nested field like `StartupInfo.cb` on the `STARTUPINFOEXW` struct
+* Flexible array members at the end of a struct are decorated with `[FlexibleArray]` ([#912](https://github.com/microsoft/win32metadata/issues/912))
+* Native unions are represented as CLR structs whose names follow the pattern `__e__Union` and are decorated with `[StructLayout(LayoutKind.Explicit)]` where all fields are decorated with `[FieldOffset(0)]`. Anonymous unions will use `AnonymousN` in place of `` where `N` is an optional number added to differentiate multiple anonymous unions within the same scope. Named unions will preserve the name in place of ``. Struct fields that refer to these unions use `` for the field names. ([#99](https://github.com/microsoft/win32metadata/issues/99))
+* Scoped enums are decorated with the `[ScopedEnum]` attribute
+* typedefs (e.g. `BCRYPT_KEY_HANDLE`) are represented as CLR structs with a single field where either the `NativeTypedef` or `MetadataTypedef` attribute is applied to the struct. `NativeTypedef` represents typedefs that exist in the Win32 headers while `MetadataTypedef` represents metadata-only typedefs added to improve API usability. Projections can choose to unwrap `MetadataTypedef` structs in order to align with the original header definitions. The type being defined is given by the name of the struct, and the type it is being defined as is the type of the struct field. typedefs can include the attributes `AlsoUsableFor`, `RAIIFree` and `InvalidHandleValue`:
* `AlsoUsableFor` indicates that the type is implicitly convertible to another type (e.g. `BCRYPT_HANDLE`)
- * `RAIIFree` indicates what function should be used to close the handle (e.g. `BCryptDestroyKey`)
+ * `RAIIFree` indicates the default function that should be used to close the handle (e.g. `HANDLE -> CloseHandle`). `RAIIFree` may also be decorated in context on a return value or `[Out]` parameter to indicate a more specific function that should be used to close the handle (e.g. `HeapCreate -> [return: RAIIFree("HeapDestroy")]`).
* `InvalidHandleValue` attributes indicate invalid handle values (e.g. `0L`)
- * NOTE: `BCRYPT_KEY_HANDLE` demonstrates all of these attributes.
-* Native unions are represented as CLR structs with an explicit layout where all fields contain an offset of 0
-* Array parameters are qualified with the `[NativeArrayInfo]` attribute that can contain the size of a fixed-length array (`CountConst`), the 0-based index of the parameter that defines the size of the array (`CountParamIndex`), or the struct field name (`CountFieldName`) that defines the size of the array
-* String constants are considered UTF-16 unless decorated with the `[NativeEncoding("ansi")]` attribute ([#1008](https://github.com/microsoft/win32metadata/issues/1008))
+ * NOTE: `AlsoUsableFor` and `RAIIFree` APIs exist in the same namespace as the typedef.
+* Constant variables marked with the `const` keyword are decorated with the `[Const]` attribute
* Struct initializers are defined as constants where the type of the constant is the struct and the initializer string is contained in the `[Constant]` attribute ([#1337](https://github.com/microsoft/win32metadata/issues/1337))
* NOTE: `SECURITY_NT_AUTHORITY` and all `DEVPROPKEY` and `PROPERTYKEY` constants demonstrate struct initializers.
+* String constants are considered UTF-16 unless decorated with the `[NativeEncoding("ansi")]` attribute ([#1008](https://github.com/microsoft/win32metadata/issues/1008))
* Inline functions that return constants are decorated with the `[Constant]` attribute. Projections need to implement these functions themselves to return the constant value. The constant value should be cast to the appropriate type based on the return value of the function. ([#436](https://github.com/microsoft/win32metadata/issues/436))
-* `[StructSizeField("")]` on a struct indicates which field of the struct indicates the struct size so that language projections can automatically initialize the field ([#433](https://github.com/microsoft/win32metadata/issues/433))
- * NOTE: Examples of `""` include `"cbSize"` for a field on the struct or `"StartupInfo.cb"` for a nested field like `StartupInfo.cb` on the `STARTUPINFOEXW` struct
-* `[CanReturnAlternateSuccessCodes]` and `[CanReturnErrorsAsSuccess]` attributes add semantic information about the possible return values of a function ([#1315](https://github.com/microsoft/win32metadata/issues/1315))
-* `[ReturnsUnownedHandle]` on a return value or out parameter indicates the returned handle is unowned ([#792](https://github.com/microsoft/win32metadata/issues/792))
DISCLAIMER: This list is a work in progress and is not yet comprehensive.
+
+### Examples
+
+* [Windows.Win32.UI.WindowsAndMessaging.SetWindowLongPtrW](https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowlongptrw)
+ * DllImport attribute
+ * SupportedArchitecture attribute
+ * Documentation attribute
+ * NativeTypedef parameter (HWND)
+ * Enum parameter (WINDOW_LONG_PTR_INDEX)
+* [Windows.Win32.Security.Cryptography.BcryptEncrypt](https://learn.microsoft.com/windows/win32/api/bcrypt/nf-bcrypt-bcryptencrypt)
+ * In attribute
+ * Out attribute
+ * Optional attribute
+ * MemorySize attribute
+* [Windows.Win32.Devices.DeviceAndDriverInstallation.SetupWriteTextLog](https://learn.microsoft.com/windows/win32/api/setupapi/nf-setupapi-setupwritetextlog)
+ * Variadic functions
+* [Windows.Win32.System.Diagnostics.Debug.CONTEXT](https://learn.microsoft.com/windows/win32/api/winnt/ns-winnt-context)
+ * SupportedArchitecture attribute
+* [Windows.Win32.Devices.Display.DISPLAYCONFIG_VIDEO_SIGNAL_INFO](https://docs.microsoft.com/windows/win32/api/wingdi/ns-wingdi-displayconfig_video_signal_info)
+ * Struct and union fields
+ * Bitfields
+* [Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW](https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw)
+ * StructSizeField attribute
+ * Delegate fields (WNDPROC)
+* [Windows.Win32.Security.Cryptography.BCRYPT_KEY_HANDLE](https://learn.microsoft.com/windows/win32/api/bcrypt/nf-bcrypt-bcryptimportkey)
+ * NativeTypedef
+ * AlsoUsableFor attribute
+ * RAIIFree attribute
+ * InvalidHandleValue attribute
diff --git a/ext/Console-Docs b/ext/Console-Docs
new file mode 160000
index 00000000..d85d8192
--- /dev/null
+++ b/ext/Console-Docs
@@ -0,0 +1 @@
+Subproject commit d85d81928ac3df56565acc32a1ea1db80a3fb6c6
diff --git a/ext/Virtualization-Documentation b/ext/Virtualization-Documentation
new file mode 160000
index 00000000..e870bc36
--- /dev/null
+++ b/ext/Virtualization-Documentation
@@ -0,0 +1 @@
+Subproject commit e870bc36bcec2af94ca4395debddb794b4626741
diff --git a/ext/office-developer-client-docs b/ext/office-developer-client-docs
new file mode 160000
index 00000000..ff564676
--- /dev/null
+++ b/ext/office-developer-client-docs
@@ -0,0 +1 @@
+Subproject commit ff5646762963c1b28ab761a6e5a98b53c3193b6a
diff --git a/ext/sdk-api b/ext/sdk-api
index c2511992..a91766db 160000
--- a/ext/sdk-api
+++ b/ext/sdk-api
@@ -1 +1 @@
-Subproject commit c251199235b283ada4e0c5afe352077f7453a680
+Subproject commit a91766dbffc8eb3a87c4f515e9163de36c646c67
diff --git a/ext/sql-docs b/ext/sql-docs
new file mode 160000
index 00000000..898a6b2d
--- /dev/null
+++ b/ext/sql-docs
@@ -0,0 +1 @@
+Subproject commit 898a6b2dec1e78adedf03c0f577f870d4e8b0692
diff --git a/ext/win32 b/ext/win32
new file mode 160000
index 00000000..b10476b3
--- /dev/null
+++ b/ext/win32
@@ -0,0 +1 @@
+Subproject commit b10476b3ba29674f15eeca0915bb5d461d2f4a4b
diff --git a/generation/WinSDK/AdditionalHeaders/corprof.h b/generation/WinSDK/AdditionalHeaders/corprof.h
index 35758a63..878c03dc 100644
--- a/generation/WinSDK/AdditionalHeaders/corprof.h
+++ b/generation/WinSDK/AdditionalHeaders/corprof.h
@@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.00.0603 */
+ /* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the version is high enough to compile this file*/
@@ -24,7 +23,7 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of
-#endif // __RPCNDR_H_VERSION__
+#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
@@ -38,6 +37,14 @@
#pragma once
#endif
+#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__
@@ -103,6 +110,20 @@ typedef interface ICorProfilerCallback9 ICorProfilerCallback9;
#endif /* __ICorProfilerCallback9_FWD_DEFINED__ */
+#ifndef __ICorProfilerCallback10_FWD_DEFINED__
+#define __ICorProfilerCallback10_FWD_DEFINED__
+typedef interface ICorProfilerCallback10 ICorProfilerCallback10;
+
+#endif /* __ICorProfilerCallback10_FWD_DEFINED__ */
+
+
+#ifndef __ICorProfilerCallback11_FWD_DEFINED__
+#define __ICorProfilerCallback11_FWD_DEFINED__
+typedef interface ICorProfilerCallback11 ICorProfilerCallback11;
+
+#endif /* __ICorProfilerCallback11_FWD_DEFINED__ */
+
+
#ifndef __ICorProfilerInfo_FWD_DEFINED__
#define __ICorProfilerInfo_FWD_DEFINED__
typedef interface ICorProfilerInfo ICorProfilerInfo;
@@ -194,6 +215,48 @@ typedef interface ICorProfilerInfo8 ICorProfilerInfo8;
#endif /* __ICorProfilerInfo8_FWD_DEFINED__ */
+#ifndef __ICorProfilerInfo9_FWD_DEFINED__
+#define __ICorProfilerInfo9_FWD_DEFINED__
+typedef interface ICorProfilerInfo9 ICorProfilerInfo9;
+
+#endif /* __ICorProfilerInfo9_FWD_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo10_FWD_DEFINED__
+#define __ICorProfilerInfo10_FWD_DEFINED__
+typedef interface ICorProfilerInfo10 ICorProfilerInfo10;
+
+#endif /* __ICorProfilerInfo10_FWD_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo11_FWD_DEFINED__
+#define __ICorProfilerInfo11_FWD_DEFINED__
+typedef interface ICorProfilerInfo11 ICorProfilerInfo11;
+
+#endif /* __ICorProfilerInfo11_FWD_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo12_FWD_DEFINED__
+#define __ICorProfilerInfo12_FWD_DEFINED__
+typedef interface ICorProfilerInfo12 ICorProfilerInfo12;
+
+#endif /* __ICorProfilerInfo12_FWD_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo13_FWD_DEFINED__
+#define __ICorProfilerInfo13_FWD_DEFINED__
+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;
@@ -226,8 +289,6 @@ extern "C"{
/* interface __MIDL_itf_corprof_0000_0000 */
/* [local] */
-#define CorDB_CONTROL_Profiling "Cor_Enable_Profiling"
-#define CorDB_CONTROL_ProfilingL L"Cor_Enable_Profiling"
#if 0
typedef LONG32 mdToken;
@@ -412,50 +473,50 @@ typedef struct _COR_PRF_METHOD
mdMethodDef methodId;
} COR_PRF_METHOD;
-typedef void __stdcall __stdcall FunctionEnter(
+typedef void FunctionEnter(
FunctionID funcID);
-typedef void __stdcall __stdcall FunctionLeave(
+typedef void FunctionLeave(
FunctionID funcID);
-typedef void __stdcall __stdcall FunctionTailcall(
+typedef void FunctionTailcall(
FunctionID funcID);
-typedef void __stdcall __stdcall FunctionEnter2(
+typedef void FunctionEnter2(
FunctionID funcId,
UINT_PTR clientData,
COR_PRF_FRAME_INFO func,
COR_PRF_FUNCTION_ARGUMENT_INFO *argumentInfo);
-typedef void __stdcall __stdcall FunctionLeave2(
+typedef void FunctionLeave2(
FunctionID funcId,
UINT_PTR clientData,
COR_PRF_FRAME_INFO func,
COR_PRF_FUNCTION_ARGUMENT_RANGE *retvalRange);
-typedef void __stdcall __stdcall FunctionTailcall2(
+typedef void FunctionTailcall2(
FunctionID funcId,
UINT_PTR clientData,
COR_PRF_FRAME_INFO func);
-typedef void __stdcall __stdcall FunctionEnter3(
+typedef void FunctionEnter3(
FunctionIDOrClientID functionIDOrClientID);
-typedef void __stdcall __stdcall FunctionLeave3(
+typedef void FunctionLeave3(
FunctionIDOrClientID functionIDOrClientID);
-typedef void __stdcall __stdcall FunctionTailcall3(
+typedef void FunctionTailcall3(
FunctionIDOrClientID functionIDOrClientID);
-typedef void __stdcall __stdcall FunctionEnter3WithInfo(
+typedef void FunctionEnter3WithInfo(
FunctionIDOrClientID functionIDOrClientID,
COR_PRF_ELT_INFO eltInfo);
-typedef void __stdcall __stdcall FunctionLeave3WithInfo(
+typedef void FunctionLeave3WithInfo(
FunctionIDOrClientID functionIDOrClientID,
COR_PRF_ELT_INFO eltInfo);
-typedef void __stdcall __stdcall FunctionTailcall3WithInfo(
+typedef void FunctionTailcall3WithInfo(
FunctionIDOrClientID functionIDOrClientID,
COR_PRF_ELT_INFO eltInfo);
@@ -467,6 +528,11 @@ typedef HRESULT __stdcall __stdcall StackSnapshotCallback(
BYTE context[ ],
void *clientData);
+typedef BOOL ObjectReferenceCallback(
+ ObjectID root,
+ ObjectID *reference,
+ void *clientData);
+
typedef /* [public] */
enum __MIDL___MIDL_itf_corprof_0000_0000_0005
{
@@ -506,8 +572,9 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0005
COR_PRF_DISABLE_ALL_NGEN_IMAGES = 0x80000000,
COR_PRF_ALL = 0x8fffffff,
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_MONITOR_IMMUTABLE = ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( COR_PRF_MONITOR_CODE_TRANSITIONS | COR_PRF_MONITOR_REMOTING ) | COR_PRF_MONITOR_REMOTING_COOKIE ) | COR_PRF_MONITOR_REMOTING_ASYNC ) | COR_PRF_ENABLE_REJIT ) | 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_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;
typedef /* [public] */
@@ -517,9 +584,16 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0006
COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES = 0x1,
COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED = 0x2,
COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS = 0x4,
+ COR_PRF_HIGH_DISABLE_TIERED_COMPILATION = 0x8,
+ COR_PRF_HIGH_BASIC_GC = 0x10,
+ COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS = 0x20,
COR_PRF_HIGH_REQUIRE_PROFILE_IMAGE = 0,
- COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH = ( COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS ) ,
- COR_PRF_HIGH_MONITOR_IMMUTABLE = 0
+ COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED = 0x40,
+ COR_PRF_HIGH_MONITOR_EVENT_PIPE = 0x80,
+ COR_PRF_HIGH_MONITOR_PINNEDOBJECT_ALLOCATED = 0x100,
+ COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH = ( ( ( ( ( COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS ) | COR_PRF_HIGH_BASIC_GC ) | COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS ) | COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED ) | COR_PRF_HIGH_MONITOR_EVENT_PIPE ) ,
+ COR_PRF_HIGH_ALLOWABLE_NOTIFICATION_PROFILER = ( ( ( ( ( ( COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS ) | COR_PRF_HIGH_DISABLE_TIERED_COMPILATION ) | COR_PRF_HIGH_BASIC_GC ) | COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS ) | COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED ) | COR_PRF_HIGH_MONITOR_EVENT_PIPE ) ,
+ COR_PRF_HIGH_MONITOR_IMMUTABLE = COR_PRF_HIGH_DISABLE_TIERED_COMPILATION
} COR_PRF_HIGH_MONITOR;
typedef /* [public] */
@@ -554,7 +628,8 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0010
COR_PRF_SUSPEND_FOR_SHUTDOWN = 4,
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER = 6,
COR_PRF_SUSPEND_FOR_GC_PREP = 7,
- COR_PRF_SUSPEND_FOR_REJIT = 8
+ COR_PRF_SUSPEND_FOR_REJIT = 8,
+ COR_PRF_SUSPEND_FOR_PROFILER = 9
} COR_PRF_SUSPEND_REASON;
typedef /* [public][public] */
@@ -564,6 +639,101 @@ enum __MIDL___MIDL_itf_corprof_0000_0000_0011
COR_PRF_CORE_CLR = 0x2
} COR_PRF_RUNTIME_TYPE;
+typedef /* [public] */
+enum __MIDL___MIDL_itf_corprof_0000_0000_0012
+ {
+ COR_PRF_REJIT_BLOCK_INLINING = 0x1,
+ COR_PRF_REJIT_INLINING_CALLBACKS = 0x2
+ } COR_PRF_REJIT_FLAGS;
+
+typedef UINT_PTR EVENTPIPE_PROVIDER;
+
+typedef UINT_PTR EVENTPIPE_EVENT;
+
+typedef UINT64 EVENTPIPE_SESSION;
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_corprof_0000_0000_0013
+ {
+ COR_PRF_EVENTPIPE_OBJECT = 1,
+ COR_PRF_EVENTPIPE_BOOLEAN = 3,
+ COR_PRF_EVENTPIPE_CHAR = 4,
+ COR_PRF_EVENTPIPE_SBYTE = 5,
+ COR_PRF_EVENTPIPE_BYTE = 6,
+ COR_PRF_EVENTPIPE_INT16 = 7,
+ COR_PRF_EVENTPIPE_UINT16 = 8,
+ COR_PRF_EVENTPIPE_INT32 = 9,
+ COR_PRF_EVENTPIPE_UINT32 = 10,
+ COR_PRF_EVENTPIPE_INT64 = 11,
+ COR_PRF_EVENTPIPE_UINT64 = 12,
+ COR_PRF_EVENTPIPE_SINGLE = 13,
+ COR_PRF_EVENTPIPE_DOUBLE = 14,
+ COR_PRF_EVENTPIPE_DECIMAL = 15,
+ COR_PRF_EVENTPIPE_DATETIME = 16,
+ COR_PRF_EVENTPIPE_GUID = 17,
+ COR_PRF_EVENTPIPE_STRING = 18,
+ COR_PRF_EVENTPIPE_ARRAY = 19
+ } COR_PRF_EVENTPIPE_PARAM_TYPE;
+
+typedef /* [public] */
+enum __MIDL___MIDL_itf_corprof_0000_0000_0014
+ {
+ COR_PRF_EVENTPIPE_LOGALWAYS = 0,
+ COR_PRF_EVENTPIPE_CRITICAL = 1,
+ COR_PRF_EVENTPIPE_ERROR = 2,
+ COR_PRF_EVENTPIPE_WARNING = 3,
+ COR_PRF_EVENTPIPE_INFORMATIONAL = 4,
+ COR_PRF_EVENTPIPE_VERBOSE = 5
+ } COR_PRF_EVENTPIPE_LEVEL;
+
+typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0015
+ {
+ const WCHAR *providerName;
+ UINT64 keywords;
+ UINT32 loggingLevel;
+ const WCHAR *filterData;
+ } COR_PRF_EVENTPIPE_PROVIDER_CONFIG;
+
+typedef /* [public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0016
+ {
+ UINT32 type;
+ UINT32 elementType;
+ const WCHAR *name;
+ } COR_PRF_EVENTPIPE_PARAM_DESC;
+
+typedef /* [public][public] */ struct __MIDL___MIDL_itf_corprof_0000_0000_0017
+ {
+ UINT64 ptr;
+ UINT32 size;
+ UINT32 reserved;
+ } COR_PRF_EVENT_DATA;
+
+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;
+
+typedef void **ObjectHandleID;
+
@@ -601,142 +771,200 @@ EXTERN_C const IID IID_ICorProfilerCallback;
{
public:
virtual HRESULT STDMETHODCALLTYPE Initialize(
- /* [in] */ IUnknown *pICorProfilerInfoUnk) = 0;
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk) = 0;
virtual HRESULT STDMETHODCALLTYPE Shutdown( void) = 0;
virtual HRESULT STDMETHODCALLTYPE AppDomainCreationStarted(
- /* [in] */ AppDomainID appDomainId) = 0;
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId) = 0;
virtual HRESULT STDMETHODCALLTYPE AppDomainCreationFinished(
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus) = 0;
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownStarted(
- /* [in] */ AppDomainID appDomainId) = 0;
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId) = 0;
virtual HRESULT STDMETHODCALLTYPE AppDomainShutdownFinished(
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus) = 0;
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE AssemblyLoadStarted(
- /* [in] */ AssemblyID assemblyId) = 0;
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId) = 0;
virtual HRESULT STDMETHODCALLTYPE AssemblyLoadFinished(
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus) = 0;
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadStarted(
- /* [in] */ AssemblyID assemblyId) = 0;
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId) = 0;
virtual HRESULT STDMETHODCALLTYPE AssemblyUnloadFinished(
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus) = 0;
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE ModuleLoadStarted(
- /* [in] */ ModuleID moduleId) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId) = 0;
virtual HRESULT STDMETHODCALLTYPE ModuleLoadFinished(
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE ModuleUnloadStarted(
- /* [in] */ ModuleID moduleId) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId) = 0;
virtual HRESULT STDMETHODCALLTYPE ModuleUnloadFinished(
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE ModuleAttachedToAssembly(
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId) = 0;
virtual HRESULT STDMETHODCALLTYPE ClassLoadStarted(
- /* [in] */ ClassID classId) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId) = 0;
virtual HRESULT STDMETHODCALLTYPE ClassLoadFinished(
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE ClassUnloadStarted(
- /* [in] */ ClassID classId) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId) = 0;
virtual HRESULT STDMETHODCALLTYPE ClassUnloadFinished(
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE FunctionUnloadStarted(
- /* [in] */ FunctionID functionId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId) = 0;
virtual HRESULT STDMETHODCALLTYPE JITCompilationStarted(
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock) = 0;
virtual HRESULT STDMETHODCALLTYPE JITCompilationFinished(
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock) = 0;
virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchStarted(
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction) = 0;
virtual HRESULT STDMETHODCALLTYPE JITCachedFunctionSearchFinished(
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result) = 0;
virtual HRESULT STDMETHODCALLTYPE JITFunctionPitched(
- /* [in] */ FunctionID functionId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId) = 0;
virtual HRESULT STDMETHODCALLTYPE JITInlining(
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline) = 0;
virtual HRESULT STDMETHODCALLTYPE ThreadCreated(
- /* [in] */ ThreadID threadId) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID threadId) = 0;
virtual HRESULT STDMETHODCALLTYPE ThreadDestroyed(
- /* [in] */ ThreadID threadId) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID threadId) = 0;
virtual HRESULT STDMETHODCALLTYPE ThreadAssignedToOSThread(
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId) = 0;
virtual HRESULT STDMETHODCALLTYPE RemotingClientInvocationStarted( void) = 0;
virtual HRESULT STDMETHODCALLTYPE RemotingClientSendingMessage(
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync) = 0;
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync) = 0;
virtual HRESULT STDMETHODCALLTYPE RemotingClientReceivingReply(
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync) = 0;
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync) = 0;
virtual HRESULT STDMETHODCALLTYPE RemotingClientInvocationFinished( void) = 0;
virtual HRESULT STDMETHODCALLTYPE RemotingServerReceivingMessage(
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync) = 0;
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync) = 0;
virtual HRESULT STDMETHODCALLTYPE RemotingServerInvocationStarted( void) = 0;
virtual HRESULT STDMETHODCALLTYPE RemotingServerInvocationReturned( void) = 0;
virtual HRESULT STDMETHODCALLTYPE RemotingServerSendingReply(
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync) = 0;
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync) = 0;
virtual HRESULT STDMETHODCALLTYPE UnmanagedToManagedTransition(
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason) = 0;
virtual HRESULT STDMETHODCALLTYPE ManagedToUnmanagedTransition(
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason) = 0;
virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendStarted(
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason) = 0;
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason) = 0;
virtual HRESULT STDMETHODCALLTYPE RuntimeSuspendFinished( void) = 0;
@@ -747,84 +975,118 @@ EXTERN_C const IID IID_ICorProfilerCallback;
virtual HRESULT STDMETHODCALLTYPE RuntimeResumeFinished( void) = 0;
virtual HRESULT STDMETHODCALLTYPE RuntimeThreadSuspended(
- /* [in] */ ThreadID threadId) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID threadId) = 0;
virtual HRESULT STDMETHODCALLTYPE RuntimeThreadResumed(
- /* [in] */ ThreadID threadId) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID threadId) = 0;
virtual HRESULT STDMETHODCALLTYPE MovedReferences(
- /* [in] */ ULONG cMovedObjectIDRanges,
- /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ],
- /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE ObjectAllocated(
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId) = 0;
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId) = 0;
virtual HRESULT STDMETHODCALLTYPE ObjectsAllocatedByClass(
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE ObjectReferences(
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE RootReferences(
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionThrown(
- /* [in] */ ObjectID thrownObjectId) = 0;
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFunctionEnter(
- /* [in] */ FunctionID functionId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFunctionLeave( void) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFilterEnter(
- /* [in] */ FunctionID functionId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionSearchFilterLeave( void) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionSearchCatcherFound(
- /* [in] */ FunctionID functionId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerEnter(
- /* [in] */ UINT_PTR __unused) = 0;
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionOSHandlerLeave(
- /* [in] */ UINT_PTR __unused) = 0;
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFunctionEnter(
- /* [in] */ FunctionID functionId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFunctionLeave( void) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFinallyEnter(
- /* [in] */ FunctionID functionId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionUnwindFinallyLeave( void) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionCatcherEnter(
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionCatcherLeave( void) = 0;
virtual HRESULT STDMETHODCALLTYPE COMClassicVTableCreated(
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots) = 0;
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots) = 0;
virtual HRESULT STDMETHODCALLTYPE COMClassicVTableDestroyed(
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable) = 0;
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable) = 0;
virtual HRESULT STDMETHODCALLTYPE ExceptionCLRCatcherFound( void) = 0;
@@ -839,314 +1101,479 @@ EXTERN_C const IID IID_ICorProfilerCallback;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerCallback * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
HRESULT ( STDMETHODCALLTYPE *Initialize )(
ICorProfilerCallback * This,
- /* [in] */ IUnknown *pICorProfilerInfoUnk);
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
ICorProfilerCallback * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
ICorProfilerCallback * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
ICorProfilerCallback * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
ICorProfilerCallback * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
ICorProfilerCallback * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
ICorProfilerCallback * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
ICorProfilerCallback * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
ICorProfilerCallback * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
ICorProfilerCallback * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
ICorProfilerCallback * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
ICorProfilerCallback * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
ICorProfilerCallback * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
ICorProfilerCallback * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
ICorProfilerCallback * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
ICorProfilerCallback * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
ICorProfilerCallback * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
ICorProfilerCallback * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
HRESULT ( STDMETHODCALLTYPE *JITInlining )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline);
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
ICorProfilerCallback * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
ICorProfilerCallback * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
ICorProfilerCallback * This,
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
ICorProfilerCallback * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
ICorProfilerCallback * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
ICorProfilerCallback * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
ICorProfilerCallback * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
ICorProfilerCallback * This,
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
ICorProfilerCallback * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
ICorProfilerCallback * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
ICorProfilerCallback * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
ICorProfilerCallback * This,
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
ICorProfilerCallback * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
HRESULT ( STDMETHODCALLTYPE *RootReferences )(
ICorProfilerCallback * This,
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
ICorProfilerCallback * This,
- /* [in] */ ObjectID thrownObjectId);
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
ICorProfilerCallback * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
ICorProfilerCallback * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
ICorProfilerCallback * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
ICorProfilerCallback * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
ICorProfilerCallback * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
ICorProfilerCallback * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
ICorProfilerCallback * This);
@@ -1424,7 +1851,8 @@ enum __MIDL___MIDL_itf_corprof_0000_0001_0004
COR_PRF_GC_GEN_0 = 0,
COR_PRF_GC_GEN_1 = 1,
COR_PRF_GC_GEN_2 = 2,
- COR_PRF_GC_LARGE_OBJECT_HEAP = 3
+ COR_PRF_GC_LARGE_OBJECT_HEAP = 3,
+ COR_PRF_GC_PINNED_OBJECT_HEAP = 4
} COR_PRF_GC_GENERATION;
typedef struct COR_PRF_GC_GENERATION_RANGE
@@ -1435,6 +1863,13 @@ typedef struct COR_PRF_GC_GENERATION_RANGE
UINT_PTR rangeLengthReserved;
} COR_PRF_GC_GENERATION_RANGE;
+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
{
@@ -1492,40 +1927,58 @@ EXTERN_C const IID IID_ICorProfilerCallback2;
{
public:
virtual HRESULT STDMETHODCALLTYPE ThreadNameChanged(
- /* [in] */ ThreadID threadId,
- /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
/* [annotation][in] */
_In_reads_opt_(cchName) WCHAR name[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GarbageCollectionStarted(
- /* [in] */ int cGenerations,
- /* [size_is][in] */ BOOL generationCollected[ ],
- /* [in] */ COR_PRF_GC_REASON reason) = 0;
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason) = 0;
virtual HRESULT STDMETHODCALLTYPE SurvivingReferences(
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GarbageCollectionFinished( void) = 0;
virtual HRESULT STDMETHODCALLTYPE FinalizeableObjectQueued(
- /* [in] */ DWORD finalizerFlags,
- /* [in] */ ObjectID objectID) = 0;
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID) = 0;
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;
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE HandleCreated(
- /* [in] */ GCHandleID handleId,
- /* [in] */ ObjectID initialObjectId) = 0;
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId) = 0;
virtual HRESULT STDMETHODCALLTYPE HandleDestroyed(
- /* [in] */ GCHandleID handleId) = 0;
+ /* [annotation][in] */
+ _In_ GCHandleID handleId) = 0;
};
@@ -1536,360 +1989,551 @@ EXTERN_C const IID IID_ICorProfilerCallback2;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerCallback2 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
HRESULT ( STDMETHODCALLTYPE *Initialize )(
ICorProfilerCallback2 * This,
- /* [in] */ IUnknown *pICorProfilerInfoUnk);
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
ICorProfilerCallback2 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
HRESULT ( STDMETHODCALLTYPE *JITInlining )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline);
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
ICorProfilerCallback2 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
ICorProfilerCallback2 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
ICorProfilerCallback2 * This,
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
ICorProfilerCallback2 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
ICorProfilerCallback2 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
ICorProfilerCallback2 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
ICorProfilerCallback2 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
ICorProfilerCallback2 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
ICorProfilerCallback2 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
ICorProfilerCallback2 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
ICorProfilerCallback2 * This,
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
ICorProfilerCallback2 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
HRESULT ( STDMETHODCALLTYPE *RootReferences )(
ICorProfilerCallback2 * This,
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
ICorProfilerCallback2 * This,
- /* [in] */ ObjectID thrownObjectId);
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
ICorProfilerCallback2 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
ICorProfilerCallback2 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
ICorProfilerCallback2 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
ICorProfilerCallback2 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
ICorProfilerCallback2 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
ICorProfilerCallback2 * This,
- /* [in] */ ThreadID threadId,
- /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
/* [annotation][in] */
_In_reads_opt_(cchName) WCHAR name[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
ICorProfilerCallback2 * This,
- /* [in] */ int cGenerations,
- /* [size_is][in] */ BOOL generationCollected[ ],
- /* [in] */ COR_PRF_GC_REASON reason);
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
ICorProfilerCallback2 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
ICorProfilerCallback2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
ICorProfilerCallback2 * This,
- /* [in] */ DWORD finalizerFlags,
- /* [in] */ ObjectID objectID);
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
ICorProfilerCallback2 * This,
- /* [in] */ GCHandleID handleId,
- /* [in] */ ObjectID initialObjectId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
ICorProfilerCallback2 * This,
- /* [in] */ GCHandleID handleId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
END_INTERFACE
} ICorProfilerCallback2Vtbl;
@@ -2173,9 +2817,12 @@ EXTERN_C const IID IID_ICorProfilerCallback3;
{
public:
virtual HRESULT STDMETHODCALLTYPE InitializeForAttach(
- /* [in] */ IUnknown *pCorProfilerInfoUnk,
- /* [in] */ void *pvClientData,
- /* [in] */ UINT cbClientData) = 0;
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData) = 0;
virtual HRESULT STDMETHODCALLTYPE ProfilerAttachComplete( void) = 0;
@@ -2190,370 +2837,567 @@ EXTERN_C const IID IID_ICorProfilerCallback3;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerCallback3 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
HRESULT ( STDMETHODCALLTYPE *Initialize )(
ICorProfilerCallback3 * This,
- /* [in] */ IUnknown *pICorProfilerInfoUnk);
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
ICorProfilerCallback3 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
HRESULT ( STDMETHODCALLTYPE *JITInlining )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline);
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
ICorProfilerCallback3 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
ICorProfilerCallback3 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
ICorProfilerCallback3 * This,
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
ICorProfilerCallback3 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
ICorProfilerCallback3 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
ICorProfilerCallback3 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
ICorProfilerCallback3 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
ICorProfilerCallback3 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
ICorProfilerCallback3 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
ICorProfilerCallback3 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
ICorProfilerCallback3 * This,
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
ICorProfilerCallback3 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
HRESULT ( STDMETHODCALLTYPE *RootReferences )(
ICorProfilerCallback3 * This,
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
ICorProfilerCallback3 * This,
- /* [in] */ ObjectID thrownObjectId);
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
ICorProfilerCallback3 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
ICorProfilerCallback3 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
ICorProfilerCallback3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
ICorProfilerCallback3 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
ICorProfilerCallback3 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
ICorProfilerCallback3 * This,
- /* [in] */ ThreadID threadId,
- /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
/* [annotation][in] */
_In_reads_opt_(cchName) WCHAR name[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
ICorProfilerCallback3 * This,
- /* [in] */ int cGenerations,
- /* [size_is][in] */ BOOL generationCollected[ ],
- /* [in] */ COR_PRF_GC_REASON reason);
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
ICorProfilerCallback3 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
ICorProfilerCallback3 * This,
- /* [in] */ DWORD finalizerFlags,
- /* [in] */ ObjectID objectID);
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
ICorProfilerCallback3 * This,
- /* [in] */ GCHandleID handleId,
- /* [in] */ ObjectID initialObjectId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
ICorProfilerCallback3 * This,
- /* [in] */ GCHandleID handleId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
ICorProfilerCallback3 * This,
- /* [in] */ IUnknown *pCorProfilerInfoUnk,
- /* [in] */ void *pvClientData,
- /* [in] */ UINT cbClientData);
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
ICorProfilerCallback3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
ICorProfilerCallback3 * This);
@@ -2849,37 +3693,58 @@ EXTERN_C const IID IID_ICorProfilerCallback4;
{
public:
virtual HRESULT STDMETHODCALLTYPE ReJITCompilationStarted(
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ BOOL fIsSafeToBlock) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock) = 0;
virtual HRESULT STDMETHODCALLTYPE GetReJITParameters(
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ ICorProfilerFunctionControl *pFunctionControl) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ ICorProfilerFunctionControl *pFunctionControl) = 0;
virtual HRESULT STDMETHODCALLTYPE ReJITCompilationFinished(
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock) = 0;
virtual HRESULT STDMETHODCALLTYPE ReJITError(
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE MovedReferences2(
- /* [in] */ ULONG cMovedObjectIDRanges,
- /* [size_is][in] */ ObjectID oldObjectIDRangeStart[ ],
- /* [size_is][in] */ ObjectID newObjectIDRangeStart[ ],
- /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE SurvivingReferences2(
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]) = 0;
};
@@ -2890,411 +3755,635 @@ EXTERN_C const IID IID_ICorProfilerCallback4;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerCallback4 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
HRESULT ( STDMETHODCALLTYPE *Initialize )(
ICorProfilerCallback4 * This,
- /* [in] */ IUnknown *pICorProfilerInfoUnk);
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
ICorProfilerCallback4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
HRESULT ( STDMETHODCALLTYPE *JITInlining )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline);
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
ICorProfilerCallback4 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
ICorProfilerCallback4 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
ICorProfilerCallback4 * This,
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
ICorProfilerCallback4 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
ICorProfilerCallback4 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
ICorProfilerCallback4 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
ICorProfilerCallback4 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
ICorProfilerCallback4 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
ICorProfilerCallback4 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
ICorProfilerCallback4 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
ICorProfilerCallback4 * This,
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
ICorProfilerCallback4 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
HRESULT ( STDMETHODCALLTYPE *RootReferences )(
ICorProfilerCallback4 * This,
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
ICorProfilerCallback4 * This,
- /* [in] */ ObjectID thrownObjectId);
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
ICorProfilerCallback4 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
ICorProfilerCallback4 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
ICorProfilerCallback4 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
ICorProfilerCallback4 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
ICorProfilerCallback4 * This,
- /* [in] */ ThreadID threadId,
- /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
/* [annotation][in] */
_In_reads_opt_(cchName) WCHAR name[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ int cGenerations,
- /* [size_is][in] */ BOOL generationCollected[ ],
- /* [in] */ COR_PRF_GC_REASON reason);
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
ICorProfilerCallback4 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
ICorProfilerCallback4 * This,
- /* [in] */ DWORD finalizerFlags,
- /* [in] */ ObjectID objectID);
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
ICorProfilerCallback4 * This,
- /* [in] */ GCHandleID handleId,
- /* [in] */ ObjectID initialObjectId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
ICorProfilerCallback4 * This,
- /* [in] */ GCHandleID handleId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
ICorProfilerCallback4 * This,
- /* [in] */ IUnknown *pCorProfilerInfoUnk,
- /* [in] */ void *pvClientData,
- /* [in] */ UINT cbClientData);
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
ICorProfilerCallback4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
ICorProfilerCallback4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ ICorProfilerFunctionControl *pFunctionControl);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
ICorProfilerCallback4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
HRESULT ( STDMETHODCALLTYPE *ReJITError )(
ICorProfilerCallback4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
ICorProfilerCallback4 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
END_INTERFACE
} ICorProfilerCallback4Vtbl;
@@ -3607,10 +4696,14 @@ EXTERN_C const IID IID_ICorProfilerCallback5;
{
public:
virtual HRESULT STDMETHODCALLTYPE ConditionalWeakTableElementReferences(
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID keyRefIds[ ],
- /* [size_is][in] */ ObjectID valueRefIds[ ],
- /* [size_is][in] */ GCHandleID rootIds[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID keyRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID valueRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) GCHandleID rootIds[ ]) = 0;
};
@@ -3621,418 +4714,647 @@ EXTERN_C const IID IID_ICorProfilerCallback5;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerCallback5 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
HRESULT ( STDMETHODCALLTYPE *Initialize )(
ICorProfilerCallback5 * This,
- /* [in] */ IUnknown *pICorProfilerInfoUnk);
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
ICorProfilerCallback5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
HRESULT ( STDMETHODCALLTYPE *JITInlining )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline);
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
ICorProfilerCallback5 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
ICorProfilerCallback5 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
ICorProfilerCallback5 * This,
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
ICorProfilerCallback5 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
ICorProfilerCallback5 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
ICorProfilerCallback5 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
ICorProfilerCallback5 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
ICorProfilerCallback5 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
ICorProfilerCallback5 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
ICorProfilerCallback5 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
ICorProfilerCallback5 * This,
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
ICorProfilerCallback5 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
HRESULT ( STDMETHODCALLTYPE *RootReferences )(
ICorProfilerCallback5 * This,
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
ICorProfilerCallback5 * This,
- /* [in] */ ObjectID thrownObjectId);
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
ICorProfilerCallback5 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
ICorProfilerCallback5 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
ICorProfilerCallback5 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
ICorProfilerCallback5 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
ICorProfilerCallback5 * This,
- /* [in] */ ThreadID threadId,
- /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
/* [annotation][in] */
_In_reads_opt_(cchName) WCHAR name[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ int cGenerations,
- /* [size_is][in] */ BOOL generationCollected[ ],
- /* [in] */ COR_PRF_GC_REASON reason);
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
ICorProfilerCallback5 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
ICorProfilerCallback5 * This,
- /* [in] */ DWORD finalizerFlags,
- /* [in] */ ObjectID objectID);
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
ICorProfilerCallback5 * This,
- /* [in] */ GCHandleID handleId,
- /* [in] */ ObjectID initialObjectId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
ICorProfilerCallback5 * This,
- /* [in] */ GCHandleID handleId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
ICorProfilerCallback5 * This,
- /* [in] */ IUnknown *pCorProfilerInfoUnk,
- /* [in] */ void *pvClientData,
- /* [in] */ UINT cbClientData);
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
ICorProfilerCallback5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
ICorProfilerCallback5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ ICorProfilerFunctionControl *pFunctionControl);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
ICorProfilerCallback5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
HRESULT ( STDMETHODCALLTYPE *ReJITError )(
ICorProfilerCallback5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
ICorProfilerCallback5 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID keyRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID valueRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) GCHandleID rootIds[ ]);
END_INTERFACE
} ICorProfilerCallback5Vtbl;
@@ -4349,8 +5671,10 @@ EXTERN_C const IID IID_ICorProfilerCallback6;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetAssemblyReferences(
- /* [string][in] */ const WCHAR *wszAssemblyPath,
- /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider) = 0;
+ /* [annotation][string][in] */
+ _In_ const WCHAR *wszAssemblyPath,
+ /* [annotation][in] */
+ _In_ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider) = 0;
};
@@ -4361,423 +5685,655 @@ EXTERN_C const IID IID_ICorProfilerCallback6;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerCallback6 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
HRESULT ( STDMETHODCALLTYPE *Initialize )(
ICorProfilerCallback6 * This,
- /* [in] */ IUnknown *pICorProfilerInfoUnk);
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
ICorProfilerCallback6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
HRESULT ( STDMETHODCALLTYPE *JITInlining )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline);
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
ICorProfilerCallback6 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
ICorProfilerCallback6 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
ICorProfilerCallback6 * This,
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
ICorProfilerCallback6 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
ICorProfilerCallback6 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
ICorProfilerCallback6 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
ICorProfilerCallback6 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
ICorProfilerCallback6 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
ICorProfilerCallback6 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
ICorProfilerCallback6 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
ICorProfilerCallback6 * This,
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
ICorProfilerCallback6 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
HRESULT ( STDMETHODCALLTYPE *RootReferences )(
ICorProfilerCallback6 * This,
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
ICorProfilerCallback6 * This,
- /* [in] */ ObjectID thrownObjectId);
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
ICorProfilerCallback6 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
ICorProfilerCallback6 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
ICorProfilerCallback6 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
ICorProfilerCallback6 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
ICorProfilerCallback6 * This,
- /* [in] */ ThreadID threadId,
- /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
/* [annotation][in] */
_In_reads_opt_(cchName) WCHAR name[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ int cGenerations,
- /* [size_is][in] */ BOOL generationCollected[ ],
- /* [in] */ COR_PRF_GC_REASON reason);
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
ICorProfilerCallback6 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
ICorProfilerCallback6 * This,
- /* [in] */ DWORD finalizerFlags,
- /* [in] */ ObjectID objectID);
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
ICorProfilerCallback6 * This,
- /* [in] */ GCHandleID handleId,
- /* [in] */ ObjectID initialObjectId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
ICorProfilerCallback6 * This,
- /* [in] */ GCHandleID handleId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
ICorProfilerCallback6 * This,
- /* [in] */ IUnknown *pCorProfilerInfoUnk,
- /* [in] */ void *pvClientData,
- /* [in] */ UINT cbClientData);
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
ICorProfilerCallback6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
ICorProfilerCallback6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ ICorProfilerFunctionControl *pFunctionControl);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
ICorProfilerCallback6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
HRESULT ( STDMETHODCALLTYPE *ReJITError )(
ICorProfilerCallback6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
ICorProfilerCallback6 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID keyRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID valueRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) GCHandleID rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )(
ICorProfilerCallback6 * This,
- /* [string][in] */ const WCHAR *wszAssemblyPath,
- /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+ /* [annotation][string][in] */
+ _In_ const WCHAR *wszAssemblyPath,
+ /* [annotation][in] */
+ _In_ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
END_INTERFACE
} ICorProfilerCallback6Vtbl;
@@ -5109,424 +6665,657 @@ EXTERN_C const IID IID_ICorProfilerCallback7;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerCallback7 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
HRESULT ( STDMETHODCALLTYPE *Initialize )(
ICorProfilerCallback7 * This,
- /* [in] */ IUnknown *pICorProfilerInfoUnk);
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
ICorProfilerCallback7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
HRESULT ( STDMETHODCALLTYPE *JITInlining )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline);
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
ICorProfilerCallback7 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
ICorProfilerCallback7 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
ICorProfilerCallback7 * This,
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
ICorProfilerCallback7 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
ICorProfilerCallback7 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
ICorProfilerCallback7 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
ICorProfilerCallback7 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
ICorProfilerCallback7 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
ICorProfilerCallback7 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
ICorProfilerCallback7 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
ICorProfilerCallback7 * This,
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
ICorProfilerCallback7 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
HRESULT ( STDMETHODCALLTYPE *RootReferences )(
ICorProfilerCallback7 * This,
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
ICorProfilerCallback7 * This,
- /* [in] */ ObjectID thrownObjectId);
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
ICorProfilerCallback7 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
ICorProfilerCallback7 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
ICorProfilerCallback7 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
ICorProfilerCallback7 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
ICorProfilerCallback7 * This,
- /* [in] */ ThreadID threadId,
- /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
/* [annotation][in] */
_In_reads_opt_(cchName) WCHAR name[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ int cGenerations,
- /* [size_is][in] */ BOOL generationCollected[ ],
- /* [in] */ COR_PRF_GC_REASON reason);
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
ICorProfilerCallback7 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
ICorProfilerCallback7 * This,
- /* [in] */ DWORD finalizerFlags,
- /* [in] */ ObjectID objectID);
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
ICorProfilerCallback7 * This,
- /* [in] */ GCHandleID handleId,
- /* [in] */ ObjectID initialObjectId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
ICorProfilerCallback7 * This,
- /* [in] */ GCHandleID handleId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
ICorProfilerCallback7 * This,
- /* [in] */ IUnknown *pCorProfilerInfoUnk,
- /* [in] */ void *pvClientData,
- /* [in] */ UINT cbClientData);
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
ICorProfilerCallback7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
ICorProfilerCallback7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ ICorProfilerFunctionControl *pFunctionControl);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
ICorProfilerCallback7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
HRESULT ( STDMETHODCALLTYPE *ReJITError )(
ICorProfilerCallback7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
ICorProfilerCallback7 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID keyRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID valueRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) GCHandleID rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )(
ICorProfilerCallback7 * This,
- /* [string][in] */ const WCHAR *wszAssemblyPath,
- /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+ /* [annotation][string][in] */
+ _In_ const WCHAR *wszAssemblyPath,
+ /* [annotation][in] */
+ _In_ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
ICorProfilerCallback7 * This,
ModuleID moduleId);
@@ -5854,15 +7643,22 @@ EXTERN_C const IID IID_ICorProfilerCallback8;
{
public:
virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationStarted(
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock,
- /* [in] */ LPCBYTE pILHeader,
- /* [in] */ ULONG cbILHeader) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock,
+ /* [annotation][in] */
+ _In_ LPCBYTE pILHeader,
+ /* [annotation][in] */
+ _In_ ULONG cbILHeader) = 0;
virtual HRESULT STDMETHODCALLTYPE DynamicMethodJITCompilationFinished(
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock) = 0;
};
@@ -5873,440 +7669,682 @@ EXTERN_C const IID IID_ICorProfilerCallback8;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerCallback8 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
HRESULT ( STDMETHODCALLTYPE *Initialize )(
ICorProfilerCallback8 * This,
- /* [in] */ IUnknown *pICorProfilerInfoUnk);
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
ICorProfilerCallback8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
HRESULT ( STDMETHODCALLTYPE *JITInlining )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline);
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
ICorProfilerCallback8 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
ICorProfilerCallback8 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
ICorProfilerCallback8 * This,
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
ICorProfilerCallback8 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
ICorProfilerCallback8 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
ICorProfilerCallback8 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
ICorProfilerCallback8 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
ICorProfilerCallback8 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
ICorProfilerCallback8 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
ICorProfilerCallback8 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
ICorProfilerCallback8 * This,
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
ICorProfilerCallback8 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
HRESULT ( STDMETHODCALLTYPE *RootReferences )(
ICorProfilerCallback8 * This,
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
ICorProfilerCallback8 * This,
- /* [in] */ ObjectID thrownObjectId);
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
ICorProfilerCallback8 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
ICorProfilerCallback8 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
ICorProfilerCallback8 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
ICorProfilerCallback8 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
ICorProfilerCallback8 * This,
- /* [in] */ ThreadID threadId,
- /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
/* [annotation][in] */
_In_reads_opt_(cchName) WCHAR name[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ int cGenerations,
- /* [size_is][in] */ BOOL generationCollected[ ],
- /* [in] */ COR_PRF_GC_REASON reason);
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
ICorProfilerCallback8 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
ICorProfilerCallback8 * This,
- /* [in] */ DWORD finalizerFlags,
- /* [in] */ ObjectID objectID);
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
ICorProfilerCallback8 * This,
- /* [in] */ GCHandleID handleId,
- /* [in] */ ObjectID initialObjectId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
ICorProfilerCallback8 * This,
- /* [in] */ GCHandleID handleId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
ICorProfilerCallback8 * This,
- /* [in] */ IUnknown *pCorProfilerInfoUnk,
- /* [in] */ void *pvClientData,
- /* [in] */ UINT cbClientData);
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
ICorProfilerCallback8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
ICorProfilerCallback8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ ICorProfilerFunctionControl *pFunctionControl);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
HRESULT ( STDMETHODCALLTYPE *ReJITError )(
ICorProfilerCallback8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
ICorProfilerCallback8 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID keyRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID valueRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) GCHandleID rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )(
ICorProfilerCallback8 * This,
- /* [string][in] */ const WCHAR *wszAssemblyPath,
- /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+ /* [annotation][string][in] */
+ _In_ const WCHAR *wszAssemblyPath,
+ /* [annotation][in] */
+ _In_ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
ICorProfilerCallback8 * This,
ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock,
- /* [in] */ LPCBYTE pILHeader,
- /* [in] */ ULONG cbILHeader);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock,
+ /* [annotation][in] */
+ _In_ LPCBYTE pILHeader,
+ /* [annotation][in] */
+ _In_ ULONG cbILHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )(
ICorProfilerCallback8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
END_INTERFACE
} ICorProfilerCallback8Vtbl;
@@ -6638,7 +8676,8 @@ EXTERN_C const IID IID_ICorProfilerCallback9;
{
public:
virtual HRESULT STDMETHODCALLTYPE DynamicMethodUnloaded(
- /* [in] */ FunctionID functionId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId) = 0;
};
@@ -6649,444 +8688,688 @@ EXTERN_C const IID IID_ICorProfilerCallback9;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerCallback9 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
HRESULT ( STDMETHODCALLTYPE *Initialize )(
ICorProfilerCallback9 * This,
- /* [in] */ IUnknown *pICorProfilerInfoUnk);
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ AppDomainID appDomainId);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ AssemblyID assemblyId);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
ICorProfilerCallback9 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ AssemblyID AssemblyId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ ClassID classId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *pbUseCachedFunction);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_JIT_CACHE result);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
HRESULT ( STDMETHODCALLTYPE *JITInlining )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID callerId,
- /* [in] */ FunctionID calleeId,
- /* [out] */ BOOL *pfShouldInline);
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
ICorProfilerCallback9 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
ICorProfilerCallback9 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
ICorProfilerCallback9 * This,
- /* [in] */ ThreadID managedThreadId,
- /* [in] */ DWORD osThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
ICorProfilerCallback9 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
ICorProfilerCallback9 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
ICorProfilerCallback9 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
ICorProfilerCallback9 * This,
- /* [in] */ GUID *pCookie,
- /* [in] */ BOOL fIsAsync);
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_TRANSITION_REASON reason);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ COR_PRF_SUSPEND_REASON suspendReason);
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
ICorProfilerCallback9 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
ICorProfilerCallback9 * This,
- /* [in] */ ThreadID threadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
ICorProfilerCallback9 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
ICorProfilerCallback9 * This,
- /* [in] */ ULONG cClassCount,
- /* [size_is][in] */ ClassID classIds[ ],
- /* [size_is][in] */ ULONG cObjects[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
ICorProfilerCallback9 * This,
- /* [in] */ ObjectID objectId,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG cObjectRefs,
- /* [size_is][in] */ ObjectID objectRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
HRESULT ( STDMETHODCALLTYPE *RootReferences )(
ICorProfilerCallback9 * This,
- /* [in] */ ULONG cRootRefs,
- /* [size_is][in] */ ObjectID rootRefIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
ICorProfilerCallback9 * This,
- /* [in] */ ObjectID thrownObjectId);
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
ICorProfilerCallback9 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
ICorProfilerCallback9 * This,
- /* [in] */ UINT_PTR __unused);
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ObjectID objectId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
ICorProfilerCallback9 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable,
- /* [in] */ ULONG cSlots);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
ICorProfilerCallback9 * This,
- /* [in] */ ClassID wrappedClassId,
- /* [in] */ REFGUID implementedIID,
- /* [in] */ void *pVTable);
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
ICorProfilerCallback9 * This,
- /* [in] */ ThreadID threadId,
- /* [in] */ ULONG cchName,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
/* [annotation][in] */
_In_reads_opt_(cchName) WCHAR name[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ int cGenerations,
- /* [size_is][in] */ BOOL generationCollected[ ],
- /* [in] */ COR_PRF_GC_REASON reason);
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
ICorProfilerCallback9 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ ULONG cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
ICorProfilerCallback9 * This,
- /* [in] */ DWORD finalizerFlags,
- /* [in] */ ObjectID objectID);
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
ICorProfilerCallback9 * This,
- /* [in] */ GCHandleID handleId,
- /* [in] */ ObjectID initialObjectId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
ICorProfilerCallback9 * This,
- /* [in] */ GCHandleID handleId);
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
ICorProfilerCallback9 * This,
- /* [in] */ IUnknown *pCorProfilerInfoUnk,
- /* [in] */ void *pvClientData,
- /* [in] */ UINT cbClientData);
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
ICorProfilerCallback9 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
ICorProfilerCallback9 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ ICorProfilerFunctionControl *pFunctionControl);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ ICorProfilerFunctionControl *pFunctionControl);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID rejitId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
HRESULT ( STDMETHODCALLTYPE *ReJITError )(
ICorProfilerCallback9 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
ICorProfilerCallback9 * This,
- /* [in] */ ULONG cSurvivingObjectIDRanges,
- /* [size_is][in] */ ObjectID objectIDRangeStart[ ],
- /* [size_is][in] */ SIZE_T cObjectIDRangeLength[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID keyRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID valueRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) GCHandleID rootIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )(
ICorProfilerCallback9 * This,
- /* [string][in] */ const WCHAR *wszAssemblyPath,
- /* [in] */ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+ /* [annotation][string][in] */
+ _In_ const WCHAR *wszAssemblyPath,
+ /* [annotation][in] */
+ _In_ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
ICorProfilerCallback9 * This,
ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted)
HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fIsSafeToBlock,
- /* [in] */ LPCBYTE pILHeader,
- /* [in] */ ULONG cbILHeader);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock,
+ /* [annotation][in] */
+ _In_ LPCBYTE pILHeader,
+ /* [annotation][in] */
+ _In_ ULONG cbILHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished)
HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ HRESULT hrStatus,
- /* [in] */ BOOL fIsSafeToBlock);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+ DECLSPEC_XFGVIRT(ICorProfilerCallback9, DynamicMethodUnloaded)
HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )(
ICorProfilerCallback9 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
END_INTERFACE
} ICorProfilerCallback9Vtbl;
@@ -7406,11 +9689,2185 @@ EXTERN_C const IID IID_ICorProfilerCallback9;
#endif /* __ICorProfilerCallback9_INTERFACE_DEFINED__ */
-/* interface __MIDL_itf_corprof_0000_0009 */
+#ifndef __ICorProfilerCallback10_INTERFACE_DEFINED__
+#define __ICorProfilerCallback10_INTERFACE_DEFINED__
+
+/* interface ICorProfilerCallback10 */
+/* [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(
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][in] */
+ _In_ DWORD eventId,
+ /* [annotation][in] */
+ _In_ DWORD eventVersion,
+ /* [annotation][in] */
+ _In_ ULONG cbMetadataBlob,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbMetadataBlob) LPCBYTE metadataBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbEventData,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbEventData) LPCBYTE eventData,
+ /* [annotation][in] */
+ _In_ LPCGUID pActivityId,
+ /* [annotation][in] */
+ _In_ LPCGUID pRelatedActivityId,
+ /* [annotation][in] */
+ _In_ ThreadID eventThread,
+ /* [annotation][in] */
+ _In_ ULONG numStackFrames,
+ /* [annotation][length_is][in] */
+ _In_ UINT_PTR stackFrames[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EventPipeProviderCreated(
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerCallback10Vtbl
+ {
+ BEGIN_INTERFACE
+
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(IUnknown, Release)
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+ HRESULT ( STDMETHODCALLTYPE *Initialize )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+ HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+ HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+ HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+ HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+ HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+ HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+ HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+ HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+ HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+ HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+ HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+ HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+ HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+ HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+ HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+ HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+ HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+ HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+ HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+ HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+ HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+ HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+ HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+ HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+ HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+ HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+ HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+ HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+ HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+ HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences)
+ HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+ HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+ HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+ HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+ HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+ HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+ HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
+ HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][in] */
+ _In_reads_opt_(cchName) WCHAR name[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+ HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+ HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+ HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+ HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2)
+ HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+ HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+ HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+ HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+ HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+ HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+ ICorProfilerCallback10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+ HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+ HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ ICorProfilerFunctionControl *pFunctionControl);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+ HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+ HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2)
+ HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+ HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences)
+ HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID keyRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID valueRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) GCHandleID rootIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *wszAssemblyPath,
+ /* [annotation][in] */
+ _In_ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
+ HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
+ ICorProfilerCallback10 * This,
+ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted)
+ HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock,
+ /* [annotation][in] */
+ _In_ LPCBYTE pILHeader,
+ /* [annotation][in] */
+ _In_ ULONG cbILHeader);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished)
+ HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback9, DynamicMethodUnloaded)
+ HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeEventDelivered)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][in] */
+ _In_ DWORD eventId,
+ /* [annotation][in] */
+ _In_ DWORD eventVersion,
+ /* [annotation][in] */
+ _In_ ULONG cbMetadataBlob,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbMetadataBlob) LPCBYTE metadataBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbEventData,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbEventData) LPCBYTE eventData,
+ /* [annotation][in] */
+ _In_ LPCGUID pActivityId,
+ /* [annotation][in] */
+ _In_ LPCGUID pRelatedActivityId,
+ /* [annotation][in] */
+ _In_ ThreadID eventThread,
+ /* [annotation][in] */
+ _In_ ULONG numStackFrames,
+ /* [annotation][length_is][in] */
+ _In_ UINT_PTR stackFrames[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeProviderCreated)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )(
+ ICorProfilerCallback10 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider);
+
+ END_INTERFACE
+ } ICorProfilerCallback10Vtbl;
+
+ interface ICorProfilerCallback10
+ {
+ CONST_VTBL struct ICorProfilerCallback10Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerCallback10_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerCallback10_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerCallback10_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerCallback10_Initialize(This,pICorProfilerInfoUnk) \
+ ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+
+#define ICorProfilerCallback10_Shutdown(This) \
+ ( (This)->lpVtbl -> Shutdown(This) )
+
+#define ICorProfilerCallback10_AppDomainCreationStarted(This,appDomainId) \
+ ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+
+#define ICorProfilerCallback10_AppDomainCreationFinished(This,appDomainId,hrStatus) \
+ ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+
+#define ICorProfilerCallback10_AppDomainShutdownStarted(This,appDomainId) \
+ ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+
+#define ICorProfilerCallback10_AppDomainShutdownFinished(This,appDomainId,hrStatus) \
+ ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+
+#define ICorProfilerCallback10_AssemblyLoadStarted(This,assemblyId) \
+ ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+
+#define ICorProfilerCallback10_AssemblyLoadFinished(This,assemblyId,hrStatus) \
+ ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+
+#define ICorProfilerCallback10_AssemblyUnloadStarted(This,assemblyId) \
+ ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+
+#define ICorProfilerCallback10_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+ ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+
+#define ICorProfilerCallback10_ModuleLoadStarted(This,moduleId) \
+ ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+
+#define ICorProfilerCallback10_ModuleLoadFinished(This,moduleId,hrStatus) \
+ ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+
+#define ICorProfilerCallback10_ModuleUnloadStarted(This,moduleId) \
+ ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+
+#define ICorProfilerCallback10_ModuleUnloadFinished(This,moduleId,hrStatus) \
+ ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+
+#define ICorProfilerCallback10_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \
+ ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+
+#define ICorProfilerCallback10_ClassLoadStarted(This,classId) \
+ ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+
+#define ICorProfilerCallback10_ClassLoadFinished(This,classId,hrStatus) \
+ ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+
+#define ICorProfilerCallback10_ClassUnloadStarted(This,classId) \
+ ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+
+#define ICorProfilerCallback10_ClassUnloadFinished(This,classId,hrStatus) \
+ ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+
+#define ICorProfilerCallback10_FunctionUnloadStarted(This,functionId) \
+ ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+
+#define ICorProfilerCallback10_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
+ ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+
+#define ICorProfilerCallback10_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \
+ ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+
+#define ICorProfilerCallback10_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \
+ ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+
+#define ICorProfilerCallback10_JITCachedFunctionSearchFinished(This,functionId,result) \
+ ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+
+#define ICorProfilerCallback10_JITFunctionPitched(This,functionId) \
+ ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+
+#define ICorProfilerCallback10_JITInlining(This,callerId,calleeId,pfShouldInline) \
+ ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+
+#define ICorProfilerCallback10_ThreadCreated(This,threadId) \
+ ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+
+#define ICorProfilerCallback10_ThreadDestroyed(This,threadId) \
+ ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+
+#define ICorProfilerCallback10_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
+ ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+
+#define ICorProfilerCallback10_RemotingClientInvocationStarted(This) \
+ ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+
+#define ICorProfilerCallback10_RemotingClientSendingMessage(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+
+#define ICorProfilerCallback10_RemotingClientReceivingReply(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+
+#define ICorProfilerCallback10_RemotingClientInvocationFinished(This) \
+ ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+
+#define ICorProfilerCallback10_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+
+#define ICorProfilerCallback10_RemotingServerInvocationStarted(This) \
+ ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+
+#define ICorProfilerCallback10_RemotingServerInvocationReturned(This) \
+ ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+
+#define ICorProfilerCallback10_RemotingServerSendingReply(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+
+#define ICorProfilerCallback10_UnmanagedToManagedTransition(This,functionId,reason) \
+ ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+
+#define ICorProfilerCallback10_ManagedToUnmanagedTransition(This,functionId,reason) \
+ ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+
+#define ICorProfilerCallback10_RuntimeSuspendStarted(This,suspendReason) \
+ ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+
+#define ICorProfilerCallback10_RuntimeSuspendFinished(This) \
+ ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+
+#define ICorProfilerCallback10_RuntimeSuspendAborted(This) \
+ ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+
+#define ICorProfilerCallback10_RuntimeResumeStarted(This) \
+ ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+
+#define ICorProfilerCallback10_RuntimeResumeFinished(This) \
+ ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+
+#define ICorProfilerCallback10_RuntimeThreadSuspended(This,threadId) \
+ ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+
+#define ICorProfilerCallback10_RuntimeThreadResumed(This,threadId) \
+ ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+
+#define ICorProfilerCallback10_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) )
+
+#define ICorProfilerCallback10_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) )
+
+#define ICorProfilerCallback10_RootReferences(This,cRootRefs,rootRefIds) \
+ ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) )
+
+#define ICorProfilerCallback10_ExceptionThrown(This,thrownObjectId) \
+ ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+
+#define ICorProfilerCallback10_ExceptionSearchFunctionEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+
+#define ICorProfilerCallback10_ExceptionSearchFunctionLeave(This) \
+ ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+
+#define ICorProfilerCallback10_ExceptionSearchFilterEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+
+#define ICorProfilerCallback10_ExceptionSearchFilterLeave(This) \
+ ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+
+#define ICorProfilerCallback10_ExceptionSearchCatcherFound(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+
+#define ICorProfilerCallback10_ExceptionOSHandlerEnter(This,__unused) \
+ ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+
+#define ICorProfilerCallback10_ExceptionOSHandlerLeave(This,__unused) \
+ ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+
+#define ICorProfilerCallback10_ExceptionUnwindFunctionEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+
+#define ICorProfilerCallback10_ExceptionUnwindFunctionLeave(This) \
+ ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+
+#define ICorProfilerCallback10_ExceptionUnwindFinallyEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+
+#define ICorProfilerCallback10_ExceptionUnwindFinallyLeave(This) \
+ ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+
+#define ICorProfilerCallback10_ExceptionCatcherEnter(This,functionId,objectId) \
+ ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+
+#define ICorProfilerCallback10_ExceptionCatcherLeave(This) \
+ ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+
+#define ICorProfilerCallback10_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) )
+
+#define ICorProfilerCallback10_ExceptionCLRCatcherFound(This) \
+ ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+
+#define ICorProfilerCallback10_ExceptionCLRCatcherExecute(This) \
+ ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+
+
+#define ICorProfilerCallback10_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) )
+
+#define ICorProfilerCallback10_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \
+ ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) )
+
+#define ICorProfilerCallback10_GarbageCollectionFinished(This) \
+ ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+
+#define ICorProfilerCallback10_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) )
+
+#define ICorProfilerCallback10_HandleCreated(This,handleId,initialObjectId) \
+ ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) )
+
+#define ICorProfilerCallback10_HandleDestroyed(This,handleId) \
+ ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+
+
+#define ICorProfilerCallback10_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \
+ ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+
+#define ICorProfilerCallback10_ProfilerAttachComplete(This) \
+ ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+
+#define ICorProfilerCallback10_ProfilerDetachSucceeded(This) \
+ ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+
+
+#define ICorProfilerCallback10_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) )
+
+#define ICorProfilerCallback10_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) )
+
+#define ICorProfilerCallback10_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) )
+
+
+#define ICorProfilerCallback10_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) )
+
+
+#define ICorProfilerCallback10_ModuleInMemorySymbolsUpdated(This,moduleId) \
+ ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) )
+
+
+#define ICorProfilerCallback10_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) )
+
+
+#define ICorProfilerCallback10_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) )
+
+#define ICorProfilerCallback10_EventPipeProviderCreated(This,provider) \
+ ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerCallback10_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerCallback11_INTERFACE_DEFINED__
+#define __ICorProfilerCallback11_INTERFACE_DEFINED__
+
+/* interface ICorProfilerCallback11 */
+/* [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(
+ BOOL *pbNotificationOnly) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerCallback11Vtbl
+ {
+ BEGIN_INTERFACE
+
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(IUnknown, Release)
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Initialize)
+ HRESULT ( STDMETHODCALLTYPE *Initialize )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ IUnknown *pICorProfilerInfoUnk);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, Shutdown)
+ HRESULT ( STDMETHODCALLTYPE *Shutdown )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationStarted)
+ HRESULT ( STDMETHODCALLTYPE *AppDomainCreationStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainCreationFinished)
+ HRESULT ( STDMETHODCALLTYPE *AppDomainCreationFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownStarted)
+ HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AppDomainShutdownFinished)
+ HRESULT ( STDMETHODCALLTYPE *AppDomainShutdownFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadStarted)
+ HRESULT ( STDMETHODCALLTYPE *AssemblyLoadStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyLoadFinished)
+ HRESULT ( STDMETHODCALLTYPE *AssemblyLoadFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadStarted)
+ HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, AssemblyUnloadFinished)
+ HRESULT ( STDMETHODCALLTYPE *AssemblyUnloadFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadStarted)
+ HRESULT ( STDMETHODCALLTYPE *ModuleLoadStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleLoadFinished)
+ HRESULT ( STDMETHODCALLTYPE *ModuleLoadFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadStarted)
+ HRESULT ( STDMETHODCALLTYPE *ModuleUnloadStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleUnloadFinished)
+ HRESULT ( STDMETHODCALLTYPE *ModuleUnloadFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ModuleAttachedToAssembly)
+ HRESULT ( STDMETHODCALLTYPE *ModuleAttachedToAssembly )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ AssemblyID AssemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadStarted)
+ HRESULT ( STDMETHODCALLTYPE *ClassLoadStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassLoadFinished)
+ HRESULT ( STDMETHODCALLTYPE *ClassLoadFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadStarted)
+ HRESULT ( STDMETHODCALLTYPE *ClassUnloadStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ClassUnloadFinished)
+ HRESULT ( STDMETHODCALLTYPE *ClassUnloadFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, FunctionUnloadStarted)
+ HRESULT ( STDMETHODCALLTYPE *FunctionUnloadStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationStarted)
+ HRESULT ( STDMETHODCALLTYPE *JITCompilationStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCompilationFinished)
+ HRESULT ( STDMETHODCALLTYPE *JITCompilationFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchStarted)
+ HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *pbUseCachedFunction);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITCachedFunctionSearchFinished)
+ HRESULT ( STDMETHODCALLTYPE *JITCachedFunctionSearchFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_JIT_CACHE result);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITFunctionPitched)
+ HRESULT ( STDMETHODCALLTYPE *JITFunctionPitched )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, JITInlining)
+ HRESULT ( STDMETHODCALLTYPE *JITInlining )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID callerId,
+ /* [annotation][in] */
+ _In_ FunctionID calleeId,
+ /* [annotation][out] */
+ _Out_ BOOL *pfShouldInline);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadCreated)
+ HRESULT ( STDMETHODCALLTYPE *ThreadCreated )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadDestroyed)
+ HRESULT ( STDMETHODCALLTYPE *ThreadDestroyed )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ThreadAssignedToOSThread)
+ HRESULT ( STDMETHODCALLTYPE *ThreadAssignedToOSThread )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID managedThreadId,
+ /* [annotation][in] */
+ _In_ DWORD osThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationStarted)
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationStarted )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientSendingMessage)
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientSendingMessage )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientReceivingReply)
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientReceivingReply )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingClientInvocationFinished)
+ HRESULT ( STDMETHODCALLTYPE *RemotingClientInvocationFinished )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerReceivingMessage)
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerReceivingMessage )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationStarted)
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationStarted )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerInvocationReturned)
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerInvocationReturned )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RemotingServerSendingReply)
+ HRESULT ( STDMETHODCALLTYPE *RemotingServerSendingReply )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ GUID *pCookie,
+ /* [annotation][in] */
+ _In_ BOOL fIsAsync);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, UnmanagedToManagedTransition)
+ HRESULT ( STDMETHODCALLTYPE *UnmanagedToManagedTransition )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ManagedToUnmanagedTransition)
+ HRESULT ( STDMETHODCALLTYPE *ManagedToUnmanagedTransition )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_TRANSITION_REASON reason);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendStarted)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ COR_PRF_SUSPEND_REASON suspendReason);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendFinished)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendFinished )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeSuspendAborted)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeSuspendAborted )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeStarted)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeResumeStarted )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeResumeFinished)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeResumeFinished )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadSuspended)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeThreadSuspended )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RuntimeThreadResumed)
+ HRESULT ( STDMETHODCALLTYPE *RuntimeThreadResumed )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, MovedReferences)
+ HRESULT ( STDMETHODCALLTYPE *MovedReferences )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectAllocated)
+ HRESULT ( STDMETHODCALLTYPE *ObjectAllocated )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectsAllocatedByClass)
+ HRESULT ( STDMETHODCALLTYPE *ObjectsAllocatedByClass )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cClassCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ClassID classIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cClassCount) ULONG cObjects[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ObjectReferences)
+ HRESULT ( STDMETHODCALLTYPE *ObjectReferences )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cObjectRefs) ObjectID objectRefIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, RootReferences)
+ HRESULT ( STDMETHODCALLTYPE *RootReferences )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionThrown)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionThrown )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ObjectID thrownObjectId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionEnter )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFunctionLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFunctionLeave )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterEnter )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchFilterLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchFilterLeave )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionSearchCatcherFound)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionSearchCatcherFound )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerEnter )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionOSHandlerLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionOSHandlerLeave )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ UINT_PTR __unused);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionEnter )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFunctionLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFunctionLeave )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyEnter )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionUnwindFinallyLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionUnwindFinallyLeave )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherEnter)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherEnter )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ObjectID objectId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCatcherLeave)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCatcherLeave )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableCreated)
+ HRESULT ( STDMETHODCALLTYPE *COMClassicVTableCreated )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable,
+ /* [annotation][in] */
+ _In_ ULONG cSlots);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, COMClassicVTableDestroyed)
+ HRESULT ( STDMETHODCALLTYPE *COMClassicVTableDestroyed )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ClassID wrappedClassId,
+ /* [annotation][in] */
+ _In_ REFGUID implementedIID,
+ /* [annotation][in] */
+ _In_ void *pVTable);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherFound)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherFound )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback, ExceptionCLRCatcherExecute)
+ HRESULT ( STDMETHODCALLTYPE *ExceptionCLRCatcherExecute )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, ThreadNameChanged)
+ HRESULT ( STDMETHODCALLTYPE *ThreadNameChanged )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][in] */
+ _In_reads_opt_(cchName) WCHAR name[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionStarted)
+ HRESULT ( STDMETHODCALLTYPE *GarbageCollectionStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ int cGenerations,
+ /* [annotation][size_is][in] */
+ _In_reads_(cGenerations) BOOL generationCollected[ ],
+ /* [annotation][in] */
+ _In_ COR_PRF_GC_REASON reason);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, SurvivingReferences)
+ HRESULT ( STDMETHODCALLTYPE *SurvivingReferences )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ULONG cObjectIDRangeLength[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, GarbageCollectionFinished)
+ HRESULT ( STDMETHODCALLTYPE *GarbageCollectionFinished )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, FinalizeableObjectQueued)
+ HRESULT ( STDMETHODCALLTYPE *FinalizeableObjectQueued )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ DWORD finalizerFlags,
+ /* [annotation][in] */
+ _In_ ObjectID objectID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, RootReferences2)
+ HRESULT ( STDMETHODCALLTYPE *RootReferences2 )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID rootRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_KIND rootKinds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) COR_PRF_GC_ROOT_FLAGS rootFlags[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) UINT_PTR rootIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleCreated)
+ HRESULT ( STDMETHODCALLTYPE *HandleCreated )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ GCHandleID handleId,
+ /* [annotation][in] */
+ _In_ ObjectID initialObjectId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback2, HandleDestroyed)
+ HRESULT ( STDMETHODCALLTYPE *HandleDestroyed )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ GCHandleID handleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, InitializeForAttach)
+ HRESULT ( STDMETHODCALLTYPE *InitializeForAttach )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ IUnknown *pCorProfilerInfoUnk,
+ /* [annotation][in] */
+ _In_ void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerAttachComplete)
+ HRESULT ( STDMETHODCALLTYPE *ProfilerAttachComplete )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback3, ProfilerDetachSucceeded)
+ HRESULT ( STDMETHODCALLTYPE *ProfilerDetachSucceeded )(
+ ICorProfilerCallback11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationStarted)
+ HRESULT ( STDMETHODCALLTYPE *ReJITCompilationStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, GetReJITParameters)
+ HRESULT ( STDMETHODCALLTYPE *GetReJITParameters )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ ICorProfilerFunctionControl *pFunctionControl);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITCompilationFinished)
+ HRESULT ( STDMETHODCALLTYPE *ReJITCompilationFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID rejitId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, ReJITError)
+ HRESULT ( STDMETHODCALLTYPE *ReJITError )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, MovedReferences2)
+ HRESULT ( STDMETHODCALLTYPE *MovedReferences2 )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cMovedObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID oldObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) ObjectID newObjectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cMovedObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback4, SurvivingReferences2)
+ HRESULT ( STDMETHODCALLTYPE *SurvivingReferences2 )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cSurvivingObjectIDRanges,
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) ObjectID objectIDRangeStart[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cSurvivingObjectIDRanges) SIZE_T cObjectIDRangeLength[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback5, ConditionalWeakTableElementReferences)
+ HRESULT ( STDMETHODCALLTYPE *ConditionalWeakTableElementReferences )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cRootRefs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID keyRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) ObjectID valueRefIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cRootRefs) GCHandleID rootIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback6, GetAssemblyReferences)
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyReferences )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *wszAssemblyPath,
+ /* [annotation][in] */
+ _In_ ICorProfilerAssemblyReferenceProvider *pAsmRefProvider);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback7, ModuleInMemorySymbolsUpdated)
+ HRESULT ( STDMETHODCALLTYPE *ModuleInMemorySymbolsUpdated )(
+ ICorProfilerCallback11 * This,
+ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationStarted)
+ HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationStarted )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock,
+ /* [annotation][in] */
+ _In_ LPCBYTE pILHeader,
+ /* [annotation][in] */
+ _In_ ULONG cbILHeader);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback8, DynamicMethodJITCompilationFinished)
+ HRESULT ( STDMETHODCALLTYPE *DynamicMethodJITCompilationFinished )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ HRESULT hrStatus,
+ /* [annotation][in] */
+ _In_ BOOL fIsSafeToBlock);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback9, DynamicMethodUnloaded)
+ HRESULT ( STDMETHODCALLTYPE *DynamicMethodUnloaded )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeEventDelivered)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeEventDelivered )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][in] */
+ _In_ DWORD eventId,
+ /* [annotation][in] */
+ _In_ DWORD eventVersion,
+ /* [annotation][in] */
+ _In_ ULONG cbMetadataBlob,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbMetadataBlob) LPCBYTE metadataBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbEventData,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbEventData) LPCBYTE eventData,
+ /* [annotation][in] */
+ _In_ LPCGUID pActivityId,
+ /* [annotation][in] */
+ _In_ LPCGUID pRelatedActivityId,
+ /* [annotation][in] */
+ _In_ ThreadID eventThread,
+ /* [annotation][in] */
+ _In_ ULONG numStackFrames,
+ /* [annotation][length_is][in] */
+ _In_ UINT_PTR stackFrames[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback10, EventPipeProviderCreated)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeProviderCreated )(
+ ICorProfilerCallback11 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider);
+
+ DECLSPEC_XFGVIRT(ICorProfilerCallback11, LoadAsNotificationOnly)
+ HRESULT ( STDMETHODCALLTYPE *LoadAsNotificationOnly )(
+ ICorProfilerCallback11 * This,
+ BOOL *pbNotificationOnly);
+
+ END_INTERFACE
+ } ICorProfilerCallback11Vtbl;
+
+ interface ICorProfilerCallback11
+ {
+ CONST_VTBL struct ICorProfilerCallback11Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerCallback11_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerCallback11_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerCallback11_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerCallback11_Initialize(This,pICorProfilerInfoUnk) \
+ ( (This)->lpVtbl -> Initialize(This,pICorProfilerInfoUnk) )
+
+#define ICorProfilerCallback11_Shutdown(This) \
+ ( (This)->lpVtbl -> Shutdown(This) )
+
+#define ICorProfilerCallback11_AppDomainCreationStarted(This,appDomainId) \
+ ( (This)->lpVtbl -> AppDomainCreationStarted(This,appDomainId) )
+
+#define ICorProfilerCallback11_AppDomainCreationFinished(This,appDomainId,hrStatus) \
+ ( (This)->lpVtbl -> AppDomainCreationFinished(This,appDomainId,hrStatus) )
+
+#define ICorProfilerCallback11_AppDomainShutdownStarted(This,appDomainId) \
+ ( (This)->lpVtbl -> AppDomainShutdownStarted(This,appDomainId) )
+
+#define ICorProfilerCallback11_AppDomainShutdownFinished(This,appDomainId,hrStatus) \
+ ( (This)->lpVtbl -> AppDomainShutdownFinished(This,appDomainId,hrStatus) )
+
+#define ICorProfilerCallback11_AssemblyLoadStarted(This,assemblyId) \
+ ( (This)->lpVtbl -> AssemblyLoadStarted(This,assemblyId) )
+
+#define ICorProfilerCallback11_AssemblyLoadFinished(This,assemblyId,hrStatus) \
+ ( (This)->lpVtbl -> AssemblyLoadFinished(This,assemblyId,hrStatus) )
+
+#define ICorProfilerCallback11_AssemblyUnloadStarted(This,assemblyId) \
+ ( (This)->lpVtbl -> AssemblyUnloadStarted(This,assemblyId) )
+
+#define ICorProfilerCallback11_AssemblyUnloadFinished(This,assemblyId,hrStatus) \
+ ( (This)->lpVtbl -> AssemblyUnloadFinished(This,assemblyId,hrStatus) )
+
+#define ICorProfilerCallback11_ModuleLoadStarted(This,moduleId) \
+ ( (This)->lpVtbl -> ModuleLoadStarted(This,moduleId) )
+
+#define ICorProfilerCallback11_ModuleLoadFinished(This,moduleId,hrStatus) \
+ ( (This)->lpVtbl -> ModuleLoadFinished(This,moduleId,hrStatus) )
+
+#define ICorProfilerCallback11_ModuleUnloadStarted(This,moduleId) \
+ ( (This)->lpVtbl -> ModuleUnloadStarted(This,moduleId) )
+
+#define ICorProfilerCallback11_ModuleUnloadFinished(This,moduleId,hrStatus) \
+ ( (This)->lpVtbl -> ModuleUnloadFinished(This,moduleId,hrStatus) )
+
+#define ICorProfilerCallback11_ModuleAttachedToAssembly(This,moduleId,AssemblyId) \
+ ( (This)->lpVtbl -> ModuleAttachedToAssembly(This,moduleId,AssemblyId) )
+
+#define ICorProfilerCallback11_ClassLoadStarted(This,classId) \
+ ( (This)->lpVtbl -> ClassLoadStarted(This,classId) )
+
+#define ICorProfilerCallback11_ClassLoadFinished(This,classId,hrStatus) \
+ ( (This)->lpVtbl -> ClassLoadFinished(This,classId,hrStatus) )
+
+#define ICorProfilerCallback11_ClassUnloadStarted(This,classId) \
+ ( (This)->lpVtbl -> ClassUnloadStarted(This,classId) )
+
+#define ICorProfilerCallback11_ClassUnloadFinished(This,classId,hrStatus) \
+ ( (This)->lpVtbl -> ClassUnloadFinished(This,classId,hrStatus) )
+
+#define ICorProfilerCallback11_FunctionUnloadStarted(This,functionId) \
+ ( (This)->lpVtbl -> FunctionUnloadStarted(This,functionId) )
+
+#define ICorProfilerCallback11_JITCompilationStarted(This,functionId,fIsSafeToBlock) \
+ ( (This)->lpVtbl -> JITCompilationStarted(This,functionId,fIsSafeToBlock) )
+
+#define ICorProfilerCallback11_JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) \
+ ( (This)->lpVtbl -> JITCompilationFinished(This,functionId,hrStatus,fIsSafeToBlock) )
+
+#define ICorProfilerCallback11_JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) \
+ ( (This)->lpVtbl -> JITCachedFunctionSearchStarted(This,functionId,pbUseCachedFunction) )
+
+#define ICorProfilerCallback11_JITCachedFunctionSearchFinished(This,functionId,result) \
+ ( (This)->lpVtbl -> JITCachedFunctionSearchFinished(This,functionId,result) )
+
+#define ICorProfilerCallback11_JITFunctionPitched(This,functionId) \
+ ( (This)->lpVtbl -> JITFunctionPitched(This,functionId) )
+
+#define ICorProfilerCallback11_JITInlining(This,callerId,calleeId,pfShouldInline) \
+ ( (This)->lpVtbl -> JITInlining(This,callerId,calleeId,pfShouldInline) )
+
+#define ICorProfilerCallback11_ThreadCreated(This,threadId) \
+ ( (This)->lpVtbl -> ThreadCreated(This,threadId) )
+
+#define ICorProfilerCallback11_ThreadDestroyed(This,threadId) \
+ ( (This)->lpVtbl -> ThreadDestroyed(This,threadId) )
+
+#define ICorProfilerCallback11_ThreadAssignedToOSThread(This,managedThreadId,osThreadId) \
+ ( (This)->lpVtbl -> ThreadAssignedToOSThread(This,managedThreadId,osThreadId) )
+
+#define ICorProfilerCallback11_RemotingClientInvocationStarted(This) \
+ ( (This)->lpVtbl -> RemotingClientInvocationStarted(This) )
+
+#define ICorProfilerCallback11_RemotingClientSendingMessage(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingClientSendingMessage(This,pCookie,fIsAsync) )
+
+#define ICorProfilerCallback11_RemotingClientReceivingReply(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingClientReceivingReply(This,pCookie,fIsAsync) )
+
+#define ICorProfilerCallback11_RemotingClientInvocationFinished(This) \
+ ( (This)->lpVtbl -> RemotingClientInvocationFinished(This) )
+
+#define ICorProfilerCallback11_RemotingServerReceivingMessage(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingServerReceivingMessage(This,pCookie,fIsAsync) )
+
+#define ICorProfilerCallback11_RemotingServerInvocationStarted(This) \
+ ( (This)->lpVtbl -> RemotingServerInvocationStarted(This) )
+
+#define ICorProfilerCallback11_RemotingServerInvocationReturned(This) \
+ ( (This)->lpVtbl -> RemotingServerInvocationReturned(This) )
+
+#define ICorProfilerCallback11_RemotingServerSendingReply(This,pCookie,fIsAsync) \
+ ( (This)->lpVtbl -> RemotingServerSendingReply(This,pCookie,fIsAsync) )
+
+#define ICorProfilerCallback11_UnmanagedToManagedTransition(This,functionId,reason) \
+ ( (This)->lpVtbl -> UnmanagedToManagedTransition(This,functionId,reason) )
+
+#define ICorProfilerCallback11_ManagedToUnmanagedTransition(This,functionId,reason) \
+ ( (This)->lpVtbl -> ManagedToUnmanagedTransition(This,functionId,reason) )
+
+#define ICorProfilerCallback11_RuntimeSuspendStarted(This,suspendReason) \
+ ( (This)->lpVtbl -> RuntimeSuspendStarted(This,suspendReason) )
+
+#define ICorProfilerCallback11_RuntimeSuspendFinished(This) \
+ ( (This)->lpVtbl -> RuntimeSuspendFinished(This) )
+
+#define ICorProfilerCallback11_RuntimeSuspendAborted(This) \
+ ( (This)->lpVtbl -> RuntimeSuspendAborted(This) )
+
+#define ICorProfilerCallback11_RuntimeResumeStarted(This) \
+ ( (This)->lpVtbl -> RuntimeResumeStarted(This) )
+
+#define ICorProfilerCallback11_RuntimeResumeFinished(This) \
+ ( (This)->lpVtbl -> RuntimeResumeFinished(This) )
+
+#define ICorProfilerCallback11_RuntimeThreadSuspended(This,threadId) \
+ ( (This)->lpVtbl -> RuntimeThreadSuspended(This,threadId) )
+
+#define ICorProfilerCallback11_RuntimeThreadResumed(This,threadId) \
+ ( (This)->lpVtbl -> RuntimeThreadResumed(This,threadId) )
+
+#define ICorProfilerCallback11_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) )
+
+#define ICorProfilerCallback11_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) )
+
+#define ICorProfilerCallback11_RootReferences(This,cRootRefs,rootRefIds) \
+ ( (This)->lpVtbl -> RootReferences(This,cRootRefs,rootRefIds) )
+
+#define ICorProfilerCallback11_ExceptionThrown(This,thrownObjectId) \
+ ( (This)->lpVtbl -> ExceptionThrown(This,thrownObjectId) )
+
+#define ICorProfilerCallback11_ExceptionSearchFunctionEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionSearchFunctionEnter(This,functionId) )
+
+#define ICorProfilerCallback11_ExceptionSearchFunctionLeave(This) \
+ ( (This)->lpVtbl -> ExceptionSearchFunctionLeave(This) )
+
+#define ICorProfilerCallback11_ExceptionSearchFilterEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionSearchFilterEnter(This,functionId) )
+
+#define ICorProfilerCallback11_ExceptionSearchFilterLeave(This) \
+ ( (This)->lpVtbl -> ExceptionSearchFilterLeave(This) )
+
+#define ICorProfilerCallback11_ExceptionSearchCatcherFound(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionSearchCatcherFound(This,functionId) )
+
+#define ICorProfilerCallback11_ExceptionOSHandlerEnter(This,__unused) \
+ ( (This)->lpVtbl -> ExceptionOSHandlerEnter(This,__unused) )
+
+#define ICorProfilerCallback11_ExceptionOSHandlerLeave(This,__unused) \
+ ( (This)->lpVtbl -> ExceptionOSHandlerLeave(This,__unused) )
+
+#define ICorProfilerCallback11_ExceptionUnwindFunctionEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionUnwindFunctionEnter(This,functionId) )
+
+#define ICorProfilerCallback11_ExceptionUnwindFunctionLeave(This) \
+ ( (This)->lpVtbl -> ExceptionUnwindFunctionLeave(This) )
+
+#define ICorProfilerCallback11_ExceptionUnwindFinallyEnter(This,functionId) \
+ ( (This)->lpVtbl -> ExceptionUnwindFinallyEnter(This,functionId) )
+
+#define ICorProfilerCallback11_ExceptionUnwindFinallyLeave(This) \
+ ( (This)->lpVtbl -> ExceptionUnwindFinallyLeave(This) )
+
+#define ICorProfilerCallback11_ExceptionCatcherEnter(This,functionId,objectId) \
+ ( (This)->lpVtbl -> ExceptionCatcherEnter(This,functionId,objectId) )
+
+#define ICorProfilerCallback11_ExceptionCatcherLeave(This) \
+ ( (This)->lpVtbl -> ExceptionCatcherLeave(This) )
+
+#define ICorProfilerCallback11_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) )
+
+#define ICorProfilerCallback11_ExceptionCLRCatcherFound(This) \
+ ( (This)->lpVtbl -> ExceptionCLRCatcherFound(This) )
+
+#define ICorProfilerCallback11_ExceptionCLRCatcherExecute(This) \
+ ( (This)->lpVtbl -> ExceptionCLRCatcherExecute(This) )
+
+
+#define ICorProfilerCallback11_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) )
+
+#define ICorProfilerCallback11_SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) \
+ ( (This)->lpVtbl -> SurvivingReferences(This,cSurvivingObjectIDRanges,objectIDRangeStart,cObjectIDRangeLength) )
+
+#define ICorProfilerCallback11_GarbageCollectionFinished(This) \
+ ( (This)->lpVtbl -> GarbageCollectionFinished(This) )
+
+#define ICorProfilerCallback11_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) )
+
+#define ICorProfilerCallback11_HandleCreated(This,handleId,initialObjectId) \
+ ( (This)->lpVtbl -> HandleCreated(This,handleId,initialObjectId) )
+
+#define ICorProfilerCallback11_HandleDestroyed(This,handleId) \
+ ( (This)->lpVtbl -> HandleDestroyed(This,handleId) )
+
+
+#define ICorProfilerCallback11_InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) \
+ ( (This)->lpVtbl -> InitializeForAttach(This,pCorProfilerInfoUnk,pvClientData,cbClientData) )
+
+#define ICorProfilerCallback11_ProfilerAttachComplete(This) \
+ ( (This)->lpVtbl -> ProfilerAttachComplete(This) )
+
+#define ICorProfilerCallback11_ProfilerDetachSucceeded(This) \
+ ( (This)->lpVtbl -> ProfilerDetachSucceeded(This) )
+
+
+#define ICorProfilerCallback11_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) )
+
+#define ICorProfilerCallback11_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) )
+
+#define ICorProfilerCallback11_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) )
+
+
+#define ICorProfilerCallback11_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) )
+
+
+#define ICorProfilerCallback11_ModuleInMemorySymbolsUpdated(This,moduleId) \
+ ( (This)->lpVtbl -> ModuleInMemorySymbolsUpdated(This,moduleId) )
+
+
+#define ICorProfilerCallback11_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) )
+
+
+#define ICorProfilerCallback11_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) )
+
+#define ICorProfilerCallback11_EventPipeProviderCreated(This,provider) \
+ ( (This)->lpVtbl -> EventPipeProviderCreated(This,provider) )
+
+
+#define ICorProfilerCallback11_LoadAsNotificationOnly(This,pbNotificationOnly) \
+ ( (This)->lpVtbl -> LoadAsNotificationOnly(This,pbNotificationOnly) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerCallback11_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_corprof_0000_0011 */
/* [local] */
typedef /* [public] */
-enum __MIDL___MIDL_itf_corprof_0000_0009_0001
+enum __MIDL___MIDL_itf_corprof_0000_0011_0001
{
COR_PRF_CODEGEN_DISABLE_INLINING = 0x1,
COR_PRF_CODEGEN_DISABLE_ALL_OPTIMIZATIONS = 0x2
@@ -7418,8 +11875,8 @@ enum __MIDL___MIDL_itf_corprof_0000_0009_0001
-extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0009_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0009_v0_0_s_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0011_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_corprof_0000_0011_v0_0_s_ifspec;
#ifndef __ICorProfilerInfo_INTERFACE_DEFINED__
#define __ICorProfilerInfo_INTERFACE_DEFINED__
@@ -7437,160 +11894,244 @@ EXTERN_C const IID IID_ICorProfilerInfo;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetClassFromObject(
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId) = 0;
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClassFromToken(
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCodeInfo(
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEventMask(
- /* [out] */ DWORD *pdwEvents) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP(
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId) = 0;
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionFromToken(
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHandleFromThread(
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread) = 0;
virtual HRESULT STDMETHODCALLTYPE GetObjectSize(
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize) = 0;
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize) = 0;
virtual HRESULT STDMETHODCALLTYPE IsArrayClass(
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadInfo(
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentThreadID(
- /* [out] */ ThreadID *pThreadId) = 0;
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo(
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo(
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEventMask(
- /* [in] */ DWORD dwEvents) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwEvents) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks(
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall) = 0;
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper(
- /* [in] */ FunctionIDMapper *pFunc) = 0;
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTokenAndMetaDataFromFunction(
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken) = 0;
virtual HRESULT STDMETHODCALLTYPE GetModuleInfo(
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId) = 0;
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetModuleMetaData(
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut) = 0;
virtual HRESULT STDMETHODCALLTYPE GetILFunctionBody(
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetILFunctionBodyAllocator(
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc) = 0;
virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody(
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAppDomainInfo(
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId) = 0;
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAssemblyInfo(
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId) = 0;
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFunctionReJIT(
- /* [in] */ FunctionID functionId) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId) = 0;
virtual HRESULT STDMETHODCALLTYPE ForceGC( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap(
- /* [in] */ FunctionID functionId,
- /* [in] */ BOOL fStartJit,
- /* [in] */ ULONG cILMapEntries,
- /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionInterface(
- /* [out] */ IUnknown **ppicd) = 0;
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInprocInspectionIThisThread(
- /* [out] */ IUnknown **ppicd) = 0;
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadContext(
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginInprocDebugging(
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext) = 0;
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext) = 0;
virtual HRESULT STDMETHODCALLTYPE EndInprocDebugging(
- /* [in] */ DWORD dwProfilerContext) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext) = 0;
virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping(
- /* [in] */ FunctionID functionId,
- /* [in] */ ULONG32 cMap,
- /* [out] */ ULONG32 *pcMap,
- /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0;
};
@@ -7601,206 +12142,327 @@ EXTERN_C const IID IID_ICorProfilerInfo;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerInfo * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerInfo * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerInfo * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
ICorProfilerInfo * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
ICorProfilerInfo * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
ICorProfilerInfo * This,
- /* [out] */ DWORD *pdwEvents);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
ICorProfilerInfo * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
ICorProfilerInfo * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
ICorProfilerInfo * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
ICorProfilerInfo * This,
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
ICorProfilerInfo * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
ICorProfilerInfo * This,
- /* [out] */ ThreadID *pThreadId);
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
ICorProfilerInfo * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
ICorProfilerInfo * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
ICorProfilerInfo * This,
- /* [in] */ DWORD dwEvents);
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
ICorProfilerInfo * This,
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
ICorProfilerInfo * This,
- /* [in] */ FunctionIDMapper *pFunc);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
ICorProfilerInfo * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
ICorProfilerInfo * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
ICorProfilerInfo * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId);
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
ICorProfilerInfo * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId);
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
ICorProfilerInfo * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
ICorProfilerInfo * This);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
ICorProfilerInfo * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
ICorProfilerInfo * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
ICorProfilerInfo * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
ICorProfilerInfo * This,
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext);
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
ICorProfilerInfo * This,
- /* [in] */ DWORD dwProfilerContext);
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
END_INTERFACE
} ICorProfilerInfoVtbl;
@@ -7951,128 +12613,210 @@ EXTERN_C const IID IID_ICorProfilerInfo2;
{
public:
virtual HRESULT STDMETHODCALLTYPE DoStackSnapshot(
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks2(
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall) = 0;
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionInfo2(
- /* [in] */ FunctionID funcId,
- /* [in] */ COR_PRF_FRAME_INFO frameInfo,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken,
- /* [in] */ ULONG32 cTypeArgs,
- /* [out] */ ULONG32 *pcTypeArgs,
- /* [out] */ ClassID typeArgs[ ]) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStringLayout(
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset) = 0;
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClassLayout(
- /* [in] */ ClassID classID,
- /* [out][in] */ COR_FIELD_OFFSET rFieldOffset[ ],
- /* [in] */ ULONG cFieldOffset,
- /* [out] */ ULONG *pcFieldOffset,
- /* [out] */ ULONG *pulClassSize) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClassIDInfo2(
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCodeInfo2(
- /* [in] */ FunctionID functionID,
- /* [in] */ ULONG32 cCodeInfos,
- /* [out] */ ULONG32 *pcCodeInfos,
- /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClassFromTokenAndTypeArgs(
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdTypeDef typeDef,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ ClassID *pClassID) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionFromTokenAndTypeArgs(
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumModuleFrozenObjects(
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetArrayObjectInfo(
- /* [in] */ ObjectID objectId,
- /* [in] */ ULONG32 cDimensions,
- /* [size_is][out] */ ULONG32 pDimensionSizes[ ],
- /* [size_is][out] */ int pDimensionLowerBounds[ ],
- /* [out] */ BYTE **ppData) = 0;
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBoxClassLayout(
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadAppDomain(
- /* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId) = 0;
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRVAStaticAddress(
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAppDomainStaticAddress(
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress(
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress) = 0;
virtual HRESULT STDMETHODCALLTYPE GetContextStaticAddress(
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStaticFieldInfo(
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGenerationBounds(
- /* [in] */ ULONG cObjectRanges,
- /* [out] */ ULONG *pcObjectRanges,
- /* [length_is][size_is][out] */ COR_PRF_GC_GENERATION_RANGE ranges[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetObjectGeneration(
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range) = 0;
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNotifiedExceptionClauseInfo(
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo) = 0;
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo) = 0;
};
@@ -8083,351 +12827,575 @@ EXTERN_C const IID IID_ICorProfilerInfo2;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerInfo2 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerInfo2 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerInfo2 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
ICorProfilerInfo2 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
ICorProfilerInfo2 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
ICorProfilerInfo2 * This,
- /* [out] */ DWORD *pdwEvents);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
ICorProfilerInfo2 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
ICorProfilerInfo2 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
ICorProfilerInfo2 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
ICorProfilerInfo2 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
ICorProfilerInfo2 * This,
- /* [out] */ ThreadID *pThreadId);
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
ICorProfilerInfo2 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
ICorProfilerInfo2 * This,
- /* [in] */ DWORD dwEvents);
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
ICorProfilerInfo2 * This,
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
ICorProfilerInfo2 * This,
- /* [in] */ FunctionIDMapper *pFunc);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
ICorProfilerInfo2 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
ICorProfilerInfo2 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId);
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
ICorProfilerInfo2 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId);
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
ICorProfilerInfo2 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
ICorProfilerInfo2 * This);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
ICorProfilerInfo2 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
ICorProfilerInfo2 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
ICorProfilerInfo2 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
ICorProfilerInfo2 * This,
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext);
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
ICorProfilerInfo2 * This,
- /* [in] */ DWORD dwProfilerContext);
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
ICorProfilerInfo2 * This,
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize);
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
ICorProfilerInfo2 * This,
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
ICorProfilerInfo2 * This,
- /* [in] */ FunctionID funcId,
- /* [in] */ COR_PRF_FRAME_INFO frameInfo,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken,
- /* [in] */ ULONG32 cTypeArgs,
- /* [out] */ ULONG32 *pcTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
ICorProfilerInfo2 * This,
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ 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);
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ 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);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
ICorProfilerInfo2 * This,
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+ 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);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
ICorProfilerInfo2 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
ICorProfilerInfo2 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
ICorProfilerInfo2 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
ICorProfilerInfo2 * This,
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
END_INTERFACE
} ICorProfilerInfo2Vtbl;
@@ -8642,84 +13610,132 @@ EXTERN_C const IID IID_ICorProfilerInfo3;
{
public:
virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions(
- /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0;
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE RequestProfilerDetach(
- /* [in] */ DWORD dwExpectedCompletionMilliseconds) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFunctionIDMapper2(
- /* [in] */ FunctionIDMapper2 *pFunc,
- /* [in] */ void *clientData) = 0;
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStringLayout2(
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset) = 0;
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3(
- /* [in] */ FunctionEnter3 *pFuncEnter3,
- /* [in] */ FunctionLeave3 *pFuncLeave3,
- /* [in] */ FunctionTailcall3 *pFuncTailcall3) = 0;
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEnterLeaveFunctionHooks3WithInfo(
- /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
- /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
- /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo) = 0;
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionEnter3Info(
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
- /* [out][in] */ ULONG *pcbArgumentInfo,
- /* [size_is][out] */ COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionLeave3Info(
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo,
- /* [out] */ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionTailcall3Info(
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumModules(
- /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0;
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRuntimeInformation(
- /* [out] */ USHORT *pClrInstanceId,
- /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
- /* [out] */ USHORT *pMajorVersion,
- /* [out] */ USHORT *pMinorVersion,
- /* [out] */ USHORT *pBuildNumber,
- /* [out] */ USHORT *pQFEVersion,
- /* [in] */ ULONG cchVersionString,
- /* [out] */ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
/* [annotation][out] */
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadStaticAddress2(
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress) = 0;
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAppDomainsContainingModule(
- /* [in] */ ModuleID moduleId,
- /* [in] */ ULONG32 cAppDomainIds,
- /* [out] */ ULONG32 *pcAppDomainIds,
- /* [length_is][size_is][out] */ AppDomainID appDomainIds[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetModuleInfo2(
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId,
- /* [out] */ DWORD *pdwModuleFlags) = 0;
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags) = 0;
};
@@ -8730,445 +13746,731 @@ EXTERN_C const IID IID_ICorProfilerInfo3;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerInfo3 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerInfo3 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerInfo3 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
ICorProfilerInfo3 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
ICorProfilerInfo3 * This,
- /* [out] */ DWORD *pdwEvents);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
ICorProfilerInfo3 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
ICorProfilerInfo3 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
ICorProfilerInfo3 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
ICorProfilerInfo3 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
ICorProfilerInfo3 * This,
- /* [out] */ ThreadID *pThreadId);
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
ICorProfilerInfo3 * This,
- /* [in] */ DWORD dwEvents);
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionIDMapper *pFunc);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
ICorProfilerInfo3 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId);
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
ICorProfilerInfo3 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId);
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
ICorProfilerInfo3 * This);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
ICorProfilerInfo3 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
ICorProfilerInfo3 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
ICorProfilerInfo3 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
ICorProfilerInfo3 * This,
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext);
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
ICorProfilerInfo3 * This,
- /* [in] */ DWORD dwProfilerContext);
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
ICorProfilerInfo3 * This,
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize);
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionID funcId,
- /* [in] */ COR_PRF_FRAME_INFO frameInfo,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken,
- /* [in] */ ULONG32 cTypeArgs,
- /* [out] */ ULONG32 *pcTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
ICorProfilerInfo3 * This,
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ 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);
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ 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);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+ 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);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
ICorProfilerInfo3 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
ICorProfilerInfo3 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
ICorProfilerInfo3 * This,
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
ICorProfilerInfo3 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
ICorProfilerInfo3 * This,
- /* [in] */ DWORD dwExpectedCompletionMilliseconds);
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionIDMapper2 *pFunc,
- /* [in] */ void *clientData);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
ICorProfilerInfo3 * This,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionEnter3 *pFuncEnter3,
- /* [in] */ FunctionLeave3 *pFuncLeave3,
- /* [in] */ FunctionTailcall3 *pFuncTailcall3);
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
- /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
- /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
ICorProfilerInfo3 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
ICorProfilerInfo3 * This,
- /* [out] */ ICorProfilerModuleEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
ICorProfilerInfo3 * This,
- /* [out] */ USHORT *pClrInstanceId,
- /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
- /* [out] */ USHORT *pMajorVersion,
- /* [out] */ USHORT *pMinorVersion,
- /* [out] */ USHORT *pBuildNumber,
- /* [out] */ USHORT *pQFEVersion,
- /* [in] */ ULONG cchVersionString,
- /* [out] */ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
/* [annotation][out] */
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
ICorProfilerInfo3 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
ICorProfilerInfo3 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId,
- /* [out] */ DWORD *pdwModuleFlags);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
END_INTERFACE
} ICorProfilerInfo3Vtbl;
@@ -9426,20 +14728,26 @@ EXTERN_C const IID IID_ICorProfilerObjectEnum;
{
public:
virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ ICorProfilerObjectEnum **ppEnum) = 0;
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCount(
- /* [out] */ ULONG *pcelt) = 0;
+ /* [annotation][out] */
+ _Out_ ULONG *pcelt) = 0;
virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ObjectID objects[ ],
- /* [out] */ ULONG *pceltFetched) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) ObjectID objects[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched) = 0;
};
@@ -9450,38 +14758,53 @@ EXTERN_C const IID IID_ICorProfilerObjectEnum;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerObjectEnum * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerObjectEnum * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerObjectEnum * This);
+ DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Skip)
HRESULT ( STDMETHODCALLTYPE *Skip )(
ICorProfilerObjectEnum * This,
- /* [in] */ ULONG celt);
+ /* [annotation][in] */
+ _In_ ULONG celt);
+ DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Reset)
HRESULT ( STDMETHODCALLTYPE *Reset )(
ICorProfilerObjectEnum * This);
+ DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Clone)
HRESULT ( STDMETHODCALLTYPE *Clone )(
ICorProfilerObjectEnum * This,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, GetCount)
HRESULT ( STDMETHODCALLTYPE *GetCount )(
ICorProfilerObjectEnum * This,
- /* [out] */ ULONG *pcelt);
+ /* [annotation][out] */
+ _Out_ ULONG *pcelt);
+ DECLSPEC_XFGVIRT(ICorProfilerObjectEnum, Next)
HRESULT ( STDMETHODCALLTYPE *Next )(
ICorProfilerObjectEnum * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ObjectID objects[ ],
- /* [out] */ ULONG *pceltFetched);
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) ObjectID objects[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched);
END_INTERFACE
} ICorProfilerObjectEnumVtbl;
@@ -9548,20 +14871,26 @@ EXTERN_C const IID IID_ICorProfilerFunctionEnum;
{
public:
virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0;
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCount(
- /* [out] */ ULONG *pcelt) = 0;
+ /* [annotation][out] */
+ _Out_ ULONG *pcelt) = 0;
virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[ ],
- /* [out] */ ULONG *pceltFetched) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) COR_PRF_FUNCTION ids[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched) = 0;
};
@@ -9572,38 +14901,53 @@ EXTERN_C const IID IID_ICorProfilerFunctionEnum;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerFunctionEnum * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerFunctionEnum * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerFunctionEnum * This);
+ DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Skip)
HRESULT ( STDMETHODCALLTYPE *Skip )(
ICorProfilerFunctionEnum * This,
- /* [in] */ ULONG celt);
+ /* [annotation][in] */
+ _In_ ULONG celt);
+ DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Reset)
HRESULT ( STDMETHODCALLTYPE *Reset )(
ICorProfilerFunctionEnum * This);
+ DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Clone)
HRESULT ( STDMETHODCALLTYPE *Clone )(
ICorProfilerFunctionEnum * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, GetCount)
HRESULT ( STDMETHODCALLTYPE *GetCount )(
ICorProfilerFunctionEnum * This,
- /* [out] */ ULONG *pcelt);
+ /* [annotation][out] */
+ _Out_ ULONG *pcelt);
+ DECLSPEC_XFGVIRT(ICorProfilerFunctionEnum, Next)
HRESULT ( STDMETHODCALLTYPE *Next )(
ICorProfilerFunctionEnum * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ COR_PRF_FUNCTION ids[ ],
- /* [out] */ ULONG *pceltFetched);
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) COR_PRF_FUNCTION ids[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched);
END_INTERFACE
} ICorProfilerFunctionEnumVtbl;
@@ -9670,20 +15014,26 @@ EXTERN_C const IID IID_ICorProfilerModuleEnum;
{
public:
virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ ICorProfilerModuleEnum **ppEnum) = 0;
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCount(
- /* [out] */ ULONG *pcelt) = 0;
+ /* [annotation][out] */
+ _Out_ ULONG *pcelt) = 0;
virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ModuleID ids[ ],
- /* [out] */ ULONG *pceltFetched) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) ModuleID ids[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched) = 0;
};
@@ -9694,38 +15044,53 @@ EXTERN_C const IID IID_ICorProfilerModuleEnum;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerModuleEnum * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerModuleEnum * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerModuleEnum * This);
+ DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Skip)
HRESULT ( STDMETHODCALLTYPE *Skip )(
ICorProfilerModuleEnum * This,
- /* [in] */ ULONG celt);
+ /* [annotation][in] */
+ _In_ ULONG celt);
+ DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Reset)
HRESULT ( STDMETHODCALLTYPE *Reset )(
ICorProfilerModuleEnum * This);
+ DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Clone)
HRESULT ( STDMETHODCALLTYPE *Clone )(
ICorProfilerModuleEnum * This,
- /* [out] */ ICorProfilerModuleEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, GetCount)
HRESULT ( STDMETHODCALLTYPE *GetCount )(
ICorProfilerModuleEnum * This,
- /* [out] */ ULONG *pcelt);
+ /* [annotation][out] */
+ _Out_ ULONG *pcelt);
+ DECLSPEC_XFGVIRT(ICorProfilerModuleEnum, Next)
HRESULT ( STDMETHODCALLTYPE *Next )(
ICorProfilerModuleEnum * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ModuleID ids[ ],
- /* [out] */ ULONG *pceltFetched);
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) ModuleID ids[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched);
END_INTERFACE
} ICorProfilerModuleEnumVtbl;
@@ -9792,7 +15157,8 @@ EXTERN_C const IID IID_IMethodMalloc;
{
public:
virtual PVOID STDMETHODCALLTYPE Alloc(
- /* [in] */ ULONG cb) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cb) = 0;
};
@@ -9803,21 +15169,27 @@ EXTERN_C const IID IID_IMethodMalloc;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMethodMalloc * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMethodMalloc * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IMethodMalloc * This);
+ DECLSPEC_XFGVIRT(IMethodMalloc, Alloc)
PVOID ( STDMETHODCALLTYPE *Alloc )(
IMethodMalloc * This,
- /* [in] */ ULONG cb);
+ /* [annotation][in] */
+ _In_ ULONG cb);
END_INTERFACE
} IMethodMallocVtbl;
@@ -9872,15 +15244,20 @@ EXTERN_C const IID IID_ICorProfilerFunctionControl;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetCodegenFlags(
- /* [in] */ DWORD flags) = 0;
+ /* [annotation][in] */
+ _In_ DWORD flags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetILFunctionBody(
- /* [in] */ ULONG cbNewILMethodHeader,
- /* [size_is][in] */ LPCBYTE pbNewILMethodHeader) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cbNewILMethodHeader,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbNewILMethodHeader) LPCBYTE pbNewILMethodHeader) = 0;
virtual HRESULT STDMETHODCALLTYPE SetILInstrumentedCodeMap(
- /* [in] */ ULONG cILMapEntries,
- /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]) = 0;
};
@@ -9891,31 +15268,43 @@ EXTERN_C const IID IID_ICorProfilerFunctionControl;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerFunctionControl * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerFunctionControl * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerFunctionControl * This);
+ DECLSPEC_XFGVIRT(ICorProfilerFunctionControl, SetCodegenFlags)
HRESULT ( STDMETHODCALLTYPE *SetCodegenFlags )(
ICorProfilerFunctionControl * This,
- /* [in] */ DWORD flags);
+ /* [annotation][in] */
+ _In_ DWORD flags);
+ DECLSPEC_XFGVIRT(ICorProfilerFunctionControl, SetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
ICorProfilerFunctionControl * This,
- /* [in] */ ULONG cbNewILMethodHeader,
- /* [size_is][in] */ LPCBYTE pbNewILMethodHeader);
+ /* [annotation][in] */
+ _In_ ULONG cbNewILMethodHeader,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbNewILMethodHeader) LPCBYTE pbNewILMethodHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerFunctionControl, SetILInstrumentedCodeMap)
HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
ICorProfilerFunctionControl * This,
- /* [in] */ ULONG cILMapEntries,
- /* [size_is][in] */ COR_IL_MAP rgILMapEntries[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
END_INTERFACE
} ICorProfilerFunctionControlVtbl;
@@ -9976,52 +15365,80 @@ EXTERN_C const IID IID_ICorProfilerInfo4;
{
public:
virtual HRESULT STDMETHODCALLTYPE EnumThreads(
- /* [out] */ ICorProfilerThreadEnum **ppEnum) = 0;
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE InitializeCurrentThread( void) = 0;
virtual HRESULT STDMETHODCALLTYPE RequestReJIT(
- /* [in] */ ULONG cFunctions,
- /* [size_is][in] */ ModuleID moduleIds[ ],
- /* [size_is][in] */ mdMethodDef methodIds[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE RequestRevert(
- /* [in] */ ULONG cFunctions,
- /* [size_is][in] */ ModuleID moduleIds[ ],
- /* [size_is][in] */ mdMethodDef methodIds[ ],
- /* [size_is][out] */ HRESULT status[ ]) = 0;
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCodeInfo3(
- /* [in] */ FunctionID functionID,
- /* [in] */ ReJITID reJitId,
- /* [in] */ ULONG32 cCodeInfos,
- /* [out] */ ULONG32 *pcCodeInfos,
- /* [length_is][size_is][out] */ COR_PRF_CODE_INFO codeInfos[ ]) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP2(
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId,
- /* [out] */ ReJITID *pReJitId) = 0;
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetReJITIDs(
- /* [in] */ FunctionID functionId,
- /* [in] */ ULONG cReJitIds,
- /* [out] */ ULONG *pcReJitIds,
- /* [length_is][size_is][out] */ ReJITID reJitIds[ ]) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping2(
- /* [in] */ FunctionID functionId,
- /* [in] */ ReJITID reJitId,
- /* [in] */ ULONG32 cMap,
- /* [out] */ ULONG32 *pcMap,
- /* [length_is][size_is][out] */ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumJITedFunctions2(
- /* [out] */ ICorProfilerFunctionEnum **ppEnum) = 0;
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetObjectSize2(
- /* [in] */ ObjectID objectId,
- /* [out] */ SIZE_T *pcSize) = 0;
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize) = 0;
};
@@ -10032,503 +15449,827 @@ EXTERN_C const IID IID_ICorProfilerInfo4;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerInfo4 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerInfo4 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerInfo4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
ICorProfilerInfo4 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
ICorProfilerInfo4 * This,
- /* [out] */ DWORD *pdwEvents);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
ICorProfilerInfo4 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
ICorProfilerInfo4 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
ICorProfilerInfo4 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
ICorProfilerInfo4 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
ICorProfilerInfo4 * This,
- /* [out] */ ThreadID *pThreadId);
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
ICorProfilerInfo4 * This,
- /* [in] */ DWORD dwEvents);
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionIDMapper *pFunc);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
ICorProfilerInfo4 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId);
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
ICorProfilerInfo4 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId);
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
ICorProfilerInfo4 * This);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
ICorProfilerInfo4 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
ICorProfilerInfo4 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
ICorProfilerInfo4 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
ICorProfilerInfo4 * This,
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext);
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
ICorProfilerInfo4 * This,
- /* [in] */ DWORD dwProfilerContext);
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
ICorProfilerInfo4 * This,
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize);
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionID funcId,
- /* [in] */ COR_PRF_FRAME_INFO frameInfo,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken,
- /* [in] */ ULONG32 cTypeArgs,
- /* [out] */ ULONG32 *pcTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
ICorProfilerInfo4 * This,
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ 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);
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ 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);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+ 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);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
ICorProfilerInfo4 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
ICorProfilerInfo4 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
ICorProfilerInfo4 * This,
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
ICorProfilerInfo4 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
ICorProfilerInfo4 * This,
- /* [in] */ DWORD dwExpectedCompletionMilliseconds);
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionIDMapper2 *pFunc,
- /* [in] */ void *clientData);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
ICorProfilerInfo4 * This,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionEnter3 *pFuncEnter3,
- /* [in] */ FunctionLeave3 *pFuncLeave3,
- /* [in] */ FunctionTailcall3 *pFuncTailcall3);
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
- /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
- /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
ICorProfilerInfo4 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
ICorProfilerInfo4 * This,
- /* [out] */ ICorProfilerModuleEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
ICorProfilerInfo4 * This,
- /* [out] */ USHORT *pClrInstanceId,
- /* [out] */ COR_PRF_RUNTIME_TYPE *pRuntimeType,
- /* [out] */ USHORT *pMajorVersion,
- /* [out] */ USHORT *pMinorVersion,
- /* [out] */ USHORT *pBuildNumber,
- /* [out] */ USHORT *pQFEVersion,
- /* [in] */ ULONG cchVersionString,
- /* [out] */ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
/* [annotation][out] */
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
ICorProfilerInfo4 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
ICorProfilerInfo4 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId,
- /* [out] */ DWORD *pdwModuleFlags);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
ICorProfilerInfo4 * This,
- /* [out] */ ICorProfilerThreadEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
ICorProfilerInfo4 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
ICorProfilerInfo4 * This,
- /* [in] */ ULONG cFunctions,
- /* [size_is][in] */ ModuleID moduleIds[ ],
- /* [size_is][in] */ mdMethodDef methodIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
ICorProfilerInfo4 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId,
- /* [out] */ ReJITID *pReJitId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
ICorProfilerInfo4 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
ICorProfilerInfo4 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ SIZE_T *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
END_INTERFACE
} ICorProfilerInfo4Vtbl;
@@ -10817,12 +16558,16 @@ EXTERN_C const IID IID_ICorProfilerInfo5;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetEventMask2(
- /* [out] */ DWORD *pdwEventsLow,
- /* [out] */ DWORD *pdwEventsHigh) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEventMask2(
- /* [in] */ DWORD dwEventsLow,
- /* [in] */ DWORD dwEventsHigh) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh) = 0;
};
@@ -10833,513 +16578,843 @@ EXTERN_C const IID IID_ICorProfilerInfo5;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerInfo5 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerInfo5 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerInfo5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
ICorProfilerInfo5 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
ICorProfilerInfo5 * This,
- /* [out] */ DWORD *pdwEvents);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
ICorProfilerInfo5 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
ICorProfilerInfo5 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
ICorProfilerInfo5 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
ICorProfilerInfo5 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
ICorProfilerInfo5 * This,
- /* [out] */ ThreadID *pThreadId);
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
ICorProfilerInfo5 * This,
- /* [in] */ DWORD dwEvents);
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionIDMapper *pFunc);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
ICorProfilerInfo5 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId);
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
ICorProfilerInfo5 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId);
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
ICorProfilerInfo5 * This);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
ICorProfilerInfo5 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
ICorProfilerInfo5 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
ICorProfilerInfo5 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
ICorProfilerInfo5 * This,
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext);
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
ICorProfilerInfo5 * This,
- /* [in] */ DWORD dwProfilerContext);
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
ICorProfilerInfo5 * This,
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize);
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
ICorProfilerInfo5 * 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
ICorProfilerInfo5 * This,
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ 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);
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ 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);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+ 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);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
ICorProfilerInfo5 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
ICorProfilerInfo5 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
ICorProfilerInfo5 * This,
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
ICorProfilerInfo5 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
ICorProfilerInfo5 * This,
- /* [in] */ DWORD dwExpectedCompletionMilliseconds);
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionIDMapper2 *pFunc,
- /* [in] */ void *clientData);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
ICorProfilerInfo5 * This,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionEnter3 *pFuncEnter3,
- /* [in] */ FunctionLeave3 *pFuncLeave3,
- /* [in] */ FunctionTailcall3 *pFuncTailcall3);
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
- /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
- /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
ICorProfilerInfo5 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
ICorProfilerInfo5 * This,
- /* [out] */ ICorProfilerModuleEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
ICorProfilerInfo5 * 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_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
/* [annotation][out] */
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
ICorProfilerInfo5 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
ICorProfilerInfo5 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId,
- /* [out] */ DWORD *pdwModuleFlags);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
ICorProfilerInfo5 * This,
- /* [out] */ ICorProfilerThreadEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
ICorProfilerInfo5 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
ICorProfilerInfo5 * This,
- /* [in] */ ULONG cFunctions,
- /* [size_is][in] */ ModuleID moduleIds[ ],
- /* [size_is][in] */ mdMethodDef methodIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
ICorProfilerInfo5 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId,
- /* [out] */ ReJITID *pReJitId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
ICorProfilerInfo5 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
ICorProfilerInfo5 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ SIZE_T *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
ICorProfilerInfo5 * This,
- /* [out] */ DWORD *pdwEventsLow,
- /* [out] */ DWORD *pdwEventsHigh);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
ICorProfilerInfo5 * This,
- /* [in] */ DWORD dwEventsLow,
- /* [in] */ DWORD dwEventsHigh);
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
END_INTERFACE
} ICorProfilerInfo5Vtbl;
@@ -11635,11 +17710,16 @@ EXTERN_C const IID IID_ICorProfilerInfo6;
{
public:
virtual HRESULT STDMETHODCALLTYPE EnumNgenModuleMethodsInliningThisMethod(
- /* [in] */ ModuleID inlinersModuleId,
- /* [in] */ ModuleID inlineeModuleId,
- /* [in] */ mdMethodDef inlineeMethodId,
- /* [out] */ BOOL *incompleteData,
- /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum) = 0;
};
@@ -11650,521 +17730,857 @@ EXTERN_C const IID IID_ICorProfilerInfo6;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerInfo6 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerInfo6 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerInfo6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
ICorProfilerInfo6 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
ICorProfilerInfo6 * This,
- /* [out] */ DWORD *pdwEvents);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
ICorProfilerInfo6 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
ICorProfilerInfo6 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
ICorProfilerInfo6 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
ICorProfilerInfo6 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
ICorProfilerInfo6 * This,
- /* [out] */ ThreadID *pThreadId);
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
ICorProfilerInfo6 * This,
- /* [in] */ DWORD dwEvents);
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionIDMapper *pFunc);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
ICorProfilerInfo6 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId);
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
ICorProfilerInfo6 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId);
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
ICorProfilerInfo6 * This);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
ICorProfilerInfo6 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
ICorProfilerInfo6 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
ICorProfilerInfo6 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
ICorProfilerInfo6 * This,
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext);
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
ICorProfilerInfo6 * This,
- /* [in] */ DWORD dwProfilerContext);
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
ICorProfilerInfo6 * This,
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize);
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
ICorProfilerInfo6 * 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
ICorProfilerInfo6 * This,
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ 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);
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ 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);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+ 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);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
ICorProfilerInfo6 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
ICorProfilerInfo6 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
ICorProfilerInfo6 * This,
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
ICorProfilerInfo6 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
ICorProfilerInfo6 * This,
- /* [in] */ DWORD dwExpectedCompletionMilliseconds);
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionIDMapper2 *pFunc,
- /* [in] */ void *clientData);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
ICorProfilerInfo6 * This,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionEnter3 *pFuncEnter3,
- /* [in] */ FunctionLeave3 *pFuncLeave3,
- /* [in] */ FunctionTailcall3 *pFuncTailcall3);
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
- /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
- /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
ICorProfilerInfo6 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
ICorProfilerInfo6 * This,
- /* [out] */ ICorProfilerModuleEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
ICorProfilerInfo6 * 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_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
/* [annotation][out] */
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
ICorProfilerInfo6 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId,
- /* [out] */ DWORD *pdwModuleFlags);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
ICorProfilerInfo6 * This,
- /* [out] */ ICorProfilerThreadEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
ICorProfilerInfo6 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
ICorProfilerInfo6 * This,
- /* [in] */ ULONG cFunctions,
- /* [size_is][in] */ ModuleID moduleIds[ ],
- /* [size_is][in] */ mdMethodDef methodIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
ICorProfilerInfo6 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId,
- /* [out] */ ReJITID *pReJitId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
ICorProfilerInfo6 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
ICorProfilerInfo6 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ SIZE_T *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
ICorProfilerInfo6 * This,
- /* [out] */ DWORD *pdwEventsLow,
- /* [out] */ DWORD *pdwEventsHigh);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
ICorProfilerInfo6 * This,
- /* [in] */ DWORD dwEventsLow,
- /* [in] */ DWORD dwEventsHigh);
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
ICorProfilerInfo6 * This,
- /* [in] */ ModuleID inlinersModuleId,
- /* [in] */ ModuleID inlineeModuleId,
- /* [in] */ mdMethodDef inlineeMethodId,
- /* [out] */ BOOL *incompleteData,
- /* [out] */ ICorProfilerMethodEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
END_INTERFACE
} ICorProfilerInfo6Vtbl;
@@ -12464,18 +18880,26 @@ EXTERN_C const IID IID_ICorProfilerInfo7;
{
public:
virtual HRESULT STDMETHODCALLTYPE ApplyMetaData(
- /* [in] */ ModuleID moduleId) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInMemorySymbolsLength(
- /* [in] */ ModuleID moduleId,
- /* [out] */ DWORD *pCountSymbolBytes) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytes) = 0;
virtual HRESULT STDMETHODCALLTYPE ReadInMemorySymbols(
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD symbolsReadOffset,
- /* [out] */ BYTE *pSymbolBytes,
- /* [in] */ DWORD countSymbolBytes,
- /* [out] */ DWORD *pCountSymbolBytesRead) = 0;
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD symbolsReadOffset,
+ /* [annotation][out] */
+ _Out_ BYTE *pSymbolBytes,
+ /* [annotation][in] */
+ _In_ DWORD countSymbolBytes,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytesRead) = 0;
};
@@ -12486,538 +18910,885 @@ EXTERN_C const IID IID_ICorProfilerInfo7;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerInfo7 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerInfo7 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerInfo7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
ICorProfilerInfo7 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
ICorProfilerInfo7 * This,
- /* [out] */ DWORD *pdwEvents);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
ICorProfilerInfo7 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
ICorProfilerInfo7 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
ICorProfilerInfo7 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
ICorProfilerInfo7 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
ICorProfilerInfo7 * This,
- /* [out] */ ThreadID *pThreadId);
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
ICorProfilerInfo7 * This,
- /* [in] */ DWORD dwEvents);
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionIDMapper *pFunc);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
ICorProfilerInfo7 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId);
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
ICorProfilerInfo7 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId);
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
ICorProfilerInfo7 * This);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
ICorProfilerInfo7 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
ICorProfilerInfo7 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
ICorProfilerInfo7 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
ICorProfilerInfo7 * This,
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext);
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
ICorProfilerInfo7 * This,
- /* [in] */ DWORD dwProfilerContext);
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
ICorProfilerInfo7 * This,
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize);
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
ICorProfilerInfo7 * 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
ICorProfilerInfo7 * This,
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ 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);
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ 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);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+ 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);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
ICorProfilerInfo7 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
ICorProfilerInfo7 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
ICorProfilerInfo7 * This,
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
ICorProfilerInfo7 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
ICorProfilerInfo7 * This,
- /* [in] */ DWORD dwExpectedCompletionMilliseconds);
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionIDMapper2 *pFunc,
- /* [in] */ void *clientData);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
ICorProfilerInfo7 * This,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionEnter3 *pFuncEnter3,
- /* [in] */ FunctionLeave3 *pFuncLeave3,
- /* [in] */ FunctionTailcall3 *pFuncTailcall3);
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
- /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
- /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
ICorProfilerInfo7 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
ICorProfilerInfo7 * This,
- /* [out] */ ICorProfilerModuleEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
ICorProfilerInfo7 * 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_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
/* [annotation][out] */
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
ICorProfilerInfo7 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId,
- /* [out] */ DWORD *pdwModuleFlags);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
ICorProfilerInfo7 * This,
- /* [out] */ ICorProfilerThreadEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
ICorProfilerInfo7 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
ICorProfilerInfo7 * This,
- /* [in] */ ULONG cFunctions,
- /* [size_is][in] */ ModuleID moduleIds[ ],
- /* [size_is][in] */ mdMethodDef methodIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
ICorProfilerInfo7 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId,
- /* [out] */ ReJITID *pReJitId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
ICorProfilerInfo7 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
ICorProfilerInfo7 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ SIZE_T *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
ICorProfilerInfo7 * This,
- /* [out] */ DWORD *pdwEventsLow,
- /* [out] */ DWORD *pdwEventsHigh);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
ICorProfilerInfo7 * This,
- /* [in] */ DWORD dwEventsLow,
- /* [in] */ DWORD dwEventsHigh);
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID inlinersModuleId,
- /* [in] */ ModuleID inlineeModuleId,
- /* [in] */ mdMethodDef inlineeMethodId,
- /* [out] */ BOOL *incompleteData,
- /* [out] */ ICorProfilerMethodEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ DWORD *pCountSymbolBytes);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytes);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
ICorProfilerInfo7 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD symbolsReadOffset,
- /* [out] */ BYTE *pSymbolBytes,
- /* [in] */ DWORD countSymbolBytes,
- /* [out] */ DWORD *pCountSymbolBytesRead);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD symbolsReadOffset,
+ /* [annotation][out] */
+ _Out_ BYTE *pSymbolBytes,
+ /* [annotation][in] */
+ _In_ DWORD countSymbolBytes,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytesRead);
END_INTERFACE
} ICorProfilerInfo7Vtbl;
@@ -13327,22 +20098,34 @@ EXTERN_C const IID IID_ICorProfilerInfo8;
{
public:
virtual HRESULT STDMETHODCALLTYPE IsFunctionDynamic(
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *isDynamic) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *isDynamic) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFunctionFromIP3(
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *functionId,
- /* [out] */ ReJITID *pReJitId) = 0;
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *functionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDynamicFunctionInfo(
- /* [in] */ FunctionID functionId,
- /* [out] */ ModuleID *moduleId,
- /* [out] */ PCCOR_SIGNATURE *ppvSig,
- /* [out] */ ULONG *pbSig,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [out] */ WCHAR wszName[ ]) = 0;
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ModuleID *moduleId,
+ /* [annotation][out] */
+ _Out_ PCCOR_SIGNATURE *ppvSig,
+ /* [annotation][out] */
+ _Out_ ULONG *pbSig,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_ WCHAR wszName[ ]) = 0;
};
@@ -13353,559 +20136,921 @@ EXTERN_C const IID IID_ICorProfilerInfo8;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerInfo8 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerInfo8 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerInfo8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
ICorProfilerInfo8 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdTypeDef typeDef,
- /* [out] */ ClassID *pClassId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ LPCBYTE *pStart,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
ICorProfilerInfo8 * This,
- /* [out] */ DWORD *pdwEvents);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
ICorProfilerInfo8 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdToken token,
- /* [out] */ FunctionID *pFunctionId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
ICorProfilerInfo8 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ HANDLE *phThread);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
ICorProfilerInfo8 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ ULONG *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [out] */ CorElementType *pBaseElemType,
- /* [out] */ ClassID *pBaseClassId,
- /* [out] */ ULONG *pcRank);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ DWORD *pdwWin32ThreadId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
ICorProfilerInfo8 * This,
- /* [out] */ ThreadID *pThreadId);
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ClassID *pClassId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
ICorProfilerInfo8 * This,
- /* [in] */ DWORD dwEvents);
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionEnter *pFuncEnter,
- /* [in] */ FunctionLeave *pFuncLeave,
- /* [in] */ FunctionTailcall *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionIDMapper *pFunc);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppImport,
- /* [out] */ mdToken *pToken);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD dwOpenFlags,
- /* [in] */ REFIID riid,
- /* [out] */ IUnknown **ppOut);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodId,
- /* [out] */ LPCBYTE *ppMethodHeader,
- /* [out] */ ULONG *pcbMethodSize);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ IMethodMalloc **ppMalloc);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ mdMethodDef methodid,
- /* [in] */ LPCBYTE pbNewILMethodHeader);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ ProcessID *pProcessId);
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ AssemblyID assemblyId,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AppDomainID *pAppDomainId,
- /* [out] */ ModuleID *pModuleId);
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionID functionId);
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
HRESULT ( STDMETHODCALLTYPE *ForceGC )(
ICorProfilerInfo8 * This);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
ICorProfilerInfo8 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
ICorProfilerInfo8 * This,
- /* [out] */ IUnknown **ppicd);
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
ICorProfilerInfo8 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ ContextID *pContextId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
ICorProfilerInfo8 * This,
- /* [in] */ BOOL fThisThreadOnly,
- /* [out] */ DWORD *pdwProfilerContext);
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
ICorProfilerInfo8 * This,
- /* [in] */ DWORD dwProfilerContext);
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
ICorProfilerInfo8 * This,
- /* [in] */ ThreadID thread,
- /* [in] */ StackSnapshotCallback *callback,
- /* [in] */ ULONG32 infoFlags,
- /* [in] */ void *clientData,
- /* [size_is][in] */ BYTE context[ ],
- /* [in] */ ULONG32 contextSize);
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionEnter2 *pFuncEnter,
- /* [in] */ FunctionLeave2 *pFuncLeave,
- /* [in] */ FunctionTailcall2 *pFuncTailcall);
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
ICorProfilerInfo8 * 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
ICorProfilerInfo8 * This,
- /* [out] */ ULONG *pBufferLengthOffset,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ 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);
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ModuleID *pModuleId,
- /* [out] */ mdTypeDef *pTypeDefToken,
- /* [out] */ ClassID *pParentClassId,
- /* [in] */ ULONG32 cNumTypeArgs,
- /* [out] */ ULONG32 *pcNumTypeArgs,
- /* [out] */ ClassID typeArgs[ ]);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ 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);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleID,
- /* [in] */ mdMethodDef funcDef,
- /* [in] */ ClassID classId,
- /* [in] */ ULONG32 cTypeArgs,
- /* [size_is][in] */ ClassID typeArgs[ ],
- /* [out] */ FunctionID *pFunctionID);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleID,
- /* [out] */ ICorProfilerObjectEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+ 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);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [out] */ ULONG32 *pBufferOffset);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
ICorProfilerInfo8 * This,
- /* [in] */ ThreadID threadId,
- /* [out] */ AppDomainID *pAppDomainId);
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ ContextID contextId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [out] */ COR_PRF_STATIC_TYPE *pFieldInfo);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
ICorProfilerInfo8 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ COR_PRF_GC_GENERATION_RANGE *range);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
ICorProfilerInfo8 * This,
- /* [out] */ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
ICorProfilerInfo8 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
ICorProfilerInfo8 * This,
- /* [in] */ DWORD dwExpectedCompletionMilliseconds);
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionIDMapper2 *pFunc,
- /* [in] */ void *clientData);
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
ICorProfilerInfo8 * This,
- /* [out] */ ULONG *pStringLengthOffset,
- /* [out] */ ULONG *pBufferOffset);
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionEnter3 *pFuncEnter3,
- /* [in] */ FunctionLeave3 *pFuncLeave3,
- /* [in] */ FunctionTailcall3 *pFuncTailcall3);
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
- /* [in] */ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
- /* [in] */ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+ 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);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionID functionId,
- /* [in] */ COR_PRF_ELT_INFO eltInfo,
- /* [out] */ COR_PRF_FRAME_INFO *pFrameInfo);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
HRESULT ( STDMETHODCALLTYPE *EnumModules )(
ICorProfilerInfo8 * This,
- /* [out] */ ICorProfilerModuleEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
ICorProfilerInfo8 * 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_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
/* [annotation][out] */
_Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
ICorProfilerInfo8 * This,
- /* [in] */ ClassID classId,
- /* [in] */ mdFieldDef fieldToken,
- /* [in] */ AppDomainID appDomainId,
- /* [in] */ ThreadID threadId,
- /* [out] */ void **ppAddress);
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ LPCBYTE *ppBaseLoadAddress,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
/* [annotation][out] */
_Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
- /* [out] */ AssemblyID *pAssemblyId,
- /* [out] */ DWORD *pdwModuleFlags);
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
ICorProfilerInfo8 * This,
- /* [out] */ ICorProfilerThreadEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
ICorProfilerInfo8 * This);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
ICorProfilerInfo8 * This,
- /* [in] */ ULONG cFunctions,
- /* [size_is][in] */ ModuleID moduleIds[ ],
- /* [size_is][in] */ mdMethodDef methodIds[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
ICorProfilerInfo8 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *pFunctionId,
- /* [out] */ ReJITID *pReJitId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+ 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[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
ICorProfilerInfo8 * This,
- /* [out] */ ICorProfilerFunctionEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
ICorProfilerInfo8 * This,
- /* [in] */ ObjectID objectId,
- /* [out] */ SIZE_T *pcSize);
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
ICorProfilerInfo8 * This,
- /* [out] */ DWORD *pdwEventsLow,
- /* [out] */ DWORD *pdwEventsHigh);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
ICorProfilerInfo8 * This,
- /* [in] */ DWORD dwEventsLow,
- /* [in] */ DWORD dwEventsHigh);
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID inlinersModuleId,
- /* [in] */ ModuleID inlineeModuleId,
- /* [in] */ mdMethodDef inlineeMethodId,
- /* [out] */ BOOL *incompleteData,
- /* [out] */ ICorProfilerMethodEnum **ppEnum);
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [out] */ DWORD *pCountSymbolBytes);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytes);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
ICorProfilerInfo8 * This,
- /* [in] */ ModuleID moduleId,
- /* [in] */ DWORD symbolsReadOffset,
- /* [out] */ BYTE *pSymbolBytes,
- /* [in] */ DWORD countSymbolBytes,
- /* [out] */ DWORD *pCountSymbolBytesRead);
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD symbolsReadOffset,
+ /* [annotation][out] */
+ _Out_ BYTE *pSymbolBytes,
+ /* [annotation][in] */
+ _In_ DWORD countSymbolBytes,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytesRead);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ BOOL *isDynamic);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *isDynamic);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
ICorProfilerInfo8 * This,
- /* [in] */ LPCBYTE ip,
- /* [out] */ FunctionID *functionId,
- /* [out] */ ReJITID *pReJitId);
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *functionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
ICorProfilerInfo8 * This,
- /* [in] */ FunctionID functionId,
- /* [out] */ ModuleID *moduleId,
- /* [out] */ PCCOR_SIGNATURE *ppvSig,
- /* [out] */ ULONG *pbSig,
- /* [in] */ ULONG cchName,
- /* [out] */ ULONG *pcchName,
- /* [out] */ WCHAR wszName[ ]);
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ModuleID *moduleId,
+ /* [annotation][out] */
+ _Out_ PCCOR_SIGNATURE *ppvSig,
+ /* [annotation][out] */
+ _Out_ ULONG *pbSig,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_ WCHAR wszName[ ]);
END_INTERFACE
} ICorProfilerInfo8Vtbl;
@@ -14209,6 +21354,8660 @@ EXTERN_C const IID IID_ICorProfilerInfo8;
#endif /* __ICorProfilerInfo8_INTERFACE_DEFINED__ */
+#ifndef __ICorProfilerInfo9_INTERFACE_DEFINED__
+#define __ICorProfilerInfo9_INTERFACE_DEFINED__
+
+/* interface ICorProfilerInfo9 */
+/* [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(
+ FunctionID functionID,
+ ReJITID reJitId,
+ ULONG32 cCodeStartAddresses,
+ ULONG32 *pcCodeStartAddresses,
+ UINT_PTR codeStartAddresses[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetILToNativeMapping3(
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cMap,
+ ULONG32 *pcMap,
+ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]) = 0;
+
+ 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
+
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerInfo9 * This);
+
+ DECLSPEC_XFGVIRT(IUnknown, Release)
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerInfo9 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+ HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+ HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+ HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+ HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+ ICorProfilerInfo9 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap)
+ HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+ HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+ HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds)
+ HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+ HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+ HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+ HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+ HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+ HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+ ICorProfilerInfo9 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert)
+ HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs)
+ HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+ HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+ HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+ HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytes);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+ HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD symbolsReadOffset,
+ /* [annotation][out] */
+ _Out_ BYTE *pSymbolBytes,
+ /* [annotation][in] */
+ _In_ DWORD countSymbolBytes,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytesRead);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+ HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *isDynamic);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *functionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+ ICorProfilerInfo9 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ModuleID *moduleId,
+ /* [annotation][out] */
+ _Out_ PCCOR_SIGNATURE *ppvSig,
+ /* [annotation][out] */
+ _Out_ ULONG *pbSig,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_ WCHAR wszName[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+ HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+ ICorProfilerInfo9 * This,
+ FunctionID functionID,
+ ReJITID reJitId,
+ ULONG32 cCodeStartAddresses,
+ ULONG32 *pcCodeStartAddresses,
+ UINT_PTR codeStartAddresses[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+ ICorProfilerInfo9 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cMap,
+ ULONG32 *pcMap,
+ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+ ICorProfilerInfo9 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cCodeInfos,
+ ULONG32 *pcCodeInfos,
+ COR_PRF_CODE_INFO codeInfos[ ]);
+
+ END_INTERFACE
+ } ICorProfilerInfo9Vtbl;
+
+ interface ICorProfilerInfo9
+ {
+ CONST_VTBL struct ICorProfilerInfo9Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerInfo9_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerInfo9_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerInfo9_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerInfo9_GetClassFromObject(This,objectId,pClassId) \
+ ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_GetEventMask(This,pdwEvents) \
+ ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+
+#define ICorProfilerInfo9_GetFunctionFromIP(This,ip,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+
+#define ICorProfilerInfo9_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+
+#define ICorProfilerInfo9_GetHandleFromThread(This,threadId,phThread) \
+ ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+ ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
+
+#define ICorProfilerInfo9_GetCurrentThreadID(This,pThreadId) \
+ ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_SetEventMask(This,dwEvents) \
+ ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+
+#define ICorProfilerInfo9_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+
+#define ICorProfilerInfo9_SetFunctionIDMapper(This,pFunc) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+ ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_ForceGC(This) \
+ ( (This)->lpVtbl -> ForceGC(This) )
+
+#define ICorProfilerInfo9_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+ ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+
+#define ICorProfilerInfo9_GetInprocInspectionInterface(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+
+#define ICorProfilerInfo9_GetInprocInspectionIThisThread(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+
+#define ICorProfilerInfo9_GetThreadContext(This,threadId,pContextId) \
+ ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+
+#define ICorProfilerInfo9_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+ ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+
+#define ICorProfilerInfo9_EndInprocDebugging(This,dwProfilerContext) \
+ ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_GetBoxClassLayout(This,classId,pBufferOffset) \
+ ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
+
+#define ICorProfilerInfo9_GetThreadAppDomain(This,threadId,pAppDomainId) \
+ ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_GetObjectGeneration(This,objectId,range) \
+ ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+
+#define ICorProfilerInfo9_GetNotifiedExceptionClauseInfo(This,pinfo) \
+ ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+
+
+#define ICorProfilerInfo9_EnumJITedFunctions(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+
+#define ICorProfilerInfo9_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+ ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+
+#define ICorProfilerInfo9_SetFunctionIDMapper2(This,pFunc,clientData) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+
+#define ICorProfilerInfo9_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+ ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+ ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_InitializeCurrentThread(This) \
+ ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_EnumJITedFunctions2(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
+
+#define ICorProfilerInfo9_GetObjectSize2(This,objectId,pcSize) \
+ ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+
+
+#define ICorProfilerInfo9_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
+ ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+
+#define ICorProfilerInfo9_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) )
+
+
+#define ICorProfilerInfo9_ApplyMetaData(This,moduleId) \
+ ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) )
+
+#define ICorProfilerInfo9_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) )
+
+
+#define ICorProfilerInfo9_IsFunctionDynamic(This,functionId,isDynamic) \
+ ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) )
+
+#define ICorProfilerInfo9_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) )
+
+
+#define ICorProfilerInfo9_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) )
+
+#define ICorProfilerInfo9_GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) \
+ ( (This)->lpVtbl -> GetCodeInfo4(This,pNativeCodeStartAddress,cCodeInfos,pcCodeInfos,codeInfos) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerInfo9_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo10_INTERFACE_DEFINED__
+#define __ICorProfilerInfo10_INTERFACE_DEFINED__
+
+/* interface ICorProfilerInfo10 */
+/* [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(
+ ObjectID objectId,
+ ObjectReferenceCallback callback,
+ void *clientData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsFrozenObject(
+ ObjectID objectId,
+ BOOL *pbFrozen) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetLOHObjectSizeThreshold(
+ DWORD *pThreshold) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RequestReJITWithInliners(
+ /* [annotation][in] */
+ _In_ DWORD dwRejitFlags,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SuspendRuntime( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ResumeRuntime( void) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerInfo10Vtbl
+ {
+ BEGIN_INTERFACE
+
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerInfo10 * This);
+
+ DECLSPEC_XFGVIRT(IUnknown, Release)
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerInfo10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+ HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+ HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+ HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+ HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+ ICorProfilerInfo10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap)
+ HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+ HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+ HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds)
+ HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+ HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+ HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+ HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+ HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+ HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+ ICorProfilerInfo10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert)
+ HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs)
+ HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+ HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+ HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+ HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytes);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+ HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD symbolsReadOffset,
+ /* [annotation][out] */
+ _Out_ BYTE *pSymbolBytes,
+ /* [annotation][in] */
+ _In_ DWORD countSymbolBytes,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytesRead);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+ HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *isDynamic);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *functionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ModuleID *moduleId,
+ /* [annotation][out] */
+ _Out_ PCCOR_SIGNATURE *ppvSig,
+ /* [annotation][out] */
+ _Out_ ULONG *pbSig,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_ WCHAR wszName[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+ HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+ ICorProfilerInfo10 * This,
+ FunctionID functionID,
+ ReJITID reJitId,
+ ULONG32 cCodeStartAddresses,
+ ULONG32 *pcCodeStartAddresses,
+ UINT_PTR codeStartAddresses[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+ ICorProfilerInfo10 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cMap,
+ ULONG32 *pcMap,
+ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+ ICorProfilerInfo10 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cCodeInfos,
+ ULONG32 *pcCodeInfos,
+ COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences)
+ HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )(
+ ICorProfilerInfo10 * This,
+ ObjectID objectId,
+ ObjectReferenceCallback callback,
+ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject)
+ HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )(
+ ICorProfilerInfo10 * This,
+ ObjectID objectId,
+ BOOL *pbFrozen);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold)
+ HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )(
+ ICorProfilerInfo10 * This,
+ DWORD *pThreshold);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )(
+ ICorProfilerInfo10 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwRejitFlags,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime)
+ HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )(
+ ICorProfilerInfo10 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime)
+ HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )(
+ ICorProfilerInfo10 * This);
+
+ END_INTERFACE
+ } ICorProfilerInfo10Vtbl;
+
+ interface ICorProfilerInfo10
+ {
+ CONST_VTBL struct ICorProfilerInfo10Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerInfo10_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerInfo10_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerInfo10_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerInfo10_GetClassFromObject(This,objectId,pClassId) \
+ ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_GetEventMask(This,pdwEvents) \
+ ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+
+#define ICorProfilerInfo10_GetFunctionFromIP(This,ip,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+
+#define ICorProfilerInfo10_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+
+#define ICorProfilerInfo10_GetHandleFromThread(This,threadId,phThread) \
+ ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+ ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
+
+#define ICorProfilerInfo10_GetCurrentThreadID(This,pThreadId) \
+ ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_SetEventMask(This,dwEvents) \
+ ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+
+#define ICorProfilerInfo10_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+
+#define ICorProfilerInfo10_SetFunctionIDMapper(This,pFunc) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+ ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_ForceGC(This) \
+ ( (This)->lpVtbl -> ForceGC(This) )
+
+#define ICorProfilerInfo10_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+ ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+
+#define ICorProfilerInfo10_GetInprocInspectionInterface(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+
+#define ICorProfilerInfo10_GetInprocInspectionIThisThread(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+
+#define ICorProfilerInfo10_GetThreadContext(This,threadId,pContextId) \
+ ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+
+#define ICorProfilerInfo10_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+ ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+
+#define ICorProfilerInfo10_EndInprocDebugging(This,dwProfilerContext) \
+ ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_GetBoxClassLayout(This,classId,pBufferOffset) \
+ ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
+
+#define ICorProfilerInfo10_GetThreadAppDomain(This,threadId,pAppDomainId) \
+ ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_GetObjectGeneration(This,objectId,range) \
+ ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+
+#define ICorProfilerInfo10_GetNotifiedExceptionClauseInfo(This,pinfo) \
+ ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+
+
+#define ICorProfilerInfo10_EnumJITedFunctions(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+
+#define ICorProfilerInfo10_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+ ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+
+#define ICorProfilerInfo10_SetFunctionIDMapper2(This,pFunc,clientData) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+
+#define ICorProfilerInfo10_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+ ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+ ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_InitializeCurrentThread(This) \
+ ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_EnumJITedFunctions2(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
+
+#define ICorProfilerInfo10_GetObjectSize2(This,objectId,pcSize) \
+ ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+
+
+#define ICorProfilerInfo10_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
+ ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+
+#define ICorProfilerInfo10_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) )
+
+
+#define ICorProfilerInfo10_ApplyMetaData(This,moduleId) \
+ ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) )
+
+#define ICorProfilerInfo10_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) )
+
+
+#define ICorProfilerInfo10_IsFunctionDynamic(This,functionId,isDynamic) \
+ ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) )
+
+#define ICorProfilerInfo10_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) )
+
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_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) )
+
+#define ICorProfilerInfo10_IsFrozenObject(This,objectId,pbFrozen) \
+ ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) )
+
+#define ICorProfilerInfo10_GetLOHObjectSizeThreshold(This,pThreshold) \
+ ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) )
+
+#define ICorProfilerInfo10_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \
+ ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) )
+
+#define ICorProfilerInfo10_SuspendRuntime(This) \
+ ( (This)->lpVtbl -> SuspendRuntime(This) )
+
+#define ICorProfilerInfo10_ResumeRuntime(This) \
+ ( (This)->lpVtbl -> ResumeRuntime(This) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerInfo10_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo11_INTERFACE_DEFINED__
+#define __ICorProfilerInfo11_INTERFACE_DEFINED__
+
+/* interface ICorProfilerInfo11 */
+/* [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(
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][in] */
+ _In_ ULONG cchValue,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchValue,
+ /* [annotation][out] */
+ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetEnvironmentVariable(
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szValue) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerInfo11Vtbl
+ {
+ BEGIN_INTERFACE
+
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerInfo11 * This);
+
+ DECLSPEC_XFGVIRT(IUnknown, Release)
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerInfo11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+ HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+ HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+ HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+ HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+ ICorProfilerInfo11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap)
+ HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+ HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+ HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds)
+ HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+ HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+ HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+ HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+ HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+ HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+ ICorProfilerInfo11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert)
+ HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs)
+ HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+ HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+ HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+ HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytes);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+ HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD symbolsReadOffset,
+ /* [annotation][out] */
+ _Out_ BYTE *pSymbolBytes,
+ /* [annotation][in] */
+ _In_ DWORD countSymbolBytes,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytesRead);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+ HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *isDynamic);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *functionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ModuleID *moduleId,
+ /* [annotation][out] */
+ _Out_ PCCOR_SIGNATURE *ppvSig,
+ /* [annotation][out] */
+ _Out_ ULONG *pbSig,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_ WCHAR wszName[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+ HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+ ICorProfilerInfo11 * This,
+ FunctionID functionID,
+ ReJITID reJitId,
+ ULONG32 cCodeStartAddresses,
+ ULONG32 *pcCodeStartAddresses,
+ UINT_PTR codeStartAddresses[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+ ICorProfilerInfo11 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cMap,
+ ULONG32 *pcMap,
+ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+ ICorProfilerInfo11 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cCodeInfos,
+ ULONG32 *pcCodeInfos,
+ COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences)
+ HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )(
+ ICorProfilerInfo11 * This,
+ ObjectID objectId,
+ ObjectReferenceCallback callback,
+ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject)
+ HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )(
+ ICorProfilerInfo11 * This,
+ ObjectID objectId,
+ BOOL *pbFrozen);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold)
+ HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )(
+ ICorProfilerInfo11 * This,
+ DWORD *pThreshold);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwRejitFlags,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime)
+ HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )(
+ ICorProfilerInfo11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime)
+ HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )(
+ ICorProfilerInfo11 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo11, GetEnvironmentVariable)
+ HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][in] */
+ _In_ ULONG cchValue,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchValue,
+ /* [annotation][out] */
+ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable)
+ HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )(
+ ICorProfilerInfo11 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szValue);
+
+ END_INTERFACE
+ } ICorProfilerInfo11Vtbl;
+
+ interface ICorProfilerInfo11
+ {
+ CONST_VTBL struct ICorProfilerInfo11Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerInfo11_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerInfo11_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerInfo11_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerInfo11_GetClassFromObject(This,objectId,pClassId) \
+ ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_GetEventMask(This,pdwEvents) \
+ ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+
+#define ICorProfilerInfo11_GetFunctionFromIP(This,ip,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+
+#define ICorProfilerInfo11_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+
+#define ICorProfilerInfo11_GetHandleFromThread(This,threadId,phThread) \
+ ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+ ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
+
+#define ICorProfilerInfo11_GetCurrentThreadID(This,pThreadId) \
+ ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_SetEventMask(This,dwEvents) \
+ ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+
+#define ICorProfilerInfo11_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+
+#define ICorProfilerInfo11_SetFunctionIDMapper(This,pFunc) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+ ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_ForceGC(This) \
+ ( (This)->lpVtbl -> ForceGC(This) )
+
+#define ICorProfilerInfo11_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+ ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+
+#define ICorProfilerInfo11_GetInprocInspectionInterface(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+
+#define ICorProfilerInfo11_GetInprocInspectionIThisThread(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+
+#define ICorProfilerInfo11_GetThreadContext(This,threadId,pContextId) \
+ ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+
+#define ICorProfilerInfo11_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+ ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+
+#define ICorProfilerInfo11_EndInprocDebugging(This,dwProfilerContext) \
+ ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_GetBoxClassLayout(This,classId,pBufferOffset) \
+ ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
+
+#define ICorProfilerInfo11_GetThreadAppDomain(This,threadId,pAppDomainId) \
+ ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_GetObjectGeneration(This,objectId,range) \
+ ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+
+#define ICorProfilerInfo11_GetNotifiedExceptionClauseInfo(This,pinfo) \
+ ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+
+
+#define ICorProfilerInfo11_EnumJITedFunctions(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+
+#define ICorProfilerInfo11_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+ ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+
+#define ICorProfilerInfo11_SetFunctionIDMapper2(This,pFunc,clientData) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+
+#define ICorProfilerInfo11_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+ ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+ ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_InitializeCurrentThread(This) \
+ ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_EnumJITedFunctions2(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
+
+#define ICorProfilerInfo11_GetObjectSize2(This,objectId,pcSize) \
+ ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+
+
+#define ICorProfilerInfo11_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
+ ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+
+#define ICorProfilerInfo11_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) )
+
+
+#define ICorProfilerInfo11_ApplyMetaData(This,moduleId) \
+ ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) )
+
+#define ICorProfilerInfo11_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) )
+
+
+#define ICorProfilerInfo11_IsFunctionDynamic(This,functionId,isDynamic) \
+ ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) )
+
+#define ICorProfilerInfo11_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) )
+
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_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) )
+
+#define ICorProfilerInfo11_IsFrozenObject(This,objectId,pbFrozen) \
+ ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) )
+
+#define ICorProfilerInfo11_GetLOHObjectSizeThreshold(This,pThreshold) \
+ ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) )
+
+#define ICorProfilerInfo11_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \
+ ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) )
+
+#define ICorProfilerInfo11_SuspendRuntime(This) \
+ ( (This)->lpVtbl -> SuspendRuntime(This) )
+
+#define ICorProfilerInfo11_ResumeRuntime(This) \
+ ( (This)->lpVtbl -> ResumeRuntime(This) )
+
+
+#define ICorProfilerInfo11_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) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerInfo11_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo12_INTERFACE_DEFINED__
+#define __ICorProfilerInfo12_INTERFACE_DEFINED__
+
+/* interface ICorProfilerInfo12 */
+/* [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(
+ /* [annotation][in] */
+ _In_ UINT32 cProviderConfigs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cProviderConfigs) COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ],
+ /* [annotation][in] */
+ _In_ BOOL requestRundown,
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_SESSION *pSession) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EventPipeAddProviderToSession(
+ /* [annotation][in] */
+ _In_ EVENTPIPE_SESSION session,
+ /* [annotation][in] */
+ _In_ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EventPipeStopSession(
+ /* [annotation][in] */
+ _In_ EVENTPIPE_SESSION session) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider(
+ /* [annotation][string][in] */
+ _In_ const WCHAR *providerName,
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_PROVIDER *pProvider) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EventPipeGetProviderInfo(
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EventPipeDefineEvent(
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *eventName,
+ /* [annotation][in] */
+ _In_ UINT32 eventID,
+ /* [annotation][in] */
+ _In_ UINT64 keywords,
+ /* [annotation][in] */
+ _In_ UINT32 eventVersion,
+ /* [annotation][in] */
+ _In_ UINT32 level,
+ /* [annotation][in] */
+ _In_ UINT8 opcode,
+ /* [annotation][in] */
+ _In_ BOOL needStack,
+ /* [annotation][in] */
+ _In_ UINT32 cParamDescs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cParamDescs) COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ],
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_EVENT *pEvent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EventPipeWriteEvent(
+ /* [annotation][in] */
+ _In_ EVENTPIPE_EVENT event,
+ /* [annotation][in] */
+ _In_ UINT32 cData,
+ /* [annotation][size_is][in] */
+ _In_reads_(cData) COR_PRF_EVENT_DATA data[ ],
+ /* [annotation][in] */
+ _In_ LPCGUID pActivityId,
+ /* [annotation][in] */
+ _In_ LPCGUID pRelatedActivityId) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerInfo12Vtbl
+ {
+ BEGIN_INTERFACE
+
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerInfo12 * This);
+
+ DECLSPEC_XFGVIRT(IUnknown, Release)
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerInfo12 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+ HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+ HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+ HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+ HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+ ICorProfilerInfo12 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap)
+ HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+ HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+ HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds)
+ HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+ HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+ HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+ HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+ HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+ HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+ ICorProfilerInfo12 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert)
+ HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs)
+ HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+ HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+ HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+ HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytes);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+ HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD symbolsReadOffset,
+ /* [annotation][out] */
+ _Out_ BYTE *pSymbolBytes,
+ /* [annotation][in] */
+ _In_ DWORD countSymbolBytes,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytesRead);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+ HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *isDynamic);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *functionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ModuleID *moduleId,
+ /* [annotation][out] */
+ _Out_ PCCOR_SIGNATURE *ppvSig,
+ /* [annotation][out] */
+ _Out_ ULONG *pbSig,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_ WCHAR wszName[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+ HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+ ICorProfilerInfo12 * This,
+ FunctionID functionID,
+ ReJITID reJitId,
+ ULONG32 cCodeStartAddresses,
+ ULONG32 *pcCodeStartAddresses,
+ UINT_PTR codeStartAddresses[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+ ICorProfilerInfo12 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cMap,
+ ULONG32 *pcMap,
+ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+ ICorProfilerInfo12 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cCodeInfos,
+ ULONG32 *pcCodeInfos,
+ COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences)
+ HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )(
+ ICorProfilerInfo12 * This,
+ ObjectID objectId,
+ ObjectReferenceCallback callback,
+ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject)
+ HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )(
+ ICorProfilerInfo12 * This,
+ ObjectID objectId,
+ BOOL *pbFrozen);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold)
+ HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )(
+ ICorProfilerInfo12 * This,
+ DWORD *pThreshold);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwRejitFlags,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime)
+ HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )(
+ ICorProfilerInfo12 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime)
+ HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )(
+ ICorProfilerInfo12 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo11, GetEnvironmentVariable)
+ HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][in] */
+ _In_ ULONG cchValue,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchValue,
+ /* [annotation][out] */
+ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable)
+ HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szValue);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStartSession)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ UINT32 cProviderConfigs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cProviderConfigs) COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ],
+ /* [annotation][in] */
+ _In_ BOOL requestRundown,
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_SESSION *pSession);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeAddProviderToSession)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_SESSION session,
+ /* [annotation][in] */
+ _In_ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStopSession)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_SESSION session);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeCreateProvider)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *providerName,
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_PROVIDER *pProvider);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeGetProviderInfo)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeDefineEvent)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *eventName,
+ /* [annotation][in] */
+ _In_ UINT32 eventID,
+ /* [annotation][in] */
+ _In_ UINT64 keywords,
+ /* [annotation][in] */
+ _In_ UINT32 eventVersion,
+ /* [annotation][in] */
+ _In_ UINT32 level,
+ /* [annotation][in] */
+ _In_ UINT8 opcode,
+ /* [annotation][in] */
+ _In_ BOOL needStack,
+ /* [annotation][in] */
+ _In_ UINT32 cParamDescs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cParamDescs) COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ],
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_EVENT *pEvent);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeWriteEvent)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )(
+ ICorProfilerInfo12 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_EVENT event,
+ /* [annotation][in] */
+ _In_ UINT32 cData,
+ /* [annotation][size_is][in] */
+ _In_reads_(cData) COR_PRF_EVENT_DATA data[ ],
+ /* [annotation][in] */
+ _In_ LPCGUID pActivityId,
+ /* [annotation][in] */
+ _In_ LPCGUID pRelatedActivityId);
+
+ END_INTERFACE
+ } ICorProfilerInfo12Vtbl;
+
+ interface ICorProfilerInfo12
+ {
+ CONST_VTBL struct ICorProfilerInfo12Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerInfo12_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerInfo12_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerInfo12_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerInfo12_GetClassFromObject(This,objectId,pClassId) \
+ ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_GetEventMask(This,pdwEvents) \
+ ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+
+#define ICorProfilerInfo12_GetFunctionFromIP(This,ip,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+
+#define ICorProfilerInfo12_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+
+#define ICorProfilerInfo12_GetHandleFromThread(This,threadId,phThread) \
+ ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+ ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
+
+#define ICorProfilerInfo12_GetCurrentThreadID(This,pThreadId) \
+ ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_SetEventMask(This,dwEvents) \
+ ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+
+#define ICorProfilerInfo12_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+
+#define ICorProfilerInfo12_SetFunctionIDMapper(This,pFunc) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+ ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_ForceGC(This) \
+ ( (This)->lpVtbl -> ForceGC(This) )
+
+#define ICorProfilerInfo12_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+ ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+
+#define ICorProfilerInfo12_GetInprocInspectionInterface(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+
+#define ICorProfilerInfo12_GetInprocInspectionIThisThread(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+
+#define ICorProfilerInfo12_GetThreadContext(This,threadId,pContextId) \
+ ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+
+#define ICorProfilerInfo12_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+ ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+
+#define ICorProfilerInfo12_EndInprocDebugging(This,dwProfilerContext) \
+ ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_GetBoxClassLayout(This,classId,pBufferOffset) \
+ ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
+
+#define ICorProfilerInfo12_GetThreadAppDomain(This,threadId,pAppDomainId) \
+ ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_GetObjectGeneration(This,objectId,range) \
+ ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+
+#define ICorProfilerInfo12_GetNotifiedExceptionClauseInfo(This,pinfo) \
+ ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+
+
+#define ICorProfilerInfo12_EnumJITedFunctions(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+
+#define ICorProfilerInfo12_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+ ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+
+#define ICorProfilerInfo12_SetFunctionIDMapper2(This,pFunc,clientData) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+
+#define ICorProfilerInfo12_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+ ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+ ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_InitializeCurrentThread(This) \
+ ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_EnumJITedFunctions2(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
+
+#define ICorProfilerInfo12_GetObjectSize2(This,objectId,pcSize) \
+ ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+
+
+#define ICorProfilerInfo12_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
+ ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+
+#define ICorProfilerInfo12_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) )
+
+
+#define ICorProfilerInfo12_ApplyMetaData(This,moduleId) \
+ ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) )
+
+#define ICorProfilerInfo12_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) )
+
+
+#define ICorProfilerInfo12_IsFunctionDynamic(This,functionId,isDynamic) \
+ ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) )
+
+#define ICorProfilerInfo12_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) )
+
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_IsFrozenObject(This,objectId,pbFrozen) \
+ ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) )
+
+#define ICorProfilerInfo12_GetLOHObjectSizeThreshold(This,pThreshold) \
+ ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) )
+
+#define ICorProfilerInfo12_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \
+ ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) )
+
+#define ICorProfilerInfo12_SuspendRuntime(This) \
+ ( (This)->lpVtbl -> SuspendRuntime(This) )
+
+#define ICorProfilerInfo12_ResumeRuntime(This) \
+ ( (This)->lpVtbl -> ResumeRuntime(This) )
+
+
+#define ICorProfilerInfo12_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) )
+
+
+#define ICorProfilerInfo12_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) )
+
+#define ICorProfilerInfo12_EventPipeStopSession(This,session) \
+ ( (This)->lpVtbl -> EventPipeStopSession(This,session) )
+
+#define ICorProfilerInfo12_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) )
+
+#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) )
+
+#define ICorProfilerInfo12_EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) \
+ ( (This)->lpVtbl -> EventPipeWriteEvent(This,event,cData,data,pActivityId,pRelatedActivityId) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerInfo12_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo13_INTERFACE_DEFINED__
+#define __ICorProfilerInfo13_INTERFACE_DEFINED__
+
+/* interface ICorProfilerInfo13 */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICorProfilerInfo13;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6E6C7EE2-0701-4EC2-9D29-2E8733B66934")
+ ICorProfilerInfo13 : public ICorProfilerInfo12
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE CreateHandle(
+ /* [annotation][in] */
+ _In_ ObjectID object,
+ /* [annotation][in] */
+ _In_ COR_PRF_HANDLE_TYPE type,
+ /* [annotation][out] */
+ _Out_ ObjectHandleID *pHandle) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DestroyHandle(
+ /* [annotation][in] */
+ _In_ ObjectHandleID handle) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetObjectIDFromHandle(
+ /* [annotation][in] */
+ _In_ ObjectHandleID handle,
+ /* [annotation][out] */
+ _Out_ ObjectID *pObject) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerInfo13Vtbl
+ {
+ BEGIN_INTERFACE
+
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICorProfilerInfo13 * This);
+
+ DECLSPEC_XFGVIRT(IUnknown, Release)
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICorProfilerInfo13 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromObject)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromObject )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+ HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+ HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+ HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+ HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+ ICorProfilerInfo13 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap)
+ HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+ HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+ HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds)
+ HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+ HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+ HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+ HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+ HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+ HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+ ICorProfilerInfo13 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert)
+ HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs)
+ HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+ HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+ HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+ HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytes);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+ HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD symbolsReadOffset,
+ /* [annotation][out] */
+ _Out_ BYTE *pSymbolBytes,
+ /* [annotation][in] */
+ _In_ DWORD countSymbolBytes,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytesRead);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+ HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *isDynamic);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *functionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ModuleID *moduleId,
+ /* [annotation][out] */
+ _Out_ PCCOR_SIGNATURE *ppvSig,
+ /* [annotation][out] */
+ _Out_ ULONG *pbSig,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_ WCHAR wszName[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetNativeCodeStartAddresses)
+ HRESULT ( STDMETHODCALLTYPE *GetNativeCodeStartAddresses )(
+ ICorProfilerInfo13 * This,
+ FunctionID functionID,
+ ReJITID reJitId,
+ ULONG32 cCodeStartAddresses,
+ ULONG32 *pcCodeStartAddresses,
+ UINT_PTR codeStartAddresses[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetILToNativeMapping3)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping3 )(
+ ICorProfilerInfo13 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cMap,
+ ULONG32 *pcMap,
+ COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo9, GetCodeInfo4)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo4 )(
+ ICorProfilerInfo13 * This,
+ UINT_PTR pNativeCodeStartAddress,
+ ULONG32 cCodeInfos,
+ ULONG32 *pcCodeInfos,
+ COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, EnumerateObjectReferences)
+ HRESULT ( STDMETHODCALLTYPE *EnumerateObjectReferences )(
+ ICorProfilerInfo13 * This,
+ ObjectID objectId,
+ ObjectReferenceCallback callback,
+ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, IsFrozenObject)
+ HRESULT ( STDMETHODCALLTYPE *IsFrozenObject )(
+ ICorProfilerInfo13 * This,
+ ObjectID objectId,
+ BOOL *pbFrozen);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, GetLOHObjectSizeThreshold)
+ HRESULT ( STDMETHODCALLTYPE *GetLOHObjectSizeThreshold )(
+ ICorProfilerInfo13 * This,
+ DWORD *pThreshold);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, RequestReJITWithInliners)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJITWithInliners )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwRejitFlags,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, SuspendRuntime)
+ HRESULT ( STDMETHODCALLTYPE *SuspendRuntime )(
+ ICorProfilerInfo13 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo10, ResumeRuntime)
+ HRESULT ( STDMETHODCALLTYPE *ResumeRuntime )(
+ ICorProfilerInfo13 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo11, GetEnvironmentVariable)
+ HRESULT ( STDMETHODCALLTYPE *GetEnvironmentVariable )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][in] */
+ _In_ ULONG cchValue,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchValue,
+ /* [annotation][out] */
+ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable)
+ HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szValue);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStartSession)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ UINT32 cProviderConfigs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cProviderConfigs) COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ],
+ /* [annotation][in] */
+ _In_ BOOL requestRundown,
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_SESSION *pSession);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeAddProviderToSession)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_SESSION session,
+ /* [annotation][in] */
+ _In_ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStopSession)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_SESSION session);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeCreateProvider)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *providerName,
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_PROVIDER *pProvider);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeGetProviderInfo)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeDefineEvent)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *eventName,
+ /* [annotation][in] */
+ _In_ UINT32 eventID,
+ /* [annotation][in] */
+ _In_ UINT64 keywords,
+ /* [annotation][in] */
+ _In_ UINT32 eventVersion,
+ /* [annotation][in] */
+ _In_ UINT32 level,
+ /* [annotation][in] */
+ _In_ UINT8 opcode,
+ /* [annotation][in] */
+ _In_ BOOL needStack,
+ /* [annotation][in] */
+ _In_ UINT32 cParamDescs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cParamDescs) COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ],
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_EVENT *pEvent);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeWriteEvent)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_EVENT event,
+ /* [annotation][in] */
+ _In_ UINT32 cData,
+ /* [annotation][size_is][in] */
+ _In_reads_(cData) COR_PRF_EVENT_DATA data[ ],
+ /* [annotation][in] */
+ _In_ LPCGUID pActivityId,
+ /* [annotation][in] */
+ _In_ LPCGUID pRelatedActivityId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo13, CreateHandle)
+ HRESULT ( STDMETHODCALLTYPE *CreateHandle )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ObjectID object,
+ /* [annotation][in] */
+ _In_ COR_PRF_HANDLE_TYPE type,
+ /* [annotation][out] */
+ _Out_ ObjectHandleID *pHandle);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo13, DestroyHandle)
+ HRESULT ( STDMETHODCALLTYPE *DestroyHandle )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ObjectHandleID handle);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo13, GetObjectIDFromHandle)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectIDFromHandle )(
+ ICorProfilerInfo13 * This,
+ /* [annotation][in] */
+ _In_ ObjectHandleID handle,
+ /* [annotation][out] */
+ _Out_ ObjectID *pObject);
+
+ END_INTERFACE
+ } ICorProfilerInfo13Vtbl;
+
+ interface ICorProfilerInfo13
+ {
+ CONST_VTBL struct ICorProfilerInfo13Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICorProfilerInfo13_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICorProfilerInfo13_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICorProfilerInfo13_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICorProfilerInfo13_GetClassFromObject(This,objectId,pClassId) \
+ ( (This)->lpVtbl -> GetClassFromObject(This,objectId,pClassId) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_GetEventMask(This,pdwEvents) \
+ ( (This)->lpVtbl -> GetEventMask(This,pdwEvents) )
+
+#define ICorProfilerInfo13_GetFunctionFromIP(This,ip,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromIP(This,ip,pFunctionId) )
+
+#define ICorProfilerInfo13_GetFunctionFromToken(This,moduleId,token,pFunctionId) \
+ ( (This)->lpVtbl -> GetFunctionFromToken(This,moduleId,token,pFunctionId) )
+
+#define ICorProfilerInfo13_GetHandleFromThread(This,threadId,phThread) \
+ ( (This)->lpVtbl -> GetHandleFromThread(This,threadId,phThread) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_GetThreadInfo(This,threadId,pdwWin32ThreadId) \
+ ( (This)->lpVtbl -> GetThreadInfo(This,threadId,pdwWin32ThreadId) )
+
+#define ICorProfilerInfo13_GetCurrentThreadID(This,pThreadId) \
+ ( (This)->lpVtbl -> GetCurrentThreadID(This,pThreadId) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_SetEventMask(This,dwEvents) \
+ ( (This)->lpVtbl -> SetEventMask(This,dwEvents) )
+
+#define ICorProfilerInfo13_SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) \
+ ( (This)->lpVtbl -> SetEnterLeaveFunctionHooks(This,pFuncEnter,pFuncLeave,pFuncTailcall) )
+
+#define ICorProfilerInfo13_SetFunctionIDMapper(This,pFunc) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper(This,pFunc) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_GetILFunctionBodyAllocator(This,moduleId,ppMalloc) \
+ ( (This)->lpVtbl -> GetILFunctionBodyAllocator(This,moduleId,ppMalloc) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_ForceGC(This) \
+ ( (This)->lpVtbl -> ForceGC(This) )
+
+#define ICorProfilerInfo13_SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) \
+ ( (This)->lpVtbl -> SetILInstrumentedCodeMap(This,functionId,fStartJit,cILMapEntries,rgILMapEntries) )
+
+#define ICorProfilerInfo13_GetInprocInspectionInterface(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionInterface(This,ppicd) )
+
+#define ICorProfilerInfo13_GetInprocInspectionIThisThread(This,ppicd) \
+ ( (This)->lpVtbl -> GetInprocInspectionIThisThread(This,ppicd) )
+
+#define ICorProfilerInfo13_GetThreadContext(This,threadId,pContextId) \
+ ( (This)->lpVtbl -> GetThreadContext(This,threadId,pContextId) )
+
+#define ICorProfilerInfo13_BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) \
+ ( (This)->lpVtbl -> BeginInprocDebugging(This,fThisThreadOnly,pdwProfilerContext) )
+
+#define ICorProfilerInfo13_EndInprocDebugging(This,dwProfilerContext) \
+ ( (This)->lpVtbl -> EndInprocDebugging(This,dwProfilerContext) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_GetBoxClassLayout(This,classId,pBufferOffset) \
+ ( (This)->lpVtbl -> GetBoxClassLayout(This,classId,pBufferOffset) )
+
+#define ICorProfilerInfo13_GetThreadAppDomain(This,threadId,pAppDomainId) \
+ ( (This)->lpVtbl -> GetThreadAppDomain(This,threadId,pAppDomainId) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_GetObjectGeneration(This,objectId,range) \
+ ( (This)->lpVtbl -> GetObjectGeneration(This,objectId,range) )
+
+#define ICorProfilerInfo13_GetNotifiedExceptionClauseInfo(This,pinfo) \
+ ( (This)->lpVtbl -> GetNotifiedExceptionClauseInfo(This,pinfo) )
+
+
+#define ICorProfilerInfo13_EnumJITedFunctions(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions(This,ppEnum) )
+
+#define ICorProfilerInfo13_RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) \
+ ( (This)->lpVtbl -> RequestProfilerDetach(This,dwExpectedCompletionMilliseconds) )
+
+#define ICorProfilerInfo13_SetFunctionIDMapper2(This,pFunc,clientData) \
+ ( (This)->lpVtbl -> SetFunctionIDMapper2(This,pFunc,clientData) )
+
+#define ICorProfilerInfo13_GetStringLayout2(This,pStringLengthOffset,pBufferOffset) \
+ ( (This)->lpVtbl -> GetStringLayout2(This,pStringLengthOffset,pBufferOffset) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) \
+ ( (This)->lpVtbl -> GetFunctionTailcall3Info(This,functionId,eltInfo,pFrameInfo) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_InitializeCurrentThread(This) \
+ ( (This)->lpVtbl -> InitializeCurrentThread(This) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_EnumJITedFunctions2(This,ppEnum) \
+ ( (This)->lpVtbl -> EnumJITedFunctions2(This,ppEnum) )
+
+#define ICorProfilerInfo13_GetObjectSize2(This,objectId,pcSize) \
+ ( (This)->lpVtbl -> GetObjectSize2(This,objectId,pcSize) )
+
+
+#define ICorProfilerInfo13_GetEventMask2(This,pdwEventsLow,pdwEventsHigh) \
+ ( (This)->lpVtbl -> GetEventMask2(This,pdwEventsLow,pdwEventsHigh) )
+
+#define ICorProfilerInfo13_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) )
+
+
+#define ICorProfilerInfo13_ApplyMetaData(This,moduleId) \
+ ( (This)->lpVtbl -> ApplyMetaData(This,moduleId) )
+
+#define ICorProfilerInfo13_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) )
+
+
+#define ICorProfilerInfo13_IsFunctionDynamic(This,functionId,isDynamic) \
+ ( (This)->lpVtbl -> IsFunctionDynamic(This,functionId,isDynamic) )
+
+#define ICorProfilerInfo13_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) )
+
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_IsFrozenObject(This,objectId,pbFrozen) \
+ ( (This)->lpVtbl -> IsFrozenObject(This,objectId,pbFrozen) )
+
+#define ICorProfilerInfo13_GetLOHObjectSizeThreshold(This,pThreshold) \
+ ( (This)->lpVtbl -> GetLOHObjectSizeThreshold(This,pThreshold) )
+
+#define ICorProfilerInfo13_RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) \
+ ( (This)->lpVtbl -> RequestReJITWithInliners(This,dwRejitFlags,cFunctions,moduleIds,methodIds) )
+
+#define ICorProfilerInfo13_SuspendRuntime(This) \
+ ( (This)->lpVtbl -> SuspendRuntime(This) )
+
+#define ICorProfilerInfo13_ResumeRuntime(This) \
+ ( (This)->lpVtbl -> ResumeRuntime(This) )
+
+
+#define ICorProfilerInfo13_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) )
+
+
+#define ICorProfilerInfo13_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) )
+
+#define ICorProfilerInfo13_EventPipeStopSession(This,session) \
+ ( (This)->lpVtbl -> EventPipeStopSession(This,session) )
+
+#define ICorProfilerInfo13_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) )
+
+#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) )
+
+#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) )
+
+#define ICorProfilerInfo13_DestroyHandle(This,handle) \
+ ( (This)->lpVtbl -> DestroyHandle(This,handle) )
+
+#define ICorProfilerInfo13_GetObjectIDFromHandle(This,handle,pObject) \
+ ( (This)->lpVtbl -> GetObjectIDFromHandle(This,handle,pObject) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICorProfilerInfo13_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICorProfilerInfo14_INTERFACE_DEFINED__
+#define __ICorProfilerInfo14_INTERFACE_DEFINED__
+
+/* interface ICorProfilerInfo14 */
+/* [local][unique][uuid][object] */
+
+
+EXTERN_C const IID IID_ICorProfilerInfo14;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("F460E352-D76D-4FE9-835F-F6AF9D6E862D")
+ ICorProfilerInfo14 : public ICorProfilerInfo13
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE EnumerateNonGCObjects(
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNonGCHeapBounds(
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_NONGC_HEAP_RANGE ranges[ ]) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EventPipeCreateProvider2(
+ /* [annotation][string][in] */
+ _In_ const WCHAR *providerName,
+ /* [annotation][in] */
+ _In_ EventPipeProviderCallback *pCallback,
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_PROVIDER *pProvider) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICorProfilerInfo14Vtbl
+ {
+ BEGIN_INTERFACE
+
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ 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,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromToken )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCodeInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *pStart,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromIP)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionFromToken)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromToken )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdToken token,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetHandleFromThread)
+ HRESULT ( STDMETHODCALLTYPE *GetHandleFromThread )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThread);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetObjectSize)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, IsArrayClass)
+ HRESULT ( STDMETHODCALLTYPE *IsArrayClass )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ CorElementType *pBaseElemType,
+ /* [annotation][out] */
+ _Out_ ClassID *pBaseClassId,
+ /* [annotation][out] */
+ _Out_ ULONG *pcRank);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwWin32ThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetCurrentThreadID)
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentThreadID )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ ThreadID *pThreadId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetClassIDInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEventMask)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEvents);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetEnterLeaveFunctionHooks)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionIDMapper)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper *pFunc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetTokenAndMetaDataFromFunction)
+ HRESULT ( STDMETHODCALLTYPE *GetTokenAndMetaDataFromFunction )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppImport,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetModuleMetaData)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleMetaData )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD dwOpenFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppOut);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBody )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppMethodHeader,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbMethodSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILFunctionBodyAllocator)
+ HRESULT ( STDMETHODCALLTYPE *GetILFunctionBodyAllocator )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ IMethodMalloc **ppMalloc);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILFunctionBody)
+ HRESULT ( STDMETHODCALLTYPE *SetILFunctionBody )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef methodid,
+ /* [annotation][in] */
+ _In_ LPCBYTE pbNewILMethodHeader);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAppDomainInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ ProcessID *pProcessId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetAssemblyInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetAssemblyInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ AssemblyID assemblyId,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetFunctionReJIT)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionReJIT )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, ForceGC)
+ HRESULT ( STDMETHODCALLTYPE *ForceGC )(
+ ICorProfilerInfo14 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, SetILInstrumentedCodeMap)
+ HRESULT ( STDMETHODCALLTYPE *SetILInstrumentedCodeMap )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ BOOL fStartJit,
+ /* [annotation][in] */
+ _In_ ULONG cILMapEntries,
+ /* [annotation][size_is][in] */
+ _In_reads_(cILMapEntries) COR_IL_MAP rgILMapEntries[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionInterface)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionInterface )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetInprocInspectionIThisThread)
+ HRESULT ( STDMETHODCALLTYPE *GetInprocInspectionIThisThread )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ IUnknown **ppicd);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetThreadContext)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadContext )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ ContextID *pContextId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, BeginInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *BeginInprocDebugging )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ BOOL fThisThreadOnly,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, EndInprocDebugging)
+ HRESULT ( STDMETHODCALLTYPE *EndInprocDebugging )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwProfilerContext);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo, GetILToNativeMapping)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, DoStackSnapshot)
+ HRESULT ( STDMETHODCALLTYPE *DoStackSnapshot )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ThreadID thread,
+ /* [annotation][in] */
+ _In_ StackSnapshotCallback *callback,
+ /* [annotation][in] */
+ _In_ ULONG32 infoFlags,
+ /* [annotation][in] */
+ _In_ void *clientData,
+ /* [annotation][size_is][in] */
+ _In_reads_(contextSize) BYTE context[ ],
+ /* [annotation][in] */
+ _In_ ULONG32 contextSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, SetEnterLeaveFunctionHooks2)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter2 *pFuncEnter,
+ /* [annotation][in] */
+ _In_ FunctionLeave2 *pFuncLeave,
+ /* [annotation][in] */
+ _In_ FunctionTailcall2 *pFuncTailcall);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionInfo2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID funcId,
+ /* [annotation][in] */
+ _In_ COR_PRF_FRAME_INFO frameInfo,
+ /* [annotation][out] */
+ _Out_ ClassID *pClassId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdToken *pToken,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStringLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classID,
+ /* [annotation][out][in] */
+ _Inout_ COR_FIELD_OFFSET rFieldOffset[ ],
+ /* [annotation][in] */
+ _In_ ULONG cFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pcFieldOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pulClassSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassIDInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetClassIDInfo2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ModuleID *pModuleId,
+ /* [annotation][out] */
+ _Out_ mdTypeDef *pTypeDefToken,
+ /* [annotation][out] */
+ _Out_ ClassID *pParentClassId,
+ /* [annotation][in] */
+ _In_ ULONG32 cNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcNumTypeArgs,
+ /* [annotation][out] */
+ _Out_ ClassID typeArgs[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetCodeInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetClassFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetClassFromTokenAndTypeArgs )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdTypeDef typeDef,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ ClassID *pClassID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetFunctionFromTokenAndTypeArgs)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromTokenAndTypeArgs )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][in] */
+ _In_ mdMethodDef funcDef,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ ULONG32 cTypeArgs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cTypeArgs) ClassID typeArgs[ ],
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionID);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, EnumModuleFrozenObjects)
+ HRESULT ( STDMETHODCALLTYPE *EnumModuleFrozenObjects )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleID,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetArrayObjectInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetArrayObjectInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][in] */
+ _In_ ULONG32 cDimensions,
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) ULONG32 pDimensionSizes[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cDimensions) int pDimensionLowerBounds[ ],
+ /* [annotation][out] */
+ _Out_ BYTE **ppData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetBoxClassLayout)
+ HRESULT ( STDMETHODCALLTYPE *GetBoxClassLayout )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadAppDomain)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadAppDomain )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ AppDomainID *pAppDomainId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetRVAStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetRVAStaticAddress )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetAppDomainStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainStaticAddress )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetThreadStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetContextStaticAddress)
+ HRESULT ( STDMETHODCALLTYPE *GetContextStaticAddress )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ ContextID contextId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetStaticFieldInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetStaticFieldInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][out] */
+ _Out_ COR_PRF_STATIC_TYPE *pFieldInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetGenerationBounds)
+ HRESULT ( STDMETHODCALLTYPE *GetGenerationBounds )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_GC_GENERATION_RANGE ranges[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetObjectGeneration)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectGeneration )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_GC_GENERATION_RANGE *range);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo2, GetNotifiedExceptionClauseInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetNotifiedExceptionClauseInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ COR_PRF_EX_CLAUSE_INFO *pinfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumJITedFunctions)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, RequestProfilerDetach)
+ HRESULT ( STDMETHODCALLTYPE *RequestProfilerDetach )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwExpectedCompletionMilliseconds);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetFunctionIDMapper2)
+ HRESULT ( STDMETHODCALLTYPE *SetFunctionIDMapper2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionIDMapper2 *pFunc,
+ /* [annotation][in] */
+ _In_ void *clientData);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetStringLayout2)
+ HRESULT ( STDMETHODCALLTYPE *GetStringLayout2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ ULONG *pStringLengthOffset,
+ /* [annotation][out] */
+ _Out_ ULONG *pBufferOffset);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3 *pFuncEnter3,
+ /* [annotation][in] */
+ _In_ FunctionLeave3 *pFuncLeave3,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3 *pFuncTailcall3);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, SetEnterLeaveFunctionHooks3WithInfo)
+ HRESULT ( STDMETHODCALLTYPE *SetEnterLeaveFunctionHooks3WithInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionEnter3WithInfo *pFuncEnter3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionLeave3WithInfo *pFuncLeave3WithInfo,
+ /* [annotation][in] */
+ _In_ FunctionTailcall3WithInfo *pFuncTailcall3WithInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionEnter3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionEnter3Info )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out][in] */
+ _Inout_ ULONG *pcbArgumentInfo,
+ /* [annotation][size_is][out] */
+ _Out_writes_(*pcbArgumentInfo) COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionLeave3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionLeave3Info )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FUNCTION_ARGUMENT_RANGE *pRetvalRange);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetFunctionTailcall3Info)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionTailcall3Info )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ COR_PRF_ELT_INFO eltInfo,
+ /* [annotation][out] */
+ _Out_ COR_PRF_FRAME_INFO *pFrameInfo);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, EnumModules)
+ HRESULT ( STDMETHODCALLTYPE *EnumModules )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerModuleEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetRuntimeInformation)
+ HRESULT ( STDMETHODCALLTYPE *GetRuntimeInformation )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ USHORT *pClrInstanceId,
+ /* [annotation][out] */
+ _Out_ COR_PRF_RUNTIME_TYPE *pRuntimeType,
+ /* [annotation][out] */
+ _Out_ USHORT *pMajorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pMinorVersion,
+ /* [annotation][out] */
+ _Out_ USHORT *pBuildNumber,
+ /* [annotation][out] */
+ _Out_ USHORT *pQFEVersion,
+ /* [annotation][in] */
+ _In_ ULONG cchVersionString,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchVersionString,
+ /* [annotation][out] */
+ _Out_writes_to_(cchVersionString, *pcchVersionString) WCHAR szVersionString[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetThreadStaticAddress2)
+ HRESULT ( STDMETHODCALLTYPE *GetThreadStaticAddress2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ClassID classId,
+ /* [annotation][in] */
+ _In_ mdFieldDef fieldToken,
+ /* [annotation][in] */
+ _In_ AppDomainID appDomainId,
+ /* [annotation][in] */
+ _In_ ThreadID threadId,
+ /* [annotation][out] */
+ _Out_ void **ppAddress);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetAppDomainsContainingModule)
+ HRESULT ( STDMETHODCALLTYPE *GetAppDomainsContainingModule )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ ULONG32 cAppDomainIds,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcAppDomainIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cAppDomainIds,*pcAppDomainIds) AppDomainID appDomainIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo3, GetModuleInfo2)
+ HRESULT ( STDMETHODCALLTYPE *GetModuleInfo2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ LPCBYTE *ppBaseLoadAddress,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR szName[ ],
+ /* [annotation][out] */
+ _Out_ AssemblyID *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleFlags);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumThreads)
+ HRESULT ( STDMETHODCALLTYPE *EnumThreads )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, InitializeCurrentThread)
+ HRESULT ( STDMETHODCALLTYPE *InitializeCurrentThread )(
+ ICorProfilerInfo14 * This);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestReJIT)
+ HRESULT ( STDMETHODCALLTYPE *RequestReJIT )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, RequestRevert)
+ HRESULT ( STDMETHODCALLTYPE *RequestRevert )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) mdMethodDef methodIds[ ],
+ /* [annotation][size_is][out] */
+ _Out_writes_(cFunctions) HRESULT status[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetCodeInfo3)
+ HRESULT ( STDMETHODCALLTYPE *GetCodeInfo3 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionID,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cCodeInfos,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcCodeInfos,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cCodeInfos,*pcCodeInfos) COR_PRF_CODE_INFO codeInfos[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetFunctionFromIP2)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *pFunctionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetReJITIDs)
+ HRESULT ( STDMETHODCALLTYPE *GetReJITIDs )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ULONG cReJitIds,
+ /* [annotation][out] */
+ _Out_ ULONG *pcReJitIds,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cReJitIds,*pcReJitIds) ReJITID reJitIds[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetILToNativeMapping2)
+ HRESULT ( STDMETHODCALLTYPE *GetILToNativeMapping2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][in] */
+ _In_ ReJITID reJitId,
+ /* [annotation][in] */
+ _In_ ULONG32 cMap,
+ /* [annotation][out] */
+ _Out_ ULONG32 *pcMap,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cMap,*pcMap) COR_DEBUG_IL_TO_NATIVE_MAP map[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, EnumJITedFunctions2)
+ HRESULT ( STDMETHODCALLTYPE *EnumJITedFunctions2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerFunctionEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo4, GetObjectSize2)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectSize2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ObjectID objectId,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pcSize);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, GetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *GetEventMask2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsLow,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo5, SetEventMask2)
+ HRESULT ( STDMETHODCALLTYPE *SetEventMask2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsLow,
+ /* [annotation][in] */
+ _In_ DWORD dwEventsHigh);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo6, EnumNgenModuleMethodsInliningThisMethod)
+ HRESULT ( STDMETHODCALLTYPE *EnumNgenModuleMethodsInliningThisMethod )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID inlinersModuleId,
+ /* [annotation][in] */
+ _In_ ModuleID inlineeModuleId,
+ /* [annotation][in] */
+ _In_ mdMethodDef inlineeMethodId,
+ /* [annotation][out] */
+ _Out_ BOOL *incompleteData,
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ApplyMetaData)
+ HRESULT ( STDMETHODCALLTYPE *ApplyMetaData )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, GetInMemorySymbolsLength)
+ HRESULT ( STDMETHODCALLTYPE *GetInMemorySymbolsLength )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytes);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo7, ReadInMemorySymbols)
+ HRESULT ( STDMETHODCALLTYPE *ReadInMemorySymbols )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ModuleID moduleId,
+ /* [annotation][in] */
+ _In_ DWORD symbolsReadOffset,
+ /* [annotation][out] */
+ _Out_ BYTE *pSymbolBytes,
+ /* [annotation][in] */
+ _In_ DWORD countSymbolBytes,
+ /* [annotation][out] */
+ _Out_ DWORD *pCountSymbolBytesRead);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, IsFunctionDynamic)
+ HRESULT ( STDMETHODCALLTYPE *IsFunctionDynamic )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ BOOL *isDynamic);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetFunctionFromIP3)
+ HRESULT ( STDMETHODCALLTYPE *GetFunctionFromIP3 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ LPCBYTE ip,
+ /* [annotation][out] */
+ _Out_ FunctionID *functionId,
+ /* [annotation][out] */
+ _Out_ ReJITID *pReJitId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo8, GetDynamicFunctionInfo)
+ HRESULT ( STDMETHODCALLTYPE *GetDynamicFunctionInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ FunctionID functionId,
+ /* [annotation][out] */
+ _Out_ ModuleID *moduleId,
+ /* [annotation][out] */
+ _Out_ PCCOR_SIGNATURE *ppvSig,
+ /* [annotation][out] */
+ _Out_ ULONG *pbSig,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _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,
+ /* [annotation][in] */
+ _In_ DWORD dwRejitFlags,
+ /* [annotation][in] */
+ _In_ ULONG cFunctions,
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) ModuleID moduleIds[ ],
+ /* [annotation][size_is][in] */
+ _In_reads_(cFunctions) 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,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][in] */
+ _In_ ULONG cchValue,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchValue,
+ /* [annotation][out] */
+ _Out_writes_to_(cchValue, *pcchValue) WCHAR szValue[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo11, SetEnvironmentVariable)
+ HRESULT ( STDMETHODCALLTYPE *SetEnvironmentVariable )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szName,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *szValue);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStartSession)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeStartSession )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ UINT32 cProviderConfigs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cProviderConfigs) COR_PRF_EVENTPIPE_PROVIDER_CONFIG pProviderConfigs[ ],
+ /* [annotation][in] */
+ _In_ BOOL requestRundown,
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_SESSION *pSession);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeAddProviderToSession)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeAddProviderToSession )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_SESSION session,
+ /* [annotation][in] */
+ _In_ COR_PRF_EVENTPIPE_PROVIDER_CONFIG providerConfig);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeStopSession)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeStopSession )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_SESSION session);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeCreateProvider)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *providerName,
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_PROVIDER *pProvider);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeGetProviderInfo)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeGetProviderInfo )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][in] */
+ _In_ ULONG cchName,
+ /* [annotation][out] */
+ _Out_ ULONG *pcchName,
+ /* [annotation][out] */
+ _Out_writes_to_(cchName, *pcchName) WCHAR providerName[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeDefineEvent)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeDefineEvent )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_PROVIDER provider,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *eventName,
+ /* [annotation][in] */
+ _In_ UINT32 eventID,
+ /* [annotation][in] */
+ _In_ UINT64 keywords,
+ /* [annotation][in] */
+ _In_ UINT32 eventVersion,
+ /* [annotation][in] */
+ _In_ UINT32 level,
+ /* [annotation][in] */
+ _In_ UINT8 opcode,
+ /* [annotation][in] */
+ _In_ BOOL needStack,
+ /* [annotation][in] */
+ _In_ UINT32 cParamDescs,
+ /* [annotation][size_is][in] */
+ _In_reads_(cParamDescs) COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[ ],
+ /* [annotation][out] */
+ _Out_ EVENTPIPE_EVENT *pEvent);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo12, EventPipeWriteEvent)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeWriteEvent )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ EVENTPIPE_EVENT event,
+ /* [annotation][in] */
+ _In_ UINT32 cData,
+ /* [annotation][size_is][in] */
+ _In_reads_(cData) COR_PRF_EVENT_DATA data[ ],
+ /* [annotation][in] */
+ _In_ LPCGUID pActivityId,
+ /* [annotation][in] */
+ _In_ LPCGUID pRelatedActivityId);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo13, CreateHandle)
+ HRESULT ( STDMETHODCALLTYPE *CreateHandle )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ObjectID object,
+ /* [annotation][in] */
+ _In_ COR_PRF_HANDLE_TYPE type,
+ /* [annotation][out] */
+ _Out_ ObjectHandleID *pHandle);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo13, DestroyHandle)
+ HRESULT ( STDMETHODCALLTYPE *DestroyHandle )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ObjectHandleID handle);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo13, GetObjectIDFromHandle)
+ HRESULT ( STDMETHODCALLTYPE *GetObjectIDFromHandle )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ObjectHandleID handle,
+ /* [annotation][out] */
+ _Out_ ObjectID *pObject);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo14, EnumerateNonGCObjects)
+ HRESULT ( STDMETHODCALLTYPE *EnumerateNonGCObjects )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][out] */
+ _Out_ ICorProfilerObjectEnum **ppEnum);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo14, GetNonGCHeapBounds)
+ HRESULT ( STDMETHODCALLTYPE *GetNonGCHeapBounds )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][in] */
+ _In_ ULONG cObjectRanges,
+ /* [annotation][out] */
+ _Out_ ULONG *pcObjectRanges,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cObjectRanges,*pcObjectRanges) COR_PRF_NONGC_HEAP_RANGE ranges[ ]);
+
+ DECLSPEC_XFGVIRT(ICorProfilerInfo14, EventPipeCreateProvider2)
+ HRESULT ( STDMETHODCALLTYPE *EventPipeCreateProvider2 )(
+ ICorProfilerInfo14 * This,
+ /* [annotation][string][in] */
+ _In_ const WCHAR *providerName,
+ /* [annotation][in] */
+ _In_ EventPipeProviderCallback *pCallback,
+ /* [annotation][out] */
+ _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__
@@ -14225,20 +30024,26 @@ EXTERN_C const IID IID_ICorProfilerMethodEnum;
{
public:
virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ ICorProfilerMethodEnum **ppEnum) = 0;
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCount(
- /* [out] */ ULONG *pcelt) = 0;
+ /* [annotation][out] */
+ _Out_ ULONG *pcelt) = 0;
virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ COR_PRF_METHOD elements[ ],
- /* [out] */ ULONG *pceltFetched) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) COR_PRF_METHOD elements[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched) = 0;
};
@@ -14249,38 +30054,53 @@ EXTERN_C const IID IID_ICorProfilerMethodEnum;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerMethodEnum * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _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);
+ /* [annotation][in] */
+ _In_ ULONG celt);
+ DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Reset)
HRESULT ( STDMETHODCALLTYPE *Reset )(
ICorProfilerMethodEnum * This);
+ DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, Clone)
HRESULT ( STDMETHODCALLTYPE *Clone )(
ICorProfilerMethodEnum * This,
- /* [out] */ ICorProfilerMethodEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerMethodEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerMethodEnum, GetCount)
HRESULT ( STDMETHODCALLTYPE *GetCount )(
ICorProfilerMethodEnum * This,
- /* [out] */ ULONG *pcelt);
+ /* [annotation][out] */
+ _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);
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) COR_PRF_METHOD elements[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched);
END_INTERFACE
} ICorProfilerMethodEnumVtbl;
@@ -14347,20 +30167,26 @@ EXTERN_C const IID IID_ICorProfilerThreadEnum;
{
public:
virtual HRESULT STDMETHODCALLTYPE Skip(
- /* [in] */ ULONG celt) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ ICorProfilerThreadEnum **ppEnum) = 0;
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCount(
- /* [out] */ ULONG *pcelt) = 0;
+ /* [annotation][out] */
+ _Out_ ULONG *pcelt) = 0;
virtual HRESULT STDMETHODCALLTYPE Next(
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ThreadID ids[ ],
- /* [out] */ ULONG *pceltFetched) = 0;
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) ThreadID ids[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched) = 0;
};
@@ -14371,38 +30197,53 @@ EXTERN_C const IID IID_ICorProfilerThreadEnum;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerThreadEnum * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerThreadEnum * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerThreadEnum * This);
+ DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Skip)
HRESULT ( STDMETHODCALLTYPE *Skip )(
ICorProfilerThreadEnum * This,
- /* [in] */ ULONG celt);
+ /* [annotation][in] */
+ _In_ ULONG celt);
+ DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Reset)
HRESULT ( STDMETHODCALLTYPE *Reset )(
ICorProfilerThreadEnum * This);
+ DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Clone)
HRESULT ( STDMETHODCALLTYPE *Clone )(
ICorProfilerThreadEnum * This,
- /* [out] */ ICorProfilerThreadEnum **ppEnum);
+ /* [annotation][out] */
+ _Out_ ICorProfilerThreadEnum **ppEnum);
+ DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, GetCount)
HRESULT ( STDMETHODCALLTYPE *GetCount )(
ICorProfilerThreadEnum * This,
- /* [out] */ ULONG *pcelt);
+ /* [annotation][out] */
+ _Out_ ULONG *pcelt);
+ DECLSPEC_XFGVIRT(ICorProfilerThreadEnum, Next)
HRESULT ( STDMETHODCALLTYPE *Next )(
ICorProfilerThreadEnum * This,
- /* [in] */ ULONG celt,
- /* [length_is][size_is][out] */ ThreadID ids[ ],
- /* [out] */ ULONG *pceltFetched);
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(celt,*pceltFetched) ThreadID ids[ ],
+ /* [annotation][out] */
+ _Out_ ULONG *pceltFetched);
END_INTERFACE
} ICorProfilerThreadEnumVtbl;
@@ -14480,18 +30321,23 @@ EXTERN_C const IID IID_ICorProfilerAssemblyReferenceProvider;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorProfilerAssemblyReferenceProvider * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorProfilerAssemblyReferenceProvider * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorProfilerAssemblyReferenceProvider * This);
+ DECLSPEC_XFGVIRT(ICorProfilerAssemblyReferenceProvider, AddAssemblyReference)
HRESULT ( STDMETHODCALLTYPE *AddAssemblyReference )(
ICorProfilerAssemblyReferenceProvider * This,
const COR_PRF_ASSEMBLY_REFERENCE_INFO *pAssemblyRefInfo);
diff --git a/generation/WinSDK/AdditionalHeaders/gchost.h b/generation/WinSDK/AdditionalHeaders/gchost.h
index 6ea019a3..ee3264e3 100644
--- a/generation/WinSDK/AdditionalHeaders/gchost.h
+++ b/generation/WinSDK/AdditionalHeaders/gchost.h
@@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.00.0603 */
+ /* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the version is high enough to compile this file*/
@@ -24,7 +23,7 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of
-#endif // __RPCNDR_H_VERSION__
+#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
@@ -38,6 +37,14 @@
#pragma once
#endif
+#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 __IGCHost_FWD_DEFINED__
@@ -120,21 +127,28 @@ EXTERN_C const IID IID_IGCHost;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetGCStartupLimits(
- /* [in] */ DWORD SegmentSize,
- /* [in] */ DWORD MaxGen0Size) = 0;
+ /* [annotation][in] */
+ _In_ DWORD SegmentSize,
+ /* [annotation][in] */
+ _In_ DWORD MaxGen0Size) = 0;
virtual HRESULT STDMETHODCALLTYPE Collect(
- /* [in] */ LONG Generation) = 0;
+ /* [annotation][in] */
+ _In_ LONG Generation) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStats(
- /* [out][in] */ COR_GC_STATS *pStats) = 0;
+ /* [annotation][out][in] */
+ _Inout_ COR_GC_STATS *pStats) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadStats(
- /* [in] */ DWORD *pFiberCookie,
- /* [out][in] */ COR_GC_THREAD_STATS *pStats) = 0;
+ /* [annotation][in] */
+ _In_ DWORD *pFiberCookie,
+ /* [annotation][out][in] */
+ _Inout_ COR_GC_THREAD_STATS *pStats) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVirtualMemLimit(
- /* [in] */ SIZE_T sztMaxVirtualMemMB) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T sztMaxVirtualMemMB) = 0;
};
@@ -145,39 +159,55 @@ EXTERN_C const IID IID_IGCHost;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGCHost * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGCHost * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IGCHost * This);
+ DECLSPEC_XFGVIRT(IGCHost, SetGCStartupLimits)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimits )(
IGCHost * This,
- /* [in] */ DWORD SegmentSize,
- /* [in] */ DWORD MaxGen0Size);
+ /* [annotation][in] */
+ _In_ DWORD SegmentSize,
+ /* [annotation][in] */
+ _In_ DWORD MaxGen0Size);
+ DECLSPEC_XFGVIRT(IGCHost, Collect)
HRESULT ( STDMETHODCALLTYPE *Collect )(
IGCHost * This,
- /* [in] */ LONG Generation);
+ /* [annotation][in] */
+ _In_ LONG Generation);
+ DECLSPEC_XFGVIRT(IGCHost, GetStats)
HRESULT ( STDMETHODCALLTYPE *GetStats )(
IGCHost * This,
- /* [out][in] */ COR_GC_STATS *pStats);
+ /* [annotation][out][in] */
+ _Inout_ COR_GC_STATS *pStats);
+ DECLSPEC_XFGVIRT(IGCHost, GetThreadStats)
HRESULT ( STDMETHODCALLTYPE *GetThreadStats )(
IGCHost * This,
- /* [in] */ DWORD *pFiberCookie,
- /* [out][in] */ COR_GC_THREAD_STATS *pStats);
+ /* [annotation][in] */
+ _In_ DWORD *pFiberCookie,
+ /* [annotation][out][in] */
+ _Inout_ COR_GC_THREAD_STATS *pStats);
+ DECLSPEC_XFGVIRT(IGCHost, SetVirtualMemLimit)
HRESULT ( STDMETHODCALLTYPE *SetVirtualMemLimit )(
IGCHost * This,
- /* [in] */ SIZE_T sztMaxVirtualMemMB);
+ /* [annotation][in] */
+ _In_ SIZE_T sztMaxVirtualMemMB);
END_INTERFACE
} IGCHostVtbl;
@@ -244,8 +274,10 @@ EXTERN_C const IID IID_IGCHost2;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetGCStartupLimitsEx(
- /* [in] */ SIZE_T SegmentSize,
- /* [in] */ SIZE_T MaxGen0Size) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T SegmentSize,
+ /* [annotation][in] */
+ _In_ SIZE_T MaxGen0Size) = 0;
};
@@ -256,44 +288,63 @@ EXTERN_C const IID IID_IGCHost2;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGCHost2 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGCHost2 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IGCHost2 * This);
+ DECLSPEC_XFGVIRT(IGCHost, SetGCStartupLimits)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimits )(
IGCHost2 * This,
- /* [in] */ DWORD SegmentSize,
- /* [in] */ DWORD MaxGen0Size);
+ /* [annotation][in] */
+ _In_ DWORD SegmentSize,
+ /* [annotation][in] */
+ _In_ DWORD MaxGen0Size);
+ DECLSPEC_XFGVIRT(IGCHost, Collect)
HRESULT ( STDMETHODCALLTYPE *Collect )(
IGCHost2 * This,
- /* [in] */ LONG Generation);
+ /* [annotation][in] */
+ _In_ LONG Generation);
+ DECLSPEC_XFGVIRT(IGCHost, GetStats)
HRESULT ( STDMETHODCALLTYPE *GetStats )(
IGCHost2 * This,
- /* [out][in] */ COR_GC_STATS *pStats);
+ /* [annotation][out][in] */
+ _Inout_ COR_GC_STATS *pStats);
+ DECLSPEC_XFGVIRT(IGCHost, GetThreadStats)
HRESULT ( STDMETHODCALLTYPE *GetThreadStats )(
IGCHost2 * This,
- /* [in] */ DWORD *pFiberCookie,
- /* [out][in] */ COR_GC_THREAD_STATS *pStats);
+ /* [annotation][in] */
+ _In_ DWORD *pFiberCookie,
+ /* [annotation][out][in] */
+ _Inout_ COR_GC_THREAD_STATS *pStats);
+ DECLSPEC_XFGVIRT(IGCHost, SetVirtualMemLimit)
HRESULT ( STDMETHODCALLTYPE *SetVirtualMemLimit )(
IGCHost2 * This,
- /* [in] */ SIZE_T sztMaxVirtualMemMB);
+ /* [annotation][in] */
+ _In_ SIZE_T sztMaxVirtualMemMB);
+ DECLSPEC_XFGVIRT(IGCHost2, SetGCStartupLimitsEx)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimitsEx )(
IGCHost2 * This,
- /* [in] */ SIZE_T SegmentSize,
- /* [in] */ SIZE_T MaxGen0Size);
+ /* [annotation][in] */
+ _In_ SIZE_T SegmentSize,
+ /* [annotation][in] */
+ _In_ SIZE_T MaxGen0Size);
END_INTERFACE
} IGCHost2Vtbl;
diff --git a/generation/WinSDK/AdditionalHeaders/ivalidator.h b/generation/WinSDK/AdditionalHeaders/ivalidator.h
index f9a953fb..2d0000e0 100644
--- a/generation/WinSDK/AdditionalHeaders/ivalidator.h
+++ b/generation/WinSDK/AdditionalHeaders/ivalidator.h
@@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.00.0603 */
+ /* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the version is high enough to compile this file*/
@@ -24,20 +23,28 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of
-#endif // __RPCNDR_H_VERSION__
+#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
-#ifndef __IValidator_h__
-#define __IValidator_h__
+#ifndef __ivalidator_h__
+#define __ivalidator_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
+#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 __IValidator_FWD_DEFINED__
@@ -62,7 +69,7 @@ extern "C"{
#endif
-/* interface __MIDL_itf_IValidator_0000_0000 */
+/* interface __MIDL_itf_ivalidator_0000_0000 */
/* [local] */
#pragma warning(push)
@@ -81,8 +88,8 @@ enum ValidatorFlags
} ;
-extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0000_v0_0_s_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0000_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0000_v0_0_s_ifspec;
#ifndef __IValidator_INTERFACE_DEFINED__
#define __IValidator_INTERFACE_DEFINED__
@@ -100,21 +107,34 @@ EXTERN_C const IID IID_IValidator;
{
public:
virtual HRESULT STDMETHODCALLTYPE Validate(
- /* [in] */ __RPC__in_opt IVEHandler *veh,
- /* [in] */ __RPC__in_opt IUnknown *pAppDomain,
- /* [in] */ unsigned long ulFlags,
- /* [in] */ unsigned long ulMaxError,
- /* [in] */ unsigned long token,
- /* [in] */ __RPC__in LPWSTR fileName,
- /* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
- /* [in] */ unsigned long ulSize) = 0;
+ /* [annotation][in] */
+ _In_ IVEHandler *veh,
+ /* [annotation][in] */
+ _In_ IUnknown *pAppDomain,
+ /* [annotation][in] */
+ _In_ unsigned long ulFlags,
+ /* [annotation][in] */
+ _In_ unsigned long ulMaxError,
+ /* [annotation][in] */
+ _In_ unsigned long token,
+ /* [annotation][in] */
+ _In_ LPWSTR fileName,
+ /* [annotation][size_is][in] */
+ _In_reads_(ulSize) BYTE *pe,
+ /* [annotation][in] */
+ _In_ unsigned long ulSize) = 0;
virtual HRESULT STDMETHODCALLTYPE FormatEventInfo(
- /* [in] */ HRESULT hVECode,
- /* [in] */ VEContext Context,
- /* [out][in] */ __RPC__inout LPWSTR msg,
- /* [in] */ unsigned long ulMaxLength,
- /* [in] */ __RPC__in SAFEARRAY * psa) = 0;
+ /* [annotation][in] */
+ _In_ HRESULT hVECode,
+ /* [annotation][in] */
+ _In_ VEContext Context,
+ /* [annotation][out][in] */
+ _Inout_ LPWSTR msg,
+ /* [annotation][in] */
+ _In_ unsigned long ulMaxLength,
+ /* [annotation][in] */
+ _In_ SAFEARRAY * psa) = 0;
};
@@ -125,36 +145,55 @@ EXTERN_C const IID IID_IValidator;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IValidator * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IValidator * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IValidator * This);
+ DECLSPEC_XFGVIRT(IValidator, Validate)
HRESULT ( STDMETHODCALLTYPE *Validate )(
__RPC__in IValidator * This,
- /* [in] */ __RPC__in_opt IVEHandler *veh,
- /* [in] */ __RPC__in_opt IUnknown *pAppDomain,
- /* [in] */ unsigned long ulFlags,
- /* [in] */ unsigned long ulMaxError,
- /* [in] */ unsigned long token,
- /* [in] */ __RPC__in LPWSTR fileName,
- /* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
- /* [in] */ unsigned long ulSize);
+ /* [annotation][in] */
+ _In_ IVEHandler *veh,
+ /* [annotation][in] */
+ _In_ IUnknown *pAppDomain,
+ /* [annotation][in] */
+ _In_ unsigned long ulFlags,
+ /* [annotation][in] */
+ _In_ unsigned long ulMaxError,
+ /* [annotation][in] */
+ _In_ unsigned long token,
+ /* [annotation][in] */
+ _In_ LPWSTR fileName,
+ /* [annotation][size_is][in] */
+ _In_reads_(ulSize) BYTE *pe,
+ /* [annotation][in] */
+ _In_ unsigned long ulSize);
+ DECLSPEC_XFGVIRT(IValidator, FormatEventInfo)
HRESULT ( STDMETHODCALLTYPE *FormatEventInfo )(
__RPC__in IValidator * This,
- /* [in] */ HRESULT hVECode,
- /* [in] */ VEContext Context,
- /* [out][in] */ __RPC__inout LPWSTR msg,
- /* [in] */ unsigned long ulMaxLength,
- /* [in] */ __RPC__in SAFEARRAY * psa);
+ /* [annotation][in] */
+ _In_ HRESULT hVECode,
+ /* [annotation][in] */
+ _In_ VEContext Context,
+ /* [annotation][out][in] */
+ _Inout_ LPWSTR msg,
+ /* [annotation][in] */
+ _In_ unsigned long ulMaxLength,
+ /* [annotation][in] */
+ _In_ SAFEARRAY * psa);
END_INTERFACE
} IValidatorVtbl;
@@ -212,21 +251,34 @@ EXTERN_C const IID IID_ICLRValidator;
{
public:
virtual HRESULT STDMETHODCALLTYPE Validate(
- /* [in] */ __RPC__in_opt IVEHandler *veh,
- /* [in] */ unsigned long ulAppDomainId,
- /* [in] */ unsigned long ulFlags,
- /* [in] */ unsigned long ulMaxError,
- /* [in] */ unsigned long token,
- /* [in] */ __RPC__in LPWSTR fileName,
- /* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
- /* [in] */ unsigned long ulSize) = 0;
+ /* [annotation][in] */
+ _In_ IVEHandler *veh,
+ /* [annotation][in] */
+ _In_ unsigned long ulAppDomainId,
+ /* [annotation][in] */
+ _In_ unsigned long ulFlags,
+ /* [annotation][in] */
+ _In_ unsigned long ulMaxError,
+ /* [annotation][in] */
+ _In_ unsigned long token,
+ /* [annotation][in] */
+ _In_ LPWSTR fileName,
+ /* [annotation][size_is][in] */
+ _In_reads_(ulSize) BYTE *pe,
+ /* [annotation][in] */
+ _In_ unsigned long ulSize) = 0;
virtual HRESULT STDMETHODCALLTYPE FormatEventInfo(
- /* [in] */ HRESULT hVECode,
- /* [in] */ VEContext Context,
- /* [out][in] */ __RPC__inout LPWSTR msg,
- /* [in] */ unsigned long ulMaxLength,
- /* [in] */ __RPC__in SAFEARRAY * psa) = 0;
+ /* [annotation][in] */
+ _In_ HRESULT hVECode,
+ /* [annotation][in] */
+ _In_ VEContext Context,
+ /* [annotation][out][in] */
+ _Inout_ LPWSTR msg,
+ /* [annotation][in] */
+ _In_ unsigned long ulMaxLength,
+ /* [annotation][in] */
+ _In_ SAFEARRAY * psa) = 0;
};
@@ -237,36 +289,55 @@ EXTERN_C const IID IID_ICLRValidator;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ICLRValidator * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ICLRValidator * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ICLRValidator * This);
+ DECLSPEC_XFGVIRT(ICLRValidator, Validate)
HRESULT ( STDMETHODCALLTYPE *Validate )(
__RPC__in ICLRValidator * This,
- /* [in] */ __RPC__in_opt IVEHandler *veh,
- /* [in] */ unsigned long ulAppDomainId,
- /* [in] */ unsigned long ulFlags,
- /* [in] */ unsigned long ulMaxError,
- /* [in] */ unsigned long token,
- /* [in] */ __RPC__in LPWSTR fileName,
- /* [size_is][in] */ __RPC__in_ecount_full(ulSize) BYTE *pe,
- /* [in] */ unsigned long ulSize);
+ /* [annotation][in] */
+ _In_ IVEHandler *veh,
+ /* [annotation][in] */
+ _In_ unsigned long ulAppDomainId,
+ /* [annotation][in] */
+ _In_ unsigned long ulFlags,
+ /* [annotation][in] */
+ _In_ unsigned long ulMaxError,
+ /* [annotation][in] */
+ _In_ unsigned long token,
+ /* [annotation][in] */
+ _In_ LPWSTR fileName,
+ /* [annotation][size_is][in] */
+ _In_reads_(ulSize) BYTE *pe,
+ /* [annotation][in] */
+ _In_ unsigned long ulSize);
+ DECLSPEC_XFGVIRT(ICLRValidator, FormatEventInfo)
HRESULT ( STDMETHODCALLTYPE *FormatEventInfo )(
__RPC__in ICLRValidator * This,
- /* [in] */ HRESULT hVECode,
- /* [in] */ VEContext Context,
- /* [out][in] */ __RPC__inout LPWSTR msg,
- /* [in] */ unsigned long ulMaxLength,
- /* [in] */ __RPC__in SAFEARRAY * psa);
+ /* [annotation][in] */
+ _In_ HRESULT hVECode,
+ /* [annotation][in] */
+ _In_ VEContext Context,
+ /* [annotation][out][in] */
+ _Inout_ LPWSTR msg,
+ /* [annotation][in] */
+ _In_ unsigned long ulMaxLength,
+ /* [annotation][in] */
+ _In_ SAFEARRAY * psa);
END_INTERFACE
} ICLRValidatorVtbl;
@@ -308,14 +379,14 @@ EXTERN_C const IID IID_ICLRValidator;
#endif /* __ICLRValidator_INTERFACE_DEFINED__ */
-/* interface __MIDL_itf_IValidator_0000_0002 */
+/* interface __MIDL_itf_ivalidator_0000_0002 */
/* [local] */
#pragma warning(pop)
-extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0002_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_IValidator_0000_0002_v0_0_s_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0002_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ivalidator_0000_0002_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
@@ -324,6 +395,11 @@ unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( __RPC__in unsigned long *,
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
+unsigned long __RPC_USER LPSAFEARRAY_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
+unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
+unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
+void __RPC_USER LPSAFEARRAY_UserFree64( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
+
/* end of Additional Prototypes */
#ifdef __cplusplus
diff --git a/generation/WinSDK/AdditionalHeaders/ivehandler.h b/generation/WinSDK/AdditionalHeaders/ivehandler.h
index be2c045d..f68ddacf 100644
--- a/generation/WinSDK/AdditionalHeaders/ivehandler.h
+++ b/generation/WinSDK/AdditionalHeaders/ivehandler.h
@@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.00.0603 */
+ /* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the version is high enough to compile this file*/
@@ -24,20 +23,28 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of
-#endif // __RPCNDR_H_VERSION__
+#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
-#ifndef __IVEHandler_h__
-#define __IVEHandler_h__
+#ifndef __ivehandler_h__
+#define __ivehandler_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
+#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 __VEHandlerClass_FWD_DEFINED__
@@ -67,7 +74,7 @@ extern "C"{
#endif
-/* interface __MIDL_itf_IVEHandler_0000_0000 */
+/* interface __MIDL_itf_ivehandler_0000_0000 */
/* [local] */
typedef struct tag_VerError
@@ -87,8 +94,8 @@ typedef _VerError VEContext;
-extern RPC_IF_HANDLE __MIDL_itf_IVEHandler_0000_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_IVEHandler_0000_0000_v0_0_s_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ivehandler_0000_0000_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_ivehandler_0000_0000_v0_0_s_ifspec;
#ifndef __VEHandlerLib_LIBRARY_DEFINED__
@@ -125,12 +132,16 @@ EXTERN_C const IID IID_IVEHandler;
{
public:
virtual HRESULT STDMETHODCALLTYPE VEHandler(
- /* [in] */ HRESULT VECode,
- /* [in] */ VEContext Context,
- /* [in] */ __RPC__in SAFEARRAY * psa) = 0;
+ /* [annotation][in] */
+ _In_ HRESULT VECode,
+ /* [annotation][in] */
+ _In_ VEContext Context,
+ /* [annotation][in] */
+ _In_ SAFEARRAY * psa) = 0;
virtual HRESULT STDMETHODCALLTYPE SetReporterFtn(
- /* [in] */ __int64 lFnPtr) = 0;
+ /* [annotation][in] */
+ _In_ __int64 lFnPtr) = 0;
};
@@ -141,27 +152,37 @@ EXTERN_C const IID IID_IVEHandler;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IVEHandler * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IVEHandler * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IVEHandler * This);
+ DECLSPEC_XFGVIRT(IVEHandler, VEHandler)
HRESULT ( STDMETHODCALLTYPE *VEHandler )(
__RPC__in IVEHandler * This,
- /* [in] */ HRESULT VECode,
- /* [in] */ VEContext Context,
- /* [in] */ __RPC__in SAFEARRAY * psa);
+ /* [annotation][in] */
+ _In_ HRESULT VECode,
+ /* [annotation][in] */
+ _In_ VEContext Context,
+ /* [annotation][in] */
+ _In_ SAFEARRAY * psa);
+ DECLSPEC_XFGVIRT(IVEHandler, SetReporterFtn)
HRESULT ( STDMETHODCALLTYPE *SetReporterFtn )(
__RPC__in IVEHandler * This,
- /* [in] */ __int64 lFnPtr);
+ /* [annotation][in] */
+ _In_ __int64 lFnPtr);
END_INTERFACE
} IVEHandlerVtbl;
@@ -210,6 +231,11 @@ unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( __RPC__in unsigned long *,
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
+unsigned long __RPC_USER LPSAFEARRAY_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
+unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
+unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
+void __RPC_USER LPSAFEARRAY_UserFree64( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
+
/* end of Additional Prototypes */
#ifdef __cplusplus
diff --git a/generation/WinSDK/AdditionalHeaders/menutemplate.h b/generation/WinSDK/AdditionalHeaders/menutemplate.h
new file mode 100644
index 00000000..28060785
--- /dev/null
+++ b/generation/WinSDK/AdditionalHeaders/menutemplate.h
@@ -0,0 +1,36 @@
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _MENUEX_TEMPLATE_HEADER {
+ WORD wVersion;
+ WORD wOffset;
+ DWORD dwHelpId;
+} MENUEX_TEMPLATE_HEADER;
+
+typedef struct _MENUEX_TEMPLATE_ITEM {
+ DWORD dwType;
+ DWORD dwState;
+ UINT uId;
+ WORD wFlags;
+ WCHAR szText[1];
+} MENUEX_TEMPLATE_ITEM;
+
+typedef struct _MENUTEMPLATEEX {
+ union {
+ struct {
+ MENUITEMTEMPLATEHEADER mitHeader;
+ MENUITEMTEMPLATE miTemplate[ANYSIZE_ARRAY];
+ } Menu;
+ struct {
+ MENUEX_TEMPLATE_HEADER mexHeader;
+ MENUEX_TEMPLATE_ITEM mexItem[ANYSIZE_ARRAY];
+ } MenuEx;
+ };
+} MENUTEMPLATEEX;
+
+#ifdef __cplusplus
+}
+#endif
\ No newline at end of file
diff --git a/generation/WinSDK/AdditionalHeaders/metahost.h b/generation/WinSDK/AdditionalHeaders/metahost.h
index 33bc124c..10515e83 100644
--- a/generation/WinSDK/AdditionalHeaders/metahost.h
+++ b/generation/WinSDK/AdditionalHeaders/metahost.h
@@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.00.0603 */
+ /* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the version is high enough to compile this file*/
@@ -24,7 +23,7 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of
-#endif // __RPCNDR_H_VERSION__
+#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
@@ -38,6 +37,14 @@
#pragma once
#endif
+#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 __ICLRMetaHost_FWD_DEFINED__
@@ -225,32 +232,44 @@ EXTERN_C const IID IID_ICLRMetaHost;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetRuntime(
- /* [in] */ LPCWSTR pwzVersion,
- /* [in] */ REFIID riid,
- /* [retval][iid_is][out] */ LPVOID *ppRuntime) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzVersion,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][retval][iid_is][out] */
+ _COM_Outptr_retval_ LPVOID *ppRuntime) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVersionFromFile(
- /* [in] */ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBuffer) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumerateInstalledRuntimes(
- /* [retval][out] */ IEnumUnknown **ppEnumerator) = 0;
+ /* [annotation][retval][out] */
+ _Out_retval_ IEnumUnknown **ppEnumerator) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumerateLoadedRuntimes(
- /* [in] */ HANDLE hndProcess,
- /* [retval][out] */ IEnumUnknown **ppEnumerator) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE hndProcess,
+ /* [annotation][retval][out] */
+ _Out_retval_ IEnumUnknown **ppEnumerator) = 0;
virtual HRESULT STDMETHODCALLTYPE RequestRuntimeLoadedNotification(
- /* [in] */ RuntimeLoadedCallbackFnPtr pCallbackFunction) = 0;
+ /* [annotation][in] */
+ _In_ RuntimeLoadedCallbackFnPtr pCallbackFunction) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryLegacyV2RuntimeBinding(
- /* [in] */ REFIID riid,
- /* [retval][iid_is][out] */ LPVOID *ppUnk) = 0;
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][retval][iid_is][out] */
+ _COM_Outptr_retval_ LPVOID *ppUnk) = 0;
virtual HRESULT STDMETHODCALLTYPE ExitProcess(
- /* [in] */ INT32 iExitCode) = 0;
+ /* [annotation][in] */
+ _In_ INT32 iExitCode) = 0;
};
@@ -261,52 +280,75 @@ EXTERN_C const IID IID_ICLRMetaHost;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRMetaHost * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRMetaHost * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRMetaHost * This);
+ DECLSPEC_XFGVIRT(ICLRMetaHost, GetRuntime)
HRESULT ( STDMETHODCALLTYPE *GetRuntime )(
ICLRMetaHost * This,
- /* [in] */ LPCWSTR pwzVersion,
- /* [in] */ REFIID riid,
- /* [retval][iid_is][out] */ LPVOID *ppRuntime);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzVersion,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][retval][iid_is][out] */
+ _COM_Outptr_retval_ LPVOID *ppRuntime);
+ DECLSPEC_XFGVIRT(ICLRMetaHost, GetVersionFromFile)
HRESULT ( STDMETHODCALLTYPE *GetVersionFromFile )(
ICLRMetaHost * This,
- /* [in] */ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBuffer);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBuffer);
+ DECLSPEC_XFGVIRT(ICLRMetaHost, EnumerateInstalledRuntimes)
HRESULT ( STDMETHODCALLTYPE *EnumerateInstalledRuntimes )(
ICLRMetaHost * This,
- /* [retval][out] */ IEnumUnknown **ppEnumerator);
+ /* [annotation][retval][out] */
+ _Out_retval_ IEnumUnknown **ppEnumerator);
+ DECLSPEC_XFGVIRT(ICLRMetaHost, EnumerateLoadedRuntimes)
HRESULT ( STDMETHODCALLTYPE *EnumerateLoadedRuntimes )(
ICLRMetaHost * This,
- /* [in] */ HANDLE hndProcess,
- /* [retval][out] */ IEnumUnknown **ppEnumerator);
+ /* [annotation][in] */
+ _In_ HANDLE hndProcess,
+ /* [annotation][retval][out] */
+ _Out_retval_ IEnumUnknown **ppEnumerator);
+ DECLSPEC_XFGVIRT(ICLRMetaHost, RequestRuntimeLoadedNotification)
HRESULT ( STDMETHODCALLTYPE *RequestRuntimeLoadedNotification )(
ICLRMetaHost * This,
- /* [in] */ RuntimeLoadedCallbackFnPtr pCallbackFunction);
+ /* [annotation][in] */
+ _In_ RuntimeLoadedCallbackFnPtr pCallbackFunction);
+ DECLSPEC_XFGVIRT(ICLRMetaHost, QueryLegacyV2RuntimeBinding)
HRESULT ( STDMETHODCALLTYPE *QueryLegacyV2RuntimeBinding )(
ICLRMetaHost * This,
- /* [in] */ REFIID riid,
- /* [retval][iid_is][out] */ LPVOID *ppUnk);
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][retval][iid_is][out] */
+ _COM_Outptr_retval_ LPVOID *ppUnk);
+ DECLSPEC_XFGVIRT(ICLRMetaHost, ExitProcess)
HRESULT ( STDMETHODCALLTYPE *ExitProcess )(
ICLRMetaHost * This,
- /* [in] */ INT32 iExitCode);
+ /* [annotation][in] */
+ _In_ INT32 iExitCode);
END_INTERFACE
} ICLRMetaHostVtbl;
@@ -408,18 +450,26 @@ EXTERN_C const IID IID_ICLRMetaHostPolicy;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetRequestedRuntime(
- /* [in] */ METAHOST_POLICY_FLAGS dwPolicyFlags,
- /* [in] */ LPCWSTR pwzBinary,
- /* [in] */ IStream *pCfgStream,
+ /* [annotation][in] */
+ _In_ METAHOST_POLICY_FLAGS dwPolicyFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzBinary,
+ /* [annotation][in] */
+ _In_ IStream *pCfgStream,
/* [annotation][size_is][out][in] */
_Inout_updates_all_opt_(*pcchVersion) LPWSTR pwzVersion,
- /* [out][in] */ DWORD *pcchVersion,
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchVersion,
/* [annotation][size_is][out] */
_Out_writes_all_opt_(*pcchImageVersion) LPWSTR pwzImageVersion,
- /* [out][in] */ DWORD *pcchImageVersion,
- /* [out] */ DWORD *pdwConfigFlags,
- /* [in] */ REFIID riid,
- /* [retval][iid_is][out] */ LPVOID *ppRuntime) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchImageVersion,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwConfigFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][retval][iid_is][out] */
+ _COM_Outptr_retval_ LPVOID *ppRuntime) = 0;
};
@@ -430,32 +480,45 @@ EXTERN_C const IID IID_ICLRMetaHostPolicy;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRMetaHostPolicy * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRMetaHostPolicy * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRMetaHostPolicy * This);
+ DECLSPEC_XFGVIRT(ICLRMetaHostPolicy, GetRequestedRuntime)
HRESULT ( STDMETHODCALLTYPE *GetRequestedRuntime )(
ICLRMetaHostPolicy * This,
- /* [in] */ METAHOST_POLICY_FLAGS dwPolicyFlags,
- /* [in] */ LPCWSTR pwzBinary,
- /* [in] */ IStream *pCfgStream,
+ /* [annotation][in] */
+ _In_ METAHOST_POLICY_FLAGS dwPolicyFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzBinary,
+ /* [annotation][in] */
+ _In_ IStream *pCfgStream,
/* [annotation][size_is][out][in] */
_Inout_updates_all_opt_(*pcchVersion) LPWSTR pwzVersion,
- /* [out][in] */ DWORD *pcchVersion,
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchVersion,
/* [annotation][size_is][out] */
_Out_writes_all_opt_(*pcchImageVersion) LPWSTR pwzImageVersion,
- /* [out][in] */ DWORD *pcchImageVersion,
- /* [out] */ DWORD *pdwConfigFlags,
- /* [in] */ REFIID riid,
- /* [retval][iid_is][out] */ LPVOID *ppRuntime);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchImageVersion,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwConfigFlags,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][retval][iid_is][out] */
+ _COM_Outptr_retval_ LPVOID *ppRuntime);
END_INTERFACE
} ICLRMetaHostPolicyVtbl;
@@ -510,12 +573,18 @@ EXTERN_C const IID IID_ICLRProfiling;
{
public:
virtual HRESULT STDMETHODCALLTYPE AttachProfiler(
- /* [in] */ DWORD dwProfileeProcessID,
- /* [in] */ DWORD dwMillisecondsMax,
- /* [in] */ const CLSID *pClsidProfiler,
- /* [in] */ LPCWSTR wszProfilerPath,
- /* [size_is][in] */ void *pvClientData,
- /* [in] */ UINT cbClientData) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwProfileeProcessID,
+ /* [annotation][in] */
+ _In_ DWORD dwMillisecondsMax,
+ /* [annotation][in] */
+ _In_ const CLSID *pClsidProfiler,
+ /* [annotation][in] */
+ _In_ LPCWSTR wszProfilerPath,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbClientData) void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData) = 0;
};
@@ -526,26 +595,37 @@ EXTERN_C const IID IID_ICLRProfiling;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRProfiling * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRProfiling * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRProfiling * This);
+ DECLSPEC_XFGVIRT(ICLRProfiling, AttachProfiler)
HRESULT ( STDMETHODCALLTYPE *AttachProfiler )(
ICLRProfiling * This,
- /* [in] */ DWORD dwProfileeProcessID,
- /* [in] */ DWORD dwMillisecondsMax,
- /* [in] */ const CLSID *pClsidProfiler,
- /* [in] */ LPCWSTR wszProfilerPath,
- /* [size_is][in] */ void *pvClientData,
- /* [in] */ UINT cbClientData);
+ /* [annotation][in] */
+ _In_ DWORD dwProfileeProcessID,
+ /* [annotation][in] */
+ _In_ DWORD dwMillisecondsMax,
+ /* [annotation][in] */
+ _In_ const CLSID *pClsidProfiler,
+ /* [annotation][in] */
+ _In_ LPCWSTR wszProfilerPath,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbClientData) void *pvClientData,
+ /* [annotation][in] */
+ _In_ UINT cbClientData);
END_INTERFACE
} ICLRProfilingVtbl;
@@ -624,10 +704,14 @@ EXTERN_C const IID IID_ICLRDebuggingLibraryProvider;
{
public:
virtual HRESULT STDMETHODCALLTYPE ProvideLibrary(
- /* [in] */ const WCHAR *pwszFileName,
- /* [in] */ DWORD dwTimestamp,
- /* [in] */ DWORD dwSizeOfImage,
- /* [out] */ HMODULE *phModule) = 0;
+ /* [annotation][in] */
+ _In_ const WCHAR *pwszFileName,
+ /* [annotation][in] */
+ _In_ DWORD dwTimestamp,
+ /* [annotation][in] */
+ _In_ DWORD dwSizeOfImage,
+ /* [annotation][out] */
+ _Out_ HMODULE *phModule) = 0;
};
@@ -638,24 +722,33 @@ EXTERN_C const IID IID_ICLRDebuggingLibraryProvider;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRDebuggingLibraryProvider * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRDebuggingLibraryProvider * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRDebuggingLibraryProvider * This);
+ DECLSPEC_XFGVIRT(ICLRDebuggingLibraryProvider, ProvideLibrary)
HRESULT ( STDMETHODCALLTYPE *ProvideLibrary )(
ICLRDebuggingLibraryProvider * This,
- /* [in] */ const WCHAR *pwszFileName,
- /* [in] */ DWORD dwTimestamp,
- /* [in] */ DWORD dwSizeOfImage,
- /* [out] */ HMODULE *phModule);
+ /* [annotation][in] */
+ _In_ const WCHAR *pwszFileName,
+ /* [annotation][in] */
+ _In_ DWORD dwTimestamp,
+ /* [annotation][in] */
+ _In_ DWORD dwSizeOfImage,
+ /* [annotation][out] */
+ _Out_ HMODULE *phModule);
END_INTERFACE
} ICLRDebuggingLibraryProviderVtbl;
@@ -710,14 +803,22 @@ EXTERN_C const IID IID_ICLRDebugging;
{
public:
virtual HRESULT STDMETHODCALLTYPE OpenVirtualProcess(
- /* [in] */ ULONG64 moduleBaseAddress,
- /* [in] */ IUnknown *pDataTarget,
- /* [in] */ ICLRDebuggingLibraryProvider *pLibraryProvider,
- /* [in] */ CLR_DEBUGGING_VERSION *pMaxDebuggerSupportedVersion,
- /* [in] */ REFIID riidProcess,
- /* [iid_is][out] */ IUnknown **ppProcess,
- /* [out][in] */ CLR_DEBUGGING_VERSION *pVersion,
- /* [out] */ CLR_DEBUGGING_PROCESS_FLAGS *pdwFlags) = 0;
+ /* [annotation][in] */
+ _In_ ULONG64 moduleBaseAddress,
+ /* [annotation][in] */
+ _In_ IUnknown *pDataTarget,
+ /* [annotation][in] */
+ _In_ ICLRDebuggingLibraryProvider *pLibraryProvider,
+ /* [annotation][in] */
+ _In_ CLR_DEBUGGING_VERSION *pMaxDebuggerSupportedVersion,
+ /* [annotation][in] */
+ _In_ REFIID riidProcess,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ IUnknown **ppProcess,
+ /* [annotation][out][in] */
+ _Inout_ CLR_DEBUGGING_VERSION *pVersion,
+ /* [annotation][out] */
+ _Out_ CLR_DEBUGGING_PROCESS_FLAGS *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE CanUnloadNow(
HMODULE hModule) = 0;
@@ -731,29 +832,43 @@ EXTERN_C const IID IID_ICLRDebugging;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRDebugging * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRDebugging * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRDebugging * This);
+ DECLSPEC_XFGVIRT(ICLRDebugging, OpenVirtualProcess)
HRESULT ( STDMETHODCALLTYPE *OpenVirtualProcess )(
ICLRDebugging * This,
- /* [in] */ ULONG64 moduleBaseAddress,
- /* [in] */ IUnknown *pDataTarget,
- /* [in] */ ICLRDebuggingLibraryProvider *pLibraryProvider,
- /* [in] */ CLR_DEBUGGING_VERSION *pMaxDebuggerSupportedVersion,
- /* [in] */ REFIID riidProcess,
- /* [iid_is][out] */ IUnknown **ppProcess,
- /* [out][in] */ CLR_DEBUGGING_VERSION *pVersion,
- /* [out] */ CLR_DEBUGGING_PROCESS_FLAGS *pdwFlags);
+ /* [annotation][in] */
+ _In_ ULONG64 moduleBaseAddress,
+ /* [annotation][in] */
+ _In_ IUnknown *pDataTarget,
+ /* [annotation][in] */
+ _In_ ICLRDebuggingLibraryProvider *pLibraryProvider,
+ /* [annotation][in] */
+ _In_ CLR_DEBUGGING_VERSION *pMaxDebuggerSupportedVersion,
+ /* [annotation][in] */
+ _In_ REFIID riidProcess,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ IUnknown **ppProcess,
+ /* [annotation][out][in] */
+ _Inout_ CLR_DEBUGGING_VERSION *pVersion,
+ /* [annotation][out] */
+ _Out_ CLR_DEBUGGING_PROCESS_FLAGS *pdwFlags);
+ DECLSPEC_XFGVIRT(ICLRDebugging, CanUnloadNow)
HRESULT ( STDMETHODCALLTYPE *CanUnloadNow )(
ICLRDebugging * This,
HMODULE hModule);
@@ -816,55 +931,75 @@ EXTERN_C const IID IID_ICLRRuntimeInfo;
virtual HRESULT STDMETHODCALLTYPE GetVersionString(
/* [annotation][size_is][out] */
_Out_writes_all_opt_(*pcchBuffer) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBuffer) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRuntimeDirectory(
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBuffer) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE IsLoaded(
- /* [in] */ HANDLE hndProcess,
- /* [retval][out] */ BOOL *pbLoaded) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE hndProcess,
+ /* [annotation][retval][out] */
+ _Out_retval_ BOOL *pbLoaded) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadErrorString(
- /* [in] */ UINT iResourceID,
+ /* [annotation][in] */
+ _In_ UINT iResourceID,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBuffer,
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBuffer,
/* [lcid][in] */ LONG iLocaleID) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadLibrary(
- /* [in] */ LPCWSTR pwzDllName,
- /* [retval][out] */ HMODULE *phndModule) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzDllName,
+ /* [annotation][retval][out] */
+ _Out_retval_ HMODULE *phndModule) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProcAddress(
- /* [in] */ LPCSTR pszProcName,
- /* [retval][out] */ LPVOID *ppProc) = 0;
+ /* [annotation][in] */
+ _In_ LPCSTR pszProcName,
+ /* [annotation][retval][out] */
+ _Out_retval_ LPVOID *ppProc) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInterface(
- /* [in] */ REFCLSID rclsid,
- /* [in] */ REFIID riid,
- /* [retval][iid_is][out] */ LPVOID *ppUnk) = 0;
+ /* [annotation][in] */
+ _In_ REFCLSID rclsid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][retval][iid_is][out] */
+ _COM_Outptr_retval_ LPVOID *ppUnk) = 0;
virtual HRESULT STDMETHODCALLTYPE IsLoadable(
- /* [retval][out] */ BOOL *pbLoadable) = 0;
+ /* [annotation][retval][out] */
+ _Out_retval_ BOOL *pbLoadable) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDefaultStartupFlags(
- /* [in] */ DWORD dwStartupFlags,
- /* [in] */ LPCWSTR pwzHostConfigFile) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwStartupFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzHostConfigFile) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultStartupFlags(
- /* [out] */ DWORD *pdwStartupFlags,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwStartupFlags,
/* [annotation][size_is][out] */
_Out_writes_all_opt_(*pcchHostConfigFile) LPWSTR pwzHostConfigFile,
- /* [out][in] */ DWORD *pcchHostConfigFile) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchHostConfigFile) = 0;
virtual HRESULT STDMETHODCALLTYPE BindAsLegacyV2Runtime( void) = 0;
virtual HRESULT STDMETHODCALLTYPE IsStarted(
- /* [out] */ BOOL *pbStarted,
- /* [out] */ DWORD *pdwStartupFlags) = 0;
+ /* [annotation][out] */
+ _Out_ BOOL *pbStarted,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwStartupFlags) = 0;
};
@@ -875,82 +1010,118 @@ EXTERN_C const IID IID_ICLRRuntimeInfo;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRRuntimeInfo * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRRuntimeInfo * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRRuntimeInfo * This);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, GetVersionString)
HRESULT ( STDMETHODCALLTYPE *GetVersionString )(
ICLRRuntimeInfo * This,
/* [annotation][size_is][out] */
_Out_writes_all_opt_(*pcchBuffer) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBuffer);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBuffer);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, GetRuntimeDirectory)
HRESULT ( STDMETHODCALLTYPE *GetRuntimeDirectory )(
ICLRRuntimeInfo * This,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBuffer);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBuffer);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, IsLoaded)
HRESULT ( STDMETHODCALLTYPE *IsLoaded )(
ICLRRuntimeInfo * This,
- /* [in] */ HANDLE hndProcess,
- /* [retval][out] */ BOOL *pbLoaded);
+ /* [annotation][in] */
+ _In_ HANDLE hndProcess,
+ /* [annotation][retval][out] */
+ _Out_retval_ BOOL *pbLoaded);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, LoadErrorString)
HRESULT ( STDMETHODCALLTYPE *LoadErrorString )(
ICLRRuntimeInfo * This,
- /* [in] */ UINT iResourceID,
+ /* [annotation][in] */
+ _In_ UINT iResourceID,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBuffer) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBuffer,
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBuffer,
/* [lcid][in] */ LONG iLocaleID);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, LoadLibrary)
HRESULT ( STDMETHODCALLTYPE *LoadLibrary )(
ICLRRuntimeInfo * This,
- /* [in] */ LPCWSTR pwzDllName,
- /* [retval][out] */ HMODULE *phndModule);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzDllName,
+ /* [annotation][retval][out] */
+ _Out_retval_ HMODULE *phndModule);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, GetProcAddress)
HRESULT ( STDMETHODCALLTYPE *GetProcAddress )(
ICLRRuntimeInfo * This,
- /* [in] */ LPCSTR pszProcName,
- /* [retval][out] */ LPVOID *ppProc);
+ /* [annotation][in] */
+ _In_ LPCSTR pszProcName,
+ /* [annotation][retval][out] */
+ _Out_retval_ LPVOID *ppProc);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, GetInterface)
HRESULT ( STDMETHODCALLTYPE *GetInterface )(
ICLRRuntimeInfo * This,
- /* [in] */ REFCLSID rclsid,
- /* [in] */ REFIID riid,
- /* [retval][iid_is][out] */ LPVOID *ppUnk);
+ /* [annotation][in] */
+ _In_ REFCLSID rclsid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][retval][iid_is][out] */
+ _COM_Outptr_retval_ LPVOID *ppUnk);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, IsLoadable)
HRESULT ( STDMETHODCALLTYPE *IsLoadable )(
ICLRRuntimeInfo * This,
- /* [retval][out] */ BOOL *pbLoadable);
+ /* [annotation][retval][out] */
+ _Out_retval_ BOOL *pbLoadable);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, SetDefaultStartupFlags)
HRESULT ( STDMETHODCALLTYPE *SetDefaultStartupFlags )(
ICLRRuntimeInfo * This,
- /* [in] */ DWORD dwStartupFlags,
- /* [in] */ LPCWSTR pwzHostConfigFile);
+ /* [annotation][in] */
+ _In_ DWORD dwStartupFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzHostConfigFile);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, GetDefaultStartupFlags)
HRESULT ( STDMETHODCALLTYPE *GetDefaultStartupFlags )(
ICLRRuntimeInfo * This,
- /* [out] */ DWORD *pdwStartupFlags,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwStartupFlags,
/* [annotation][size_is][out] */
_Out_writes_all_opt_(*pcchHostConfigFile) LPWSTR pwzHostConfigFile,
- /* [out][in] */ DWORD *pcchHostConfigFile);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchHostConfigFile);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, BindAsLegacyV2Runtime)
HRESULT ( STDMETHODCALLTYPE *BindAsLegacyV2Runtime )(
ICLRRuntimeInfo * This);
+ DECLSPEC_XFGVIRT(ICLRRuntimeInfo, IsStarted)
HRESULT ( STDMETHODCALLTYPE *IsStarted )(
ICLRRuntimeInfo * This,
- /* [out] */ BOOL *pbStarted,
- /* [out] */ DWORD *pdwStartupFlags);
+ /* [annotation][out] */
+ _Out_ BOOL *pbStarted,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwStartupFlags);
END_INTERFACE
} ICLRRuntimeInfoVtbl;
@@ -1038,154 +1209,254 @@ EXTERN_C const IID IID_ICLRStrongName;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetHashFromAssemblyFile(
- /* [in] */ LPCSTR pszFilePath,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash) = 0;
+ /* [annotation][in] */
+ _In_ LPCSTR pszFilePath,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHashFromAssemblyFileW(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHashFromBlob(
- /* [in] */ BYTE *pbBlob,
- /* [in] */ DWORD cchBlob,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash) = 0;
+ /* [annotation][in] */
+ _In_ BYTE *pbBlob,
+ /* [annotation][in] */
+ _In_ DWORD cchBlob,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHashFromFile(
- /* [in] */ LPCSTR pszFilePath,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash) = 0;
+ /* [annotation][in] */
+ _In_ LPCSTR pszFilePath,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHashFromFileW(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHashFromHandle(
- /* [in] */ HANDLE hFile,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE hFile,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameCompareAssemblies(
- /* [in] */ LPCWSTR pwzAssembly1,
- /* [in] */ LPCWSTR pwzAssembly2,
- /* [retval][out] */ DWORD *pdwResult) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssembly1,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssembly2,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pdwResult) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameFreeBuffer(
- /* [in] */ BYTE *pbMemory) = 0;
+ /* [annotation][in] */
+ _In_ BYTE *pbMemory) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameGetBlob(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [length_is][size_is][out][in] */ BYTE *pbBlob,
- /* [out][in] */ DWORD *pcbBlob) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][length_is][size_is][out][in] */
+ _Inout_updates_to_(*pcbBlob,*pcbBlob) BYTE *pbBlob,
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcbBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameGetBlobFromImage(
- /* [size_is][in] */ BYTE *pbBase,
- /* [in] */ DWORD dwLength,
- /* [length_is][size_is][out] */ BYTE *pbBlob,
- /* [out][in] */ DWORD *pcbBlob) = 0;
+ /* [annotation][size_is][in] */
+ _In_reads_(dwLength) BYTE *pbBase,
+ /* [annotation][in] */
+ _In_ DWORD dwLength,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(*pcbBlob,*pcbBlob) BYTE *pbBlob,
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcbBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameGetPublicKey(
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [out] */ BYTE **ppbPublicKeyBlob,
- /* [out] */ ULONG *pcbPublicKeyBlob) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbPublicKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbPublicKeyBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameHashSize(
- /* [in] */ ULONG ulHashAlg,
- /* [retval][out] */ DWORD *pcbSize) = 0;
+ /* [annotation][in] */
+ _In_ ULONG ulHashAlg,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pcbSize) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameKeyDelete(
- /* [in] */ LPCWSTR pwzKeyContainer) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameKeyGen(
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ DWORD dwFlags,
- /* [out] */ BYTE **ppbKeyBlob,
- /* [out] */ ULONG *pcbKeyBlob) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbKeyBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameKeyGenEx(
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ DWORD dwFlags,
- /* [in] */ DWORD dwKeySize,
- /* [out] */ BYTE **ppbKeyBlob,
- /* [out] */ ULONG *pcbKeyBlob) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ DWORD dwKeySize,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbKeyBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameKeyInstall(
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureGeneration(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [out] */ BYTE **ppbSignatureBlob,
- /* [out] */ ULONG *pcbSignatureBlob) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbSignatureBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbSignatureBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureGenerationEx(
- /* [in] */ LPCWSTR wszFilePath,
- /* [in] */ LPCWSTR wszKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [out] */ BYTE **ppbSignatureBlob,
- /* [out] */ ULONG *pcbSignatureBlob,
- /* [in] */ DWORD dwFlags) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR wszFilePath,
+ /* [annotation][in] */
+ _In_ LPCWSTR wszKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbSignatureBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbSignatureBlob,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureSize(
- /* [in] */ BYTE *pbPublicKeyBlob,
- /* [in] */ ULONG cbPublicKeyBlob,
- /* [in] */ DWORD *pcbSize) = 0;
+ /* [annotation][in] */
+ _In_ BYTE *pbPublicKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbPublicKeyBlob,
+ /* [annotation][in] */
+ _In_ DWORD *pcbSize) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureVerification(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ DWORD dwInFlags,
- /* [retval][out] */ DWORD *pdwOutFlags) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ DWORD dwInFlags,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pdwOutFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureVerificationEx(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ BOOLEAN fForceVerification,
- /* [retval][out] */ BOOLEAN *pfWasVerified) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ BOOLEAN fForceVerification,
+ /* [annotation][retval][out] */
+ _Out_retval_ BOOLEAN *pfWasVerified) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureVerificationFromImage(
- /* [in] */ BYTE *pbBase,
- /* [in] */ DWORD dwLength,
- /* [in] */ DWORD dwInFlags,
- /* [retval][out] */ DWORD *pdwOutFlags) = 0;
+ /* [annotation][in] */
+ _In_ BYTE *pbBase,
+ /* [annotation][in] */
+ _In_ DWORD dwLength,
+ /* [annotation][in] */
+ _In_ DWORD dwInFlags,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pdwOutFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameTokenFromAssembly(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [out] */ BYTE **ppbStrongNameToken,
- /* [out] */ ULONG *pcbStrongNameToken) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbStrongNameToken,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbStrongNameToken) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameTokenFromAssemblyEx(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [out] */ BYTE **ppbStrongNameToken,
- /* [out] */ ULONG *pcbStrongNameToken,
- /* [out] */ BYTE **ppbPublicKeyBlob,
- /* [out] */ ULONG *pcbPublicKeyBlob) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbStrongNameToken,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbStrongNameToken,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbPublicKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbPublicKeyBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameTokenFromPublicKey(
- /* [in] */ BYTE *pbPublicKeyBlob,
- /* [in] */ ULONG cbPublicKeyBlob,
- /* [out] */ BYTE **ppbStrongNameToken,
- /* [out] */ ULONG *pcbStrongNameToken) = 0;
+ /* [annotation][in] */
+ _In_ BYTE *pbPublicKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbPublicKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbStrongNameToken,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbStrongNameToken) = 0;
};
@@ -1196,192 +1467,321 @@ EXTERN_C const IID IID_ICLRStrongName;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRStrongName * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRStrongName * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRStrongName * This);
+ DECLSPEC_XFGVIRT(ICLRStrongName, GetHashFromAssemblyFile)
HRESULT ( STDMETHODCALLTYPE *GetHashFromAssemblyFile )(
ICLRStrongName * This,
- /* [in] */ LPCSTR pszFilePath,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash);
+ /* [annotation][in] */
+ _In_ LPCSTR pszFilePath,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash);
+ DECLSPEC_XFGVIRT(ICLRStrongName, GetHashFromAssemblyFileW)
HRESULT ( STDMETHODCALLTYPE *GetHashFromAssemblyFileW )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash);
+ DECLSPEC_XFGVIRT(ICLRStrongName, GetHashFromBlob)
HRESULT ( STDMETHODCALLTYPE *GetHashFromBlob )(
ICLRStrongName * This,
- /* [in] */ BYTE *pbBlob,
- /* [in] */ DWORD cchBlob,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash);
+ /* [annotation][in] */
+ _In_ BYTE *pbBlob,
+ /* [annotation][in] */
+ _In_ DWORD cchBlob,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash);
+ DECLSPEC_XFGVIRT(ICLRStrongName, GetHashFromFile)
HRESULT ( STDMETHODCALLTYPE *GetHashFromFile )(
ICLRStrongName * This,
- /* [in] */ LPCSTR pszFilePath,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash);
+ /* [annotation][in] */
+ _In_ LPCSTR pszFilePath,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash);
+ DECLSPEC_XFGVIRT(ICLRStrongName, GetHashFromFileW)
HRESULT ( STDMETHODCALLTYPE *GetHashFromFileW )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash);
+ DECLSPEC_XFGVIRT(ICLRStrongName, GetHashFromHandle)
HRESULT ( STDMETHODCALLTYPE *GetHashFromHandle )(
ICLRStrongName * This,
- /* [in] */ HANDLE hFile,
- /* [out][in] */ unsigned int *piHashAlg,
- /* [length_is][size_is][out] */ BYTE *pbHash,
- /* [in] */ DWORD cchHash,
- /* [out] */ DWORD *pchHash);
+ /* [annotation][in] */
+ _In_ HANDLE hFile,
+ /* [annotation][out][in] */
+ _Inout_ unsigned int *piHashAlg,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(cchHash,*pchHash) BYTE *pbHash,
+ /* [annotation][in] */
+ _In_ DWORD cchHash,
+ /* [annotation][out] */
+ _Out_ DWORD *pchHash);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameCompareAssemblies)
HRESULT ( STDMETHODCALLTYPE *StrongNameCompareAssemblies )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzAssembly1,
- /* [in] */ LPCWSTR pwzAssembly2,
- /* [retval][out] */ DWORD *pdwResult);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssembly1,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssembly2,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pdwResult);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameFreeBuffer)
HRESULT ( STDMETHODCALLTYPE *StrongNameFreeBuffer )(
ICLRStrongName * This,
- /* [in] */ BYTE *pbMemory);
+ /* [annotation][in] */
+ _In_ BYTE *pbMemory);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameGetBlob)
HRESULT ( STDMETHODCALLTYPE *StrongNameGetBlob )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [length_is][size_is][out][in] */ BYTE *pbBlob,
- /* [out][in] */ DWORD *pcbBlob);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][length_is][size_is][out][in] */
+ _Inout_updates_to_(*pcbBlob,*pcbBlob) BYTE *pbBlob,
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcbBlob);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameGetBlobFromImage)
HRESULT ( STDMETHODCALLTYPE *StrongNameGetBlobFromImage )(
ICLRStrongName * This,
- /* [size_is][in] */ BYTE *pbBase,
- /* [in] */ DWORD dwLength,
- /* [length_is][size_is][out] */ BYTE *pbBlob,
- /* [out][in] */ DWORD *pcbBlob);
+ /* [annotation][size_is][in] */
+ _In_reads_(dwLength) BYTE *pbBase,
+ /* [annotation][in] */
+ _In_ DWORD dwLength,
+ /* [annotation][length_is][size_is][out] */
+ _Out_writes_to_(*pcbBlob,*pcbBlob) BYTE *pbBlob,
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcbBlob);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameGetPublicKey)
HRESULT ( STDMETHODCALLTYPE *StrongNameGetPublicKey )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [out] */ BYTE **ppbPublicKeyBlob,
- /* [out] */ ULONG *pcbPublicKeyBlob);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbPublicKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbPublicKeyBlob);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameHashSize)
HRESULT ( STDMETHODCALLTYPE *StrongNameHashSize )(
ICLRStrongName * This,
- /* [in] */ ULONG ulHashAlg,
- /* [retval][out] */ DWORD *pcbSize);
+ /* [annotation][in] */
+ _In_ ULONG ulHashAlg,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pcbSize);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameKeyDelete)
HRESULT ( STDMETHODCALLTYPE *StrongNameKeyDelete )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzKeyContainer);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameKeyGen)
HRESULT ( STDMETHODCALLTYPE *StrongNameKeyGen )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ DWORD dwFlags,
- /* [out] */ BYTE **ppbKeyBlob,
- /* [out] */ ULONG *pcbKeyBlob);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbKeyBlob);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameKeyGenEx)
HRESULT ( STDMETHODCALLTYPE *StrongNameKeyGenEx )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ DWORD dwFlags,
- /* [in] */ DWORD dwKeySize,
- /* [out] */ BYTE **ppbKeyBlob,
- /* [out] */ ULONG *pcbKeyBlob);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ DWORD dwKeySize,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbKeyBlob);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameKeyInstall)
HRESULT ( STDMETHODCALLTYPE *StrongNameKeyInstall )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameSignatureGeneration)
HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureGeneration )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [out] */ BYTE **ppbSignatureBlob,
- /* [out] */ ULONG *pcbSignatureBlob);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbSignatureBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbSignatureBlob);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameSignatureGenerationEx)
HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureGenerationEx )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR wszFilePath,
- /* [in] */ LPCWSTR wszKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [out] */ BYTE **ppbSignatureBlob,
- /* [out] */ ULONG *pcbSignatureBlob,
- /* [in] */ DWORD dwFlags);
+ /* [annotation][in] */
+ _In_ LPCWSTR wszFilePath,
+ /* [annotation][in] */
+ _In_ LPCWSTR wszKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbSignatureBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbSignatureBlob,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameSignatureSize)
HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureSize )(
ICLRStrongName * This,
- /* [in] */ BYTE *pbPublicKeyBlob,
- /* [in] */ ULONG cbPublicKeyBlob,
- /* [in] */ DWORD *pcbSize);
+ /* [annotation][in] */
+ _In_ BYTE *pbPublicKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbPublicKeyBlob,
+ /* [annotation][in] */
+ _In_ DWORD *pcbSize);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameSignatureVerification)
HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureVerification )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ DWORD dwInFlags,
- /* [retval][out] */ DWORD *pdwOutFlags);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ DWORD dwInFlags,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pdwOutFlags);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameSignatureVerificationEx)
HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureVerificationEx )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ BOOLEAN fForceVerification,
- /* [retval][out] */ BOOLEAN *pfWasVerified);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ BOOLEAN fForceVerification,
+ /* [annotation][retval][out] */
+ _Out_retval_ BOOLEAN *pfWasVerified);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameSignatureVerificationFromImage)
HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureVerificationFromImage )(
ICLRStrongName * This,
- /* [in] */ BYTE *pbBase,
- /* [in] */ DWORD dwLength,
- /* [in] */ DWORD dwInFlags,
- /* [retval][out] */ DWORD *pdwOutFlags);
+ /* [annotation][in] */
+ _In_ BYTE *pbBase,
+ /* [annotation][in] */
+ _In_ DWORD dwLength,
+ /* [annotation][in] */
+ _In_ DWORD dwInFlags,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pdwOutFlags);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameTokenFromAssembly)
HRESULT ( STDMETHODCALLTYPE *StrongNameTokenFromAssembly )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [out] */ BYTE **ppbStrongNameToken,
- /* [out] */ ULONG *pcbStrongNameToken);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbStrongNameToken,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbStrongNameToken);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameTokenFromAssemblyEx)
HRESULT ( STDMETHODCALLTYPE *StrongNameTokenFromAssemblyEx )(
ICLRStrongName * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [out] */ BYTE **ppbStrongNameToken,
- /* [out] */ ULONG *pcbStrongNameToken,
- /* [out] */ BYTE **ppbPublicKeyBlob,
- /* [out] */ ULONG *pcbPublicKeyBlob);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbStrongNameToken,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbStrongNameToken,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbPublicKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbPublicKeyBlob);
+ DECLSPEC_XFGVIRT(ICLRStrongName, StrongNameTokenFromPublicKey)
HRESULT ( STDMETHODCALLTYPE *StrongNameTokenFromPublicKey )(
ICLRStrongName * This,
- /* [in] */ BYTE *pbPublicKeyBlob,
- /* [in] */ ULONG cbPublicKeyBlob,
- /* [out] */ BYTE **ppbStrongNameToken,
- /* [out] */ ULONG *pcbStrongNameToken);
+ /* [annotation][in] */
+ _In_ BYTE *pbPublicKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbPublicKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbStrongNameToken,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbStrongNameToken);
END_INTERFACE
} ICLRStrongNameVtbl;
@@ -1508,20 +1908,32 @@ EXTERN_C const IID IID_ICLRStrongName2;
{
public:
virtual HRESULT STDMETHODCALLTYPE StrongNameGetPublicKeyEx(
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [out] */ BYTE **ppbPublicKeyBlob,
- /* [out] */ ULONG *pcbPublicKeyBlob,
- /* [in] */ ULONG uHashAlgId,
- /* [in] */ ULONG uReserved) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbPublicKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbPublicKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG uHashAlgId,
+ /* [annotation][in] */
+ _In_ ULONG uReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameSignatureVerificationEx2(
- /* [in] */ LPCWSTR wszFilePath,
- /* [in] */ BOOLEAN fForceVerification,
- /* [in] */ BYTE *pbEcmaPublicKey,
- /* [in] */ DWORD cbEcmaPublicKey,
- /* [out] */ BOOLEAN *pfWasVerified) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR wszFilePath,
+ /* [annotation][in] */
+ _In_ BOOLEAN fForceVerification,
+ /* [annotation][in] */
+ _In_ BYTE *pbEcmaPublicKey,
+ /* [annotation][in] */
+ _In_ DWORD cbEcmaPublicKey,
+ /* [annotation][out] */
+ _Out_ BOOLEAN *pfWasVerified) = 0;
};
@@ -1532,35 +1944,53 @@ EXTERN_C const IID IID_ICLRStrongName2;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRStrongName2 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRStrongName2 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRStrongName2 * This);
+ DECLSPEC_XFGVIRT(ICLRStrongName2, StrongNameGetPublicKeyEx)
HRESULT ( STDMETHODCALLTYPE *StrongNameGetPublicKeyEx )(
ICLRStrongName2 * This,
- /* [in] */ LPCWSTR pwzKeyContainer,
- /* [in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [out] */ BYTE **ppbPublicKeyBlob,
- /* [out] */ ULONG *pcbPublicKeyBlob,
- /* [in] */ ULONG uHashAlgId,
- /* [in] */ ULONG uReserved);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzKeyContainer,
+ /* [annotation][in] */
+ _In_ BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbPublicKeyBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbPublicKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG uHashAlgId,
+ /* [annotation][in] */
+ _In_ ULONG uReserved);
+ DECLSPEC_XFGVIRT(ICLRStrongName2, StrongNameSignatureVerificationEx2)
HRESULT ( STDMETHODCALLTYPE *StrongNameSignatureVerificationEx2 )(
ICLRStrongName2 * This,
- /* [in] */ LPCWSTR wszFilePath,
- /* [in] */ BOOLEAN fForceVerification,
- /* [in] */ BYTE *pbEcmaPublicKey,
- /* [in] */ DWORD cbEcmaPublicKey,
- /* [out] */ BOOLEAN *pfWasVerified);
+ /* [annotation][in] */
+ _In_ LPCWSTR wszFilePath,
+ /* [annotation][in] */
+ _In_ BOOLEAN fForceVerification,
+ /* [annotation][in] */
+ _In_ BYTE *pbEcmaPublicKey,
+ /* [annotation][in] */
+ _In_ DWORD cbEcmaPublicKey,
+ /* [annotation][out] */
+ _Out_ BOOLEAN *pfWasVerified);
END_INTERFACE
} ICLRStrongName2Vtbl;
@@ -1618,26 +2048,42 @@ EXTERN_C const IID IID_ICLRStrongName3;
{
public:
virtual HRESULT STDMETHODCALLTYPE StrongNameDigestGenerate(
- /* [in] */ LPCWSTR wszFilePath,
- /* [out] */ BYTE **ppbDigestBlob,
- /* [out] */ ULONG *pcbDigestBlob,
- /* [in] */ DWORD dwFlags) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR wszFilePath,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbDigestBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbDigestBlob,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameDigestSign(
- /* [in] */ LPCWSTR wszKeyContainer,
- /* [size_is][in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [size_is][in] */ BYTE *pbDigestBlob,
- /* [in] */ ULONG cbDigestBlob,
- /* [in] */ DWORD hashAlgId,
- /* [out] */ BYTE **ppbSignatureBlob,
- /* [out] */ ULONG *pcbSignatureBlob,
- /* [in] */ DWORD dwFlags) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR wszKeyContainer,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbKeyBlob) BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbDigestBlob) BYTE *pbDigestBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbDigestBlob,
+ /* [annotation][in] */
+ _In_ DWORD hashAlgId,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbSignatureBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbSignatureBlob,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE StrongNameDigestEmbed(
- /* [in] */ LPCWSTR wszFilePath,
- /* [size_is][in] */ BYTE *pbSignatureBlob,
- /* [in] */ ULONG cbSignatureBlob) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR wszFilePath,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbSignatureBlob) BYTE *pbSignatureBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbSignatureBlob) = 0;
};
@@ -1648,42 +2094,65 @@ EXTERN_C const IID IID_ICLRStrongName3;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRStrongName3 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRStrongName3 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRStrongName3 * This);
+ DECLSPEC_XFGVIRT(ICLRStrongName3, StrongNameDigestGenerate)
HRESULT ( STDMETHODCALLTYPE *StrongNameDigestGenerate )(
ICLRStrongName3 * This,
- /* [in] */ LPCWSTR wszFilePath,
- /* [out] */ BYTE **ppbDigestBlob,
- /* [out] */ ULONG *pcbDigestBlob,
- /* [in] */ DWORD dwFlags);
+ /* [annotation][in] */
+ _In_ LPCWSTR wszFilePath,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbDigestBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbDigestBlob,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags);
+ DECLSPEC_XFGVIRT(ICLRStrongName3, StrongNameDigestSign)
HRESULT ( STDMETHODCALLTYPE *StrongNameDigestSign )(
ICLRStrongName3 * This,
- /* [in] */ LPCWSTR wszKeyContainer,
- /* [size_is][in] */ BYTE *pbKeyBlob,
- /* [in] */ ULONG cbKeyBlob,
- /* [size_is][in] */ BYTE *pbDigestBlob,
- /* [in] */ ULONG cbDigestBlob,
- /* [in] */ DWORD hashAlgId,
- /* [out] */ BYTE **ppbSignatureBlob,
- /* [out] */ ULONG *pcbSignatureBlob,
- /* [in] */ DWORD dwFlags);
+ /* [annotation][in] */
+ _In_ LPCWSTR wszKeyContainer,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbKeyBlob) BYTE *pbKeyBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbKeyBlob,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbDigestBlob) BYTE *pbDigestBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbDigestBlob,
+ /* [annotation][in] */
+ _In_ DWORD hashAlgId,
+ /* [annotation][out] */
+ _Out_ BYTE **ppbSignatureBlob,
+ /* [annotation][out] */
+ _Out_ ULONG *pcbSignatureBlob,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags);
+ DECLSPEC_XFGVIRT(ICLRStrongName3, StrongNameDigestEmbed)
HRESULT ( STDMETHODCALLTYPE *StrongNameDigestEmbed )(
ICLRStrongName3 * This,
- /* [in] */ LPCWSTR wszFilePath,
- /* [size_is][in] */ BYTE *pbSignatureBlob,
- /* [in] */ ULONG cbSignatureBlob);
+ /* [annotation][in] */
+ _In_ LPCWSTR wszFilePath,
+ /* [annotation][size_is][in] */
+ _In_reads_(cbSignatureBlob) BYTE *pbSignatureBlob,
+ /* [annotation][in] */
+ _In_ ULONG cbSignatureBlob);
END_INTERFACE
} ICLRStrongName3Vtbl;
diff --git a/generation/WinSDK/AdditionalHeaders/mscoree.h b/generation/WinSDK/AdditionalHeaders/mscoree.h
index b8fc1984..dee07417 100644
--- a/generation/WinSDK/AdditionalHeaders/mscoree.h
+++ b/generation/WinSDK/AdditionalHeaders/mscoree.h
@@ -3,15 +3,14 @@
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
- /* File created by MIDL compiler version 8.00.0603 */
+ /* File created by MIDL compiler version 8.01.0628 */
/* @@MIDL_FILE_HEADING( ) */
-#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the version is high enough to compile this file*/
@@ -24,7 +23,7 @@
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of
-#endif // __RPCNDR_H_VERSION__
+#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
@@ -38,6 +37,14 @@
#pragma once
#endif
+#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 __IObjectHandle_FWD_DEFINED__
@@ -397,13 +404,6 @@ typedef interface IApartmentCallback IApartmentCallback;
#endif /* __IApartmentCallback_FWD_DEFINED__ */
-#ifndef __IManagedObject_FWD_DEFINED__
-#define __IManagedObject_FWD_DEFINED__
-typedef interface IManagedObject IManagedObject;
-
-#endif /* __IManagedObject_FWD_DEFINED__ */
-
-
#ifndef __ICatalogServices_FWD_DEFINED__
#define __ICatalogServices_FWD_DEFINED__
typedef interface ICatalogServices ICatalogServices;
@@ -484,14 +484,12 @@ typedef interface IHostSecurityManager IHostSecurityManager;
#endif /* __IHostSecurityManager_FWD_DEFINED__ */
-
#ifndef __ICLRAppDomainResourceMonitor_FWD_DEFINED__
#define __ICLRAppDomainResourceMonitor_FWD_DEFINED__
typedef interface ICLRAppDomainResourceMonitor ICLRAppDomainResourceMonitor;
#endif /* __ICLRAppDomainResourceMonitor_FWD_DEFINED__ */
-
/* header files for imported files */
#include "unknwn.h"
#include "gchost.h"
@@ -518,7 +516,7 @@ extern "C"{
#define CLR_MINOR_VERSION ( 0 )
-#define CLR_BUILD_VERSION ( 30319 )
+#define CLR_BUILD_VERSION ( 22220 )
#define CLR_ASSEMBLY_MAJOR_VERSION ( 4 )
@@ -533,7 +531,6 @@ EXTERN_GUID(CLSID_CLRRuntimeHost, 0x90F1A06E, 0x7712, 0x4762, 0x86, 0xB5, 0x7A,
EXTERN_GUID(CLSID_ComCallUnmarshal, 0x3F281000,0xE95A,0x11d2,0x88,0x6B,0x00,0xC0,0x4F,0x86,0x9F,0x04);
EXTERN_GUID(CLSID_ComCallUnmarshalV4, 0x45fb4600,0xe6e8,0x4928,0xb2,0x5e,0x50,0x47,0x6f,0xf7,0x94,0x25);
EXTERN_GUID(IID_IObjectHandle, 0xc460e2b4, 0xe199, 0x412a, 0x84, 0x56, 0x84, 0xdc, 0x3e, 0x48, 0x38, 0xc3);
-EXTERN_GUID(IID_IManagedObject, 0xc3fcc19e, 0xa970, 0x11d2, 0x8b, 0x5a, 0x00, 0xa0, 0xc9, 0xb7, 0xc9, 0xc4);
EXTERN_GUID(IID_IApartmentCallback, 0x178e5337, 0x1528, 0x4591, 0xb1, 0xc9, 0x1c, 0x6e, 0x48, 0x46, 0x86, 0xd8);
EXTERN_GUID(IID_ICatalogServices, 0x04c6be1e, 0x1db1, 0x4058, 0xab, 0x7a, 0x70, 0x0c, 0xcc, 0xfb, 0xf2, 0x54);
EXTERN_GUID(IID_ICorRuntimeHost, 0xcb2f6722, 0xab3a, 0x11d2, 0x9c, 0x40, 0x00, 0xc0, 0x4f, 0xa3, 0x0a, 0x3e);
@@ -654,7 +651,8 @@ enum __MIDL___MIDL_itf_mscoree_0000_0000_0004
RUNTIME_INFO_DONT_RETURN_DIRECTORY = 0x10,
RUNTIME_INFO_DONT_RETURN_VERSION = 0x20,
RUNTIME_INFO_DONT_SHOW_ERROR_DIALOG = 0x40,
- RUNTIME_INFO_IGNORE_ERROR_MODE = 0x1000
+ RUNTIME_INFO_IGNORE_ERROR_MODE = 0x1000,
+ RUNTIME_INFO_REQUEST_ARM64 = 0x2000
} RUNTIME_INFO_FLAGS;
typedef /* [public] */
@@ -688,7 +686,8 @@ EXTERN_C const IID IID_IObjectHandle;
{
public:
virtual HRESULT STDMETHODCALLTYPE Unwrap(
- /* [retval][out] */ __RPC__out VARIANT *ppv) = 0;
+ /* [annotation][retval][out] */
+ _Out_retval_ VARIANT *ppv) = 0;
};
@@ -699,21 +698,27 @@ EXTERN_C const IID IID_IObjectHandle;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IObjectHandle * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IObjectHandle * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IObjectHandle * This);
+ DECLSPEC_XFGVIRT(IObjectHandle, Unwrap)
HRESULT ( STDMETHODCALLTYPE *Unwrap )(
__RPC__in IObjectHandle * This,
- /* [retval][out] */ __RPC__out VARIANT *ppv);
+ /* [annotation][retval][out] */
+ _Out_retval_ VARIANT *ppv);
END_INTERFACE
} IObjectHandleVtbl;
@@ -768,7 +773,8 @@ EXTERN_C const IID IID_IAppDomainBinding;
{
public:
virtual HRESULT STDMETHODCALLTYPE OnAppDomain(
- /* [in] */ IUnknown *pAppdomain) = 0;
+ /* [annotation][in] */
+ _In_ IUnknown *pAppdomain) = 0;
};
@@ -779,21 +785,27 @@ EXTERN_C const IID IID_IAppDomainBinding;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IAppDomainBinding * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IAppDomainBinding * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IAppDomainBinding * This);
+ DECLSPEC_XFGVIRT(IAppDomainBinding, OnAppDomain)
HRESULT ( STDMETHODCALLTYPE *OnAppDomain )(
IAppDomainBinding * This,
- /* [in] */ IUnknown *pAppdomain);
+ /* [annotation][in] */
+ _In_ IUnknown *pAppdomain);
END_INTERFACE
} IAppDomainBindingVtbl;
@@ -863,24 +875,31 @@ EXTERN_C const IID IID_IGCThreadControl;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGCThreadControl * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGCThreadControl * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IGCThreadControl * This);
+ DECLSPEC_XFGVIRT(IGCThreadControl, ThreadIsBlockingForSuspension)
HRESULT ( STDMETHODCALLTYPE *ThreadIsBlockingForSuspension )(
IGCThreadControl * This);
+ DECLSPEC_XFGVIRT(IGCThreadControl, SuspensionStarting)
HRESULT ( STDMETHODCALLTYPE *SuspensionStarting )(
IGCThreadControl * This);
+ DECLSPEC_XFGVIRT(IGCThreadControl, SuspensionEnding)
HRESULT ( STDMETHODCALLTYPE *SuspensionEnding )(
IGCThreadControl * This,
DWORD Generation);
@@ -944,8 +963,10 @@ EXTERN_C const IID IID_IGCHostControl;
{
public:
virtual HRESULT STDMETHODCALLTYPE RequestVirtualMemLimit(
- /* [in] */ SIZE_T sztMaxVirtualMemMB,
- /* [out][in] */ SIZE_T *psztNewMaxVirtualMemMB) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T sztMaxVirtualMemMB,
+ /* [annotation][out][in] */
+ _Inout_ SIZE_T *psztNewMaxVirtualMemMB) = 0;
};
@@ -956,22 +977,29 @@ EXTERN_C const IID IID_IGCHostControl;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IGCHostControl * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IGCHostControl * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IGCHostControl * This);
+ DECLSPEC_XFGVIRT(IGCHostControl, RequestVirtualMemLimit)
HRESULT ( STDMETHODCALLTYPE *RequestVirtualMemLimit )(
IGCHostControl * This,
- /* [in] */ SIZE_T sztMaxVirtualMemMB,
- /* [out][in] */ SIZE_T *psztNewMaxVirtualMemMB);
+ /* [annotation][in] */
+ _In_ SIZE_T sztMaxVirtualMemMB,
+ /* [annotation][out][in] */
+ _Inout_ SIZE_T *psztNewMaxVirtualMemMB);
END_INTERFACE
} IGCHostControlVtbl;
@@ -1053,64 +1081,102 @@ EXTERN_C const IID IID_ICorThreadpool;
{
public:
virtual HRESULT STDMETHODCALLTYPE CorRegisterWaitForSingleObject(
- /* [in] */ HANDLE *phNewWaitObject,
- /* [in] */ HANDLE hWaitObject,
- /* [in] */ WAITORTIMERCALLBACK Callback,
- /* [in] */ PVOID Context,
- /* [in] */ ULONG timeout,
- /* [in] */ BOOL executeOnlyOnce,
- /* [out] */ BOOL *result) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE *phNewWaitObject,
+ /* [annotation][in] */
+ _In_ HANDLE hWaitObject,
+ /* [annotation][in] */
+ _In_ WAITORTIMERCALLBACK Callback,
+ /* [annotation][in] */
+ _In_ PVOID Context,
+ /* [annotation][in] */
+ _In_ ULONG timeout,
+ /* [annotation][in] */
+ _In_ BOOL executeOnlyOnce,
+ /* [annotation][out] */
+ _Out_ BOOL *result) = 0;
virtual HRESULT STDMETHODCALLTYPE CorUnregisterWait(
- /* [in] */ HANDLE hWaitObject,
- /* [in] */ HANDLE CompletionEvent,
- /* [out] */ BOOL *result) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE hWaitObject,
+ /* [annotation][in] */
+ _In_ HANDLE CompletionEvent,
+ /* [annotation][out] */
+ _Out_ BOOL *result) = 0;
virtual HRESULT STDMETHODCALLTYPE CorQueueUserWorkItem(
- /* [in] */ LPTHREAD_START_ROUTINE Function,
- /* [in] */ PVOID Context,
- /* [in] */ BOOL executeOnlyOnce,
- /* [out] */ BOOL *result) = 0;
+ /* [annotation][in] */
+ _In_ LPTHREAD_START_ROUTINE Function,
+ /* [annotation][in] */
+ _In_ PVOID Context,
+ /* [annotation][in] */
+ _In_ BOOL executeOnlyOnce,
+ /* [annotation][out] */
+ _Out_ BOOL *result) = 0;
virtual HRESULT STDMETHODCALLTYPE CorCreateTimer(
- /* [in] */ HANDLE *phNewTimer,
- /* [in] */ WAITORTIMERCALLBACK Callback,
- /* [in] */ PVOID Parameter,
- /* [in] */ DWORD DueTime,
- /* [in] */ DWORD Period,
- /* [out] */ BOOL *result) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE *phNewTimer,
+ /* [annotation][in] */
+ _In_ WAITORTIMERCALLBACK Callback,
+ /* [annotation][in] */
+ _In_ PVOID Parameter,
+ /* [annotation][in] */
+ _In_ DWORD DueTime,
+ /* [annotation][in] */
+ _In_ DWORD Period,
+ /* [annotation][out] */
+ _Out_ BOOL *result) = 0;
virtual HRESULT STDMETHODCALLTYPE CorChangeTimer(
- /* [in] */ HANDLE Timer,
- /* [in] */ ULONG DueTime,
- /* [in] */ ULONG Period,
- /* [out] */ BOOL *result) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE Timer,
+ /* [annotation][in] */
+ _In_ ULONG DueTime,
+ /* [annotation][in] */
+ _In_ ULONG Period,
+ /* [annotation][out] */
+ _Out_ BOOL *result) = 0;
virtual HRESULT STDMETHODCALLTYPE CorDeleteTimer(
- /* [in] */ HANDLE Timer,
- /* [in] */ HANDLE CompletionEvent,
- /* [out] */ BOOL *result) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE Timer,
+ /* [annotation][in] */
+ _In_ HANDLE CompletionEvent,
+ /* [annotation][out] */
+ _Out_ BOOL *result) = 0;
virtual HRESULT STDMETHODCALLTYPE CorBindIoCompletionCallback(
- /* [in] */ HANDLE fileHandle,
- /* [in] */ LPOVERLAPPED_COMPLETION_ROUTINE callback) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE fileHandle,
+ /* [annotation][in] */
+ _In_ LPOVERLAPPED_COMPLETION_ROUTINE callback) = 0;
virtual HRESULT STDMETHODCALLTYPE CorCallOrQueueUserWorkItem(
- /* [in] */ LPTHREAD_START_ROUTINE Function,
- /* [in] */ PVOID Context,
- /* [out] */ BOOL *result) = 0;
+ /* [annotation][in] */
+ _In_ LPTHREAD_START_ROUTINE Function,
+ /* [annotation][in] */
+ _In_ PVOID Context,
+ /* [annotation][out] */
+ _Out_ BOOL *result) = 0;
virtual HRESULT STDMETHODCALLTYPE CorSetMaxThreads(
- /* [in] */ DWORD MaxWorkerThreads,
- /* [in] */ DWORD MaxIOCompletionThreads) = 0;
+ /* [annotation][in] */
+ _In_ DWORD MaxWorkerThreads,
+ /* [annotation][in] */
+ _In_ DWORD MaxIOCompletionThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE CorGetMaxThreads(
- /* [out] */ DWORD *MaxWorkerThreads,
- /* [out] */ DWORD *MaxIOCompletionThreads) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *MaxWorkerThreads,
+ /* [annotation][out] */
+ _Out_ DWORD *MaxIOCompletionThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE CorGetAvailableThreads(
- /* [out] */ DWORD *AvailableWorkerThreads,
- /* [out] */ DWORD *AvailableIOCompletionThreads) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *AvailableWorkerThreads,
+ /* [annotation][out] */
+ _Out_ DWORD *AvailableIOCompletionThreads) = 0;
};
@@ -1121,88 +1187,141 @@ EXTERN_C const IID IID_ICorThreadpool;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorThreadpool * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorThreadpool * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorThreadpool * This);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorRegisterWaitForSingleObject)
HRESULT ( STDMETHODCALLTYPE *CorRegisterWaitForSingleObject )(
ICorThreadpool * This,
- /* [in] */ HANDLE *phNewWaitObject,
- /* [in] */ HANDLE hWaitObject,
- /* [in] */ WAITORTIMERCALLBACK Callback,
- /* [in] */ PVOID Context,
- /* [in] */ ULONG timeout,
- /* [in] */ BOOL executeOnlyOnce,
- /* [out] */ BOOL *result);
+ /* [annotation][in] */
+ _In_ HANDLE *phNewWaitObject,
+ /* [annotation][in] */
+ _In_ HANDLE hWaitObject,
+ /* [annotation][in] */
+ _In_ WAITORTIMERCALLBACK Callback,
+ /* [annotation][in] */
+ _In_ PVOID Context,
+ /* [annotation][in] */
+ _In_ ULONG timeout,
+ /* [annotation][in] */
+ _In_ BOOL executeOnlyOnce,
+ /* [annotation][out] */
+ _Out_ BOOL *result);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorUnregisterWait)
HRESULT ( STDMETHODCALLTYPE *CorUnregisterWait )(
ICorThreadpool * This,
- /* [in] */ HANDLE hWaitObject,
- /* [in] */ HANDLE CompletionEvent,
- /* [out] */ BOOL *result);
+ /* [annotation][in] */
+ _In_ HANDLE hWaitObject,
+ /* [annotation][in] */
+ _In_ HANDLE CompletionEvent,
+ /* [annotation][out] */
+ _Out_ BOOL *result);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorQueueUserWorkItem)
HRESULT ( STDMETHODCALLTYPE *CorQueueUserWorkItem )(
ICorThreadpool * This,
- /* [in] */ LPTHREAD_START_ROUTINE Function,
- /* [in] */ PVOID Context,
- /* [in] */ BOOL executeOnlyOnce,
- /* [out] */ BOOL *result);
+ /* [annotation][in] */
+ _In_ LPTHREAD_START_ROUTINE Function,
+ /* [annotation][in] */
+ _In_ PVOID Context,
+ /* [annotation][in] */
+ _In_ BOOL executeOnlyOnce,
+ /* [annotation][out] */
+ _Out_ BOOL *result);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorCreateTimer)
HRESULT ( STDMETHODCALLTYPE *CorCreateTimer )(
ICorThreadpool * This,
- /* [in] */ HANDLE *phNewTimer,
- /* [in] */ WAITORTIMERCALLBACK Callback,
- /* [in] */ PVOID Parameter,
- /* [in] */ DWORD DueTime,
- /* [in] */ DWORD Period,
- /* [out] */ BOOL *result);
+ /* [annotation][in] */
+ _In_ HANDLE *phNewTimer,
+ /* [annotation][in] */
+ _In_ WAITORTIMERCALLBACK Callback,
+ /* [annotation][in] */
+ _In_ PVOID Parameter,
+ /* [annotation][in] */
+ _In_ DWORD DueTime,
+ /* [annotation][in] */
+ _In_ DWORD Period,
+ /* [annotation][out] */
+ _Out_ BOOL *result);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorChangeTimer)
HRESULT ( STDMETHODCALLTYPE *CorChangeTimer )(
ICorThreadpool * This,
- /* [in] */ HANDLE Timer,
- /* [in] */ ULONG DueTime,
- /* [in] */ ULONG Period,
- /* [out] */ BOOL *result);
+ /* [annotation][in] */
+ _In_ HANDLE Timer,
+ /* [annotation][in] */
+ _In_ ULONG DueTime,
+ /* [annotation][in] */
+ _In_ ULONG Period,
+ /* [annotation][out] */
+ _Out_ BOOL *result);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorDeleteTimer)
HRESULT ( STDMETHODCALLTYPE *CorDeleteTimer )(
ICorThreadpool * This,
- /* [in] */ HANDLE Timer,
- /* [in] */ HANDLE CompletionEvent,
- /* [out] */ BOOL *result);
+ /* [annotation][in] */
+ _In_ HANDLE Timer,
+ /* [annotation][in] */
+ _In_ HANDLE CompletionEvent,
+ /* [annotation][out] */
+ _Out_ BOOL *result);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorBindIoCompletionCallback)
HRESULT ( STDMETHODCALLTYPE *CorBindIoCompletionCallback )(
ICorThreadpool * This,
- /* [in] */ HANDLE fileHandle,
- /* [in] */ LPOVERLAPPED_COMPLETION_ROUTINE callback);
+ /* [annotation][in] */
+ _In_ HANDLE fileHandle,
+ /* [annotation][in] */
+ _In_ LPOVERLAPPED_COMPLETION_ROUTINE callback);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorCallOrQueueUserWorkItem)
HRESULT ( STDMETHODCALLTYPE *CorCallOrQueueUserWorkItem )(
ICorThreadpool * This,
- /* [in] */ LPTHREAD_START_ROUTINE Function,
- /* [in] */ PVOID Context,
- /* [out] */ BOOL *result);
+ /* [annotation][in] */
+ _In_ LPTHREAD_START_ROUTINE Function,
+ /* [annotation][in] */
+ _In_ PVOID Context,
+ /* [annotation][out] */
+ _Out_ BOOL *result);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorSetMaxThreads)
HRESULT ( STDMETHODCALLTYPE *CorSetMaxThreads )(
ICorThreadpool * This,
- /* [in] */ DWORD MaxWorkerThreads,
- /* [in] */ DWORD MaxIOCompletionThreads);
+ /* [annotation][in] */
+ _In_ DWORD MaxWorkerThreads,
+ /* [annotation][in] */
+ _In_ DWORD MaxIOCompletionThreads);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorGetMaxThreads)
HRESULT ( STDMETHODCALLTYPE *CorGetMaxThreads )(
ICorThreadpool * This,
- /* [out] */ DWORD *MaxWorkerThreads,
- /* [out] */ DWORD *MaxIOCompletionThreads);
+ /* [annotation][out] */
+ _Out_ DWORD *MaxWorkerThreads,
+ /* [annotation][out] */
+ _Out_ DWORD *MaxIOCompletionThreads);
+ DECLSPEC_XFGVIRT(ICorThreadpool, CorGetAvailableThreads)
HRESULT ( STDMETHODCALLTYPE *CorGetAvailableThreads )(
ICorThreadpool * This,
- /* [out] */ DWORD *AvailableWorkerThreads,
- /* [out] */ DWORD *AvailableIOCompletionThreads);
+ /* [annotation][out] */
+ _Out_ DWORD *AvailableWorkerThreads,
+ /* [annotation][out] */
+ _Out_ DWORD *AvailableIOCompletionThreads);
END_INTERFACE
} ICorThreadpoolVtbl;
@@ -1311,24 +1430,31 @@ EXTERN_C const IID IID_IDebuggerThreadControl;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDebuggerThreadControl * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IDebuggerThreadControl * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IDebuggerThreadControl * This);
+ DECLSPEC_XFGVIRT(IDebuggerThreadControl, ThreadIsBlockingForDebugger)
HRESULT ( STDMETHODCALLTYPE *ThreadIsBlockingForDebugger )(
IDebuggerThreadControl * This);
+ DECLSPEC_XFGVIRT(IDebuggerThreadControl, ReleaseAllRuntimeThreads)
HRESULT ( STDMETHODCALLTYPE *ReleaseAllRuntimeThreads )(
IDebuggerThreadControl * This);
+ DECLSPEC_XFGVIRT(IDebuggerThreadControl, StartBlockingForDebugger)
HRESULT ( STDMETHODCALLTYPE *StartBlockingForDebugger )(
IDebuggerThreadControl * This,
DWORD dwUnused);
@@ -1401,7 +1527,8 @@ EXTERN_C const IID IID_IDebuggerInfo;
{
public:
virtual HRESULT STDMETHODCALLTYPE IsDebuggerAttached(
- /* [out] */ BOOL *pbAttached) = 0;
+ /* [annotation][out] */
+ _Out_ BOOL *pbAttached) = 0;
};
@@ -1412,21 +1539,27 @@ EXTERN_C const IID IID_IDebuggerInfo;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDebuggerInfo * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IDebuggerInfo * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IDebuggerInfo * This);
+ DECLSPEC_XFGVIRT(IDebuggerInfo, IsDebuggerAttached)
HRESULT ( STDMETHODCALLTYPE *IsDebuggerAttached )(
IDebuggerInfo * This,
- /* [out] */ BOOL *pbAttached);
+ /* [annotation][out] */
+ _Out_ BOOL *pbAttached);
END_INTERFACE
} IDebuggerInfoVtbl;
@@ -1490,16 +1623,20 @@ EXTERN_C const IID IID_ICorConfiguration;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetGCThreadControl(
- /* [in] */ IGCThreadControl *pGCThreadControl) = 0;
+ /* [annotation][in] */
+ _In_ IGCThreadControl *pGCThreadControl) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGCHostControl(
- /* [in] */ IGCHostControl *pGCHostControl) = 0;
+ /* [annotation][in] */
+ _In_ IGCHostControl *pGCHostControl) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDebuggerThreadControl(
- /* [in] */ IDebuggerThreadControl *pDebuggerThreadControl) = 0;
+ /* [annotation][in] */
+ _In_ IDebuggerThreadControl *pDebuggerThreadControl) = 0;
virtual HRESULT STDMETHODCALLTYPE AddDebuggerSpecialThread(
- /* [in] */ DWORD dwSpecialThreadId) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwSpecialThreadId) = 0;
};
@@ -1510,33 +1647,45 @@ EXTERN_C const IID IID_ICorConfiguration;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorConfiguration * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorConfiguration * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorConfiguration * This);
+ DECLSPEC_XFGVIRT(ICorConfiguration, SetGCThreadControl)
HRESULT ( STDMETHODCALLTYPE *SetGCThreadControl )(
ICorConfiguration * This,
- /* [in] */ IGCThreadControl *pGCThreadControl);
+ /* [annotation][in] */
+ _In_ IGCThreadControl *pGCThreadControl);
+ DECLSPEC_XFGVIRT(ICorConfiguration, SetGCHostControl)
HRESULT ( STDMETHODCALLTYPE *SetGCHostControl )(
ICorConfiguration * This,
- /* [in] */ IGCHostControl *pGCHostControl);
+ /* [annotation][in] */
+ _In_ IGCHostControl *pGCHostControl);
+ DECLSPEC_XFGVIRT(ICorConfiguration, SetDebuggerThreadControl)
HRESULT ( STDMETHODCALLTYPE *SetDebuggerThreadControl )(
ICorConfiguration * This,
- /* [in] */ IDebuggerThreadControl *pDebuggerThreadControl);
+ /* [annotation][in] */
+ _In_ IDebuggerThreadControl *pDebuggerThreadControl);
+ DECLSPEC_XFGVIRT(ICorConfiguration, AddDebuggerSpecialThread)
HRESULT ( STDMETHODCALLTYPE *AddDebuggerSpecialThread )(
ICorConfiguration * This,
- /* [in] */ DWORD dwSpecialThreadId);
+ /* [annotation][in] */
+ _In_ DWORD dwSpecialThreadId);
END_INTERFACE
} ICorConfigurationVtbl;
@@ -1614,60 +1763,82 @@ EXTERN_C const IID IID_ICorRuntimeHost;
virtual HRESULT STDMETHODCALLTYPE DeleteLogicalThreadState( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SwitchInLogicalThreadState(
- /* [in] */ DWORD *pFiberCookie) = 0;
+ /* [annotation][in] */
+ _In_ DWORD *pFiberCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE SwitchOutLogicalThreadState(
- /* [out] */ DWORD **pFiberCookie) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD **pFiberCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE LocksHeldByLogicalThread(
- /* [out] */ DWORD *pCount) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pCount) = 0;
virtual HRESULT STDMETHODCALLTYPE MapFile(
- /* [in] */ HANDLE hFile,
- /* [out] */ HMODULE *hMapAddress) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE hFile,
+ /* [annotation][out] */
+ _Out_ HMODULE *hMapAddress) = 0;
virtual HRESULT STDMETHODCALLTYPE GetConfiguration(
- /* [out] */ ICorConfiguration **pConfiguration) = 0;
+ /* [annotation][out] */
+ _Out_ ICorConfiguration **pConfiguration) = 0;
virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDomain(
- /* [in] */ LPCWSTR pwzFriendlyName,
- /* [in] */ IUnknown *pIdentityArray,
- /* [out] */ IUnknown **pAppDomain) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFriendlyName,
+ /* [annotation][in] */
+ _In_ IUnknown *pIdentityArray,
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultDomain(
- /* [out] */ IUnknown **pAppDomain) = 0;
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumDomains(
- /* [out] */ HDOMAINENUM *hEnum) = 0;
+ /* [annotation][out] */
+ _Out_ HDOMAINENUM *hEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE NextDomain(
- /* [in] */ HDOMAINENUM hEnum,
- /* [out] */ IUnknown **pAppDomain) = 0;
+ /* [annotation][in] */
+ _In_ HDOMAINENUM hEnum,
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE CloseEnum(
- /* [in] */ HDOMAINENUM hEnum) = 0;
+ /* [annotation][in] */
+ _In_ HDOMAINENUM hEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDomainEx(
- /* [in] */ LPCWSTR pwzFriendlyName,
- /* [in] */ IUnknown *pSetup,
- /* [in] */ IUnknown *pEvidence,
- /* [out] */ IUnknown **pAppDomain) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFriendlyName,
+ /* [annotation][in] */
+ _In_ IUnknown *pSetup,
+ /* [annotation][in] */
+ _In_ IUnknown *pEvidence,
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDomainSetup(
- /* [out] */ IUnknown **pAppDomainSetup) = 0;
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomainSetup) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateEvidence(
- /* [out] */ IUnknown **pEvidence) = 0;
+ /* [annotation][out] */
+ _Out_ IUnknown **pEvidence) = 0;
virtual HRESULT STDMETHODCALLTYPE UnloadDomain(
- /* [in] */ IUnknown *pAppDomain) = 0;
+ /* [annotation][in] */
+ _In_ IUnknown *pAppDomain) = 0;
virtual HRESULT STDMETHODCALLTYPE CurrentDomain(
- /* [out] */ IUnknown **pAppDomain) = 0;
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain) = 0;
};
@@ -1678,96 +1849,141 @@ EXTERN_C const IID IID_ICorRuntimeHost;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICorRuntimeHost * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICorRuntimeHost * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICorRuntimeHost * This);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, CreateLogicalThreadState)
HRESULT ( STDMETHODCALLTYPE *CreateLogicalThreadState )(
ICorRuntimeHost * This);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, DeleteLogicalThreadState)
HRESULT ( STDMETHODCALLTYPE *DeleteLogicalThreadState )(
ICorRuntimeHost * This);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, SwitchInLogicalThreadState)
HRESULT ( STDMETHODCALLTYPE *SwitchInLogicalThreadState )(
ICorRuntimeHost * This,
- /* [in] */ DWORD *pFiberCookie);
+ /* [annotation][in] */
+ _In_ DWORD *pFiberCookie);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, SwitchOutLogicalThreadState)
HRESULT ( STDMETHODCALLTYPE *SwitchOutLogicalThreadState )(
ICorRuntimeHost * This,
- /* [out] */ DWORD **pFiberCookie);
+ /* [annotation][out] */
+ _Out_ DWORD **pFiberCookie);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, LocksHeldByLogicalThread)
HRESULT ( STDMETHODCALLTYPE *LocksHeldByLogicalThread )(
ICorRuntimeHost * This,
- /* [out] */ DWORD *pCount);
+ /* [annotation][out] */
+ _Out_ DWORD *pCount);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, MapFile)
HRESULT ( STDMETHODCALLTYPE *MapFile )(
ICorRuntimeHost * This,
- /* [in] */ HANDLE hFile,
- /* [out] */ HMODULE *hMapAddress);
+ /* [annotation][in] */
+ _In_ HANDLE hFile,
+ /* [annotation][out] */
+ _Out_ HMODULE *hMapAddress);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, GetConfiguration)
HRESULT ( STDMETHODCALLTYPE *GetConfiguration )(
ICorRuntimeHost * This,
- /* [out] */ ICorConfiguration **pConfiguration);
+ /* [annotation][out] */
+ _Out_ ICorConfiguration **pConfiguration);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, Start)
HRESULT ( STDMETHODCALLTYPE *Start )(
ICorRuntimeHost * This);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, Stop)
HRESULT ( STDMETHODCALLTYPE *Stop )(
ICorRuntimeHost * This);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, CreateDomain)
HRESULT ( STDMETHODCALLTYPE *CreateDomain )(
ICorRuntimeHost * This,
- /* [in] */ LPCWSTR pwzFriendlyName,
- /* [in] */ IUnknown *pIdentityArray,
- /* [out] */ IUnknown **pAppDomain);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFriendlyName,
+ /* [annotation][in] */
+ _In_ IUnknown *pIdentityArray,
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, GetDefaultDomain)
HRESULT ( STDMETHODCALLTYPE *GetDefaultDomain )(
ICorRuntimeHost * This,
- /* [out] */ IUnknown **pAppDomain);
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, EnumDomains)
HRESULT ( STDMETHODCALLTYPE *EnumDomains )(
ICorRuntimeHost * This,
- /* [out] */ HDOMAINENUM *hEnum);
+ /* [annotation][out] */
+ _Out_ HDOMAINENUM *hEnum);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, NextDomain)
HRESULT ( STDMETHODCALLTYPE *NextDomain )(
ICorRuntimeHost * This,
- /* [in] */ HDOMAINENUM hEnum,
- /* [out] */ IUnknown **pAppDomain);
+ /* [annotation][in] */
+ _In_ HDOMAINENUM hEnum,
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, CloseEnum)
HRESULT ( STDMETHODCALLTYPE *CloseEnum )(
ICorRuntimeHost * This,
- /* [in] */ HDOMAINENUM hEnum);
+ /* [annotation][in] */
+ _In_ HDOMAINENUM hEnum);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, CreateDomainEx)
HRESULT ( STDMETHODCALLTYPE *CreateDomainEx )(
ICorRuntimeHost * This,
- /* [in] */ LPCWSTR pwzFriendlyName,
- /* [in] */ IUnknown *pSetup,
- /* [in] */ IUnknown *pEvidence,
- /* [out] */ IUnknown **pAppDomain);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFriendlyName,
+ /* [annotation][in] */
+ _In_ IUnknown *pSetup,
+ /* [annotation][in] */
+ _In_ IUnknown *pEvidence,
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, CreateDomainSetup)
HRESULT ( STDMETHODCALLTYPE *CreateDomainSetup )(
ICorRuntimeHost * This,
- /* [out] */ IUnknown **pAppDomainSetup);
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomainSetup);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, CreateEvidence)
HRESULT ( STDMETHODCALLTYPE *CreateEvidence )(
ICorRuntimeHost * This,
- /* [out] */ IUnknown **pEvidence);
+ /* [annotation][out] */
+ _Out_ IUnknown **pEvidence);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, UnloadDomain)
HRESULT ( STDMETHODCALLTYPE *UnloadDomain )(
ICorRuntimeHost * This,
- /* [in] */ IUnknown *pAppDomain);
+ /* [annotation][in] */
+ _In_ IUnknown *pAppDomain);
+ DECLSPEC_XFGVIRT(ICorRuntimeHost, CurrentDomain)
HRESULT ( STDMETHODCALLTYPE *CurrentDomain )(
ICorRuntimeHost * This,
- /* [out] */ IUnknown **pAppDomain);
+ /* [annotation][out] */
+ _Out_ IUnknown **pAppDomain);
END_INTERFACE
} ICorRuntimeHostVtbl;
@@ -1909,7 +2125,8 @@ EXTERN_C const IID IID_ICLRMemoryNotificationCallback;
{
public:
virtual HRESULT STDMETHODCALLTYPE OnMemoryNotification(
- /* [in] */ EMemoryAvailable eMemoryAvailable) = 0;
+ /* [annotation][in] */
+ _In_ EMemoryAvailable eMemoryAvailable) = 0;
};
@@ -1920,21 +2137,27 @@ EXTERN_C const IID IID_ICLRMemoryNotificationCallback;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRMemoryNotificationCallback * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRMemoryNotificationCallback * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRMemoryNotificationCallback * This);
+ DECLSPEC_XFGVIRT(ICLRMemoryNotificationCallback, OnMemoryNotification)
HRESULT ( STDMETHODCALLTYPE *OnMemoryNotification )(
ICLRMemoryNotificationCallback * This,
- /* [in] */ EMemoryAvailable eMemoryAvailable);
+ /* [annotation][in] */
+ _In_ EMemoryAvailable eMemoryAvailable);
END_INTERFACE
} ICLRMemoryNotificationCallbackVtbl;
@@ -1989,21 +2212,28 @@ EXTERN_C const IID IID_IHostMalloc;
{
public:
virtual HRESULT STDMETHODCALLTYPE Alloc(
- /* [in] */ SIZE_T cbSize,
- /* [in] */ EMemoryCriticalLevel eCriticalLevel,
- /* [out] */ void **ppMem) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T cbSize,
+ /* [annotation][in] */
+ _In_ EMemoryCriticalLevel eCriticalLevel,
+ /* [annotation][out] */
+ _Out_ void **ppMem) = 0;
virtual HRESULT STDMETHODCALLTYPE DebugAlloc(
- /* [in] */ SIZE_T cbSize,
- /* [in] */ EMemoryCriticalLevel eCriticalLevel,
/* [annotation][in] */
- _In_ char *pszFileName,
- /* [in] */ int iLineNo,
+ _In_ SIZE_T cbSize,
+ /* [annotation][in] */
+ _In_ EMemoryCriticalLevel eCriticalLevel,
+ /* [annotation][in] */
+ _In_ unsigned char *pszFileName,
+ /* [annotation][in] */
+ _In_ int iLineNo,
/* [annotation][out] */
_Outptr_result_maybenull_ void **ppMem) = 0;
virtual HRESULT STDMETHODCALLTYPE Free(
- /* [in] */ void *pMem) = 0;
+ /* [annotation][in] */
+ _In_ void *pMem) = 0;
};
@@ -2014,37 +2244,51 @@ EXTERN_C const IID IID_IHostMalloc;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostMalloc * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostMalloc * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostMalloc * This);
+ DECLSPEC_XFGVIRT(IHostMalloc, Alloc)
HRESULT ( STDMETHODCALLTYPE *Alloc )(
IHostMalloc * This,
- /* [in] */ SIZE_T cbSize,
- /* [in] */ EMemoryCriticalLevel eCriticalLevel,
- /* [out] */ void **ppMem);
+ /* [annotation][in] */
+ _In_ SIZE_T cbSize,
+ /* [annotation][in] */
+ _In_ EMemoryCriticalLevel eCriticalLevel,
+ /* [annotation][out] */
+ _Out_ void **ppMem);
+ DECLSPEC_XFGVIRT(IHostMalloc, DebugAlloc)
HRESULT ( STDMETHODCALLTYPE *DebugAlloc )(
IHostMalloc * This,
- /* [in] */ SIZE_T cbSize,
- /* [in] */ EMemoryCriticalLevel eCriticalLevel,
/* [annotation][in] */
- _In_ char *pszFileName,
- /* [in] */ int iLineNo,
+ _In_ SIZE_T cbSize,
+ /* [annotation][in] */
+ _In_ EMemoryCriticalLevel eCriticalLevel,
+ /* [annotation][in] */
+ _In_ unsigned char *pszFileName,
+ /* [annotation][in] */
+ _In_ int iLineNo,
/* [annotation][out] */
_Outptr_result_maybenull_ void **ppMem);
+ DECLSPEC_XFGVIRT(IHostMalloc, Free)
HRESULT ( STDMETHODCALLTYPE *Free )(
IHostMalloc * This,
- /* [in] */ void *pMem);
+ /* [annotation][in] */
+ _In_ void *pMem);
END_INTERFACE
} IHostMallocVtbl;
@@ -2120,51 +2364,78 @@ EXTERN_C const IID IID_IHostMemoryManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE CreateMalloc(
- /* [in] */ DWORD dwMallocType,
- /* [out] */ IHostMalloc **ppMalloc) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMallocType,
+ /* [annotation][out] */
+ _Out_ IHostMalloc **ppMalloc) = 0;
virtual HRESULT STDMETHODCALLTYPE VirtualAlloc(
- /* [in] */ void *pAddress,
- /* [in] */ SIZE_T dwSize,
- /* [in] */ DWORD flAllocationType,
- /* [in] */ DWORD flProtect,
- /* [in] */ EMemoryCriticalLevel eCriticalLevel,
- /* [out] */ void **ppMem) = 0;
+ /* [annotation][in] */
+ _In_ void *pAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T dwSize,
+ /* [annotation][in] */
+ _In_ DWORD flAllocationType,
+ /* [annotation][in] */
+ _In_ DWORD flProtect,
+ /* [annotation][in] */
+ _In_ EMemoryCriticalLevel eCriticalLevel,
+ /* [annotation][out] */
+ _Out_ void **ppMem) = 0;
virtual HRESULT STDMETHODCALLTYPE VirtualFree(
- /* [in] */ LPVOID lpAddress,
- /* [in] */ SIZE_T dwSize,
- /* [in] */ DWORD dwFreeType) = 0;
+ /* [annotation][in] */
+ _In_ LPVOID lpAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T dwSize,
+ /* [annotation][in] */
+ _In_ DWORD dwFreeType) = 0;
virtual HRESULT STDMETHODCALLTYPE VirtualQuery(
- /* [in] */ void *lpAddress,
- /* [out] */ void *lpBuffer,
- /* [in] */ SIZE_T dwLength,
- /* [out] */ SIZE_T *pResult) = 0;
+ /* [annotation][in] */
+ _In_ void *lpAddress,
+ /* [annotation][out] */
+ _Out_ void *lpBuffer,
+ /* [annotation][in] */
+ _In_ SIZE_T dwLength,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pResult) = 0;
virtual HRESULT STDMETHODCALLTYPE VirtualProtect(
- /* [in] */ void *lpAddress,
- /* [in] */ SIZE_T dwSize,
- /* [in] */ DWORD flNewProtect,
- /* [out] */ DWORD *pflOldProtect) = 0;
+ /* [annotation][in] */
+ _In_ void *lpAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T dwSize,
+ /* [annotation][in] */
+ _In_ DWORD flNewProtect,
+ /* [annotation][out] */
+ _Out_ DWORD *pflOldProtect) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMemoryLoad(
- /* [out] */ DWORD *pMemoryLoad,
- /* [out] */ SIZE_T *pAvailableBytes) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pMemoryLoad,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pAvailableBytes) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterMemoryNotificationCallback(
- /* [in] */ ICLRMemoryNotificationCallback *pCallback) = 0;
+ /* [annotation][in] */
+ _In_ ICLRMemoryNotificationCallback *pCallback) = 0;
virtual HRESULT STDMETHODCALLTYPE NeedsVirtualAddressSpace(
- /* [in] */ LPVOID startAddress,
- /* [in] */ SIZE_T size) = 0;
+ /* [annotation][in] */
+ _In_ LPVOID startAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T size) = 0;
virtual HRESULT STDMETHODCALLTYPE AcquiredVirtualAddressSpace(
- /* [in] */ LPVOID startAddress,
- /* [in] */ SIZE_T size) = 0;
+ /* [annotation][in] */
+ _In_ LPVOID startAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T size) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleasedVirtualAddressSpace(
- /* [in] */ LPVOID startAddress) = 0;
+ /* [annotation][in] */
+ _In_ LPVOID startAddress) = 0;
};
@@ -2175,74 +2446,115 @@ EXTERN_C const IID IID_IHostMemoryManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostMemoryManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostMemoryManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostMemoryManager * This);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, CreateMalloc)
HRESULT ( STDMETHODCALLTYPE *CreateMalloc )(
IHostMemoryManager * This,
- /* [in] */ DWORD dwMallocType,
- /* [out] */ IHostMalloc **ppMalloc);
+ /* [annotation][in] */
+ _In_ DWORD dwMallocType,
+ /* [annotation][out] */
+ _Out_ IHostMalloc **ppMalloc);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, VirtualAlloc)
HRESULT ( STDMETHODCALLTYPE *VirtualAlloc )(
IHostMemoryManager * This,
- /* [in] */ void *pAddress,
- /* [in] */ SIZE_T dwSize,
- /* [in] */ DWORD flAllocationType,
- /* [in] */ DWORD flProtect,
- /* [in] */ EMemoryCriticalLevel eCriticalLevel,
- /* [out] */ void **ppMem);
+ /* [annotation][in] */
+ _In_ void *pAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T dwSize,
+ /* [annotation][in] */
+ _In_ DWORD flAllocationType,
+ /* [annotation][in] */
+ _In_ DWORD flProtect,
+ /* [annotation][in] */
+ _In_ EMemoryCriticalLevel eCriticalLevel,
+ /* [annotation][out] */
+ _Out_ void **ppMem);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, VirtualFree)
HRESULT ( STDMETHODCALLTYPE *VirtualFree )(
IHostMemoryManager * This,
- /* [in] */ LPVOID lpAddress,
- /* [in] */ SIZE_T dwSize,
- /* [in] */ DWORD dwFreeType);
+ /* [annotation][in] */
+ _In_ LPVOID lpAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T dwSize,
+ /* [annotation][in] */
+ _In_ DWORD dwFreeType);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, VirtualQuery)
HRESULT ( STDMETHODCALLTYPE *VirtualQuery )(
IHostMemoryManager * This,
- /* [in] */ void *lpAddress,
- /* [out] */ void *lpBuffer,
- /* [in] */ SIZE_T dwLength,
- /* [out] */ SIZE_T *pResult);
+ /* [annotation][in] */
+ _In_ void *lpAddress,
+ /* [annotation][out] */
+ _Out_ void *lpBuffer,
+ /* [annotation][in] */
+ _In_ SIZE_T dwLength,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pResult);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, VirtualProtect)
HRESULT ( STDMETHODCALLTYPE *VirtualProtect )(
IHostMemoryManager * This,
- /* [in] */ void *lpAddress,
- /* [in] */ SIZE_T dwSize,
- /* [in] */ DWORD flNewProtect,
- /* [out] */ DWORD *pflOldProtect);
+ /* [annotation][in] */
+ _In_ void *lpAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T dwSize,
+ /* [annotation][in] */
+ _In_ DWORD flNewProtect,
+ /* [annotation][out] */
+ _Out_ DWORD *pflOldProtect);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, GetMemoryLoad)
HRESULT ( STDMETHODCALLTYPE *GetMemoryLoad )(
IHostMemoryManager * This,
- /* [out] */ DWORD *pMemoryLoad,
- /* [out] */ SIZE_T *pAvailableBytes);
+ /* [annotation][out] */
+ _Out_ DWORD *pMemoryLoad,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pAvailableBytes);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, RegisterMemoryNotificationCallback)
HRESULT ( STDMETHODCALLTYPE *RegisterMemoryNotificationCallback )(
IHostMemoryManager * This,
- /* [in] */ ICLRMemoryNotificationCallback *pCallback);
+ /* [annotation][in] */
+ _In_ ICLRMemoryNotificationCallback *pCallback);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, NeedsVirtualAddressSpace)
HRESULT ( STDMETHODCALLTYPE *NeedsVirtualAddressSpace )(
IHostMemoryManager * This,
- /* [in] */ LPVOID startAddress,
- /* [in] */ SIZE_T size);
+ /* [annotation][in] */
+ _In_ LPVOID startAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T size);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, AcquiredVirtualAddressSpace)
HRESULT ( STDMETHODCALLTYPE *AcquiredVirtualAddressSpace )(
IHostMemoryManager * This,
- /* [in] */ LPVOID startAddress,
- /* [in] */ SIZE_T size);
+ /* [annotation][in] */
+ _In_ LPVOID startAddress,
+ /* [annotation][in] */
+ _In_ SIZE_T size);
+ DECLSPEC_XFGVIRT(IHostMemoryManager, ReleasedVirtualAddressSpace)
HRESULT ( STDMETHODCALLTYPE *ReleasedVirtualAddressSpace )(
IHostMemoryManager * This,
- /* [in] */ LPVOID startAddress);
+ /* [annotation][in] */
+ _In_ LPVOID startAddress);
END_INTERFACE
} IHostMemoryManagerVtbl;
@@ -2336,12 +2648,14 @@ EXTERN_C const IID IID_ICLRTask;
{
public:
virtual HRESULT STDMETHODCALLTYPE SwitchIn(
- /* [in] */ HANDLE threadHandle) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE threadHandle) = 0;
virtual HRESULT STDMETHODCALLTYPE SwitchOut( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMemStats(
- /* [out] */ COR_GC_THREAD_STATS *memUsage) = 0;
+ /* [annotation][out] */
+ _Out_ COR_GC_THREAD_STATS *memUsage) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
BOOL fFull) = 0;
@@ -2353,15 +2667,18 @@ EXTERN_C const IID IID_ICLRTask;
virtual HRESULT STDMETHODCALLTYPE RudeAbort( void) = 0;
virtual HRESULT STDMETHODCALLTYPE NeedsPriorityScheduling(
- /* [out] */ BOOL *pbNeedsPriorityScheduling) = 0;
+ /* [annotation][out] */
+ _Out_ BOOL *pbNeedsPriorityScheduling) = 0;
virtual HRESULT STDMETHODCALLTYPE YieldTask( void) = 0;
virtual HRESULT STDMETHODCALLTYPE LocksHeld(
- /* [out] */ SIZE_T *pLockCount) = 0;
+ /* [annotation][out] */
+ _Out_ SIZE_T *pLockCount) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTaskIdentifier(
- /* [in] */ TASKID asked) = 0;
+ /* [annotation][in] */
+ _In_ TASKID asked) = 0;
};
@@ -2372,56 +2689,76 @@ EXTERN_C const IID IID_ICLRTask;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRTask * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRTask * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRTask * This);
+ DECLSPEC_XFGVIRT(ICLRTask, SwitchIn)
HRESULT ( STDMETHODCALLTYPE *SwitchIn )(
ICLRTask * This,
- /* [in] */ HANDLE threadHandle);
+ /* [annotation][in] */
+ _In_ HANDLE threadHandle);
+ DECLSPEC_XFGVIRT(ICLRTask, SwitchOut)
HRESULT ( STDMETHODCALLTYPE *SwitchOut )(
ICLRTask * This);
+ DECLSPEC_XFGVIRT(ICLRTask, GetMemStats)
HRESULT ( STDMETHODCALLTYPE *GetMemStats )(
ICLRTask * This,
- /* [out] */ COR_GC_THREAD_STATS *memUsage);
+ /* [annotation][out] */
+ _Out_ COR_GC_THREAD_STATS *memUsage);
+ DECLSPEC_XFGVIRT(ICLRTask, Reset)
HRESULT ( STDMETHODCALLTYPE *Reset )(
ICLRTask * This,
BOOL fFull);
+ DECLSPEC_XFGVIRT(ICLRTask, ExitTask)
HRESULT ( STDMETHODCALLTYPE *ExitTask )(
ICLRTask * This);
+ DECLSPEC_XFGVIRT(ICLRTask, Abort)
HRESULT ( STDMETHODCALLTYPE *Abort )(
ICLRTask * This);
+ DECLSPEC_XFGVIRT(ICLRTask, RudeAbort)
HRESULT ( STDMETHODCALLTYPE *RudeAbort )(
ICLRTask * This);
+ DECLSPEC_XFGVIRT(ICLRTask, NeedsPriorityScheduling)
HRESULT ( STDMETHODCALLTYPE *NeedsPriorityScheduling )(
ICLRTask * This,
- /* [out] */ BOOL *pbNeedsPriorityScheduling);
+ /* [annotation][out] */
+ _Out_ BOOL *pbNeedsPriorityScheduling);
+ DECLSPEC_XFGVIRT(ICLRTask, YieldTask)
HRESULT ( STDMETHODCALLTYPE *YieldTask )(
ICLRTask * This);
+ DECLSPEC_XFGVIRT(ICLRTask, LocksHeld)
HRESULT ( STDMETHODCALLTYPE *LocksHeld )(
ICLRTask * This,
- /* [out] */ SIZE_T *pLockCount);
+ /* [annotation][out] */
+ _Out_ SIZE_T *pLockCount);
+ DECLSPEC_XFGVIRT(ICLRTask, SetTaskIdentifier)
HRESULT ( STDMETHODCALLTYPE *SetTaskIdentifier )(
ICLRTask * This,
- /* [in] */ TASKID asked);
+ /* [annotation][in] */
+ _In_ TASKID asked);
END_INTERFACE
} ICLRTaskVtbl;
@@ -2518,60 +2855,82 @@ EXTERN_C const IID IID_ICLRTask2;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRTask2 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRTask2 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRTask2 * This);
+ DECLSPEC_XFGVIRT(ICLRTask, SwitchIn)
HRESULT ( STDMETHODCALLTYPE *SwitchIn )(
ICLRTask2 * This,
- /* [in] */ HANDLE threadHandle);
+ /* [annotation][in] */
+ _In_ HANDLE threadHandle);
+ DECLSPEC_XFGVIRT(ICLRTask, SwitchOut)
HRESULT ( STDMETHODCALLTYPE *SwitchOut )(
ICLRTask2 * This);
+ DECLSPEC_XFGVIRT(ICLRTask, GetMemStats)
HRESULT ( STDMETHODCALLTYPE *GetMemStats )(
ICLRTask2 * This,
- /* [out] */ COR_GC_THREAD_STATS *memUsage);
+ /* [annotation][out] */
+ _Out_ COR_GC_THREAD_STATS *memUsage);
+ DECLSPEC_XFGVIRT(ICLRTask, Reset)
HRESULT ( STDMETHODCALLTYPE *Reset )(
ICLRTask2 * This,
BOOL fFull);
+ DECLSPEC_XFGVIRT(ICLRTask, ExitTask)
HRESULT ( STDMETHODCALLTYPE *ExitTask )(
ICLRTask2 * This);
+ DECLSPEC_XFGVIRT(ICLRTask, Abort)
HRESULT ( STDMETHODCALLTYPE *Abort )(
ICLRTask2 * This);
+ DECLSPEC_XFGVIRT(ICLRTask, RudeAbort)
HRESULT ( STDMETHODCALLTYPE *RudeAbort )(
ICLRTask2 * This);
+ DECLSPEC_XFGVIRT(ICLRTask, NeedsPriorityScheduling)
HRESULT ( STDMETHODCALLTYPE *NeedsPriorityScheduling )(
ICLRTask2 * This,
- /* [out] */ BOOL *pbNeedsPriorityScheduling);
+ /* [annotation][out] */
+ _Out_ BOOL *pbNeedsPriorityScheduling);
+ DECLSPEC_XFGVIRT(ICLRTask, YieldTask)
HRESULT ( STDMETHODCALLTYPE *YieldTask )(
ICLRTask2 * This);
+ DECLSPEC_XFGVIRT(ICLRTask, LocksHeld)
HRESULT ( STDMETHODCALLTYPE *LocksHeld )(
ICLRTask2 * This,
- /* [out] */ SIZE_T *pLockCount);
+ /* [annotation][out] */
+ _Out_ SIZE_T *pLockCount);
+ DECLSPEC_XFGVIRT(ICLRTask, SetTaskIdentifier)
HRESULT ( STDMETHODCALLTYPE *SetTaskIdentifier )(
ICLRTask2 * This,
- /* [in] */ TASKID asked);
+ /* [annotation][in] */
+ _In_ TASKID asked);
+ DECLSPEC_XFGVIRT(ICLRTask2, BeginPreventAsyncAbort)
HRESULT ( STDMETHODCALLTYPE *BeginPreventAsyncAbort )(
ICLRTask2 * This);
+ DECLSPEC_XFGVIRT(ICLRTask2, EndPreventAsyncAbort)
HRESULT ( STDMETHODCALLTYPE *EndPreventAsyncAbort )(
ICLRTask2 * This);
@@ -2669,17 +3028,22 @@ EXTERN_C const IID IID_IHostTask;
virtual HRESULT STDMETHODCALLTYPE Alert( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Join(
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPriority(
- /* [in] */ int newPriority) = 0;
+ /* [annotation][in] */
+ _In_ int newPriority) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPriority(
- /* [out] */ int *pPriority) = 0;
+ /* [annotation][out] */
+ _Out_ int *pPriority) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCLRTask(
- /* [in] */ ICLRTask *pCLRTask) = 0;
+ /* [annotation][in] */
+ _In_ ICLRTask *pCLRTask) = 0;
};
@@ -2690,40 +3054,55 @@ EXTERN_C const IID IID_IHostTask;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostTask * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostTask * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostTask * This);
+ DECLSPEC_XFGVIRT(IHostTask, Start)
HRESULT ( STDMETHODCALLTYPE *Start )(
IHostTask * This);
+ DECLSPEC_XFGVIRT(IHostTask, Alert)
HRESULT ( STDMETHODCALLTYPE *Alert )(
IHostTask * This);
+ DECLSPEC_XFGVIRT(IHostTask, Join)
HRESULT ( STDMETHODCALLTYPE *Join )(
IHostTask * This,
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option);
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option);
+ DECLSPEC_XFGVIRT(IHostTask, SetPriority)
HRESULT ( STDMETHODCALLTYPE *SetPriority )(
IHostTask * This,
- /* [in] */ int newPriority);
+ /* [annotation][in] */
+ _In_ int newPriority);
+ DECLSPEC_XFGVIRT(IHostTask, GetPriority)
HRESULT ( STDMETHODCALLTYPE *GetPriority )(
IHostTask * This,
- /* [out] */ int *pPriority);
+ /* [annotation][out] */
+ _Out_ int *pPriority);
+ DECLSPEC_XFGVIRT(IHostTask, SetCLRTask)
HRESULT ( STDMETHODCALLTYPE *SetCLRTask )(
IHostTask * This,
- /* [in] */ ICLRTask *pCLRTask);
+ /* [annotation][in] */
+ _In_ ICLRTask *pCLRTask);
END_INTERFACE
} IHostTaskVtbl;
@@ -2817,19 +3196,24 @@ EXTERN_C const IID IID_ICLRTaskManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE CreateTask(
- /* [out] */ ICLRTask **pTask) = 0;
+ /* [annotation][out] */
+ _Out_ ICLRTask **pTask) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentTask(
- /* [out] */ ICLRTask **pTask) = 0;
+ /* [annotation][out] */
+ _Out_ ICLRTask **pTask) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUILocale(
- /* [in] */ LCID lcid) = 0;
+ /* [annotation][in] */
+ _In_ LCID lcid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetLocale(
- /* [in] */ LCID lcid) = 0;
+ /* [annotation][in] */
+ _In_ LCID lcid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentTaskType(
- /* [out] */ ETaskType *pTaskType) = 0;
+ /* [annotation][out] */
+ _Out_ ETaskType *pTaskType) = 0;
};
@@ -2840,37 +3224,51 @@ EXTERN_C const IID IID_ICLRTaskManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRTaskManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRTaskManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRTaskManager * This);
+ DECLSPEC_XFGVIRT(ICLRTaskManager, CreateTask)
HRESULT ( STDMETHODCALLTYPE *CreateTask )(
ICLRTaskManager * This,
- /* [out] */ ICLRTask **pTask);
+ /* [annotation][out] */
+ _Out_ ICLRTask **pTask);
+ DECLSPEC_XFGVIRT(ICLRTaskManager, GetCurrentTask)
HRESULT ( STDMETHODCALLTYPE *GetCurrentTask )(
ICLRTaskManager * This,
- /* [out] */ ICLRTask **pTask);
+ /* [annotation][out] */
+ _Out_ ICLRTask **pTask);
+ DECLSPEC_XFGVIRT(ICLRTaskManager, SetUILocale)
HRESULT ( STDMETHODCALLTYPE *SetUILocale )(
ICLRTaskManager * This,
- /* [in] */ LCID lcid);
+ /* [annotation][in] */
+ _In_ LCID lcid);
+ DECLSPEC_XFGVIRT(ICLRTaskManager, SetLocale)
HRESULT ( STDMETHODCALLTYPE *SetLocale )(
ICLRTaskManager * This,
- /* [in] */ LCID lcid);
+ /* [annotation][in] */
+ _In_ LCID lcid);
+ DECLSPEC_XFGVIRT(ICLRTaskManager, GetCurrentTaskType)
HRESULT ( STDMETHODCALLTYPE *GetCurrentTaskType )(
ICLRTaskManager * This,
- /* [out] */ ETaskType *pTaskType);
+ /* [annotation][out] */
+ _Out_ ETaskType *pTaskType);
END_INTERFACE
} ICLRTaskManagerVtbl;
@@ -2937,33 +3335,46 @@ EXTERN_C const IID IID_IHostTaskManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCurrentTask(
- /* [out] */ IHostTask **pTask) = 0;
+ /* [annotation][out] */
+ _Out_ IHostTask **pTask) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateTask(
- /* [in] */ DWORD dwStackSize,
- /* [in] */ LPTHREAD_START_ROUTINE pStartAddress,
- /* [in] */ PVOID pParameter,
- /* [out] */ IHostTask **ppTask) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwStackSize,
+ /* [annotation][in] */
+ _In_ LPTHREAD_START_ROUTINE pStartAddress,
+ /* [annotation][in] */
+ _In_ PVOID pParameter,
+ /* [annotation][out] */
+ _Out_ IHostTask **ppTask) = 0;
virtual HRESULT STDMETHODCALLTYPE Sleep(
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option) = 0;
virtual HRESULT STDMETHODCALLTYPE SwitchToTask(
- /* [in] */ DWORD option) = 0;
+ /* [annotation][in] */
+ _In_ DWORD option) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUILocale(
- /* [in] */ LCID lcid) = 0;
+ /* [annotation][in] */
+ _In_ LCID lcid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetLocale(
- /* [in] */ LCID lcid) = 0;
+ /* [annotation][in] */
+ _In_ LCID lcid) = 0;
virtual HRESULT STDMETHODCALLTYPE CallNeedsHostHook(
- /* [in] */ SIZE_T target,
- /* [out] */ BOOL *pbCallNeedsHostHook) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T target,
+ /* [annotation][out] */
+ _Out_ BOOL *pbCallNeedsHostHook) = 0;
virtual HRESULT STDMETHODCALLTYPE LeaveRuntime(
- /* [in] */ SIZE_T target) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T target) = 0;
virtual HRESULT STDMETHODCALLTYPE EnterRuntime( void) = 0;
@@ -2980,13 +3391,16 @@ EXTERN_C const IID IID_IHostTaskManager;
virtual HRESULT STDMETHODCALLTYPE EndThreadAffinity( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStackGuarantee(
- /* [in] */ ULONG guarantee) = 0;
+ /* [annotation][in] */
+ _In_ ULONG guarantee) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStackGuarantee(
- /* [out] */ ULONG *pGuarantee) = 0;
+ /* [annotation][out] */
+ _Out_ ULONG *pGuarantee) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCLRTaskManager(
- /* [in] */ ICLRTaskManager *ppManager) = 0;
+ /* [annotation][in] */
+ _In_ ICLRTaskManager *ppManager) = 0;
};
@@ -2997,87 +3411,125 @@ EXTERN_C const IID IID_IHostTaskManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostTaskManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostTaskManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostTaskManager * This);
+ DECLSPEC_XFGVIRT(IHostTaskManager, GetCurrentTask)
HRESULT ( STDMETHODCALLTYPE *GetCurrentTask )(
IHostTaskManager * This,
- /* [out] */ IHostTask **pTask);
+ /* [annotation][out] */
+ _Out_ IHostTask **pTask);
+ DECLSPEC_XFGVIRT(IHostTaskManager, CreateTask)
HRESULT ( STDMETHODCALLTYPE *CreateTask )(
IHostTaskManager * This,
- /* [in] */ DWORD dwStackSize,
- /* [in] */ LPTHREAD_START_ROUTINE pStartAddress,
- /* [in] */ PVOID pParameter,
- /* [out] */ IHostTask **ppTask);
+ /* [annotation][in] */
+ _In_ DWORD dwStackSize,
+ /* [annotation][in] */
+ _In_ LPTHREAD_START_ROUTINE pStartAddress,
+ /* [annotation][in] */
+ _In_ PVOID pParameter,
+ /* [annotation][out] */
+ _Out_ IHostTask **ppTask);
+ DECLSPEC_XFGVIRT(IHostTaskManager, Sleep)
HRESULT ( STDMETHODCALLTYPE *Sleep )(
IHostTaskManager * This,
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option);
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option);
+ DECLSPEC_XFGVIRT(IHostTaskManager, SwitchToTask)
HRESULT ( STDMETHODCALLTYPE *SwitchToTask )(
IHostTaskManager * This,
- /* [in] */ DWORD option);
+ /* [annotation][in] */
+ _In_ DWORD option);
+ DECLSPEC_XFGVIRT(IHostTaskManager, SetUILocale)
HRESULT ( STDMETHODCALLTYPE *SetUILocale )(
IHostTaskManager * This,
- /* [in] */ LCID lcid);
+ /* [annotation][in] */
+ _In_ LCID lcid);
+ DECLSPEC_XFGVIRT(IHostTaskManager, SetLocale)
HRESULT ( STDMETHODCALLTYPE *SetLocale )(
IHostTaskManager * This,
- /* [in] */ LCID lcid);
+ /* [annotation][in] */
+ _In_ LCID lcid);
+ DECLSPEC_XFGVIRT(IHostTaskManager, CallNeedsHostHook)
HRESULT ( STDMETHODCALLTYPE *CallNeedsHostHook )(
IHostTaskManager * This,
- /* [in] */ SIZE_T target,
- /* [out] */ BOOL *pbCallNeedsHostHook);
+ /* [annotation][in] */
+ _In_ SIZE_T target,
+ /* [annotation][out] */
+ _Out_ BOOL *pbCallNeedsHostHook);
+ DECLSPEC_XFGVIRT(IHostTaskManager, LeaveRuntime)
HRESULT ( STDMETHODCALLTYPE *LeaveRuntime )(
IHostTaskManager * This,
- /* [in] */ SIZE_T target);
+ /* [annotation][in] */
+ _In_ SIZE_T target);
+ DECLSPEC_XFGVIRT(IHostTaskManager, EnterRuntime)
HRESULT ( STDMETHODCALLTYPE *EnterRuntime )(
IHostTaskManager * This);
+ DECLSPEC_XFGVIRT(IHostTaskManager, ReverseLeaveRuntime)
HRESULT ( STDMETHODCALLTYPE *ReverseLeaveRuntime )(
IHostTaskManager * This);
+ DECLSPEC_XFGVIRT(IHostTaskManager, ReverseEnterRuntime)
HRESULT ( STDMETHODCALLTYPE *ReverseEnterRuntime )(
IHostTaskManager * This);
+ DECLSPEC_XFGVIRT(IHostTaskManager, BeginDelayAbort)
HRESULT ( STDMETHODCALLTYPE *BeginDelayAbort )(
IHostTaskManager * This);
+ DECLSPEC_XFGVIRT(IHostTaskManager, EndDelayAbort)
HRESULT ( STDMETHODCALLTYPE *EndDelayAbort )(
IHostTaskManager * This);
+ DECLSPEC_XFGVIRT(IHostTaskManager, BeginThreadAffinity)
HRESULT ( STDMETHODCALLTYPE *BeginThreadAffinity )(
IHostTaskManager * This);
+ DECLSPEC_XFGVIRT(IHostTaskManager, EndThreadAffinity)
HRESULT ( STDMETHODCALLTYPE *EndThreadAffinity )(
IHostTaskManager * This);
+ DECLSPEC_XFGVIRT(IHostTaskManager, SetStackGuarantee)
HRESULT ( STDMETHODCALLTYPE *SetStackGuarantee )(
IHostTaskManager * This,
- /* [in] */ ULONG guarantee);
+ /* [annotation][in] */
+ _In_ ULONG guarantee);
+ DECLSPEC_XFGVIRT(IHostTaskManager, GetStackGuarantee)
HRESULT ( STDMETHODCALLTYPE *GetStackGuarantee )(
IHostTaskManager * This,
- /* [out] */ ULONG *pGuarantee);
+ /* [annotation][out] */
+ _Out_ ULONG *pGuarantee);
+ DECLSPEC_XFGVIRT(IHostTaskManager, SetCLRTaskManager)
HRESULT ( STDMETHODCALLTYPE *SetCLRTaskManager )(
IHostTaskManager * This,
- /* [in] */ ICLRTaskManager *ppManager);
+ /* [annotation][in] */
+ _In_ ICLRTaskManager *ppManager);
END_INTERFACE
} IHostTaskManagerVtbl;
@@ -3183,24 +3635,32 @@ EXTERN_C const IID IID_IHostThreadpoolManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE QueueUserWorkItem(
- /* [in] */ LPTHREAD_START_ROUTINE Function,
- /* [in] */ PVOID Context,
- /* [in] */ ULONG Flags) = 0;
+ /* [annotation][in] */
+ _In_ LPTHREAD_START_ROUTINE Function,
+ /* [annotation][in] */
+ _In_ PVOID Context,
+ /* [annotation][in] */
+ _In_ ULONG Flags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMaxThreads(
- /* [in] */ DWORD dwMaxWorkerThreads) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMaxWorkerThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxThreads(
- /* [out] */ DWORD *pdwMaxWorkerThreads) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pdwMaxWorkerThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableThreads(
- /* [out] */ DWORD *pdwAvailableWorkerThreads) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pdwAvailableWorkerThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMinThreads(
- /* [in] */ DWORD dwMinIOCompletionThreads) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMinIOCompletionThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMinThreads(
- /* [out] */ DWORD *pdwMinIOCompletionThreads) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pdwMinIOCompletionThreads) = 0;
};
@@ -3211,43 +3671,61 @@ EXTERN_C const IID IID_IHostThreadpoolManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostThreadpoolManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostThreadpoolManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostThreadpoolManager * This);
+ DECLSPEC_XFGVIRT(IHostThreadpoolManager, QueueUserWorkItem)
HRESULT ( STDMETHODCALLTYPE *QueueUserWorkItem )(
IHostThreadpoolManager * This,
- /* [in] */ LPTHREAD_START_ROUTINE Function,
- /* [in] */ PVOID Context,
- /* [in] */ ULONG Flags);
+ /* [annotation][in] */
+ _In_ LPTHREAD_START_ROUTINE Function,
+ /* [annotation][in] */
+ _In_ PVOID Context,
+ /* [annotation][in] */
+ _In_ ULONG Flags);
+ DECLSPEC_XFGVIRT(IHostThreadpoolManager, SetMaxThreads)
HRESULT ( STDMETHODCALLTYPE *SetMaxThreads )(
IHostThreadpoolManager * This,
- /* [in] */ DWORD dwMaxWorkerThreads);
+ /* [annotation][in] */
+ _In_ DWORD dwMaxWorkerThreads);
+ DECLSPEC_XFGVIRT(IHostThreadpoolManager, GetMaxThreads)
HRESULT ( STDMETHODCALLTYPE *GetMaxThreads )(
IHostThreadpoolManager * This,
- /* [out] */ DWORD *pdwMaxWorkerThreads);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwMaxWorkerThreads);
+ DECLSPEC_XFGVIRT(IHostThreadpoolManager, GetAvailableThreads)
HRESULT ( STDMETHODCALLTYPE *GetAvailableThreads )(
IHostThreadpoolManager * This,
- /* [out] */ DWORD *pdwAvailableWorkerThreads);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwAvailableWorkerThreads);
+ DECLSPEC_XFGVIRT(IHostThreadpoolManager, SetMinThreads)
HRESULT ( STDMETHODCALLTYPE *SetMinThreads )(
IHostThreadpoolManager * This,
- /* [in] */ DWORD dwMinIOCompletionThreads);
+ /* [annotation][in] */
+ _In_ DWORD dwMinIOCompletionThreads);
+ DECLSPEC_XFGVIRT(IHostThreadpoolManager, GetMinThreads)
HRESULT ( STDMETHODCALLTYPE *GetMinThreads )(
IHostThreadpoolManager * This,
- /* [out] */ DWORD *pdwMinIOCompletionThreads);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwMinIOCompletionThreads);
END_INTERFACE
} IHostThreadpoolManagerVtbl;
@@ -3317,9 +3795,12 @@ EXTERN_C const IID IID_ICLRIoCompletionManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE OnComplete(
- /* [in] */ DWORD dwErrorCode,
- /* [in] */ DWORD NumberOfBytesTransferred,
- /* [in] */ void *pvOverlapped) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwErrorCode,
+ /* [annotation][in] */
+ _In_ DWORD NumberOfBytesTransferred,
+ /* [annotation][in] */
+ _In_ void *pvOverlapped) = 0;
};
@@ -3330,23 +3811,31 @@ EXTERN_C const IID IID_ICLRIoCompletionManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRIoCompletionManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRIoCompletionManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRIoCompletionManager * This);
+ DECLSPEC_XFGVIRT(ICLRIoCompletionManager, OnComplete)
HRESULT ( STDMETHODCALLTYPE *OnComplete )(
ICLRIoCompletionManager * This,
- /* [in] */ DWORD dwErrorCode,
- /* [in] */ DWORD NumberOfBytesTransferred,
- /* [in] */ void *pvOverlapped);
+ /* [annotation][in] */
+ _In_ DWORD dwErrorCode,
+ /* [annotation][in] */
+ _In_ DWORD NumberOfBytesTransferred,
+ /* [annotation][in] */
+ _In_ void *pvOverlapped);
END_INTERFACE
} ICLRIoCompletionManagerVtbl;
@@ -3401,38 +3890,50 @@ EXTERN_C const IID IID_IHostIoCompletionManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE CreateIoCompletionPort(
- /* [out] */ HANDLE *phPort) = 0;
+ /* [annotation][out] */
+ _Out_ HANDLE *phPort) = 0;
virtual HRESULT STDMETHODCALLTYPE CloseIoCompletionPort(
- /* [in] */ HANDLE hPort) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE hPort) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMaxThreads(
- /* [in] */ DWORD dwMaxIOCompletionThreads) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMaxIOCompletionThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxThreads(
- /* [out] */ DWORD *pdwMaxIOCompletionThreads) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pdwMaxIOCompletionThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableThreads(
- /* [out] */ DWORD *pdwAvailableIOCompletionThreads) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pdwAvailableIOCompletionThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHostOverlappedSize(
- /* [out] */ DWORD *pcbSize) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pcbSize) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCLRIoCompletionManager(
- /* [in] */ ICLRIoCompletionManager *pManager) = 0;
+ /* [annotation][in] */
+ _In_ ICLRIoCompletionManager *pManager) = 0;
virtual HRESULT STDMETHODCALLTYPE InitializeHostOverlapped(
- /* [in] */ void *pvOverlapped) = 0;
+ /* [annotation][in] */
+ _In_ void *pvOverlapped) = 0;
virtual HRESULT STDMETHODCALLTYPE Bind(
- /* [in] */ HANDLE hPort,
- /* [in] */ HANDLE hHandle) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE hPort,
+ /* [annotation][in] */
+ _In_ HANDLE hHandle) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMinThreads(
- /* [in] */ DWORD dwMinIOCompletionThreads) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMinIOCompletionThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMinThreads(
- /* [out] */ DWORD *pdwMinIOCompletionThreads) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pdwMinIOCompletionThreads) = 0;
};
@@ -3443,62 +3944,89 @@ EXTERN_C const IID IID_IHostIoCompletionManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostIoCompletionManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostIoCompletionManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostIoCompletionManager * This);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, CreateIoCompletionPort)
HRESULT ( STDMETHODCALLTYPE *CreateIoCompletionPort )(
IHostIoCompletionManager * This,
- /* [out] */ HANDLE *phPort);
+ /* [annotation][out] */
+ _Out_ HANDLE *phPort);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, CloseIoCompletionPort)
HRESULT ( STDMETHODCALLTYPE *CloseIoCompletionPort )(
IHostIoCompletionManager * This,
- /* [in] */ HANDLE hPort);
+ /* [annotation][in] */
+ _In_ HANDLE hPort);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, SetMaxThreads)
HRESULT ( STDMETHODCALLTYPE *SetMaxThreads )(
IHostIoCompletionManager * This,
- /* [in] */ DWORD dwMaxIOCompletionThreads);
+ /* [annotation][in] */
+ _In_ DWORD dwMaxIOCompletionThreads);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, GetMaxThreads)
HRESULT ( STDMETHODCALLTYPE *GetMaxThreads )(
IHostIoCompletionManager * This,
- /* [out] */ DWORD *pdwMaxIOCompletionThreads);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwMaxIOCompletionThreads);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, GetAvailableThreads)
HRESULT ( STDMETHODCALLTYPE *GetAvailableThreads )(
IHostIoCompletionManager * This,
- /* [out] */ DWORD *pdwAvailableIOCompletionThreads);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwAvailableIOCompletionThreads);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, GetHostOverlappedSize)
HRESULT ( STDMETHODCALLTYPE *GetHostOverlappedSize )(
IHostIoCompletionManager * This,
- /* [out] */ DWORD *pcbSize);
+ /* [annotation][out] */
+ _Out_ DWORD *pcbSize);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, SetCLRIoCompletionManager)
HRESULT ( STDMETHODCALLTYPE *SetCLRIoCompletionManager )(
IHostIoCompletionManager * This,
- /* [in] */ ICLRIoCompletionManager *pManager);
+ /* [annotation][in] */
+ _In_ ICLRIoCompletionManager *pManager);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, InitializeHostOverlapped)
HRESULT ( STDMETHODCALLTYPE *InitializeHostOverlapped )(
IHostIoCompletionManager * This,
- /* [in] */ void *pvOverlapped);
+ /* [annotation][in] */
+ _In_ void *pvOverlapped);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, Bind)
HRESULT ( STDMETHODCALLTYPE *Bind )(
IHostIoCompletionManager * This,
- /* [in] */ HANDLE hPort,
- /* [in] */ HANDLE hHandle);
+ /* [annotation][in] */
+ _In_ HANDLE hPort,
+ /* [annotation][in] */
+ _In_ HANDLE hHandle);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, SetMinThreads)
HRESULT ( STDMETHODCALLTYPE *SetMinThreads )(
IHostIoCompletionManager * This,
- /* [in] */ DWORD dwMinIOCompletionThreads);
+ /* [annotation][in] */
+ _In_ DWORD dwMinIOCompletionThreads);
+ DECLSPEC_XFGVIRT(IHostIoCompletionManager, GetMinThreads)
HRESULT ( STDMETHODCALLTYPE *GetMinThreads )(
IHostIoCompletionManager * This,
- /* [out] */ DWORD *pdwMinIOCompletionThreads);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwMinIOCompletionThreads);
END_INTERFACE
} IHostIoCompletionManagerVtbl;
@@ -3599,29 +4127,38 @@ EXTERN_C const IID IID_ICLRDebugManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE BeginConnection(
- /* [in] */ CONNID dwConnectionId,
+ /* [annotation][in] */
+ _In_ CONNID dwConnectionId,
/* [annotation][string][in] */
_In_ wchar_t *szConnectionName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetConnectionTasks(
- /* [in] */ CONNID id,
- /* [in] */ DWORD dwCount,
- /* [size_is][in] */ ICLRTask **ppCLRTask) = 0;
+ /* [annotation][in] */
+ _In_ CONNID id,
+ /* [annotation][in] */
+ _In_ DWORD dwCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(dwCount) ICLRTask **ppCLRTask) = 0;
virtual HRESULT STDMETHODCALLTYPE EndConnection(
- /* [in] */ CONNID dwConnectionId) = 0;
+ /* [annotation][in] */
+ _In_ CONNID dwConnectionId) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDacl(
- /* [in] */ PACL pacl) = 0;
+ /* [annotation][in] */
+ _In_ PACL pacl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDacl(
- /* [out] */ PACL *pacl) = 0;
+ /* [annotation][out] */
+ _Out_ PACL *pacl) = 0;
virtual HRESULT STDMETHODCALLTYPE IsDebuggerAttached(
- /* [out] */ BOOL *pbAttached) = 0;
+ /* [annotation][out] */
+ _Out_ BOOL *pbAttached) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSymbolReadingPolicy(
- /* [in] */ ESymbolReadingPolicy policy) = 0;
+ /* [annotation][in] */
+ _In_ ESymbolReadingPolicy policy) = 0;
};
@@ -3632,49 +4169,69 @@ EXTERN_C const IID IID_ICLRDebugManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRDebugManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRDebugManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRDebugManager * This);
+ DECLSPEC_XFGVIRT(ICLRDebugManager, BeginConnection)
HRESULT ( STDMETHODCALLTYPE *BeginConnection )(
ICLRDebugManager * This,
- /* [in] */ CONNID dwConnectionId,
+ /* [annotation][in] */
+ _In_ CONNID dwConnectionId,
/* [annotation][string][in] */
_In_ wchar_t *szConnectionName);
+ DECLSPEC_XFGVIRT(ICLRDebugManager, SetConnectionTasks)
HRESULT ( STDMETHODCALLTYPE *SetConnectionTasks )(
ICLRDebugManager * This,
- /* [in] */ CONNID id,
- /* [in] */ DWORD dwCount,
- /* [size_is][in] */ ICLRTask **ppCLRTask);
+ /* [annotation][in] */
+ _In_ CONNID id,
+ /* [annotation][in] */
+ _In_ DWORD dwCount,
+ /* [annotation][size_is][in] */
+ _In_reads_(dwCount) ICLRTask **ppCLRTask);
+ DECLSPEC_XFGVIRT(ICLRDebugManager, EndConnection)
HRESULT ( STDMETHODCALLTYPE *EndConnection )(
ICLRDebugManager * This,
- /* [in] */ CONNID dwConnectionId);
+ /* [annotation][in] */
+ _In_ CONNID dwConnectionId);
+ DECLSPEC_XFGVIRT(ICLRDebugManager, SetDacl)
HRESULT ( STDMETHODCALLTYPE *SetDacl )(
ICLRDebugManager * This,
- /* [in] */ PACL pacl);
+ /* [annotation][in] */
+ _In_ PACL pacl);
+ DECLSPEC_XFGVIRT(ICLRDebugManager, GetDacl)
HRESULT ( STDMETHODCALLTYPE *GetDacl )(
ICLRDebugManager * This,
- /* [out] */ PACL *pacl);
+ /* [annotation][out] */
+ _Out_ PACL *pacl);
+ DECLSPEC_XFGVIRT(ICLRDebugManager, IsDebuggerAttached)
HRESULT ( STDMETHODCALLTYPE *IsDebuggerAttached )(
ICLRDebugManager * This,
- /* [out] */ BOOL *pbAttached);
+ /* [annotation][out] */
+ _Out_ BOOL *pbAttached);
+ DECLSPEC_XFGVIRT(ICLRDebugManager, SetSymbolReadingPolicy)
HRESULT ( STDMETHODCALLTYPE *SetSymbolReadingPolicy )(
ICLRDebugManager * This,
- /* [in] */ ESymbolReadingPolicy policy);
+ /* [annotation][in] */
+ _In_ ESymbolReadingPolicy policy);
END_INTERFACE
} ICLRDebugManagerVtbl;
@@ -3805,12 +4362,16 @@ EXTERN_C const IID IID_ICLRErrorReportingManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetBucketParametersForCurrentException(
- /* [out] */ BucketParameters *pParams) = 0;
+ /* [annotation][out] */
+ _Out_ BucketParameters *pParams) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginCustomDump(
- /* [in] */ ECustomDumpFlavor dwFlavor,
- /* [in] */ DWORD dwNumItems,
- /* [length_is][size_is][in] */ CustomDumpItem *items,
+ /* [annotation][in] */
+ _In_ ECustomDumpFlavor dwFlavor,
+ /* [annotation][in] */
+ _In_ DWORD dwNumItems,
+ /* [annotation][length_is][size_is][in] */
+ _In_reads_(dwNumItems) CustomDumpItem *items,
DWORD dwReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE EndCustomDump( void) = 0;
@@ -3824,29 +4385,40 @@ EXTERN_C const IID IID_ICLRErrorReportingManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRErrorReportingManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRErrorReportingManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRErrorReportingManager * This);
+ DECLSPEC_XFGVIRT(ICLRErrorReportingManager, GetBucketParametersForCurrentException)
HRESULT ( STDMETHODCALLTYPE *GetBucketParametersForCurrentException )(
ICLRErrorReportingManager * This,
- /* [out] */ BucketParameters *pParams);
+ /* [annotation][out] */
+ _Out_ BucketParameters *pParams);
+ DECLSPEC_XFGVIRT(ICLRErrorReportingManager, BeginCustomDump)
HRESULT ( STDMETHODCALLTYPE *BeginCustomDump )(
ICLRErrorReportingManager * This,
- /* [in] */ ECustomDumpFlavor dwFlavor,
- /* [in] */ DWORD dwNumItems,
- /* [length_is][size_is][in] */ CustomDumpItem *items,
+ /* [annotation][in] */
+ _In_ ECustomDumpFlavor dwFlavor,
+ /* [annotation][in] */
+ _In_ DWORD dwNumItems,
+ /* [annotation][length_is][size_is][in] */
+ _In_reads_(dwNumItems) CustomDumpItem *items,
DWORD dwReserved);
+ DECLSPEC_XFGVIRT(ICLRErrorReportingManager, EndCustomDump)
HRESULT ( STDMETHODCALLTYPE *EndCustomDump )(
ICLRErrorReportingManager * This);
@@ -3909,16 +4481,20 @@ EXTERN_C const IID IID_IHostCrst;
{
public:
virtual HRESULT STDMETHODCALLTYPE Enter(
- /* [in] */ DWORD option) = 0;
+ /* [annotation][in] */
+ _In_ DWORD option) = 0;
virtual HRESULT STDMETHODCALLTYPE Leave( void) = 0;
virtual HRESULT STDMETHODCALLTYPE TryEnter(
- /* [in] */ DWORD option,
- /* [out] */ BOOL *pbSucceeded) = 0;
+ /* [annotation][in] */
+ _In_ DWORD option,
+ /* [annotation][out] */
+ _Out_ BOOL *pbSucceeded) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSpinCount(
- /* [in] */ DWORD dwSpinCount) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwSpinCount) = 0;
};
@@ -3929,33 +4505,45 @@ EXTERN_C const IID IID_IHostCrst;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostCrst * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostCrst * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostCrst * This);
+ DECLSPEC_XFGVIRT(IHostCrst, Enter)
HRESULT ( STDMETHODCALLTYPE *Enter )(
IHostCrst * This,
- /* [in] */ DWORD option);
+ /* [annotation][in] */
+ _In_ DWORD option);
+ DECLSPEC_XFGVIRT(IHostCrst, Leave)
HRESULT ( STDMETHODCALLTYPE *Leave )(
IHostCrst * This);
+ DECLSPEC_XFGVIRT(IHostCrst, TryEnter)
HRESULT ( STDMETHODCALLTYPE *TryEnter )(
IHostCrst * This,
- /* [in] */ DWORD option,
- /* [out] */ BOOL *pbSucceeded);
+ /* [annotation][in] */
+ _In_ DWORD option,
+ /* [annotation][out] */
+ _Out_ BOOL *pbSucceeded);
+ DECLSPEC_XFGVIRT(IHostCrst, SetSpinCount)
HRESULT ( STDMETHODCALLTYPE *SetSpinCount )(
IHostCrst * This,
- /* [in] */ DWORD dwSpinCount);
+ /* [annotation][in] */
+ _In_ DWORD dwSpinCount);
END_INTERFACE
} IHostCrstVtbl;
@@ -4019,8 +4607,10 @@ EXTERN_C const IID IID_IHostAutoEvent;
{
public:
virtual HRESULT STDMETHODCALLTYPE Wait(
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option) = 0;
virtual HRESULT STDMETHODCALLTYPE Set( void) = 0;
@@ -4033,23 +4623,31 @@ EXTERN_C const IID IID_IHostAutoEvent;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostAutoEvent * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostAutoEvent * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostAutoEvent * This);
+ DECLSPEC_XFGVIRT(IHostAutoEvent, Wait)
HRESULT ( STDMETHODCALLTYPE *Wait )(
IHostAutoEvent * This,
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option);
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option);
+ DECLSPEC_XFGVIRT(IHostAutoEvent, Set)
HRESULT ( STDMETHODCALLTYPE *Set )(
IHostAutoEvent * This);
@@ -4109,8 +4707,10 @@ EXTERN_C const IID IID_IHostManualEvent;
{
public:
virtual HRESULT STDMETHODCALLTYPE Wait(
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
@@ -4125,26 +4725,35 @@ EXTERN_C const IID IID_IHostManualEvent;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostManualEvent * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostManualEvent * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostManualEvent * This);
+ DECLSPEC_XFGVIRT(IHostManualEvent, Wait)
HRESULT ( STDMETHODCALLTYPE *Wait )(
IHostManualEvent * This,
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option);
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option);
+ DECLSPEC_XFGVIRT(IHostManualEvent, Reset)
HRESULT ( STDMETHODCALLTYPE *Reset )(
IHostManualEvent * This);
+ DECLSPEC_XFGVIRT(IHostManualEvent, Set)
HRESULT ( STDMETHODCALLTYPE *Set )(
IHostManualEvent * This);
@@ -4207,12 +4816,16 @@ EXTERN_C const IID IID_IHostSemaphore;
{
public:
virtual HRESULT STDMETHODCALLTYPE Wait(
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseSemaphore(
- /* [in] */ LONG lReleaseCount,
- /* [out] */ LONG *lpPreviousCount) = 0;
+ /* [annotation][in] */
+ _In_ LONG lReleaseCount,
+ /* [annotation][out] */
+ _Out_ LONG *lpPreviousCount) = 0;
};
@@ -4223,27 +4836,37 @@ EXTERN_C const IID IID_IHostSemaphore;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostSemaphore * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostSemaphore * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostSemaphore * This);
+ DECLSPEC_XFGVIRT(IHostSemaphore, Wait)
HRESULT ( STDMETHODCALLTYPE *Wait )(
IHostSemaphore * This,
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ DWORD option);
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ DWORD option);
+ DECLSPEC_XFGVIRT(IHostSemaphore, ReleaseSemaphore)
HRESULT ( STDMETHODCALLTYPE *ReleaseSemaphore )(
IHostSemaphore * This,
- /* [in] */ LONG lReleaseCount,
- /* [out] */ LONG *lpPreviousCount);
+ /* [annotation][in] */
+ _In_ LONG lReleaseCount,
+ /* [annotation][out] */
+ _Out_ LONG *lpPreviousCount);
END_INTERFACE
} IHostSemaphoreVtbl;
@@ -4301,19 +4924,26 @@ EXTERN_C const IID IID_ICLRSyncManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetMonitorOwner(
- /* [in] */ SIZE_T Cookie,
- /* [out] */ IHostTask **ppOwnerHostTask) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ IHostTask **ppOwnerHostTask) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateRWLockOwnerIterator(
- /* [in] */ SIZE_T Cookie,
- /* [out] */ SIZE_T *pIterator) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pIterator) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRWLockOwnerNext(
- /* [in] */ SIZE_T Iterator,
- /* [out] */ IHostTask **ppOwnerHostTask) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T Iterator,
+ /* [annotation][out] */
+ _Out_ IHostTask **ppOwnerHostTask) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteRWLockOwnerIterator(
- /* [in] */ SIZE_T Iterator) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T Iterator) = 0;
};
@@ -4324,36 +4954,51 @@ EXTERN_C const IID IID_ICLRSyncManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRSyncManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRSyncManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRSyncManager * This);
+ DECLSPEC_XFGVIRT(ICLRSyncManager, GetMonitorOwner)
HRESULT ( STDMETHODCALLTYPE *GetMonitorOwner )(
ICLRSyncManager * This,
- /* [in] */ SIZE_T Cookie,
- /* [out] */ IHostTask **ppOwnerHostTask);
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ IHostTask **ppOwnerHostTask);
+ DECLSPEC_XFGVIRT(ICLRSyncManager, CreateRWLockOwnerIterator)
HRESULT ( STDMETHODCALLTYPE *CreateRWLockOwnerIterator )(
ICLRSyncManager * This,
- /* [in] */ SIZE_T Cookie,
- /* [out] */ SIZE_T *pIterator);
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ SIZE_T *pIterator);
+ DECLSPEC_XFGVIRT(ICLRSyncManager, GetRWLockOwnerNext)
HRESULT ( STDMETHODCALLTYPE *GetRWLockOwnerNext )(
ICLRSyncManager * This,
- /* [in] */ SIZE_T Iterator,
- /* [out] */ IHostTask **ppOwnerHostTask);
+ /* [annotation][in] */
+ _In_ SIZE_T Iterator,
+ /* [annotation][out] */
+ _Out_ IHostTask **ppOwnerHostTask);
+ DECLSPEC_XFGVIRT(ICLRSyncManager, DeleteRWLockOwnerIterator)
HRESULT ( STDMETHODCALLTYPE *DeleteRWLockOwnerIterator )(
ICLRSyncManager * This,
- /* [in] */ SIZE_T Iterator);
+ /* [annotation][in] */
+ _In_ SIZE_T Iterator);
END_INTERFACE
} ICLRSyncManagerVtbl;
@@ -4417,39 +5062,56 @@ EXTERN_C const IID IID_IHostSyncManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetCLRSyncManager(
- /* [in] */ ICLRSyncManager *pManager) = 0;
+ /* [annotation][in] */
+ _In_ ICLRSyncManager *pManager) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateCrst(
- /* [out] */ IHostCrst **ppCrst) = 0;
+ /* [annotation][out] */
+ _Out_ IHostCrst **ppCrst) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateCrstWithSpinCount(
- /* [in] */ DWORD dwSpinCount,
- /* [out] */ IHostCrst **ppCrst) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwSpinCount,
+ /* [annotation][out] */
+ _Out_ IHostCrst **ppCrst) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateAutoEvent(
- /* [out] */ IHostAutoEvent **ppEvent) = 0;
+ /* [annotation][out] */
+ _Out_ IHostAutoEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateManualEvent(
- /* [in] */ BOOL bInitialState,
- /* [out] */ IHostManualEvent **ppEvent) = 0;
+ /* [annotation][in] */
+ _In_ BOOL bInitialState,
+ /* [annotation][out] */
+ _Out_ IHostManualEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateMonitorEvent(
- /* [in] */ SIZE_T Cookie,
- /* [out] */ IHostAutoEvent **ppEvent) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ IHostAutoEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateRWLockWriterEvent(
- /* [in] */ SIZE_T Cookie,
- /* [out] */ IHostAutoEvent **ppEvent) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ IHostAutoEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateRWLockReaderEvent(
- /* [in] */ BOOL bInitialState,
- /* [in] */ SIZE_T Cookie,
- /* [out] */ IHostManualEvent **ppEvent) = 0;
+ /* [annotation][in] */
+ _In_ BOOL bInitialState,
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ IHostManualEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateSemaphore(
- /* [in] */ DWORD dwInitial,
- /* [in] */ DWORD dwMax,
- /* [out] */ IHostSemaphore **ppSemaphore) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwInitial,
+ /* [annotation][in] */
+ _In_ DWORD dwMax,
+ /* [annotation][out] */
+ _Out_ IHostSemaphore **ppSemaphore) = 0;
};
@@ -4460,61 +5122,91 @@ EXTERN_C const IID IID_IHostSyncManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostSyncManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostSyncManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostSyncManager * This);
+ DECLSPEC_XFGVIRT(IHostSyncManager, SetCLRSyncManager)
HRESULT ( STDMETHODCALLTYPE *SetCLRSyncManager )(
IHostSyncManager * This,
- /* [in] */ ICLRSyncManager *pManager);
+ /* [annotation][in] */
+ _In_ ICLRSyncManager *pManager);
+ DECLSPEC_XFGVIRT(IHostSyncManager, CreateCrst)
HRESULT ( STDMETHODCALLTYPE *CreateCrst )(
IHostSyncManager * This,
- /* [out] */ IHostCrst **ppCrst);
+ /* [annotation][out] */
+ _Out_ IHostCrst **ppCrst);
+ DECLSPEC_XFGVIRT(IHostSyncManager, CreateCrstWithSpinCount)
HRESULT ( STDMETHODCALLTYPE *CreateCrstWithSpinCount )(
IHostSyncManager * This,
- /* [in] */ DWORD dwSpinCount,
- /* [out] */ IHostCrst **ppCrst);
+ /* [annotation][in] */
+ _In_ DWORD dwSpinCount,
+ /* [annotation][out] */
+ _Out_ IHostCrst **ppCrst);
+ DECLSPEC_XFGVIRT(IHostSyncManager, CreateAutoEvent)
HRESULT ( STDMETHODCALLTYPE *CreateAutoEvent )(
IHostSyncManager * This,
- /* [out] */ IHostAutoEvent **ppEvent);
+ /* [annotation][out] */
+ _Out_ IHostAutoEvent **ppEvent);
+ DECLSPEC_XFGVIRT(IHostSyncManager, CreateManualEvent)
HRESULT ( STDMETHODCALLTYPE *CreateManualEvent )(
IHostSyncManager * This,
- /* [in] */ BOOL bInitialState,
- /* [out] */ IHostManualEvent **ppEvent);
+ /* [annotation][in] */
+ _In_ BOOL bInitialState,
+ /* [annotation][out] */
+ _Out_ IHostManualEvent **ppEvent);
+ DECLSPEC_XFGVIRT(IHostSyncManager, CreateMonitorEvent)
HRESULT ( STDMETHODCALLTYPE *CreateMonitorEvent )(
IHostSyncManager * This,
- /* [in] */ SIZE_T Cookie,
- /* [out] */ IHostAutoEvent **ppEvent);
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ IHostAutoEvent **ppEvent);
+ DECLSPEC_XFGVIRT(IHostSyncManager, CreateRWLockWriterEvent)
HRESULT ( STDMETHODCALLTYPE *CreateRWLockWriterEvent )(
IHostSyncManager * This,
- /* [in] */ SIZE_T Cookie,
- /* [out] */ IHostAutoEvent **ppEvent);
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ IHostAutoEvent **ppEvent);
+ DECLSPEC_XFGVIRT(IHostSyncManager, CreateRWLockReaderEvent)
HRESULT ( STDMETHODCALLTYPE *CreateRWLockReaderEvent )(
IHostSyncManager * This,
- /* [in] */ BOOL bInitialState,
- /* [in] */ SIZE_T Cookie,
- /* [out] */ IHostManualEvent **ppEvent);
+ /* [annotation][in] */
+ _In_ BOOL bInitialState,
+ /* [annotation][in] */
+ _In_ SIZE_T Cookie,
+ /* [annotation][out] */
+ _Out_ IHostManualEvent **ppEvent);
+ DECLSPEC_XFGVIRT(IHostSyncManager, CreateSemaphore)
HRESULT ( STDMETHODCALLTYPE *CreateSemaphore )(
IHostSyncManager * This,
- /* [in] */ DWORD dwInitial,
- /* [in] */ DWORD dwMax,
- /* [out] */ IHostSemaphore **ppSemaphore);
+ /* [annotation][in] */
+ _In_ DWORD dwInitial,
+ /* [annotation][in] */
+ _In_ DWORD dwMax,
+ /* [annotation][out] */
+ _Out_ IHostSemaphore **ppSemaphore);
END_INTERFACE
} IHostSyncManagerVtbl;
@@ -4650,28 +5342,40 @@ EXTERN_C const IID IID_ICLRPolicyManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetDefaultAction(
- /* [in] */ EClrOperation operation,
- /* [in] */ EPolicyAction action) = 0;
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ EPolicyAction action) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimeout(
- /* [in] */ EClrOperation operation,
- /* [in] */ DWORD dwMilliseconds) = 0;
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds) = 0;
virtual HRESULT STDMETHODCALLTYPE SetActionOnTimeout(
- /* [in] */ EClrOperation operation,
- /* [in] */ EPolicyAction action) = 0;
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ EPolicyAction action) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTimeoutAndAction(
- /* [in] */ EClrOperation operation,
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ EPolicyAction action) = 0;
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ EPolicyAction action) = 0;
virtual HRESULT STDMETHODCALLTYPE SetActionOnFailure(
- /* [in] */ EClrFailure failure,
- /* [in] */ EPolicyAction action) = 0;
+ /* [annotation][in] */
+ _In_ EClrFailure failure,
+ /* [annotation][in] */
+ _In_ EPolicyAction action) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUnhandledExceptionPolicy(
- /* [in] */ EClrUnhandledException policy) = 0;
+ /* [annotation][in] */
+ _In_ EClrUnhandledException policy) = 0;
};
@@ -4682,47 +5386,69 @@ EXTERN_C const IID IID_ICLRPolicyManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRPolicyManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRPolicyManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRPolicyManager * This);
+ DECLSPEC_XFGVIRT(ICLRPolicyManager, SetDefaultAction)
HRESULT ( STDMETHODCALLTYPE *SetDefaultAction )(
ICLRPolicyManager * This,
- /* [in] */ EClrOperation operation,
- /* [in] */ EPolicyAction action);
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ EPolicyAction action);
+ DECLSPEC_XFGVIRT(ICLRPolicyManager, SetTimeout)
HRESULT ( STDMETHODCALLTYPE *SetTimeout )(
ICLRPolicyManager * This,
- /* [in] */ EClrOperation operation,
- /* [in] */ DWORD dwMilliseconds);
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds);
+ DECLSPEC_XFGVIRT(ICLRPolicyManager, SetActionOnTimeout)
HRESULT ( STDMETHODCALLTYPE *SetActionOnTimeout )(
ICLRPolicyManager * This,
- /* [in] */ EClrOperation operation,
- /* [in] */ EPolicyAction action);
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ EPolicyAction action);
+ DECLSPEC_XFGVIRT(ICLRPolicyManager, SetTimeoutAndAction)
HRESULT ( STDMETHODCALLTYPE *SetTimeoutAndAction )(
ICLRPolicyManager * This,
- /* [in] */ EClrOperation operation,
- /* [in] */ DWORD dwMilliseconds,
- /* [in] */ EPolicyAction action);
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ DWORD dwMilliseconds,
+ /* [annotation][in] */
+ _In_ EPolicyAction action);
+ DECLSPEC_XFGVIRT(ICLRPolicyManager, SetActionOnFailure)
HRESULT ( STDMETHODCALLTYPE *SetActionOnFailure )(
ICLRPolicyManager * This,
- /* [in] */ EClrFailure failure,
- /* [in] */ EPolicyAction action);
+ /* [annotation][in] */
+ _In_ EClrFailure failure,
+ /* [annotation][in] */
+ _In_ EPolicyAction action);
+ DECLSPEC_XFGVIRT(ICLRPolicyManager, SetUnhandledExceptionPolicy)
HRESULT ( STDMETHODCALLTYPE *SetUnhandledExceptionPolicy )(
ICLRPolicyManager * This,
- /* [in] */ EClrUnhandledException policy);
+ /* [annotation][in] */
+ _In_ EClrUnhandledException policy);
END_INTERFACE
} ICLRPolicyManagerVtbl;
@@ -4792,16 +5518,22 @@ EXTERN_C const IID IID_IHostPolicyManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE OnDefaultAction(
- /* [in] */ EClrOperation operation,
- /* [in] */ EPolicyAction action) = 0;
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ EPolicyAction action) = 0;
virtual HRESULT STDMETHODCALLTYPE OnTimeout(
- /* [in] */ EClrOperation operation,
- /* [in] */ EPolicyAction action) = 0;
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ EPolicyAction action) = 0;
virtual HRESULT STDMETHODCALLTYPE OnFailure(
- /* [in] */ EClrFailure failure,
- /* [in] */ EPolicyAction action) = 0;
+ /* [annotation][in] */
+ _In_ EClrFailure failure,
+ /* [annotation][in] */
+ _In_ EPolicyAction action) = 0;
};
@@ -4812,32 +5544,45 @@ EXTERN_C const IID IID_IHostPolicyManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostPolicyManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostPolicyManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostPolicyManager * This);
+ DECLSPEC_XFGVIRT(IHostPolicyManager, OnDefaultAction)
HRESULT ( STDMETHODCALLTYPE *OnDefaultAction )(
IHostPolicyManager * This,
- /* [in] */ EClrOperation operation,
- /* [in] */ EPolicyAction action);
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ EPolicyAction action);
+ DECLSPEC_XFGVIRT(IHostPolicyManager, OnTimeout)
HRESULT ( STDMETHODCALLTYPE *OnTimeout )(
IHostPolicyManager * This,
- /* [in] */ EClrOperation operation,
- /* [in] */ EPolicyAction action);
+ /* [annotation][in] */
+ _In_ EClrOperation operation,
+ /* [annotation][in] */
+ _In_ EPolicyAction action);
+ DECLSPEC_XFGVIRT(IHostPolicyManager, OnFailure)
HRESULT ( STDMETHODCALLTYPE *OnFailure )(
IHostPolicyManager * This,
- /* [in] */ EClrFailure failure,
- /* [in] */ EPolicyAction action);
+ /* [annotation][in] */
+ _In_ EClrFailure failure,
+ /* [annotation][in] */
+ _In_ EPolicyAction action);
END_INTERFACE
} IHostPolicyManagerVtbl;
@@ -4936,8 +5681,10 @@ EXTERN_C const IID IID_IActionOnCLREvent;
{
public:
virtual HRESULT STDMETHODCALLTYPE OnEvent(
- /* [in] */ EClrEvent event,
- /* [in] */ PVOID data) = 0;
+ /* [annotation][in] */
+ _In_ EClrEvent event,
+ /* [annotation][in] */
+ _In_ PVOID data) = 0;
};
@@ -4948,22 +5695,29 @@ EXTERN_C const IID IID_IActionOnCLREvent;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IActionOnCLREvent * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IActionOnCLREvent * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IActionOnCLREvent * This);
+ DECLSPEC_XFGVIRT(IActionOnCLREvent, OnEvent)
HRESULT ( STDMETHODCALLTYPE *OnEvent )(
IActionOnCLREvent * This,
- /* [in] */ EClrEvent event,
- /* [in] */ PVOID data);
+ /* [annotation][in] */
+ _In_ EClrEvent event,
+ /* [annotation][in] */
+ _In_ PVOID data);
END_INTERFACE
} IActionOnCLREventVtbl;
@@ -5018,12 +5772,16 @@ EXTERN_C const IID IID_ICLROnEventManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE RegisterActionOnEvent(
- /* [in] */ EClrEvent event,
- /* [in] */ IActionOnCLREvent *pAction) = 0;
+ /* [annotation][in] */
+ _In_ EClrEvent event,
+ /* [annotation][in] */
+ _In_ IActionOnCLREvent *pAction) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterActionOnEvent(
- /* [in] */ EClrEvent event,
- /* [in] */ IActionOnCLREvent *pAction) = 0;
+ /* [annotation][in] */
+ _In_ EClrEvent event,
+ /* [annotation][in] */
+ _In_ IActionOnCLREvent *pAction) = 0;
};
@@ -5034,27 +5792,37 @@ EXTERN_C const IID IID_ICLROnEventManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLROnEventManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLROnEventManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLROnEventManager * This);
+ DECLSPEC_XFGVIRT(ICLROnEventManager, RegisterActionOnEvent)
HRESULT ( STDMETHODCALLTYPE *RegisterActionOnEvent )(
ICLROnEventManager * This,
- /* [in] */ EClrEvent event,
- /* [in] */ IActionOnCLREvent *pAction);
+ /* [annotation][in] */
+ _In_ EClrEvent event,
+ /* [annotation][in] */
+ _In_ IActionOnCLREvent *pAction);
+ DECLSPEC_XFGVIRT(ICLROnEventManager, UnregisterActionOnEvent)
HRESULT ( STDMETHODCALLTYPE *UnregisterActionOnEvent )(
ICLROnEventManager * This,
- /* [in] */ EClrEvent event,
- /* [in] */ IActionOnCLREvent *pAction);
+ /* [annotation][in] */
+ _In_ EClrEvent event,
+ /* [annotation][in] */
+ _In_ IActionOnCLREvent *pAction);
END_INTERFACE
} ICLROnEventManagerVtbl;
@@ -5127,24 +5895,31 @@ EXTERN_C const IID IID_IHostGCManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostGCManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostGCManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostGCManager * This);
+ DECLSPEC_XFGVIRT(IHostGCManager, ThreadIsBlockingForSuspension)
HRESULT ( STDMETHODCALLTYPE *ThreadIsBlockingForSuspension )(
IHostGCManager * This);
+ DECLSPEC_XFGVIRT(IHostGCManager, SuspensionStarting)
HRESULT ( STDMETHODCALLTYPE *SuspensionStarting )(
IHostGCManager * This);
+ DECLSPEC_XFGVIRT(IHostGCManager, SuspensionEnding)
HRESULT ( STDMETHODCALLTYPE *SuspensionEnding )(
IHostGCManager * This,
DWORD Generation);
@@ -5208,10 +5983,12 @@ EXTERN_C const IID IID_ICLRAssemblyReferenceList;
{
public:
virtual HRESULT STDMETHODCALLTYPE IsStringAssemblyReferenceInList(
- /* [in] */ LPCWSTR pwzAssemblyName) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssemblyName) = 0;
virtual HRESULT STDMETHODCALLTYPE IsAssemblyReferenceInList(
- /* [in] */ IUnknown *pName) = 0;
+ /* [annotation][in] */
+ _In_ IUnknown *pName) = 0;
};
@@ -5222,25 +5999,33 @@ EXTERN_C const IID IID_ICLRAssemblyReferenceList;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRAssemblyReferenceList * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRAssemblyReferenceList * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRAssemblyReferenceList * This);
+ DECLSPEC_XFGVIRT(ICLRAssemblyReferenceList, IsStringAssemblyReferenceInList)
HRESULT ( STDMETHODCALLTYPE *IsStringAssemblyReferenceInList )(
ICLRAssemblyReferenceList * This,
- /* [in] */ LPCWSTR pwzAssemblyName);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssemblyName);
+ DECLSPEC_XFGVIRT(ICLRAssemblyReferenceList, IsAssemblyReferenceInList)
HRESULT ( STDMETHODCALLTYPE *IsAssemblyReferenceInList )(
ICLRAssemblyReferenceList * This,
- /* [in] */ IUnknown *pName);
+ /* [annotation][in] */
+ _In_ IUnknown *pName);
END_INTERFACE
} ICLRAssemblyReferenceListVtbl;
@@ -5298,10 +6083,12 @@ EXTERN_C const IID IID_ICLRReferenceAssemblyEnum;
{
public:
virtual HRESULT STDMETHODCALLTYPE Get(
- /* [in] */ DWORD dwIndex,
+ /* [annotation][in] */
+ _In_ DWORD dwIndex,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBufferSize) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBufferSize) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBufferSize) = 0;
};
@@ -5312,24 +6099,31 @@ EXTERN_C const IID IID_ICLRReferenceAssemblyEnum;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRReferenceAssemblyEnum * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRReferenceAssemblyEnum * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRReferenceAssemblyEnum * This);
+ DECLSPEC_XFGVIRT(ICLRReferenceAssemblyEnum, Get)
HRESULT ( STDMETHODCALLTYPE *Get )(
ICLRReferenceAssemblyEnum * This,
- /* [in] */ DWORD dwIndex,
+ /* [annotation][in] */
+ _In_ DWORD dwIndex,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBufferSize) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBufferSize);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBufferSize);
END_INTERFACE
} ICLRReferenceAssemblyEnumVtbl;
@@ -5384,10 +6178,12 @@ EXTERN_C const IID IID_ICLRProbingAssemblyEnum;
{
public:
virtual HRESULT STDMETHODCALLTYPE Get(
- /* [in] */ DWORD dwIndex,
+ /* [annotation][in] */
+ _In_ DWORD dwIndex,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBufferSize) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBufferSize) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBufferSize) = 0;
};
@@ -5398,24 +6194,31 @@ EXTERN_C const IID IID_ICLRProbingAssemblyEnum;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRProbingAssemblyEnum * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRProbingAssemblyEnum * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRProbingAssemblyEnum * This);
+ DECLSPEC_XFGVIRT(ICLRProbingAssemblyEnum, Get)
HRESULT ( STDMETHODCALLTYPE *Get )(
ICLRProbingAssemblyEnum * This,
- /* [in] */ DWORD dwIndex,
+ /* [annotation][in] */
+ _In_ DWORD dwIndex,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBufferSize) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBufferSize);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBufferSize);
END_INTERFACE
} ICLRProbingAssemblyEnumVtbl;
@@ -5484,45 +6287,68 @@ EXTERN_C const IID IID_ICLRAssemblyIdentityManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCLRAssemblyReferenceList(
- /* [in] */ LPCWSTR *ppwzAssemblyReferences,
- /* [in] */ DWORD dwNumOfReferences,
- /* [out] */ ICLRAssemblyReferenceList **ppReferenceList) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR *ppwzAssemblyReferences,
+ /* [annotation][in] */
+ _In_ DWORD dwNumOfReferences,
+ /* [annotation][out] */
+ _Out_ ICLRAssemblyReferenceList **ppReferenceList) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBindingIdentityFromFile(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBufferSize) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBufferSize) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBufferSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBindingIdentityFromStream(
- /* [in] */ IStream *pStream,
- /* [in] */ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ IStream *pStream,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBufferSize) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBufferSize) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBufferSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetReferencedAssembliesFromFile(
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ DWORD dwFlags,
- /* [in] */ ICLRAssemblyReferenceList *pExcludeAssembliesList,
- /* [out] */ ICLRReferenceAssemblyEnum **ppReferenceEnum) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ ICLRAssemblyReferenceList *pExcludeAssembliesList,
+ /* [annotation][out] */
+ _Out_ ICLRReferenceAssemblyEnum **ppReferenceEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetReferencedAssembliesFromStream(
- /* [in] */ IStream *pStream,
- /* [in] */ DWORD dwFlags,
- /* [in] */ ICLRAssemblyReferenceList *pExcludeAssembliesList,
- /* [out] */ ICLRReferenceAssemblyEnum **ppReferenceEnum) = 0;
+ /* [annotation][in] */
+ _In_ IStream *pStream,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ ICLRAssemblyReferenceList *pExcludeAssembliesList,
+ /* [annotation][out] */
+ _Out_ ICLRReferenceAssemblyEnum **ppReferenceEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProbingAssembliesFromReference(
- /* [in] */ DWORD dwMachineType,
- /* [in] */ DWORD dwFlags,
- /* [in] */ LPCWSTR pwzReferenceIdentity,
- /* [out] */ ICLRProbingAssemblyEnum **ppProbingAssemblyEnum) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwMachineType,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzReferenceIdentity,
+ /* [annotation][out] */
+ _Out_ ICLRProbingAssemblyEnum **ppProbingAssemblyEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE IsStronglyNamed(
- /* [in] */ LPCWSTR pwzAssemblyIdentity,
- /* [out] */ BOOL *pbIsStronglyNamed) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssemblyIdentity,
+ /* [annotation][out] */
+ _Out_ BOOL *pbIsStronglyNamed) = 0;
};
@@ -5533,65 +6359,99 @@ EXTERN_C const IID IID_ICLRAssemblyIdentityManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRAssemblyIdentityManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRAssemblyIdentityManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRAssemblyIdentityManager * This);
+ DECLSPEC_XFGVIRT(ICLRAssemblyIdentityManager, GetCLRAssemblyReferenceList)
HRESULT ( STDMETHODCALLTYPE *GetCLRAssemblyReferenceList )(
ICLRAssemblyIdentityManager * This,
- /* [in] */ LPCWSTR *ppwzAssemblyReferences,
- /* [in] */ DWORD dwNumOfReferences,
- /* [out] */ ICLRAssemblyReferenceList **ppReferenceList);
+ /* [annotation][in] */
+ _In_ LPCWSTR *ppwzAssemblyReferences,
+ /* [annotation][in] */
+ _In_ DWORD dwNumOfReferences,
+ /* [annotation][out] */
+ _Out_ ICLRAssemblyReferenceList **ppReferenceList);
+ DECLSPEC_XFGVIRT(ICLRAssemblyIdentityManager, GetBindingIdentityFromFile)
HRESULT ( STDMETHODCALLTYPE *GetBindingIdentityFromFile )(
ICLRAssemblyIdentityManager * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBufferSize) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBufferSize);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBufferSize);
+ DECLSPEC_XFGVIRT(ICLRAssemblyIdentityManager, GetBindingIdentityFromStream)
HRESULT ( STDMETHODCALLTYPE *GetBindingIdentityFromStream )(
ICLRAssemblyIdentityManager * This,
- /* [in] */ IStream *pStream,
- /* [in] */ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ IStream *pStream,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchBufferSize) LPWSTR pwzBuffer,
- /* [out][in] */ DWORD *pcchBufferSize);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchBufferSize);
+ DECLSPEC_XFGVIRT(ICLRAssemblyIdentityManager, GetReferencedAssembliesFromFile)
HRESULT ( STDMETHODCALLTYPE *GetReferencedAssembliesFromFile )(
ICLRAssemblyIdentityManager * This,
- /* [in] */ LPCWSTR pwzFilePath,
- /* [in] */ DWORD dwFlags,
- /* [in] */ ICLRAssemblyReferenceList *pExcludeAssembliesList,
- /* [out] */ ICLRReferenceAssemblyEnum **ppReferenceEnum);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzFilePath,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ ICLRAssemblyReferenceList *pExcludeAssembliesList,
+ /* [annotation][out] */
+ _Out_ ICLRReferenceAssemblyEnum **ppReferenceEnum);
+ DECLSPEC_XFGVIRT(ICLRAssemblyIdentityManager, GetReferencedAssembliesFromStream)
HRESULT ( STDMETHODCALLTYPE *GetReferencedAssembliesFromStream )(
ICLRAssemblyIdentityManager * This,
- /* [in] */ IStream *pStream,
- /* [in] */ DWORD dwFlags,
- /* [in] */ ICLRAssemblyReferenceList *pExcludeAssembliesList,
- /* [out] */ ICLRReferenceAssemblyEnum **ppReferenceEnum);
+ /* [annotation][in] */
+ _In_ IStream *pStream,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ ICLRAssemblyReferenceList *pExcludeAssembliesList,
+ /* [annotation][out] */
+ _Out_ ICLRReferenceAssemblyEnum **ppReferenceEnum);
+ DECLSPEC_XFGVIRT(ICLRAssemblyIdentityManager, GetProbingAssembliesFromReference)
HRESULT ( STDMETHODCALLTYPE *GetProbingAssembliesFromReference )(
ICLRAssemblyIdentityManager * This,
- /* [in] */ DWORD dwMachineType,
- /* [in] */ DWORD dwFlags,
- /* [in] */ LPCWSTR pwzReferenceIdentity,
- /* [out] */ ICLRProbingAssemblyEnum **ppProbingAssemblyEnum);
+ /* [annotation][in] */
+ _In_ DWORD dwMachineType,
+ /* [annotation][in] */
+ _In_ DWORD dwFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzReferenceIdentity,
+ /* [annotation][out] */
+ _Out_ ICLRProbingAssemblyEnum **ppProbingAssemblyEnum);
+ DECLSPEC_XFGVIRT(ICLRAssemblyIdentityManager, IsStronglyNamed)
HRESULT ( STDMETHODCALLTYPE *IsStronglyNamed )(
ICLRAssemblyIdentityManager * This,
- /* [in] */ LPCWSTR pwzAssemblyIdentity,
- /* [out] */ BOOL *pbIsStronglyNamed);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssemblyIdentity,
+ /* [annotation][out] */
+ _Out_ BOOL *pbIsStronglyNamed);
END_INTERFACE
} ICLRAssemblyIdentityManagerVtbl;
@@ -5681,23 +6541,34 @@ EXTERN_C const IID IID_ICLRHostBindingPolicyManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE ModifyApplicationPolicy(
- /* [in] */ LPCWSTR pwzSourceAssemblyIdentity,
- /* [in] */ LPCWSTR pwzTargetAssemblyIdentity,
- /* [in] */ BYTE *pbApplicationPolicy,
- /* [in] */ DWORD cbAppPolicySize,
- /* [in] */ DWORD dwPolicyModifyFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzSourceAssemblyIdentity,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzTargetAssemblyIdentity,
+ /* [annotation][in] */
+ _In_ BYTE *pbApplicationPolicy,
+ /* [annotation][in] */
+ _In_ DWORD cbAppPolicySize,
+ /* [annotation][in] */
+ _In_ DWORD dwPolicyModifyFlags,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcbNewAppPolicySize) BYTE *pbNewApplicationPolicy,
- /* [out][in] */ DWORD *pcbNewAppPolicySize) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcbNewAppPolicySize) = 0;
virtual HRESULT STDMETHODCALLTYPE EvaluatePolicy(
- /* [in] */ LPCWSTR pwzReferenceIdentity,
- /* [in] */ BYTE *pbApplicationPolicy,
- /* [in] */ DWORD cbAppPolicySize,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzReferenceIdentity,
+ /* [annotation][in] */
+ _In_ BYTE *pbApplicationPolicy,
+ /* [annotation][in] */
+ _In_ DWORD cbAppPolicySize,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchPostPolicyReferenceIdentity) LPWSTR pwzPostPolicyReferenceIdentity,
- /* [out][in] */ DWORD *pcchPostPolicyReferenceIdentity,
- /* [out] */ DWORD *pdwPoliciesApplied) = 0;
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchPostPolicyReferenceIdentity,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwPoliciesApplied) = 0;
};
@@ -5708,38 +6579,55 @@ EXTERN_C const IID IID_ICLRHostBindingPolicyManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRHostBindingPolicyManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRHostBindingPolicyManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRHostBindingPolicyManager * This);
+ DECLSPEC_XFGVIRT(ICLRHostBindingPolicyManager, ModifyApplicationPolicy)
HRESULT ( STDMETHODCALLTYPE *ModifyApplicationPolicy )(
ICLRHostBindingPolicyManager * This,
- /* [in] */ LPCWSTR pwzSourceAssemblyIdentity,
- /* [in] */ LPCWSTR pwzTargetAssemblyIdentity,
- /* [in] */ BYTE *pbApplicationPolicy,
- /* [in] */ DWORD cbAppPolicySize,
- /* [in] */ DWORD dwPolicyModifyFlags,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzSourceAssemblyIdentity,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzTargetAssemblyIdentity,
+ /* [annotation][in] */
+ _In_ BYTE *pbApplicationPolicy,
+ /* [annotation][in] */
+ _In_ DWORD cbAppPolicySize,
+ /* [annotation][in] */
+ _In_ DWORD dwPolicyModifyFlags,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcbNewAppPolicySize) BYTE *pbNewApplicationPolicy,
- /* [out][in] */ DWORD *pcbNewAppPolicySize);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcbNewAppPolicySize);
+ DECLSPEC_XFGVIRT(ICLRHostBindingPolicyManager, EvaluatePolicy)
HRESULT ( STDMETHODCALLTYPE *EvaluatePolicy )(
ICLRHostBindingPolicyManager * This,
- /* [in] */ LPCWSTR pwzReferenceIdentity,
- /* [in] */ BYTE *pbApplicationPolicy,
- /* [in] */ DWORD cbAppPolicySize,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzReferenceIdentity,
+ /* [annotation][in] */
+ _In_ BYTE *pbApplicationPolicy,
+ /* [annotation][in] */
+ _In_ DWORD cbAppPolicySize,
/* [annotation][size_is][out] */
_Out_writes_all_(*pcchPostPolicyReferenceIdentity) LPWSTR pwzPostPolicyReferenceIdentity,
- /* [out][in] */ DWORD *pcchPostPolicyReferenceIdentity,
- /* [out] */ DWORD *pdwPoliciesApplied);
+ /* [annotation][out][in] */
+ _Inout_ DWORD *pcchPostPolicyReferenceIdentity,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwPoliciesApplied);
END_INTERFACE
} ICLRHostBindingPolicyManagerVtbl;
@@ -5797,14 +6685,18 @@ EXTERN_C const IID IID_ICLRGCManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE Collect(
- /* [in] */ LONG Generation) = 0;
+ /* [annotation][in] */
+ _In_ LONG Generation) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStats(
- /* [out][in] */ COR_GC_STATS *pStats) = 0;
+ /* [annotation][out][in] */
+ _Inout_ COR_GC_STATS *pStats) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGCStartupLimits(
- /* [in] */ DWORD SegmentSize,
- /* [in] */ DWORD MaxGen0Size) = 0;
+ /* [annotation][in] */
+ _In_ DWORD SegmentSize,
+ /* [annotation][in] */
+ _In_ DWORD MaxGen0Size) = 0;
};
@@ -5815,30 +6707,41 @@ EXTERN_C const IID IID_ICLRGCManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRGCManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRGCManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRGCManager * This);
+ DECLSPEC_XFGVIRT(ICLRGCManager, Collect)
HRESULT ( STDMETHODCALLTYPE *Collect )(
ICLRGCManager * This,
- /* [in] */ LONG Generation);
+ /* [annotation][in] */
+ _In_ LONG Generation);
+ DECLSPEC_XFGVIRT(ICLRGCManager, GetStats)
HRESULT ( STDMETHODCALLTYPE *GetStats )(
ICLRGCManager * This,
- /* [out][in] */ COR_GC_STATS *pStats);
+ /* [annotation][out][in] */
+ _Inout_ COR_GC_STATS *pStats);
+ DECLSPEC_XFGVIRT(ICLRGCManager, SetGCStartupLimits)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimits )(
ICLRGCManager * This,
- /* [in] */ DWORD SegmentSize,
- /* [in] */ DWORD MaxGen0Size);
+ /* [annotation][in] */
+ _In_ DWORD SegmentSize,
+ /* [annotation][in] */
+ _In_ DWORD MaxGen0Size);
END_INTERFACE
} ICLRGCManagerVtbl;
@@ -5899,8 +6802,10 @@ EXTERN_C const IID IID_ICLRGCManager2;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetGCStartupLimitsEx(
- /* [in] */ SIZE_T SegmentSize,
- /* [in] */ SIZE_T MaxGen0Size) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T SegmentSize,
+ /* [annotation][in] */
+ _In_ SIZE_T MaxGen0Size) = 0;
};
@@ -5911,35 +6816,49 @@ EXTERN_C const IID IID_ICLRGCManager2;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRGCManager2 * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRGCManager2 * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRGCManager2 * This);
+ DECLSPEC_XFGVIRT(ICLRGCManager, Collect)
HRESULT ( STDMETHODCALLTYPE *Collect )(
ICLRGCManager2 * This,
- /* [in] */ LONG Generation);
+ /* [annotation][in] */
+ _In_ LONG Generation);
+ DECLSPEC_XFGVIRT(ICLRGCManager, GetStats)
HRESULT ( STDMETHODCALLTYPE *GetStats )(
ICLRGCManager2 * This,
- /* [out][in] */ COR_GC_STATS *pStats);
+ /* [annotation][out][in] */
+ _Inout_ COR_GC_STATS *pStats);
+ DECLSPEC_XFGVIRT(ICLRGCManager, SetGCStartupLimits)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimits )(
ICLRGCManager2 * This,
- /* [in] */ DWORD SegmentSize,
- /* [in] */ DWORD MaxGen0Size);
+ /* [annotation][in] */
+ _In_ DWORD SegmentSize,
+ /* [annotation][in] */
+ _In_ DWORD MaxGen0Size);
+ DECLSPEC_XFGVIRT(ICLRGCManager2, SetGCStartupLimitsEx)
HRESULT ( STDMETHODCALLTYPE *SetGCStartupLimitsEx )(
ICLRGCManager2 * This,
- /* [in] */ SIZE_T SegmentSize,
- /* [in] */ SIZE_T MaxGen0Size);
+ /* [annotation][in] */
+ _In_ SIZE_T SegmentSize,
+ /* [annotation][in] */
+ _In_ SIZE_T MaxGen0Size);
END_INTERFACE
} ICLRGCManager2Vtbl;
@@ -6046,17 +6965,26 @@ EXTERN_C const IID IID_IHostAssemblyStore;
{
public:
virtual HRESULT STDMETHODCALLTYPE ProvideAssembly(
- /* [in] */ AssemblyBindInfo *pBindInfo,
- /* [out] */ UINT64 *pAssemblyId,
- /* [out] */ UINT64 *pContext,
- /* [out] */ IStream **ppStmAssemblyImage,
- /* [out] */ IStream **ppStmPDB) = 0;
+ /* [annotation][in] */
+ _In_ AssemblyBindInfo *pBindInfo,
+ /* [annotation][out] */
+ _Out_ UINT64 *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ UINT64 *pContext,
+ /* [annotation][out] */
+ _Out_ IStream **ppStmAssemblyImage,
+ /* [annotation][out] */
+ _Out_ IStream **ppStmPDB) = 0;
virtual HRESULT STDMETHODCALLTYPE ProvideModule(
- /* [in] */ ModuleBindInfo *pBindInfo,
- /* [out] */ DWORD *pdwModuleId,
- /* [out] */ IStream **ppStmModuleImage,
- /* [out] */ IStream **ppStmPDB) = 0;
+ /* [annotation][in] */
+ _In_ ModuleBindInfo *pBindInfo,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleId,
+ /* [annotation][out] */
+ _Out_ IStream **ppStmModuleImage,
+ /* [annotation][out] */
+ _Out_ IStream **ppStmPDB) = 0;
};
@@ -6067,32 +6995,47 @@ EXTERN_C const IID IID_IHostAssemblyStore;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostAssemblyStore * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostAssemblyStore * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostAssemblyStore * This);
+ DECLSPEC_XFGVIRT(IHostAssemblyStore, ProvideAssembly)
HRESULT ( STDMETHODCALLTYPE *ProvideAssembly )(
IHostAssemblyStore * This,
- /* [in] */ AssemblyBindInfo *pBindInfo,
- /* [out] */ UINT64 *pAssemblyId,
- /* [out] */ UINT64 *pContext,
- /* [out] */ IStream **ppStmAssemblyImage,
- /* [out] */ IStream **ppStmPDB);
+ /* [annotation][in] */
+ _In_ AssemblyBindInfo *pBindInfo,
+ /* [annotation][out] */
+ _Out_ UINT64 *pAssemblyId,
+ /* [annotation][out] */
+ _Out_ UINT64 *pContext,
+ /* [annotation][out] */
+ _Out_ IStream **ppStmAssemblyImage,
+ /* [annotation][out] */
+ _Out_ IStream **ppStmPDB);
+ DECLSPEC_XFGVIRT(IHostAssemblyStore, ProvideModule)
HRESULT ( STDMETHODCALLTYPE *ProvideModule )(
IHostAssemblyStore * This,
- /* [in] */ ModuleBindInfo *pBindInfo,
- /* [out] */ DWORD *pdwModuleId,
- /* [out] */ IStream **ppStmModuleImage,
- /* [out] */ IStream **ppStmPDB);
+ /* [annotation][in] */
+ _In_ ModuleBindInfo *pBindInfo,
+ /* [annotation][out] */
+ _Out_ DWORD *pdwModuleId,
+ /* [annotation][out] */
+ _Out_ IStream **ppStmModuleImage,
+ /* [annotation][out] */
+ _Out_ IStream **ppStmPDB);
END_INTERFACE
} IHostAssemblyStoreVtbl;
@@ -6150,10 +7093,12 @@ EXTERN_C const IID IID_IHostAssemblyManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetNonHostStoreAssemblies(
- /* [out] */ ICLRAssemblyReferenceList **ppReferenceList) = 0;
+ /* [annotation][out] */
+ _Out_ ICLRAssemblyReferenceList **ppReferenceList) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAssemblyStore(
- /* [out] */ IHostAssemblyStore **ppAssemblyStore) = 0;
+ /* [annotation][out] */
+ _Out_ IHostAssemblyStore **ppAssemblyStore) = 0;
};
@@ -6164,25 +7109,33 @@ EXTERN_C const IID IID_IHostAssemblyManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostAssemblyManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostAssemblyManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostAssemblyManager * This);
+ DECLSPEC_XFGVIRT(IHostAssemblyManager, GetNonHostStoreAssemblies)
HRESULT ( STDMETHODCALLTYPE *GetNonHostStoreAssemblies )(
IHostAssemblyManager * This,
- /* [out] */ ICLRAssemblyReferenceList **ppReferenceList);
+ /* [annotation][out] */
+ _Out_ ICLRAssemblyReferenceList **ppReferenceList);
+ DECLSPEC_XFGVIRT(IHostAssemblyManager, GetAssemblyStore)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyStore )(
IHostAssemblyManager * This,
- /* [out] */ IHostAssemblyStore **ppAssemblyStore);
+ /* [annotation][out] */
+ _Out_ IHostAssemblyStore **ppAssemblyStore);
END_INTERFACE
} IHostAssemblyManagerVtbl;
@@ -6250,12 +7203,16 @@ EXTERN_C const IID IID_IHostControl;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetHostManager(
- /* [in] */ REFIID riid,
- /* [out] */ void **ppObject) = 0;
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ void **ppObject) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAppDomainManager(
- /* [in] */ DWORD dwAppDomainID,
- /* [in] */ IUnknown *pUnkAppDomainManager) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwAppDomainID,
+ /* [annotation][in] */
+ _In_ IUnknown *pUnkAppDomainManager) = 0;
};
@@ -6266,27 +7223,37 @@ EXTERN_C const IID IID_IHostControl;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostControl * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostControl * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostControl * This);
+ DECLSPEC_XFGVIRT(IHostControl, GetHostManager)
HRESULT ( STDMETHODCALLTYPE *GetHostManager )(
IHostControl * This,
- /* [in] */ REFIID riid,
- /* [out] */ void **ppObject);
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ void **ppObject);
+ DECLSPEC_XFGVIRT(IHostControl, SetAppDomainManager)
HRESULT ( STDMETHODCALLTYPE *SetAppDomainManager )(
IHostControl * This,
- /* [in] */ DWORD dwAppDomainID,
- /* [in] */ IUnknown *pUnkAppDomainManager);
+ /* [annotation][in] */
+ _In_ DWORD dwAppDomainID,
+ /* [annotation][in] */
+ _In_ IUnknown *pUnkAppDomainManager);
END_INTERFACE
} IHostControlVtbl;
@@ -6353,12 +7320,16 @@ EXTERN_C const IID IID_ICLRControl;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCLRManager(
- /* [in] */ REFIID riid,
- /* [out] */ void **ppObject) = 0;
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ void **ppObject) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAppDomainManagerType(
- /* [in] */ LPCWSTR pwzAppDomainManagerAssembly,
- /* [in] */ LPCWSTR pwzAppDomainManagerType) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAppDomainManagerAssembly,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAppDomainManagerType) = 0;
};
@@ -6369,27 +7340,37 @@ EXTERN_C const IID IID_ICLRControl;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRControl * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRControl * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRControl * This);
+ DECLSPEC_XFGVIRT(ICLRControl, GetCLRManager)
HRESULT ( STDMETHODCALLTYPE *GetCLRManager )(
ICLRControl * This,
- /* [in] */ REFIID riid,
- /* [out] */ void **ppObject);
+ /* [annotation][in] */
+ _In_ REFIID riid,
+ /* [annotation][out] */
+ _Out_ void **ppObject);
+ DECLSPEC_XFGVIRT(ICLRControl, SetAppDomainManagerType)
HRESULT ( STDMETHODCALLTYPE *SetAppDomainManagerType )(
ICLRControl * This,
- /* [in] */ LPCWSTR pwzAppDomainManagerAssembly,
- /* [in] */ LPCWSTR pwzAppDomainManagerType);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAppDomainManagerAssembly,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAppDomainManagerType);
END_INTERFACE
} ICLRControlVtbl;
@@ -6451,37 +7432,56 @@ EXTERN_C const IID IID_ICLRRuntimeHost;
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SetHostControl(
- /* [in] */ IHostControl *pHostControl) = 0;
+ /* [annotation][in] */
+ _In_ IHostControl *pHostControl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCLRControl(
- /* [out] */ ICLRControl **pCLRControl) = 0;
+ /* [annotation][out] */
+ _Out_ ICLRControl **pCLRControl) = 0;
virtual HRESULT STDMETHODCALLTYPE UnloadAppDomain(
- /* [in] */ DWORD dwAppDomainId,
- /* [in] */ BOOL fWaitUntilDone) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwAppDomainId,
+ /* [annotation][in] */
+ _In_ BOOL fWaitUntilDone) = 0;
virtual HRESULT STDMETHODCALLTYPE ExecuteInAppDomain(
- /* [in] */ DWORD dwAppDomainId,
- /* [in] */ FExecuteInAppDomainCallback pCallback,
- /* [in] */ void *cookie) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwAppDomainId,
+ /* [annotation][in] */
+ _In_ FExecuteInAppDomainCallback pCallback,
+ /* [annotation][in] */
+ _In_ void *cookie) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentAppDomainId(
- /* [out] */ DWORD *pdwAppDomainId) = 0;
+ /* [annotation][out] */
+ _Out_ DWORD *pdwAppDomainId) = 0;
virtual HRESULT STDMETHODCALLTYPE ExecuteApplication(
- /* [in] */ LPCWSTR pwzAppFullName,
- /* [in] */ DWORD dwManifestPaths,
- /* [in] */ LPCWSTR *ppwzManifestPaths,
- /* [in] */ DWORD dwActivationData,
- /* [in] */ LPCWSTR *ppwzActivationData,
- /* [out] */ int *pReturnValue) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAppFullName,
+ /* [annotation][in] */
+ _In_ DWORD dwManifestPaths,
+ /* [annotation][in] */
+ _In_ LPCWSTR *ppwzManifestPaths,
+ /* [annotation][in] */
+ _In_ DWORD dwActivationData,
+ /* [annotation][in] */
+ _In_ LPCWSTR *ppwzActivationData,
+ /* [annotation][out] */
+ _Out_ int *pReturnValue) = 0;
virtual HRESULT STDMETHODCALLTYPE ExecuteInDefaultAppDomain(
- /* [in] */ LPCWSTR pwzAssemblyPath,
- /* [in] */ LPCWSTR pwzTypeName,
- /* [in] */ LPCWSTR pwzMethodName,
- /* [in] */ LPCWSTR pwzArgument,
- /* [out] */ DWORD *pReturnValue) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssemblyPath,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzTypeName,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzMethodName,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzArgument,
+ /* [annotation][out] */
+ _Out_ DWORD *pReturnValue) = 0;
};
@@ -6492,63 +7492,95 @@ EXTERN_C const IID IID_ICLRRuntimeHost;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICLRRuntimeHost * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICLRRuntimeHost * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICLRRuntimeHost * This);
+ DECLSPEC_XFGVIRT(ICLRRuntimeHost, Start)
HRESULT ( STDMETHODCALLTYPE *Start )(
ICLRRuntimeHost * This);
+ DECLSPEC_XFGVIRT(ICLRRuntimeHost, Stop)
HRESULT ( STDMETHODCALLTYPE *Stop )(
ICLRRuntimeHost * This);
+ DECLSPEC_XFGVIRT(ICLRRuntimeHost, SetHostControl)
HRESULT ( STDMETHODCALLTYPE *SetHostControl )(
ICLRRuntimeHost * This,
- /* [in] */ IHostControl *pHostControl);
+ /* [annotation][in] */
+ _In_ IHostControl *pHostControl);
+ DECLSPEC_XFGVIRT(ICLRRuntimeHost, GetCLRControl)
HRESULT ( STDMETHODCALLTYPE *GetCLRControl )(
ICLRRuntimeHost * This,
- /* [out] */ ICLRControl **pCLRControl);
+ /* [annotation][out] */
+ _Out_ ICLRControl **pCLRControl);
+ DECLSPEC_XFGVIRT(ICLRRuntimeHost, UnloadAppDomain)
HRESULT ( STDMETHODCALLTYPE *UnloadAppDomain )(
ICLRRuntimeHost * This,
- /* [in] */ DWORD dwAppDomainId,
- /* [in] */ BOOL fWaitUntilDone);
+ /* [annotation][in] */
+ _In_ DWORD dwAppDomainId,
+ /* [annotation][in] */
+ _In_ BOOL fWaitUntilDone);
+ DECLSPEC_XFGVIRT(ICLRRuntimeHost, ExecuteInAppDomain)
HRESULT ( STDMETHODCALLTYPE *ExecuteInAppDomain )(
ICLRRuntimeHost * This,
- /* [in] */ DWORD dwAppDomainId,
- /* [in] */ FExecuteInAppDomainCallback pCallback,
- /* [in] */ void *cookie);
+ /* [annotation][in] */
+ _In_ DWORD dwAppDomainId,
+ /* [annotation][in] */
+ _In_ FExecuteInAppDomainCallback pCallback,
+ /* [annotation][in] */
+ _In_ void *cookie);
+ DECLSPEC_XFGVIRT(ICLRRuntimeHost, GetCurrentAppDomainId)
HRESULT ( STDMETHODCALLTYPE *GetCurrentAppDomainId )(
ICLRRuntimeHost * This,
- /* [out] */ DWORD *pdwAppDomainId);
+ /* [annotation][out] */
+ _Out_ DWORD *pdwAppDomainId);
+ DECLSPEC_XFGVIRT(ICLRRuntimeHost, ExecuteApplication)
HRESULT ( STDMETHODCALLTYPE *ExecuteApplication )(
ICLRRuntimeHost * This,
- /* [in] */ LPCWSTR pwzAppFullName,
- /* [in] */ DWORD dwManifestPaths,
- /* [in] */ LPCWSTR *ppwzManifestPaths,
- /* [in] */ DWORD dwActivationData,
- /* [in] */ LPCWSTR *ppwzActivationData,
- /* [out] */ int *pReturnValue);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAppFullName,
+ /* [annotation][in] */
+ _In_ DWORD dwManifestPaths,
+ /* [annotation][in] */
+ _In_ LPCWSTR *ppwzManifestPaths,
+ /* [annotation][in] */
+ _In_ DWORD dwActivationData,
+ /* [annotation][in] */
+ _In_ LPCWSTR *ppwzActivationData,
+ /* [annotation][out] */
+ _Out_ int *pReturnValue);
+ DECLSPEC_XFGVIRT(ICLRRuntimeHost, ExecuteInDefaultAppDomain)
HRESULT ( STDMETHODCALLTYPE *ExecuteInDefaultAppDomain )(
ICLRRuntimeHost * This,
- /* [in] */ LPCWSTR pwzAssemblyPath,
- /* [in] */ LPCWSTR pwzTypeName,
- /* [in] */ LPCWSTR pwzMethodName,
- /* [in] */ LPCWSTR pwzArgument,
- /* [out] */ DWORD *pReturnValue);
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzAssemblyPath,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzTypeName,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzMethodName,
+ /* [annotation][in] */
+ _In_ LPCWSTR pwzArgument,
+ /* [annotation][out] */
+ _Out_ DWORD *pReturnValue);
END_INTERFACE
} ICLRRuntimeHostVtbl;
@@ -6651,7 +7683,8 @@ EXTERN_C const IID IID_ICLRHostProtectionManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetProtectedCategories(
- /* [in] */ EApiCategories categories) = 0;
+ /* [annotation][in] */
+ _In_ EApiCategories categories) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEagerSerializeGrantSets( void) = 0;
@@ -6664,22 +7697,29 @@ EXTERN_C const IID IID_ICLRHostProtectionManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ICLRHostProtectionManager * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ICLRHostProtectionManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ICLRHostProtectionManager * This);
+ DECLSPEC_XFGVIRT(ICLRHostProtectionManager, SetProtectedCategories)
HRESULT ( STDMETHODCALLTYPE *SetProtectedCategories )(
__RPC__in ICLRHostProtectionManager * This,
- /* [in] */ EApiCategories categories);
+ /* [annotation][in] */
+ _In_ EApiCategories categories);
+ DECLSPEC_XFGVIRT(ICLRHostProtectionManager, SetEagerSerializeGrantSets)
HRESULT ( STDMETHODCALLTYPE *SetEagerSerializeGrantSets )(
__RPC__in ICLRHostProtectionManager * This);
@@ -6754,14 +7794,20 @@ EXTERN_C const IID IID_ICLRDomainManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE SetAppDomainManagerType(
- /* [in] */ __RPC__in LPCWSTR wszAppDomainManagerAssembly,
- /* [in] */ __RPC__in LPCWSTR wszAppDomainManagerType,
- /* [in] */ EInitializeNewDomainFlags dwInitializeDomainFlags) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR wszAppDomainManagerAssembly,
+ /* [annotation][in] */
+ _In_ LPCWSTR wszAppDomainManagerType,
+ /* [annotation][in] */
+ _In_ EInitializeNewDomainFlags dwInitializeDomainFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPropertiesForDefaultAppDomain(
- /* [in] */ DWORD nProperties,
- /* [in] */ __RPC__deref_in_opt LPCWSTR *pwszPropertyNames,
- /* [in] */ __RPC__deref_in_opt LPCWSTR *pwszPropertyValues) = 0;
+ /* [annotation][in] */
+ _In_ DWORD nProperties,
+ /* [annotation][in] */
+ _In_ LPCWSTR *pwszPropertyNames,
+ /* [annotation][in] */
+ _In_ LPCWSTR *pwszPropertyValues) = 0;
};
@@ -6772,29 +7818,41 @@ EXTERN_C const IID IID_ICLRDomainManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ICLRDomainManager * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ICLRDomainManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ICLRDomainManager * This);
+ DECLSPEC_XFGVIRT(ICLRDomainManager, SetAppDomainManagerType)
HRESULT ( STDMETHODCALLTYPE *SetAppDomainManagerType )(
__RPC__in ICLRDomainManager * This,
- /* [in] */ __RPC__in LPCWSTR wszAppDomainManagerAssembly,
- /* [in] */ __RPC__in LPCWSTR wszAppDomainManagerType,
- /* [in] */ EInitializeNewDomainFlags dwInitializeDomainFlags);
+ /* [annotation][in] */
+ _In_ LPCWSTR wszAppDomainManagerAssembly,
+ /* [annotation][in] */
+ _In_ LPCWSTR wszAppDomainManagerType,
+ /* [annotation][in] */
+ _In_ EInitializeNewDomainFlags dwInitializeDomainFlags);
+ DECLSPEC_XFGVIRT(ICLRDomainManager, SetPropertiesForDefaultAppDomain)
HRESULT ( STDMETHODCALLTYPE *SetPropertiesForDefaultAppDomain )(
__RPC__in ICLRDomainManager * This,
- /* [in] */ DWORD nProperties,
- /* [in] */ __RPC__deref_in_opt LPCWSTR *pwszPropertyNames,
- /* [in] */ __RPC__deref_in_opt LPCWSTR *pwszPropertyValues);
+ /* [annotation][in] */
+ _In_ DWORD nProperties,
+ /* [annotation][in] */
+ _In_ LPCWSTR *pwszPropertyNames,
+ /* [annotation][in] */
+ _In_ LPCWSTR *pwszPropertyValues);
END_INTERFACE
} ICLRDomainManagerVtbl;
@@ -6862,31 +7920,44 @@ EXTERN_C const IID IID_ITypeName;
{
public:
virtual HRESULT STDMETHODCALLTYPE GetNameCount(
- /* [retval][out] */ __RPC__out DWORD *pCount) = 0;
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNames(
- /* [in] */ DWORD count,
- /* [out] */ __RPC__deref_out_opt BSTR *rgbszNames,
- /* [retval][out] */ __RPC__out DWORD *pCount) = 0;
+ /* [annotation][in] */
+ _In_ DWORD count,
+ /* [annotation][out] */
+ _Out_ BSTR *rgbszNames,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeArgumentCount(
- /* [retval][out] */ __RPC__out DWORD *pCount) = 0;
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeArguments(
- /* [in] */ DWORD count,
- /* [out] */ __RPC__deref_out_opt ITypeName **rgpArguments,
- /* [retval][out] */ __RPC__out DWORD *pCount) = 0;
+ /* [annotation][in] */
+ _In_ DWORD count,
+ /* [annotation][out] */
+ _Out_ ITypeName **rgpArguments,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetModifierLength(
- /* [retval][out] */ __RPC__out DWORD *pCount) = 0;
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetModifiers(
- /* [in] */ DWORD count,
- /* [out] */ __RPC__out DWORD *rgModifiers,
- /* [retval][out] */ __RPC__out DWORD *pCount) = 0;
+ /* [annotation][in] */
+ _In_ DWORD count,
+ /* [annotation][out] */
+ _Out_ DWORD *rgModifiers,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAssemblyName(
- /* [retval][out] */ __RPC__deref_out_opt BSTR *rgbszAssemblyNames) = 0;
+ /* [annotation][retval][out] */
+ _Out_retval_ BSTR *rgbszAssemblyNames) = 0;
};
@@ -6897,51 +7968,75 @@ EXTERN_C const IID IID_ITypeName;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ITypeName * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ITypeName * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ITypeName * This);
+ DECLSPEC_XFGVIRT(ITypeName, GetNameCount)
HRESULT ( STDMETHODCALLTYPE *GetNameCount )(
__RPC__in ITypeName * This,
- /* [retval][out] */ __RPC__out DWORD *pCount);
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount);
+ DECLSPEC_XFGVIRT(ITypeName, GetNames)
HRESULT ( STDMETHODCALLTYPE *GetNames )(
__RPC__in ITypeName * This,
- /* [in] */ DWORD count,
- /* [out] */ __RPC__deref_out_opt BSTR *rgbszNames,
- /* [retval][out] */ __RPC__out DWORD *pCount);
+ /* [annotation][in] */
+ _In_ DWORD count,
+ /* [annotation][out] */
+ _Out_ BSTR *rgbszNames,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount);
+ DECLSPEC_XFGVIRT(ITypeName, GetTypeArgumentCount)
HRESULT ( STDMETHODCALLTYPE *GetTypeArgumentCount )(
__RPC__in ITypeName * This,
- /* [retval][out] */ __RPC__out DWORD *pCount);
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount);
+ DECLSPEC_XFGVIRT(ITypeName, GetTypeArguments)
HRESULT ( STDMETHODCALLTYPE *GetTypeArguments )(
__RPC__in ITypeName * This,
- /* [in] */ DWORD count,
- /* [out] */ __RPC__deref_out_opt ITypeName **rgpArguments,
- /* [retval][out] */ __RPC__out DWORD *pCount);
+ /* [annotation][in] */
+ _In_ DWORD count,
+ /* [annotation][out] */
+ _Out_ ITypeName **rgpArguments,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount);
+ DECLSPEC_XFGVIRT(ITypeName, GetModifierLength)
HRESULT ( STDMETHODCALLTYPE *GetModifierLength )(
__RPC__in ITypeName * This,
- /* [retval][out] */ __RPC__out DWORD *pCount);
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount);
+ DECLSPEC_XFGVIRT(ITypeName, GetModifiers)
HRESULT ( STDMETHODCALLTYPE *GetModifiers )(
__RPC__in ITypeName * This,
- /* [in] */ DWORD count,
- /* [out] */ __RPC__out DWORD *rgModifiers,
- /* [retval][out] */ __RPC__out DWORD *pCount);
+ /* [annotation][in] */
+ _In_ DWORD count,
+ /* [annotation][out] */
+ _Out_ DWORD *rgModifiers,
+ /* [annotation][retval][out] */
+ _Out_retval_ DWORD *pCount);
+ DECLSPEC_XFGVIRT(ITypeName, GetAssemblyName)
HRESULT ( STDMETHODCALLTYPE *GetAssemblyName )(
__RPC__in ITypeName * This,
- /* [retval][out] */ __RPC__deref_out_opt BSTR *rgbszAssemblyNames);
+ /* [annotation][retval][out] */
+ _Out_retval_ BSTR *rgbszAssemblyNames);
END_INTERFACE
} ITypeNameVtbl;
@@ -7022,7 +8117,8 @@ EXTERN_C const IID IID_ITypeNameBuilder;
virtual HRESULT STDMETHODCALLTYPE CloseGenericArgument( void) = 0;
virtual HRESULT STDMETHODCALLTYPE AddName(
- /* [in] */ __RPC__in LPCWSTR szName) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR szName) = 0;
virtual HRESULT STDMETHODCALLTYPE AddPointer( void) = 0;
@@ -7031,13 +8127,16 @@ EXTERN_C const IID IID_ITypeNameBuilder;
virtual HRESULT STDMETHODCALLTYPE AddSzArray( void) = 0;
virtual HRESULT STDMETHODCALLTYPE AddArray(
- /* [in] */ DWORD rank) = 0;
+ /* [annotation][in] */
+ _In_ DWORD rank) = 0;
virtual HRESULT STDMETHODCALLTYPE AddAssemblySpec(
- /* [in] */ __RPC__in LPCWSTR szAssemblySpec) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR szAssemblySpec) = 0;
virtual HRESULT STDMETHODCALLTYPE ToString(
- /* [retval][out] */ __RPC__deref_out_opt BSTR *pszStringRepresentation) = 0;
+ /* [annotation][retval][out] */
+ _Out_retval_ BSTR *pszStringRepresentation) = 0;
virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
@@ -7050,55 +8149,75 @@ EXTERN_C const IID IID_ITypeNameBuilder;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ITypeNameBuilder * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ITypeNameBuilder * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ITypeNameBuilder * This);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, OpenGenericArguments)
HRESULT ( STDMETHODCALLTYPE *OpenGenericArguments )(
__RPC__in ITypeNameBuilder * This);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, CloseGenericArguments)
HRESULT ( STDMETHODCALLTYPE *CloseGenericArguments )(
__RPC__in ITypeNameBuilder * This);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, OpenGenericArgument)
HRESULT ( STDMETHODCALLTYPE *OpenGenericArgument )(
__RPC__in ITypeNameBuilder * This);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, CloseGenericArgument)
HRESULT ( STDMETHODCALLTYPE *CloseGenericArgument )(
__RPC__in ITypeNameBuilder * This);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, AddName)
HRESULT ( STDMETHODCALLTYPE *AddName )(
__RPC__in ITypeNameBuilder * This,
- /* [in] */ __RPC__in LPCWSTR szName);
+ /* [annotation][in] */
+ _In_ LPCWSTR szName);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, AddPointer)
HRESULT ( STDMETHODCALLTYPE *AddPointer )(
__RPC__in ITypeNameBuilder * This);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, AddByRef)
HRESULT ( STDMETHODCALLTYPE *AddByRef )(
__RPC__in ITypeNameBuilder * This);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, AddSzArray)
HRESULT ( STDMETHODCALLTYPE *AddSzArray )(
__RPC__in ITypeNameBuilder * This);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, AddArray)
HRESULT ( STDMETHODCALLTYPE *AddArray )(
__RPC__in ITypeNameBuilder * This,
- /* [in] */ DWORD rank);
+ /* [annotation][in] */
+ _In_ DWORD rank);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, AddAssemblySpec)
HRESULT ( STDMETHODCALLTYPE *AddAssemblySpec )(
__RPC__in ITypeNameBuilder * This,
- /* [in] */ __RPC__in LPCWSTR szAssemblySpec);
+ /* [annotation][in] */
+ _In_ LPCWSTR szAssemblySpec);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, ToString)
HRESULT ( STDMETHODCALLTYPE *ToString )(
__RPC__in ITypeNameBuilder * This,
- /* [retval][out] */ __RPC__deref_out_opt BSTR *pszStringRepresentation);
+ /* [annotation][retval][out] */
+ _Out_retval_ BSTR *pszStringRepresentation);
+ DECLSPEC_XFGVIRT(ITypeNameBuilder, Clear)
HRESULT ( STDMETHODCALLTYPE *Clear )(
__RPC__in ITypeNameBuilder * This);
@@ -7188,12 +8307,16 @@ EXTERN_C const IID IID_ITypeNameFactory;
{
public:
virtual HRESULT STDMETHODCALLTYPE ParseTypeName(
- /* [in] */ __RPC__in LPCWSTR szName,
- /* [out] */ __RPC__out DWORD *pError,
- /* [retval][out] */ __RPC__deref_out_opt ITypeName **ppTypeName) = 0;
+ /* [annotation][in] */
+ _In_ LPCWSTR szName,
+ /* [annotation][out] */
+ _Out_ DWORD *pError,
+ /* [annotation][retval][out] */
+ _Out_retval_ ITypeName **ppTypeName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeNameBuilder(
- /* [retval][out] */ __RPC__deref_out_opt ITypeNameBuilder **ppTypeBuilder) = 0;
+ /* [annotation][retval][out] */
+ _Out_retval_ ITypeNameBuilder **ppTypeBuilder) = 0;
};
@@ -7204,27 +8327,37 @@ EXTERN_C const IID IID_ITypeNameFactory;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ITypeNameFactory * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ITypeNameFactory * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ITypeNameFactory * This);
+ DECLSPEC_XFGVIRT(ITypeNameFactory, ParseTypeName)
HRESULT ( STDMETHODCALLTYPE *ParseTypeName )(
__RPC__in ITypeNameFactory * This,
- /* [in] */ __RPC__in LPCWSTR szName,
- /* [out] */ __RPC__out DWORD *pError,
- /* [retval][out] */ __RPC__deref_out_opt ITypeName **ppTypeName);
+ /* [annotation][in] */
+ _In_ LPCWSTR szName,
+ /* [annotation][out] */
+ _Out_ DWORD *pError,
+ /* [annotation][retval][out] */
+ _Out_retval_ ITypeName **ppTypeName);
+ DECLSPEC_XFGVIRT(ITypeNameFactory, GetTypeNameBuilder)
HRESULT ( STDMETHODCALLTYPE *GetTypeNameBuilder )(
__RPC__in ITypeNameFactory * This,
- /* [retval][out] */ __RPC__deref_out_opt ITypeNameBuilder **ppTypeBuilder);
+ /* [annotation][retval][out] */
+ _Out_retval_ ITypeNameBuilder **ppTypeBuilder);
END_INTERFACE
} ITypeNameFactoryVtbl;
@@ -7282,8 +8415,10 @@ EXTERN_C const IID IID_IApartmentCallback;
{
public:
virtual HRESULT __stdcall DoCallback(
- /* [in] */ SIZE_T pFunc,
- /* [in] */ SIZE_T pData) = 0;
+ /* [annotation][in] */
+ _In_ SIZE_T pFunc,
+ /* [annotation][in] */
+ _In_ SIZE_T pData) = 0;
};
@@ -7294,22 +8429,29 @@ EXTERN_C const IID IID_IApartmentCallback;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IApartmentCallback * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IApartmentCallback * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IApartmentCallback * This);
+ DECLSPEC_XFGVIRT(IApartmentCallback, DoCallback)
HRESULT ( __stdcall *DoCallback )(
__RPC__in IApartmentCallback * This,
- /* [in] */ SIZE_T pFunc,
- /* [in] */ SIZE_T pData);
+ /* [annotation][in] */
+ _In_ SIZE_T pFunc,
+ /* [annotation][in] */
+ _In_ SIZE_T pData);
END_INTERFACE
} IApartmentCallbackVtbl;
@@ -7470,21 +8612,27 @@ EXTERN_C const IID IID_ICatalogServices;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in ICatalogServices * This,
- /* [in] */ __RPC__in REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in ICatalogServices * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in ICatalogServices * This);
+ DECLSPEC_XFGVIRT(ICatalogServices, Autodone)
HRESULT ( STDMETHODCALLTYPE *Autodone )(
__RPC__in ICatalogServices * This);
+ DECLSPEC_XFGVIRT(ICatalogServices, NotAutodone)
HRESULT ( STDMETHODCALLTYPE *NotAutodone )(
__RPC__in ICatalogServices * This);
@@ -7544,6 +8692,7 @@ class DECLSPEC_UUID("45FB4600-E6E8-4928-B25E-50476FF79425")
ComCallUnmarshalV4;
#endif
+
EXTERN_C const CLSID CLSID_CorRuntimeHost;
#ifdef __cplusplus
@@ -7600,7 +8749,8 @@ EXTERN_C const IID IID_IHostSecurityContext;
{
public:
virtual HRESULT STDMETHODCALLTYPE Capture(
- /* [out] */ IHostSecurityContext **ppClonedContext) = 0;
+ /* [annotation][out] */
+ _Out_ IHostSecurityContext **ppClonedContext) = 0;
};
@@ -7611,21 +8761,27 @@ EXTERN_C const IID IID_IHostSecurityContext;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostSecurityContext * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostSecurityContext * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostSecurityContext * This);
+ DECLSPEC_XFGVIRT(IHostSecurityContext, Capture)
HRESULT ( STDMETHODCALLTYPE *Capture )(
IHostSecurityContext * This,
- /* [out] */ IHostSecurityContext **ppClonedContext);
+ /* [annotation][out] */
+ _Out_ IHostSecurityContext **ppClonedContext);
END_INTERFACE
} IHostSecurityContextVtbl;
@@ -7680,25 +8836,34 @@ EXTERN_C const IID IID_IHostSecurityManager;
{
public:
virtual HRESULT STDMETHODCALLTYPE ImpersonateLoggedOnUser(
- /* [in] */ HANDLE hToken) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE hToken) = 0;
virtual HRESULT STDMETHODCALLTYPE RevertToSelf( void) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenThreadToken(
- /* [in] */ DWORD dwDesiredAccess,
- /* [in] */ BOOL bOpenAsSelf,
- /* [out] */ HANDLE *phThreadToken) = 0;
+ /* [annotation][in] */
+ _In_ DWORD dwDesiredAccess,
+ /* [annotation][in] */
+ _In_ BOOL bOpenAsSelf,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThreadToken) = 0;
virtual HRESULT STDMETHODCALLTYPE SetThreadToken(
- /* [in] */ HANDLE hToken) = 0;
+ /* [annotation][in] */
+ _In_ HANDLE hToken) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSecurityContext(
- /* [in] */ EContextType eContextType,
- /* [out] */ IHostSecurityContext **ppSecurityContext) = 0;
+ /* [annotation][in] */
+ _In_ EContextType eContextType,
+ /* [annotation][out] */
+ _Out_ IHostSecurityContext **ppSecurityContext) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSecurityContext(
- /* [in] */ EContextType eContextType,
- /* [in] */ IHostSecurityContext *pSecurityContext) = 0;
+ /* [annotation][in] */
+ _In_ EContextType eContextType,
+ /* [annotation][in] */
+ _In_ IHostSecurityContext *pSecurityContext) = 0;
};
@@ -7709,44 +8874,63 @@ EXTERN_C const IID IID_IHostSecurityManager;
{
BEGIN_INTERFACE
+ DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IHostSecurityManager * This,
- /* [in] */ REFIID riid,
+ /* [annotation][in] */
+ _In_ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
+ DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
IHostSecurityManager * This);
+ DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
IHostSecurityManager * This);
+ DECLSPEC_XFGVIRT(IHostSecurityManager, ImpersonateLoggedOnUser)
HRESULT ( STDMETHODCALLTYPE *ImpersonateLoggedOnUser )(
IHostSecurityManager * This,
- /* [in] */ HANDLE hToken);
+ /* [annotation][in] */
+ _In_ HANDLE hToken);
+ DECLSPEC_XFGVIRT(IHostSecurityManager, RevertToSelf)
HRESULT ( STDMETHODCALLTYPE *RevertToSelf )(
IHostSecurityManager * This);
+ DECLSPEC_XFGVIRT(IHostSecurityManager, OpenThreadToken)
HRESULT ( STDMETHODCALLTYPE *OpenThreadToken )(
IHostSecurityManager * This,
- /* [in] */ DWORD dwDesiredAccess,
- /* [in] */ BOOL bOpenAsSelf,
- /* [out] */ HANDLE *phThreadToken);
+ /* [annotation][in] */
+ _In_ DWORD dwDesiredAccess,
+ /* [annotation][in] */
+ _In_ BOOL bOpenAsSelf,
+ /* [annotation][out] */
+ _Out_ HANDLE *phThreadToken);
+ DECLSPEC_XFGVIRT(IHostSecurityManager, SetThreadToken)
HRESULT ( STDMETHODCALLTYPE *SetThreadToken )(
IHostSecurityManager * This,
- /* [in] */ HANDLE hToken);
+ /* [annotation][in] */
+ _In_ HANDLE hToken);
+ DECLSPEC_XFGVIRT(IHostSecurityManager, GetSecurityContext)
HRESULT ( STDMETHODCALLTYPE *GetSecurityContext )(
IHostSecurityManager * This,
- /* [in] */ EContextType eContextType,
- /* [out] */ IHostSecurityContext **ppSecurityContext);
+ /* [annotation][in] */
+ _In_ EContextType eContextType,
+ /* [annotation][out] */
+ _Out_ IHostSecurityContext **ppSecurityContext);
+ DECLSPEC_XFGVIRT(IHostSecurityManager, SetSecurityContext)
HRESULT ( STDMETHODCALLTYPE *SetSecurityContext )(
IHostSecurityManager * This,
- /* [in] */ EContextType eContextType,
- /* [in] */ IHostSecurityContext *pSecurityContext);
+ /* [annotation][in] */
+ _In_ EContextType eContextType,
+ /* [annotation][in] */
+ _In_ IHostSecurityContext *pSecurityContext);
END_INTERFACE
} IHostSecurityManagerVtbl;
@@ -7907,8 +9091,7 @@ EXTERN_C const IID IID_ICLRAppDomainResourceMonitor;
#endif /* __ICLRAppDomainResourceMonitor_INTERFACE_DEFINED__ */
-
-/* interface __MIDL_itf_mscoree_0000_0051 */
+/* interface __MIDL_itf_mscoree_0000_0050 */
/* [local] */
#undef DEPRECATED_CLR_STDAPI
@@ -7916,8 +9099,8 @@ EXTERN_C const IID IID_ICLRAppDomainResourceMonitor;
#undef DEPRECATED_CLR_API_MESG
-extern RPC_IF_HANDLE __MIDL_itf_mscoree_0000_0051_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_mscoree_0000_0051_v0_0_s_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_mscoree_0000_0050_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_mscoree_0000_0050_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
@@ -7926,6 +9109,11 @@ unsigned char * __RPC_USER VARIANT_UserMarshal( __RPC__in unsigned long *, __R
unsigned char * __RPC_USER VARIANT_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * );
void __RPC_USER VARIANT_UserFree( __RPC__in unsigned long *, __RPC__in VARIANT * );
+unsigned long __RPC_USER VARIANT_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in VARIANT * );
+unsigned char * __RPC_USER VARIANT_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out VARIANT * );
+void __RPC_USER VARIANT_UserFree64( __RPC__in unsigned long *, __RPC__in VARIANT * );
+
/* end of Additional Prototypes */
#ifdef __cplusplus
diff --git a/generation/WinSDK/AdditionalHeaders/mssign.h b/generation/WinSDK/AdditionalHeaders/mssign.h
new file mode 100644
index 00000000..c0d8ee28
--- /dev/null
+++ b/generation/WinSDK/AdditionalHeaders/mssign.h
@@ -0,0 +1,285 @@
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define SIGNER_SUBJECT_FILE 0x01
+#define SIGNER_SUBJECT_BLOB 0x02
+
+#define SIGNER_NO_ATTR 0x00
+#define SIGNER_AUTHCODE_ATTR 0x01
+
+#define PVK_TYPE_FILE_NAME 0x01
+#define PVK_TYPE_KEYCONTAINER 0x02
+
+#define SIGNER_CERT_POLICY_STORE 0x01
+#define SIGNER_CERT_POLICY_CHAIN 0x02
+#define SIGNER_CERT_POLICY_SPC 0x04
+#define SIGNER_CERT_POLICY_CHAIN_NO_ROOT 0x08
+
+#define SIGNER_CERT_SPC_FILE 0x01
+#define SIGNER_CERT_STORE 0x02
+#define SIGNER_CERT_SPC_CHAIN 0x03
+
+#define SIGNER_TIMESTAMP_AUTHENTICODE 1
+#define SIGNER_TIMESTAMP_RFC3161 2
+#define SIG_APPEND 0x1000
+
+typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN)(
+ _In_ PCCERT_CONTEXT pSigningCert,
+ _In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
+ _In_ ALG_ID digestAlgId,
+ _In_ PBYTE pbToBeSignedDigest,
+ _In_ DWORD cbToBeSignedDigest,
+ _Out_ PCRYPT_DATA_BLOB pSignedDigest
+ );
+
+typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN_EX)(
+ _In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
+ _In_ ALG_ID digestAlgId,
+ _In_ PBYTE pbToBeSignedDigest,
+ _In_ DWORD cbToBeSignedDigest,
+ _Out_ PCRYPT_DATA_BLOB pSignedDigest,
+ _Out_ PCCERT_CONTEXT* ppSignerCert,
+ _Inout_ HCERTSTORE hCertChainStore
+ );
+
+typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN_EX_WITHFILEHANDLE)(
+ _In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
+ _In_ ALG_ID digestAlgId,
+ _In_ PBYTE pbToBeSignedDigest,
+ _In_ DWORD cbToBeSignedDigest,
+ _In_ HANDLE hFile,
+ _Out_ PCRYPT_DATA_BLOB pSignedDigest,
+ _Out_ PCCERT_CONTEXT* ppSignerCert,
+ _Inout_ HCERTSTORE hCertChainStore
+ );
+
+typedef HRESULT (WINAPI *PFN_AUTHENTICODE_DIGEST_SIGN_WITHFILEHANDLE)(
+ _In_ PCCERT_CONTEXT pSigningCert,
+ _In_opt_ PCRYPT_DATA_BLOB pMetadataBlob,
+ _In_ ALG_ID digestAlgId,
+ _In_ PBYTE pbToBeSignedDigest,
+ _In_ DWORD cbToBeSignedDigest,
+ _In_ HANDLE hFile,
+ _Out_ PCRYPT_DATA_BLOB pSignedDigest
+ );
+
+typedef struct _SIGNER_ATTR_AUTHCODE {
+ DWORD cbSize;
+ BOOL fCommercial;
+ BOOL fIndividual;
+ LPCWSTR pwszName;
+ LPCWSTR pwszInfo;
+} SIGNER_ATTR_AUTHCODE, *PSIGNER_ATTR_AUTHCODE;
+
+typedef struct _SIGNER_BLOB_INFO {
+ DWORD cbSize;
+ GUID *pGuidSubject;
+ DWORD cbBlob;
+ BYTE *pbBlob;
+ LPCWSTR pwszDisplayName;
+} SIGNER_BLOB_INFO, *PSIGNER_BLOB_INFO;
+
+typedef struct _SIGNER_CERT_STORE_INFO {
+ DWORD cbSize;
+ PCCERT_CONTEXT pSigningCert;
+ DWORD dwCertPolicy;
+ HCERTSTORE hCertStore;
+} SIGNER_CERT_STORE_INFO, *PSIGNER_CERT_STORE_INFO;
+
+typedef struct _SIGNER_SPC_CHAIN_INFO {
+ DWORD cbSize;
+ LPCWSTR pwszSpcFile;
+ DWORD dwCertPolicy;
+ HCERTSTORE hCertStore;
+} SIGNER_SPC_CHAIN_INFO, *PSIGNER_SPC_CHAIN_INFO;
+
+typedef struct _SIGNER_CERT {
+ DWORD cbSize;
+ DWORD dwCertChoice;
+ union {
+ LPCWSTR pwszSpcFile;
+ SIGNER_CERT_STORE_INFO *pCertStoreInfo;
+ SIGNER_SPC_CHAIN_INFO *pSpcChainInfo;
+ };
+ HWND hwnd;
+} SIGNER_CERT, *PSIGNER_CERT;
+
+typedef struct _SIGNER_CONTEXT {
+ DWORD cbSize;
+ DWORD cbBlob;
+ BYTE *pbBlob;
+} SIGNER_CONTEXT, *PSIGNER_CONTEXT;
+
+typedef struct _SIGNER_DIGEST_SIGN_INFO {
+ DWORD cbSize;
+ DWORD dwDigestSignChoice;
+ union {
+ PFN_AUTHENTICODE_DIGEST_SIGN pfnAuthenticodeDigestSign;
+ PFN_AUTHENTICODE_DIGEST_SIGN_WITHFILEHANDLE pfnAuthenticodeDigestSignWithFileHandle;
+ PFN_AUTHENTICODE_DIGEST_SIGN_EX pfnAuthenticodeDigestSignEx;
+ PFN_AUTHENTICODE_DIGEST_SIGN_EX_WITHFILEHANDLE pfnAuthenticodeDigestSignExWithFileHandle;
+ };
+ PCRYPT_DATA_BLOB pMetadataBlob;
+ DWORD dwReserved;
+ DWORD dwReserved2;
+ DWORD dwReserved3;
+} SIGNER_DIGEST_SIGN_INFO, *PSIGNER_DIGEST_SIGN_INFO;
+
+typedef struct SIGNER_DIGEST_SIGN_INFO_V1 {
+ DWORD cbSize;
+ PFN_AUTHENTICODE_DIGEST_SIGN pfnAuthenticodeDigestSign;
+ PCRYPT_DATA_BLOB pMetadataBlob;
+} SIGNER_DIGEST_SIGN_INFO_V1, *PSIGNER_DIGEST_SIGN_INFO_V1;
+
+typedef struct SIGNER_DIGEST_SIGN_INFO_V2 {
+ DWORD cbSize;
+ PFN_AUTHENTICODE_DIGEST_SIGN pfnAuthenticodeDigestSign;
+ PFN_AUTHENTICODE_DIGEST_SIGN_EX pfnAuthenticodeDigestSignEx;
+ PCRYPT_DATA_BLOB pMetadataBlob;
+} SIGNER_DIGEST_SIGN_INFO_V2, *PSIGNER_DIGEST_SIGN_INFO_V2;
+
+typedef struct _SIGNER_FILE_INFO {
+ DWORD cbSize;
+ LPCWSTR pwszFileName;
+ HANDLE hFile;
+} SIGNER_FILE_INFO, *PSIGNER_FILE_INFO;
+
+typedef struct _SIGNER_PROVIDER_INFO {
+ DWORD cbSize;
+ LPCWSTR pwszProviderName;
+ DWORD dwProviderType;
+ DWORD dwKeySpec;
+ DWORD dwPvkChoice;
+ union {
+ LPWSTR pwszPvkFileName;
+ LPWSTR pwszKeyContainer;
+ };
+} SIGNER_PROVIDER_INFO, *PSIGNER_PROVIDER_INFO;
+
+typedef struct _SIGNER_SIGNATURE_INFO {
+ DWORD cbSize;
+ ALG_ID algidHash;
+ DWORD dwAttrChoice;
+ union {
+ SIGNER_ATTR_AUTHCODE *pAttrAuthcode;
+ };
+ PCRYPT_ATTRIBUTES psAuthenticated;
+ PCRYPT_ATTRIBUTES psUnauthenticated;
+} SIGNER_SIGNATURE_INFO, *PSIGNER_SIGNATURE_INFO;
+
+typedef struct _SIGNER_SUBJECT_INFO {
+ DWORD cbSize;
+ DWORD *pdwIndex;
+ DWORD dwSubjectChoice;
+ union {
+ SIGNER_FILE_INFO *pSignerFileInfo;
+ SIGNER_BLOB_INFO *pSignerBlobInfo;
+ };
+} SIGNER_SUBJECT_INFO, *PSIGNER_SUBJECT_INFO;
+
+HRESULT WINAPI SignError(void);
+
+HRESULT WINAPI SignerFreeSignerContext(
+ _In_ SIGNER_CONTEXT *pSignerContext
+ );
+
+HRESULT WINAPI SignerSign(
+ _In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
+ _In_ SIGNER_CERT *pSignerCert,
+ _In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
+ _In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
+ _In_opt_ LPCWSTR pwszHttpTimeStamp,
+ _In_opt_ PCRYPT_ATTRIBUTES psRequest,
+ _In_opt_ LPVOID pSipData
+ );
+
+HRESULT WINAPI SignerSignEx(
+ _In_ DWORD dwFlags,
+ _In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
+ _In_ SIGNER_CERT *pSignerCert,
+ _In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
+ _In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
+ _In_opt_ LPCWSTR pwszHttpTimeStamp,
+ _In_opt_ PCRYPT_ATTRIBUTES psRequest,
+ _In_opt_ LPVOID pSipData,
+ _Out_ SIGNER_CONTEXT **ppSignerContext
+ );
+
+HRESULT WINAPI SignerSignEx2(
+ _In_ DWORD dwFlags,
+ _In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
+ _In_ SIGNER_CERT *pSignerCert,
+ _In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
+ _In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
+ _In_opt_ DWORD dwTimestampFlags,
+ _In_opt_ PCSTR pszTimestampAlgorithmOid,
+ _In_opt_ PCWSTR pwszHttpTimeStamp,
+ _In_opt_ PCRYPT_ATTRIBUTES psRequest,
+ _In_opt_ PVOID pSipData,
+ _Out_ SIGNER_CONTEXT **ppSignerContext,
+ _In_opt_ PCERT_STRONG_SIGN_PARA pCryptoPolicy,
+ _Reserved_ PVOID pReserved
+ );
+
+HRESULT WINAPI SignerSignEx3(
+ _In_ DWORD dwFlags,
+ _In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
+ _In_ SIGNER_CERT *pSignerCert,
+ _In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
+ _In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
+ _In_opt_ DWORD dwTimestampFlags,
+ _In_opt_ PCSTR pszTimestampAlgorithmOid,
+ _In_opt_ PCWSTR pwszHttpTimeStamp,
+ _In_opt_ PCRYPT_ATTRIBUTES psRequest,
+ _In_opt_ PVOID pSipData,
+ _Out_ SIGNER_CONTEXT **ppSignerContext,
+ _In_opt_ PCERT_STRONG_SIGN_PARA pCryptoPolicy,
+ _In_opt_ SIGNER_DIGEST_SIGN_INFO *pDigestSignInfo,
+ _Reserved_ PVOID pReserved
+ );
+
+HRESULT WINAPI SignerTimeStamp(
+ _In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
+ _In_ LPCWSTR pwszHttpTimeStamp,
+ _In_opt_ PCRYPT_ATTRIBUTES psRequest,
+ _In_opt_ LPVOID pSipData
+ );
+
+HRESULT WINAPI SignerTimeStampEx(
+ _Reserved_ DWORD dwFlags,
+ _In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
+ _In_ LPCWSTR pwszHttpTimeStamp,
+ _In_ PCRYPT_ATTRIBUTES psRequest,
+ _In_ LPVOID pSipData,
+ _Out_ SIGNER_CONTEXT **ppSignerContext
+ );
+
+HRESULT WINAPI SignerTimeStampEx2(
+ _Reserved_ DWORD dwFlags,
+ _In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
+ _In_ LPCWSTR pwszHttpTimeStamp,
+ _In_ ALG_ID dwAlgId,
+ _In_ PCRYPT_ATTRIBUTES psRequest,
+ _In_ LPVOID pSipData,
+ _Out_ SIGNER_CONTEXT **ppSignerContext
+ );
+
+HRESULT WINAPI SignerTimeStampEx3(
+ _In_ DWORD dwFlags,
+ _In_ DWORD dwIndex,
+ _In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
+ _In_ PCWSTR pwszHttpTimeStamp,
+ _In_ PCWSTR pszAlgorithmOid,
+ _In_opt_ PCRYPT_ATTRIBUTES psRequest,
+ _In_opt_ PVOID pSipData,
+ _Out_ SIGNER_CONTEXT **ppSignerContext,
+ _In_opt_ PCERT_STRONG_SIGN_PARA pCryptoPolicy,
+ _Reserved_ PVOID pReserved
+ );
+
+#ifdef __cplusplus
+}
+#endif
\ No newline at end of file
diff --git a/generation/WinSDK/ConstantsScraper.header.txt b/generation/WinSDK/ConstantsScraper.header.txt
index 7471e852..508b5a7c 100644
--- a/generation/WinSDK/ConstantsScraper.header.txt
+++ b/generation/WinSDK/ConstantsScraper.header.txt
@@ -3,6 +3,7 @@ using Windows.Win32.Devices.Properties; // For DEVPROPKEY
using static Windows.Win32.Data.Xml.MsXml.Apis; // Various constants
using static Windows.Win32.Devices.DeviceAccess.Apis; // Various constants
using static Windows.Win32.Foundation.Apis; // Various constants
+using static Windows.Win32.Foundation.WAIT_EVENT;
using static Windows.Win32.Foundation.WIN32_ERROR;
using static Windows.Win32.Graphics.Direct3D9.D3DFORMAT; // For D3DFMT_* constants
using static Windows.Win32.Media.Apis; // Various constants
diff --git a/generation/WinSDK/ConstantsScraper.settings.rsp b/generation/WinSDK/ConstantsScraper.settings.rsp
index 44f35182..4b9a4979 100644
--- a/generation/WinSDK/ConstantsScraper.settings.rsp
+++ b/generation/WinSDK/ConstantsScraper.settings.rsp
@@ -6,10 +6,13 @@ E_OUTOFMEMORY=NativeTypeName("HRESULT")
HIDP_STATUS_I8242_TRANS_UNKNOWN=NativeTypeName("NTSTATUS")
IDI_APPLICATION=NativeTypeName("LPCWSTR")
IDI_ASTERISK=NativeTypeName("LPCWSTR")
+IDI_ERROR=NativeTypeName("LPCWSTR")
IDI_EXCLAMATION=NativeTypeName("LPCWSTR")
IDI_HAND=NativeTypeName("LPCWSTR")
+IDI_INFORMATION=NativeTypeName("LPCWSTR")
IDI_QUESTION=NativeTypeName("LPCWSTR")
IDI_SHIELD=NativeTypeName("LPCWSTR")
+IDI_WARNING=NativeTypeName("LPCWSTR")
IDI_WINLOGO=NativeTypeName("LPCWSTR")
--with-type
ACCESS_SYSTEM_SECURITY=uint
@@ -569,4 +572,20 @@ FILE_OPEN_FOR_BACKUP_INTENT
FILE_RESERVE_OPFILTER
FILE_OPEN_REQUIRING_OPLOCK
FILE_COMPLETE_IF_OPLOCKED
-FILE_OPEN_FOR_FREE_SPACE_QUERY
\ No newline at end of file
+FILE_OPEN_FOR_FREE_SPACE_QUERY
+CONTEXT_i386
+CONTEXT_i486
+CONTEXT_EXCEPTION_ACTIVE
+CONTEXT_SERVICE_ACTIVE
+CONTEXT_EXCEPTION_REQUEST
+CONTEXT_EXCEPTION_REPORTING
+CONTEXT_KERNEL_DEBUGGER
+CONTEXT_UNWOUND_TO_CALL
+CONTEXT_ARM64_UNWOUND_TO_CALL
+CONTEXT_ARM64_RET_TO_GUEST
+WOW64_CONTEXT_i386
+WOW64_CONTEXT_i486
+WOW64_CONTEXT_EXCEPTION_ACTIVE
+WOW64_CONTEXT_SERVICE_ACTIVE
+WOW64_CONTEXT_EXCEPTION_REQUEST
+WOW64_CONTEXT_EXCEPTION_REPORTING
\ No newline at end of file
diff --git a/generation/WinSDK/Partitions/Backup/settings.rsp b/generation/WinSDK/Partitions/Backup/settings.rsp
index b40249a8..327f65d5 100644
--- a/generation/WinSDK/Partitions/Backup/settings.rsp
+++ b/generation/WinSDK/Partitions/Backup/settings.rsp
@@ -1,3 +1,5 @@
+--config
+exclude-empty-records
--exclude
_LIST_ENTRY
LIST_ENTRY32
diff --git a/generation/WinSDK/Partitions/Base/main.cpp b/generation/WinSDK/Partitions/Base/main.cpp
index 77abbb12..6e3e6fee 100644
--- a/generation/WinSDK/Partitions/Base/main.cpp
+++ b/generation/WinSDK/Partitions/Base/main.cpp
@@ -27,7 +27,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/generation/WinSDK/Partitions/Base/settings.rsp b/generation/WinSDK/Partitions/Base/settings.rsp
index 3dbe22f1..281f57eb 100644
--- a/generation/WinSDK/Partitions/Base/settings.rsp
+++ b/generation/WinSDK/Partitions/Base/settings.rsp
@@ -1,3 +1,5 @@
+--config
+exclude-empty-records
--exclude
_LIST_ENTRY
_D3DCOLORVALUE
@@ -32,13 +34,9 @@ _D3DTEXTURETRANSFORMFLAGS
PENCLAVE_ROUTINE
LPENCLAVE_ROUTINE
--traverse
-/um/d3dnthal.h
-/um/d3dcaps.h
-/um/d3dtypes.h
/shared/wtypes.h
/um/minwinbase.h
/um/storprop.h
-/um/atlthunk.h
/um/dlnadeviceinterfaceids.h
/um/dlnametadataproviderproperties.h
--namespace
diff --git a/generation/WinSDK/Partitions/Com/main.cpp b/generation/WinSDK/Partitions/Com/main.cpp
index 9f2379a8..3aa862d4 100644
--- a/generation/WinSDK/Partitions/Com/main.cpp
+++ b/generation/WinSDK/Partitions/Com/main.cpp
@@ -1,5 +1,7 @@
#define SECURITY_WIN32 // For sspi.h
#define QCC_OS_GROUP_WINDOWS
+#define NONAMELESSUNION
+#define USE_COM_CONTEXT_DEF
#include "intrinfix.h"
#include "windows.fixed.h"
diff --git a/generation/WinSDK/Partitions/Com/settings.rsp b/generation/WinSDK/Partitions/Com/settings.rsp
index a1e27c7c..e7748fe8 100644
--- a/generation/WinSDK/Partitions/Com/settings.rsp
+++ b/generation/WinSDK/Partitions/Com/settings.rsp
@@ -1,3 +1,5 @@
+--config
+exclude-empty-records
--exclude
_GUID
--traverse
diff --git a/generation/WinSDK/Partitions/Direct3D9/main.cpp b/generation/WinSDK/Partitions/Direct3D9/main.cpp
index 074f020d..d497f418 100644
--- a/generation/WinSDK/Partitions/Direct3D9/main.cpp
+++ b/generation/WinSDK/Partitions/Direct3D9/main.cpp
@@ -11,3 +11,5 @@
//#include
#include
#include
+#include
+#include
diff --git a/generation/WinSDK/Partitions/Direct3D9/settings.rsp b/generation/WinSDK/Partitions/Direct3D9/settings.rsp
index 2f0e6fdf..b7363979 100644
--- a/generation/WinSDK/Partitions/Direct3D9/settings.rsp
+++ b/generation/WinSDK/Partitions/Direct3D9/settings.rsp
@@ -1,9 +1,11 @@
--with-type
D3DFORMAT=uint
--traverse
-/shared/d3d9types.h
-/shared/d3d9caps.h
-/um/d3d9helper.h
/shared/d3d9.h
+/shared/d3d9caps.h
+/shared/d3d9types.h
+/um/d3d9helper.h
+/um/d3dcaps.h
+/um/d3dtypes.h
--namespace
Windows.Win32.Graphics.Direct3D9
diff --git a/generation/WinSDK/Partitions/DirectDraw/settings.rsp b/generation/WinSDK/Partitions/DirectDraw/settings.rsp
index ed3895cd..9c80d0dd 100644
--- a/generation/WinSDK/Partitions/DirectDraw/settings.rsp
+++ b/generation/WinSDK/Partitions/DirectDraw/settings.rsp
@@ -1,3 +1,6 @@
+--remap
+_MDL=DDMDL
+PMDL=DDMDL*
--traverse
/um/ddraw.h
/um/ddrawi.h
diff --git a/generation/WinSDK/Partitions/Identity/main.cpp b/generation/WinSDK/Partitions/Identity/main.cpp
index e222fce1..25361457 100644
--- a/generation/WinSDK/Partitions/Identity/main.cpp
+++ b/generation/WinSDK/Partitions/Identity/main.cpp
@@ -6,12 +6,8 @@
#include "windows.fixed.h"
#include
-#include
+#include
-// Usually brought in by windows.h
-typedef NTSTATUS* PNTSTATUS;
-
-#define _NTDEF_
#define SECURITY_WIN32
#include
#include
@@ -21,14 +17,7 @@ extern "C" {
#include
}
-typedef struct _OLD_LARGE_INTEGER {
- ULONG LowPart;
- LONG HighPart;
-} OLD_LARGE_INTEGER, *POLD_LARGE_INTEGER;
-
-
#include
-#include
#include
#include
#include
diff --git a/generation/WinSDK/Partitions/Identity/settings.rsp b/generation/WinSDK/Partitions/Identity/settings.rsp
index 4e395c74..e59084b7 100644
--- a/generation/WinSDK/Partitions/Identity/settings.rsp
+++ b/generation/WinSDK/Partitions/Identity/settings.rsp
@@ -5,6 +5,9 @@ SLDATATYPE=uint
_CYPHER_BLOCK
_LM_OWF_PASSWORD
_SecHandle
+SystemFunction036
+SystemFunction040
+SystemFunction041
--traverse
/shared/secext.h
/shared/security.h
diff --git a/generation/WinSDK/Partitions/IpHlp/main.cpp b/generation/WinSDK/Partitions/IpHlp/main.cpp
index ac9627d1..4e796cda 100644
--- a/generation/WinSDK/Partitions/IpHlp/main.cpp
+++ b/generation/WinSDK/Partitions/IpHlp/main.cpp
@@ -14,6 +14,7 @@
#include
#include
#include
+#include
#include
#include
#include
diff --git a/generation/WinSDK/Partitions/Media.KernelStreaming/main.cpp b/generation/WinSDK/Partitions/Media.KernelStreaming/main.cpp
index a15acf6c..df60febd 100644
--- a/generation/WinSDK/Partitions/Media.KernelStreaming/main.cpp
+++ b/generation/WinSDK/Partitions/Media.KernelStreaming/main.cpp
@@ -7,6 +7,9 @@
#include
#include
+#define __STREAMS__
+
#include
#include
+#include
#include
diff --git a/generation/WinSDK/Partitions/MenuRc/main.cpp b/generation/WinSDK/Partitions/MenuRc/main.cpp
index 249c3fca..c197154b 100644
--- a/generation/WinSDK/Partitions/MenuRc/main.cpp
+++ b/generation/WinSDK/Partitions/MenuRc/main.cpp
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
#include
#include
#include
diff --git a/generation/WinSDK/Partitions/MenuRc/settings.rsp b/generation/WinSDK/Partitions/MenuRc/settings.rsp
index e0162ef0..741e0e10 100644
--- a/generation/WinSDK/Partitions/MenuRc/settings.rsp
+++ b/generation/WinSDK/Partitions/MenuRc/settings.rsp
@@ -5,6 +5,7 @@
/um/mrmresourceindexer.h
/um/ResourceIndexer.h
/um/WinUser.h
+/um/menutemplate.h
--namespace
Windows.Win32.UI.WindowsAndMessaging
--exclude
diff --git a/generation/WinSDK/Partitions/Properties/main.cpp b/generation/WinSDK/Partitions/Properties/main.cpp
index 9816b3cb..75a1923d 100644
--- a/generation/WinSDK/Partitions/Properties/main.cpp
+++ b/generation/WinSDK/Partitions/Properties/main.cpp
@@ -11,6 +11,5 @@
#include
#include
#include
-#include
#include
#include
diff --git a/generation/WinSDK/Partitions/Properties/settings.rsp b/generation/WinSDK/Partitions/Properties/settings.rsp
index cccc04ef..47513d7a 100644
--- a/generation/WinSDK/Partitions/Properties/settings.rsp
+++ b/generation/WinSDK/Partitions/Properties/settings.rsp
@@ -1,6 +1,5 @@
--traverse
/um/propsys.h
-/um/propvarutil.h
--namespace
Windows.Win32.UI.Shell.PropertiesSystem
--with-type
diff --git a/generation/WinSDK/Partitions/Search/main.cpp b/generation/WinSDK/Partitions/Search/main.cpp
index 58265460..4de9ba53 100644
--- a/generation/WinSDK/Partitions/Search/main.cpp
+++ b/generation/WinSDK/Partitions/Search/main.cpp
@@ -1,13 +1,13 @@
#define SECURITY_WIN32 // For sspi.h
#define QCC_OS_GROUP_WINDOWS
+#define QUERY_H_RESTRICTION_PERMISSIVE 1
+#define oledb_deprecated
#include "intrinfix.h"
#include "windows.fixed.h"
#include
-#define QUERY_H_RESTRICTION_PERMISSIVE 1
-
#include
#include
#include
diff --git a/generation/WinSDK/Partitions/Security.Cryptography/main.cpp b/generation/WinSDK/Partitions/Security.Cryptography/main.cpp
index bd6bad00..b3f28090 100644
--- a/generation/WinSDK/Partitions/Security.Cryptography/main.cpp
+++ b/generation/WinSDK/Partitions/Security.Cryptography/main.cpp
@@ -22,6 +22,7 @@ typedef NTSTATUS* PNTSTATUS;
#include
#include
#include
+#include
#include
#include
#include
diff --git a/generation/WinSDK/Partitions/Security.Cryptography/settings.rsp b/generation/WinSDK/Partitions/Security.Cryptography/settings.rsp
index bc1c412a..79c852a5 100644
--- a/generation/WinSDK/Partitions/Security.Cryptography/settings.rsp
+++ b/generation/WinSDK/Partitions/Security.Cryptography/settings.rsp
@@ -14,5 +14,6 @@ _LM_OWF_PASSWORD
/um/wincrypt.h
/um/i_cryptasn1tls.h
/um/infocard.h
+/um/mssign.h
--namespace
Windows.Win32.Security.Cryptography
diff --git a/generation/WinSDK/Partitions/Threading/main.cpp b/generation/WinSDK/Partitions/Threading/main.cpp
index 2e5c2a97..64f3ef0c 100644
--- a/generation/WinSDK/Partitions/Threading/main.cpp
+++ b/generation/WinSDK/Partitions/Threading/main.cpp
@@ -7,6 +7,7 @@
#include
#include
+#include
#define MakeProcThreadAttributeConst(value) \
const DWORD __forceconst__##value = value;
diff --git a/generation/WinSDK/Partitions/Variant/main.cpp b/generation/WinSDK/Partitions/Variant/main.cpp
new file mode 100644
index 00000000..b2f46a7f
--- /dev/null
+++ b/generation/WinSDK/Partitions/Variant/main.cpp
@@ -0,0 +1,9 @@
+#define SECURITY_WIN32 // For sspi.h
+#define QCC_OS_GROUP_WINDOWS
+
+#include "intrinfix.h"
+
+#include "windows.fixed.h"
+#include
+
+#include
diff --git a/generation/WinSDK/Partitions/Variant/settings.rsp b/generation/WinSDK/Partitions/Variant/settings.rsp
new file mode 100644
index 00000000..8d4a3257
--- /dev/null
+++ b/generation/WinSDK/Partitions/Variant/settings.rsp
@@ -0,0 +1,4 @@
+--traverse
+/um/propvarutil.h
+--namespace
+Windows.Win32.System.Variant
diff --git a/generation/WinSDK/Partitions/WinProg/settings.rsp b/generation/WinSDK/Partitions/WinProg/settings.rsp
index 40795bdf..52a88eab 100644
--- a/generation/WinSDK/Partitions/WinProg/settings.rsp
+++ b/generation/WinSDK/Partitions/WinProg/settings.rsp
@@ -1,19 +1,37 @@
--exclude
-_UNICODE_STRING
-_STRING
-RtlCaptureStackBackTrace
-RtlCaptureContext
-RtlUnwind
-RtlRaiseException
-RtlPcToFileHeader
-RtlCompareMemory
-UiaRect
_FILE_DISPOSITION_INFO
-_TEB
+_KEY_SET_INFORMATION_CLASS
+_KEY_VALUE_ENTRY
+_OBJECT_INFORMATION_CLASS
_PROCESS_BASIC_INFORMATION
_PROCESSINFOCLASS
+_STRING
+_SYSTEM_INFORMATION_CLASS
_THREADINFOCLASS
+_UNICODE_STRING
+NtClose
NtCreateFile
+NtDeviceIoControlFile
+NtNotifyChangeMultipleKeys
+NtOpenFile
+NtQueryInformationProcess
+NtQueryInformationThread
+NtQueryMultipleValueKey
+NtQueryObject
+NtQuerySystemInformation
+NtQuerySystemTime
+NtQueryTimerResolution
+NtRenameKey
+NtSetInformationKey
+NtSetInformationThread
+NtWaitForSingleObject
+RtlCaptureContext
+RtlCaptureStackBackTrace
+RtlCompareMemory
+RtlPcToFileHeader
+RtlRaiseException
+RtlUnwind
+UiaRect
--traverse
/um/wldp.h
/shared/tdiinfo.h
diff --git a/generation/WinSDK/RecompiledIdlHeaders/shared/dxgiformat.h b/generation/WinSDK/RecompiledIdlHeaders/shared/dxgiformat.h
index 52aae1b2..83e6c077 100644
--- a/generation/WinSDK/RecompiledIdlHeaders/shared/dxgiformat.h
+++ b/generation/WinSDK/RecompiledIdlHeaders/shared/dxgiformat.h
@@ -135,6 +135,8 @@ typedef enum DXGI_FORMAT
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189,
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190,
+ DXGI_FORMAT_A4B4G4R4_UNORM = 191,
+
DXGI_FORMAT_FORCE_UINT = 0xffffffff
} DXGI_FORMAT;
diff --git a/generation/WinSDK/RecompiledIdlHeaders/shared/dxgiformat.idl b/generation/WinSDK/RecompiledIdlHeaders/shared/dxgiformat.idl
index d9576ef6..34cc883e 100644
--- a/generation/WinSDK/RecompiledIdlHeaders/shared/dxgiformat.idl
+++ b/generation/WinSDK/RecompiledIdlHeaders/shared/dxgiformat.idl
@@ -131,6 +131,8 @@ typedef enum DXGI_FORMAT
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189,
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190,
+ DXGI_FORMAT_A4B4G4R4_UNORM = 191,
+
DXGI_FORMAT_FORCE_UINT = 0xffffffff
} DXGI_FORMAT;
diff --git a/generation/WinSDK/RecompiledIdlHeaders/um/D3D12TokenizedProgramFormat.hpp b/generation/WinSDK/RecompiledIdlHeaders/um/D3D12TokenizedProgramFormat.hpp
new file mode 100644
index 00000000..4d04c3a7
--- /dev/null
+++ b/generation/WinSDK/RecompiledIdlHeaders/um/D3D12TokenizedProgramFormat.hpp
@@ -0,0 +1,2627 @@
+#pragma once
+//*********************************************************
+//
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License (MIT).
+//
+//*********************************************************
+//
+// High Level Goals
+//
+// - Serve as the runtime/DDI representation for all D3D11 tokenized code,
+// for all classes of programs, including pixel program, vertex program,
+// geometry program, etc.
+//
+// - Any information that HLSL needs to give to drivers is encoded in
+// this token format in some form.
+//
+// - Enable common tools and source code for managing all tokenizable
+// program formats.
+//
+// - Support extensible token definitions, allowing full customizations for
+// specific program classes, while maintaining general conventions for all
+// program models.
+//
+// - Binary backwards compatible with D3D10. Any token name that was originally
+// defined with "D3D10" in it is unchanged; D3D11 only adds new tokens.
+//
+// ----------------------------------------------------------------------------
+//
+// Low Level Feature Summary
+//
+// - DWORD based tokens always, for simplicity
+// - Opcode token is generally a single DWORD, though there is a bit indicating
+// if extended information (extra DWORD(s)) are present
+// - Operand tokens are a completely self contained, extensible format,
+// with scalar and 4-vector data types as first class citizens, but
+// allowance for extension to n-component vectors.
+// - Initial operand token identifies register type, register file
+// structure/dimensionality and mode of indexing for each dimension,
+// and choice of component selection mechanism (i.e. mask vs. swizzle etc).
+// - Optional additional extended operand tokens can defined things like
+// modifiers (which are not needed by default).
+// - Operand's immediate index value(s), if needed, appear as subsequent DWORD
+// values, and if relative addressing is specified, an additional completely
+// self contained operand definition appears nested in the token sequence.
+//
+// ----------------------------------------------------------------------------
+
+#include
+
+#pragma region Application Family
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
+
+// ----------------------------------------------------------------------------
+// Version Token (VerTok)
+//
+// [07:00] minor version number (0-255)
+// [15:08] major version number (0-255)
+// [31:16] D3D10_SB_TOKENIZED_PROGRAM_TYPE
+//
+// ----------------------------------------------------------------------------
+
+typedef enum D3D10_SB_TOKENIZED_PROGRAM_TYPE
+{
+ D3D10_SB_PIXEL_SHADER = 0,
+ D3D10_SB_VERTEX_SHADER = 1,
+ D3D10_SB_GEOMETRY_SHADER = 2,
+
+ // D3D11 Shaders
+ D3D11_SB_HULL_SHADER = 3,
+ D3D11_SB_DOMAIN_SHADER = 4,
+ D3D11_SB_COMPUTE_SHADER = 5,
+
+ // Subset of D3D12 Shaders where this field is referenced by runtime
+ // Entries from 6-12 are unique to state objects
+ // (e.g. library, callable and raytracing shaders)
+ D3D12_SB_MESH_SHADER = 13,
+ D3D12_SB_AMPLIFICATION_SHADER = 14,
+
+ D3D11_SB_RESERVED0 = 0xFFF0
+} D3D10_SB_TOKENIZED_PROGRAM_TYPE;
+
+#define D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK 0xffff0000
+#define D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT 16
+
+// DECODER MACRO: Retrieve program type from version token
+#define DECODE_D3D10_SB_TOKENIZED_PROGRAM_TYPE(VerTok) ((D3D10_SB_TOKENIZED_PROGRAM_TYPE)(((VerTok)&D3D10_SB_TOKENIZED_PROGRAM_TYPE_MASK)>>D3D10_SB_TOKENIZED_PROGRAM_TYPE_SHIFT))
+
+#define D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK 0x000000f0
+#define D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT 4
+#define D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK 0x0000000f
+
+// DECODER MACRO: Retrieve major version # from version token
+#define DECODE_D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION(VerTok) (((VerTok)&D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_MASK)>>D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION_SHIFT)
+// DECODER MACRO: Retrieve minor version # from version token
+#define DECODE_D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION(VerTok) ((VerTok)&D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION_MASK)
+
+// ENCODER MACRO: Create complete VerTok
+#define ENCODE_D3D10_SB_TOKENIZED_PROGRAM_VERSION_TOKEN(ProgType,MajorVer,MinorVer) ((((ProgType)<> D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH_SHIFT)
+
+// ENCODER MACRO: Store instruction length
+// portion of OpcodeToken0, in # of DWORDs
+// including the opcode token(s).
+// Valid range is 1-127.
+#define ENCODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(Length) (((Length)<>D3D10_SB_INSTRUCTION_TEST_BOOLEAN_SHIFT))
+// ENCODER MACRO: Store "zero" or "nonzero" in the opcode
+// specific control range of OpcodeToken0
+#define ENCODE_D3D10_SB_INSTRUCTION_TEST_BOOLEAN(Boolean) (((Boolean)<>D3D11_SB_INSTRUCTION_PRECISE_VALUES_SHIFT))
+// ENCODER MACRO: Given a set of
+// D3D10_SB_OPERAND_4_COMPONENT_[X|Y|Z|W] values
+// or'd together, encode them in OpcodeToken0.
+#define ENCODE_D3D11_SB_INSTRUCTION_PRECISE_VALUES(ComponentMask) (((ComponentMask)<>D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE_SHIFT))
+// ENCODER MACRO: Encode the return type for the resinfo instruction
+// in the opcode specific control range of OpcodeToken0
+#define ENCODE_D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE(ReturnType) (((ReturnType)<> D3D10_SB_OPCODE_EXTENDED_SHIFT)
+// ENCODER MACRO: Store in OpcodeToken0 whether the opcode is extended
+// by an additional opcode token.
+#define ENCODE_D3D10_SB_OPCODE_EXTENDED(bExtended) (((bExtended)!=0)?D3D10_SB_OPCODE_EXTENDED_MASK:0)
+
+// ----------------------------------------------------------------------------
+// Extended Opcode Format (OpcodeToken1)
+//
+// If bit31 of an opcode token is set, the
+// opcode has an additional extended opcode token DWORD
+// directly following OpcodeToken0. Other tokens
+// expected for the opcode, such as the operand
+// token(s) always follow
+// OpcodeToken0 AND OpcodeToken1..n (extended
+// opcode tokens, if present).
+//
+// [05:00] D3D10_SB_EXTENDED_OPCODE_TYPE
+// [30:06] if([05:00] == D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS)
+// {
+// This custom opcode contains controls for SAMPLE.
+// [08:06] Ignored, 0.
+// [12:09] U texel immediate offset (4 bit 2's comp) (0 default)
+// [16:13] V texel immediate offset (4 bit 2's comp) (0 default)
+// [20:17] W texel immediate offset (4 bit 2's comp) (0 default)
+// [30:14] Ignored, 0.
+// }
+// else if( [05:00] == D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM )
+// {
+// [10:06] D3D10_SB_RESOURCE_DIMENSION
+// [22:11] When dimension is D3D11_SB_RESOURCE_DIMENSION_STRUCTURED_BUFFER this holds the buffer stride, otherwise 0
+// [30:23] Ignored, 0.
+// }
+// else if( [05:00] == D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE )
+// {
+// [09:06] D3D10_SB_RESOURCE_RETURN_TYPE for component X
+// [13:10] D3D10_SB_RESOURCE_RETURN_TYPE for component Y
+// [17:14] D3D10_SB_RESOURCE_RETURN_TYPE for component Z
+// [21:18] D3D10_SB_RESOURCE_RETURN_TYPE for component W
+// [30:22] Ignored, 0.
+// }
+// else
+// {
+// [30:04] Ignored, 0.
+// }
+// [31] 0 normally. 1 there is another extended opcode. Any number
+// of extended opcode tokens can be chained. It is possible that some extended
+// opcode tokens could include multiple DWORDS - that is defined
+// on a case by case basis.
+//
+// ----------------------------------------------------------------------------
+typedef enum D3D10_SB_EXTENDED_OPCODE_TYPE
+{
+ D3D10_SB_EXTENDED_OPCODE_EMPTY = 0,
+ D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS = 1,
+ D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM = 2,
+ D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE = 3,
+} D3D10_SB_EXTENDED_OPCODE_TYPE;
+#define D3D11_SB_MAX_SIMULTANEOUS_EXTENDED_OPCODES 3
+
+#define D3D10_SB_EXTENDED_OPCODE_TYPE_MASK 0x0000003f
+
+// DECODER MACRO: Given an extended opcode
+// token (OpcodeToken1), figure out what type
+// of token it is (from D3D10_SB_EXTENDED_OPCODE_TYPE enum)
+// to be able to interpret the rest of the token's contents.
+#define DECODE_D3D10_SB_EXTENDED_OPCODE_TYPE(OpcodeToken1) ((D3D10_SB_EXTENDED_OPCODE_TYPE)((OpcodeToken1)&D3D10_SB_EXTENDED_OPCODE_TYPE_MASK))
+
+// ENCODER MACRO: Store extended opcode token
+// type in OpcodeToken1.
+#define ENCODE_D3D10_SB_EXTENDED_OPCODE_TYPE(ExtOpcodeType) ((ExtOpcodeType)&D3D10_SB_EXTENDED_OPCODE_TYPE_MASK)
+
+typedef enum D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD
+{
+ D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_U = 0,
+ D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_V = 1,
+ D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_W = 2,
+} D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD;
+#define D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD_MASK (3)
+#define D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord) (9+4*((Coord)&D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_COORD_MASK))
+#define D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_MASK(Coord) (0x0000000f<>(D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_SHIFT(Coord))))
+
+// ENCODER MACRO: Store the immediate texel address offset
+// for U or V or W Coord (D3D10_SB_ADDRESS_OFFSET_COORD) in an extended
+// opcode token (OpcodeToken1) that has extended opcode
+// type == D3D10_SB_EXTENDED_OPCODE_SAMPLE_CONTROLS (opcode type encoded separately)
+// A 2's complement number is expected as input, from which the LSB 4 bits are extracted.
+#define ENCODE_IMMEDIATE_D3D10_SB_ADDRESS_OFFSET(Coord,ImmediateOffset) (((ImmediateOffset)<>D3D11_SB_EXTENDED_RESOURCE_DIMENSION_SHIFT))
+
+// ENCODER MACRO: Store resource dimension
+// (D3D10_SB_RESOURCE_DIMENSION enum) into a
+// an extended resource declaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM)
+#define ENCODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION(ResourceDim) (((ResourceDim)<>D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE_SHIFT)
+
+// ENCODER MACRO: Store resource dimension structure stride
+// (12-bit unsigned integer) into a
+// an extended resource declaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_DIM)
+#define ENCODE_D3D11_SB_EXTENDED_RESOURCE_DIMENSION_STRUCTURE_STRIDE(Stride) (((Stride)<> \
+ (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS + D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT))&D3D10_SB_RESOURCE_RETURN_TYPE_MASK))
+
+// ENCODER MACRO: Generate a resource return type for a component in an extended
+// resource delcaration token (D3D11_SB_EXTENDED_OPCODE_RESOURCE_RETURN_TYPE)
+#define ENCODE_D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE(ReturnType, Component) \
+ (((ReturnType)&D3D10_SB_RESOURCE_RETURN_TYPE_MASK) << (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS + D3D11_SB_EXTENDED_RESOURCE_RETURN_TYPE_SHIFT))
+
+// ----------------------------------------------------------------------------
+// Custom-Data Block Format
+//
+// DWORD 0 (CustomDataDescTok):
+// [10:00] == D3D10_SB_OPCODE_CUSTOMDATA
+// [31:11] == D3D10_SB_CUSTOMDATA_CLASS
+//
+// DWORD 1:
+// 32-bit unsigned integer count of number
+// of DWORDs in custom-data block,
+// including DWORD 0 and DWORD 1.
+// So the minimum value is 0x00000002,
+// meaning empty custom-data.
+//
+// Layout of custom-data contents, for the various meta-data classes,
+// not defined in this file.
+//
+// ----------------------------------------------------------------------------
+
+typedef enum D3D10_SB_CUSTOMDATA_CLASS
+{
+ D3D10_SB_CUSTOMDATA_COMMENT = 0,
+ D3D10_SB_CUSTOMDATA_DEBUGINFO,
+ D3D10_SB_CUSTOMDATA_OPAQUE,
+ D3D10_SB_CUSTOMDATA_DCL_IMMEDIATE_CONSTANT_BUFFER,
+ D3D11_SB_CUSTOMDATA_SHADER_MESSAGE,
+ D3D11_SB_CUSTOMDATA_SHADER_CLIP_PLANE_CONSTANT_MAPPINGS_FOR_DX9,
+} D3D10_SB_CUSTOMDATA_CLASS;
+
+#define D3D10_SB_CUSTOMDATA_CLASS_MASK 0xfffff800
+#define D3D10_SB_CUSTOMDATA_CLASS_SHIFT 11
+// DECODER MACRO: Find out what class of custom-data is present.
+// The contents of the custom-data block are defined
+// for each class of custom-data.
+#define DECODE_D3D10_SB_CUSTOMDATA_CLASS(CustomDataDescTok) ((D3D10_SB_CUSTOMDATA_CLASS)(((CustomDataDescTok)&D3D10_SB_CUSTOMDATA_CLASS_MASK)>>D3D10_SB_CUSTOMDATA_CLASS_SHIFT))
+// ENCODER MACRO: Create complete CustomDataDescTok
+#define ENCODE_D3D10_SB_CUSTOMDATA_CLASS(CustomDataClass) (ENCODE_D3D10_SB_OPCODE_TYPE(D3D10_SB_OPCODE_CUSTOMDATA)|(((CustomDataClass)<= D3D10_SB_OPERAND_INDEX_1D )
+// D3D10_SB_OPERAND_INDEX_REPRESENTATION for first operand index
+// else
+// Ignored, 0
+// [27:25] if( [21:20] >= D3D10_SB_OPERAND_INDEX_2D )
+// D3D10_SB_OPERAND_INDEX_REPRESENTATION for second operand index
+// else
+// Ignored, 0
+// [30:28] if( [21:20] == D3D10_SB_OPERAND_INDEX_3D )
+// D3D10_SB_OPERAND_INDEX_REPRESENTATION for third operand index
+// else
+// Ignored, 0
+// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
+// contains extended operand description.
+//
+// ----------------------------------------------------------------------------
+
+// Number of components in data vector referred to by operand.
+typedef enum D3D10_SB_OPERAND_NUM_COMPONENTS
+{
+ D3D10_SB_OPERAND_0_COMPONENT = 0,
+ D3D10_SB_OPERAND_1_COMPONENT = 1,
+ D3D10_SB_OPERAND_4_COMPONENT = 2,
+ D3D10_SB_OPERAND_N_COMPONENT = 3 // unused for now
+} D3D10_SB_OPERAND_NUM_COMPONENTS;
+#define D3D10_SB_OPERAND_NUM_COMPONENTS_MASK 0x00000003
+
+// DECODER MACRO: Extract from OperandToken0 how many components
+// the data vector referred to by the operand contains.
+// (D3D10_SB_OPERAND_NUM_COMPONENTS enum)
+#define DECODE_D3D10_SB_OPERAND_NUM_COMPONENTS(OperandToken0) ((D3D10_SB_OPERAND_NUM_COMPONENTS)((OperandToken0)&D3D10_SB_OPERAND_NUM_COMPONENTS_MASK))
+
+// ENCODER MACRO: Define in OperandToken0 how many components
+// the data vector referred to by the operand contains.
+// (D3D10_SB_OPERAND_NUM_COMPONENTS enum).
+#define ENCODE_D3D10_SB_OPERAND_NUM_COMPONENTS(NumComp) ((NumComp)&D3D10_SB_OPERAND_NUM_COMPONENTS_MASK)
+
+typedef enum D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE
+{
+ D3D10_SB_OPERAND_4_COMPONENT_MASK_MODE = 0, // mask 4 components
+ D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_MODE = 1, // swizzle 4 components
+ D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE = 2, // select 1 of 4 components
+} D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE;
+
+#define D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK 0x0000000c
+#define D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT 2
+
+// DECODER MACRO: For an operand representing 4component data,
+// extract from OperandToken0 the method for selecting data from
+// the 4 components (D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE).
+#define DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE(OperandToken0) ((D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE)(((OperandToken0)&D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_MASK)>>D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE_SHIFT))
+
+// ENCODER MACRO: For an operand representing 4component data,
+// encode in OperandToken0 a value from D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE
+#define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE(SelectionMode) (((SelectionMode)<>(D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SHIFT+2*((DestComp)&D3D10_SB_4_COMPONENT_NAME_MASK)))&D3D10_SB_4_COMPONENT_NAME_MASK))
+
+// ENCODER MACRO: Generate a 4 component swizzle given
+// 4 D3D10_SB_4_COMPONENT_NAME source values for dest
+// components x, y, z, w respectively.
+#define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE(XSrc,YSrc,ZSrc,WSrc) ((((XSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)| \
+ (((YSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)<<2)| \
+ (((ZSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)<<4)| \
+ (((WSrc)&D3D10_SB_4_COMPONENT_NAME_MASK)<<6) \
+ )<>D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_SHIFT))
+
+// ENCODER MACRO: Given a D3D10_SB_4_COMPONENT_NAME selecting
+// a single component for D3D10_SB_OPERAND_4_COMPONENT_SELECT_1_MODE,
+// encode it into OperandToken0
+#define ENCODE_D3D10_SB_OPERAND_4_COMPONENT_SELECT_1(SelectedComp) (((SelectedComp)<>D3D10_SB_OPERAND_TYPE_SHIFT))
+
+// ENCODER MACRO: Store operand type in OperandToken0.
+#define ENCODE_D3D10_SB_OPERAND_TYPE(OperandType) (((OperandType)<>D3D10_SB_OPERAND_INDEX_DIMENSION_SHIFT))
+
+// ENCODER MACRO: Store operand index dimension
+// (D3D10_SB_OPERAND_INDEX_DIMENSION enum) in OperandToken0.
+#define ENCODE_D3D10_SB_OPERAND_INDEX_DIMENSION(OperandIndexDim) (((OperandIndexDim)<>D3D10_SB_OPERAND_INDEX_REPRESENTATION_SHIFT(Dim)))
+
+// ENCODER MACRO: Store in OperandToken0 what representation
+// an operand index is provided as (D3D10_SB_OPERAND_INDEX_REPRESENTATION enum),
+// for index dimension [0], [1] or [2], depending on D3D10_SB_OPERAND_INDEX_DIMENSION.
+#define ENCODE_D3D10_SB_OPERAND_INDEX_REPRESENTATION(Dim,IndexRepresentation) (((IndexRepresentation)<>D3D10_SB_OPERAND_EXTENDED_SHIFT)
+
+// ENCODER MACRO: Store in OperandToken0 whether the operand is extended
+// by an additional operand token.
+#define ENCODE_D3D10_SB_OPERAND_EXTENDED(bExtended) (((bExtended)!=0)?D3D10_SB_OPERAND_EXTENDED_MASK:0)
+
+// ----------------------------------------------------------------------------
+// Extended Instruction Operand Format (OperandToken1)
+//
+// If bit31 of an operand token is set, the
+// operand has additional data in a second DWORD
+// directly following OperandToken0. Other tokens
+// expected for the operand, such as immmediate
+// values or relative address operands (full
+// operands in themselves) always follow
+// OperandToken0 AND OperandToken1..n (extended
+// operand tokens, if present).
+//
+// [05:00] D3D10_SB_EXTENDED_OPERAND_TYPE
+// [16:06] if([05:00] == D3D10_SB_EXTENDED_OPERAND_MODIFIER)
+// {
+// [13:06] D3D10_SB_OPERAND_MODIFIER
+// [16:14] Min Precision: D3D11_SB_OPERAND_MIN_PRECISION
+// [17:17] Non-uniform: D3D12_SB_OPERAND_NON_UNIFORM
+// }
+// else
+// {
+// [17:06] Ignored, 0.
+// }
+// [30:18] Ignored, 0.
+// [31] 0 normally. 1 if second order extended operand definition,
+// meaning next DWORD contains yet ANOTHER extended operand
+// description. Currently no second order extensions defined.
+// This would be useful if a particular extended operand does
+// not have enough space to store the required information in
+// a single token and so is extended further.
+//
+// ----------------------------------------------------------------------------
+
+typedef enum D3D10_SB_EXTENDED_OPERAND_TYPE
+{
+ D3D10_SB_EXTENDED_OPERAND_EMPTY = 0, // Might be used if this
+ // enum is full and
+ // further extended opcode
+ // is needed.
+ D3D10_SB_EXTENDED_OPERAND_MODIFIER = 1,
+} D3D10_SB_EXTENDED_OPERAND_TYPE;
+#define D3D10_SB_EXTENDED_OPERAND_TYPE_MASK 0x0000003f
+
+// DECODER MACRO: Given an extended operand
+// token (OperandToken1), figure out what type
+// of token it is (from D3D10_SB_EXTENDED_OPERAND_TYPE enum)
+// to be able to interpret the rest of the token's contents.
+#define DECODE_D3D10_SB_EXTENDED_OPERAND_TYPE(OperandToken1) ((D3D10_SB_EXTENDED_OPERAND_TYPE)((OperandToken1)&D3D10_SB_EXTENDED_OPERAND_TYPE_MASK))
+
+// ENCODER MACRO: Store extended operand token
+// type in OperandToken1.
+#define ENCODE_D3D10_SB_EXTENDED_OPERAND_TYPE(ExtOperandType) ((ExtOperandType)&D3D10_SB_EXTENDED_OPERAND_TYPE_MASK)
+
+typedef enum D3D10_SB_OPERAND_MODIFIER
+{
+ D3D10_SB_OPERAND_MODIFIER_NONE = 0, // Nop. This is the implied
+ // default if the extended
+ // operand is not present for
+ // an operand for which source
+ // modifiers are meaningful
+ D3D10_SB_OPERAND_MODIFIER_NEG = 1, // Negate
+ D3D10_SB_OPERAND_MODIFIER_ABS = 2, // Absolute value, abs()
+ D3D10_SB_OPERAND_MODIFIER_ABSNEG = 3, // -abs()
+} D3D10_SB_OPERAND_MODIFIER;
+#define D3D10_SB_OPERAND_MODIFIER_MASK 0x00003fc0
+#define D3D10_SB_OPERAND_MODIFIER_SHIFT 6
+
+// DECODER MACRO: Given a D3D10_SB_EXTENDED_OPERAND_MODIFIER
+// extended token (OperandToken1), determine the source modifier
+// (D3D10_SB_OPERAND_MODIFIER enum)
+#define DECODE_D3D10_SB_OPERAND_MODIFIER(OperandToken1) ((D3D10_SB_OPERAND_MODIFIER)(((OperandToken1)&D3D10_SB_OPERAND_MODIFIER_MASK)>>D3D10_SB_OPERAND_MODIFIER_SHIFT))
+
+// ENCODER MACRO: Generate a complete source modifier extended token
+// (OperandToken1), given D3D10_SB_OPERAND_MODIFIER enum (the
+// ext. operand type is also set to D3D10_SB_EXTENDED_OPERAND_MODIFIER).
+#define ENCODE_D3D10_SB_EXTENDED_OPERAND_MODIFIER(SourceMod) ((((SourceMod)<> D3D11_SB_OPERAND_MIN_PRECISION_SHIFT))
+
+// ENCODER MACRO: Encode minimum precision for execution
+// into the extended operand token, OperandToken1
+#define ENCODE_D3D11_SB_OPERAND_MIN_PRECISION(MinPrecision) (((MinPrecision)<< D3D11_SB_OPERAND_MIN_PRECISION_SHIFT)& D3D11_SB_OPERAND_MIN_PRECISION_MASK)
+
+
+// Non-uniform extended operand modifier.
+#define D3D12_SB_OPERAND_NON_UNIFORM_MASK 0x00020000
+#define D3D12_SB_OPERAND_NON_UNIFORM_SHIFT 17
+
+// DECODER MACRO: For an OperandToken1 that can specify a non-uniform operand
+#define DECODE_D3D12_SB_OPERAND_NON_UNIFORM(OperandToken1) (((OperandToken1)& D3D12_SB_OPERAND_NON_UNIFORM_MASK)>> D3D12_SB_OPERAND_NON_UNIFORM_SHIFT)
+
+// ENCODER MACRO: Encode non-uniform state into the extended operand token, OperandToken1
+#define ENCODE_D3D12_SB_OPERAND_NON_UNIFORM(NonUniform) (((NonUniform)<< D3D12_SB_OPERAND_NON_UNIFORM_SHIFT)& D3D12_SB_OPERAND_NON_UNIFORM_MASK)
+
+
+#define D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK 0x80000000
+#define D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT 31
+// DECODER MACRO: Determine if an extended operand token
+// (OperandToken1) is further extended by yet another token
+// (OperandToken2). Currently there are no secondary
+// extended operand tokens.
+#define DECODE_IS_D3D10_SB_OPERAND_DOUBLE_EXTENDED(OperandToken1) (((OperandToken1)&D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK)>>D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT)
+
+// ENCODER MACRO: Store in OperandToken1 whether the operand is extended
+// by an additional operand token. Currently there are no secondary
+// extended operand tokens.
+#define ENCODE_D3D10_SB_OPERAND_DOUBLE_EXTENDED(bExtended) (((bExtended)!=0)?D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK:0)
+
+// ----------------------------------------------------------------------------
+// Name Token (NameToken) (used in declaration statements)
+//
+// [15:00] D3D10_SB_NAME enumeration
+// [31:16] Reserved, 0
+//
+// ----------------------------------------------------------------------------
+#define D3D10_SB_NAME_MASK 0x0000ffff
+
+// DECODER MACRO: Get the name from NameToken
+#define DECODE_D3D10_SB_NAME(NameToken) ((D3D10_SB_NAME)((NameToken)&D3D10_SB_NAME_MASK))
+
+// ENCODER MACRO: Generate a complete NameToken given a D3D10_SB_NAME
+#define ENCODE_D3D10_SB_NAME(Name) ((Name)&D3D10_SB_NAME_MASK)
+
+//---------------------------------------------------------------------
+// Declaration Statements
+//
+// Declarations start with a standard opcode token,
+// having opcode type being D3D10_SB_OPCODE_DCL*.
+// Each particular declaration type has custom
+// operand token(s), described below.
+//---------------------------------------------------------------------
+
+// ----------------------------------------------------------------------------
+// Global Flags Declaration
+//
+// OpcodeToken0:
+//
+// [10:00] D3D10_SB_OPCODE_DCL_GLOBAL_FLAGS
+// [11:11] Refactoring allowed if bit set.
+// [12:12] Enable double precision float ops.
+// [13:13] Force early depth-stencil test.
+// [14:14] Enable RAW and structured buffers in non-CS 4.x shaders.
+// [15:15] Skip optimizations of shader IL when translating to native code
+// [16:16] Enable minimum-precision data types
+// [17:17] Enable 11.1 double-precision floating-point instruction extensions
+// [18:18] Enable 11.1 non-double instruction extensions
+// [23:19] Reserved for future flags.
+// [30:24] Instruction length in DWORDs including the opcode token. == 1
+// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
+// contains extended operand description. This dcl is currently not
+// extended.
+//
+// OpcodeToken0 is followed by no operands.
+//
+// ----------------------------------------------------------------------------
+#define D3D10_SB_GLOBAL_FLAG_REFACTORING_ALLOWED (1<<11)
+#define D3D11_SB_GLOBAL_FLAG_ENABLE_DOUBLE_PRECISION_FLOAT_OPS (1<<12)
+#define D3D11_SB_GLOBAL_FLAG_FORCE_EARLY_DEPTH_STENCIL (1<<13)
+#define D3D11_SB_GLOBAL_FLAG_ENABLE_RAW_AND_STRUCTURED_BUFFERS (1<<14)
+#define D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION (1<<15)
+#define D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION (1<<16)
+#define D3D11_1_SB_GLOBAL_FLAG_ENABLE_DOUBLE_EXTENSIONS (1<<17)
+#define D3D11_1_SB_GLOBAL_FLAG_ENABLE_SHADER_EXTENSIONS (1<<18)
+#define D3D12_SB_GLOBAL_FLAG_ALL_RESOURCES_BOUND (1<<19)
+
+#define D3D10_SB_GLOBAL_FLAGS_MASK 0x00fff800
+
+// DECODER MACRO: Get global flags
+#define DECODE_D3D10_SB_GLOBAL_FLAGS(OpcodeToken0) ((OpcodeToken0)&D3D10_SB_GLOBAL_FLAGS_MASK)
+
+// ENCODER MACRO: Encode global flags
+#define ENCODE_D3D10_SB_GLOBAL_FLAGS(Flags) ((Flags)&D3D10_SB_GLOBAL_FLAGS_MASK)
+
+// ----------------------------------------------------------------------------
+// Resource Declaration (non multisampled)
+//
+// OpcodeToken0:
+//
+// [10:00] D3D10_SB_OPCODE_DCL_RESOURCE
+// [15:11] D3D10_SB_RESOURCE_DIMENSION
+// [23:16] Ignored, 0
+// [30:24] Instruction length in DWORDs including the opcode token.
+// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
+// contains extended operand description. This dcl is currently not
+// extended.
+//
+// OpcodeToken0 is followed by 2 operands on Shader Models 4.0 through 5.0:
+// (1) an operand, starting with OperandToken0, defining which
+// t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared.
+// (2) a Resource Return Type token (ResourceReturnTypeToken)
+//
+// OpcodeToken0 is followed by 3 operands on Shader Model 5.1 and later:
+// (1) an operand, starting with OperandToken0, defining which
+// t# register (D3D10_SB_OPERAND_TYPE_RESOURCE) is being declared.
+// The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D,
+// and the meaning of the index dimensions are as follows: (t[:])
+// 1 : variable ID being declared
+// 2 : the lower bound of the range of resources in the space
+// 3 : the upper bound (inclusive) of this range
+// As opposed to when the t# is used in shader instructions, where the register
+// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
+// dimensions are as follows: (t[]):
+// 1 : variable ID being used (matches dcl)
+// 2 : absolute index of resource within space (may be dynamically indexed)
+// (2) a Resource Return Type token (ResourceReturnTypeToken)
+// (3) a DWORD indicating the space index.
+//
+// ----------------------------------------------------------------------------
+#define D3D10_SB_RESOURCE_DIMENSION_MASK 0x0000F800
+#define D3D10_SB_RESOURCE_DIMENSION_SHIFT 11
+
+// DECODER MACRO: Given a resource declaration token,
+// (OpcodeToken0), determine the resource dimension
+// (D3D10_SB_RESOURCE_DIMENSION enum)
+#define DECODE_D3D10_SB_RESOURCE_DIMENSION(OpcodeToken0) ((D3D10_SB_RESOURCE_DIMENSION)(((OpcodeToken0)&D3D10_SB_RESOURCE_DIMENSION_MASK)>>D3D10_SB_RESOURCE_DIMENSION_SHIFT))
+
+// ENCODER MACRO: Store resource dimension
+// (D3D10_SB_RESOURCE_DIMENSION enum) into a
+// a resource declaration token (OpcodeToken0)
+#define ENCODE_D3D10_SB_RESOURCE_DIMENSION(ResourceDim) (((ResourceDim)<[:])
+// 1 : variable ID being declared
+// 2 : the lower bound of the range of resources in the space
+// 3 : the upper bound (inclusive) of this range
+// As opposed to when the t# is used in shader instructions, where the register
+// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
+// dimensions are as follows: (t[]):
+// 1 : variable ID being used (matches dcl)
+// 2 : absolute index of resource within space (may be dynamically indexed)
+// (2) a Resource Return Type token (ResourceReturnTypeToken)
+// (3) a DWORD indicating the space index.
+//
+// ----------------------------------------------------------------------------
+
+// use same macro for encoding/decoding resource dimension aas the non-msaa declaration
+
+#define D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK 0x07F0000
+#define D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT 16
+
+// DECODER MACRO: Given a resource declaration token,
+// (OpcodeToken0), determine the resource sample count (1..127)
+#define DECODE_D3D10_SB_RESOURCE_SAMPLE_COUNT(OpcodeToken0) ((UINT)(((OpcodeToken0)&D3D10_SB_RESOURCE_SAMPLE_COUNT_MASK)>>D3D10_SB_RESOURCE_SAMPLE_COUNT_SHIFT))
+
+// ENCODER MACRO: Store resource sample count up to 127 into a
+// a resource declaration token (OpcodeToken0)
+#define ENCODE_D3D10_SB_RESOURCE_SAMPLE_COUNT(SampleCount) (((SampleCount > 127 ? 127 : SampleCount)<> \
+ (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS))&D3D10_SB_RESOURCE_RETURN_TYPE_MASK))
+
+// ENCODER MACRO: Generate a resource return type for a component
+#define ENCODE_D3D10_SB_RESOURCE_RETURN_TYPE(ReturnType, Component) \
+ (((ReturnType)&D3D10_SB_RESOURCE_RETURN_TYPE_MASK) << (Component * D3D10_SB_RESOURCE_RETURN_TYPE_NUMBITS))
+
+// ----------------------------------------------------------------------------
+// Sampler Declaration
+//
+// OpcodeToken0:
+//
+// [10:00] D3D10_SB_OPCODE_DCL_SAMPLER
+// [14:11] D3D10_SB_SAMPLER_MODE
+// [23:15] Ignored, 0
+// [30:24] Instruction length in DWORDs including the opcode token.
+// [31] 0 normally. 1 if extended operand definition, meaning next DWORD
+// contains extended operand description. This dcl is currently not
+// extended.
+//
+// OpcodeToken0 is followed by 1 operand on Shader Models 4.0 through 5.0:
+// (1) Operand starting with OperandToken0, defining which sampler
+// (D3D10_SB_OPERAND_TYPE_SAMPLER) register # is being declared.
+//
+// OpcodeToken0 is followed by 2 operands on Shader Model 5.1 and later:
+// (1) an operand, starting with OperandToken0, defining which
+// s# register (D3D10_SB_OPERAND_TYPE_SAMPLER) is being declared.
+// The indexing dimension for the register must be D3D10_SB_OPERAND_INDEX_DIMENSION_3D,
+// and the meaning of the index dimensions are as follows: (s[:])
+// 1 : variable ID being declared
+// 2 : the lower bound of the range of samplers in the space
+// 3 : the upper bound (inclusive) of this range
+// As opposed to when the s# is used in shader instructions, where the register
+// must be D3D10_SB_OPERAND_INDEX_DIMENSION_2D, and the meaning of the index
+// dimensions are as follows: (s[]):
+// 1 : variable ID being used (matches dcl)
+// 2 : absolute index of sampler within space (may be dynamically indexed)
+// (2) a DWORD indicating the space index.
+//
+// ----------------------------------------------------------------------------
+typedef enum D3D10_SB_SAMPLER_MODE
+{
+ D3D10_SB_SAMPLER_MODE_DEFAULT = 0,
+ D3D10_SB_SAMPLER_MODE_COMPARISON = 1,
+ D3D10_SB_SAMPLER_MODE_MONO = 2,
+} D3D10_SB_SAMPLER_MODE;
+
+#define D3D10_SB_SAMPLER_MODE_MASK 0x00007800
+#define D3D10_SB_SAMPLER_MODE_SHIFT 11
+
+// DECODER MACRO: Find out if a Constant Buffer is going to be indexed or not
+#define DECODE_D3D10_SB_SAMPLER_MODE(OpcodeToken0) ((D3D10_SB_SAMPLER_MODE)(((OpcodeToken0)&D3D10_SB_SAMPLER_MODE_MASK)>>D3D10_SB_SAMPLER_MODE_SHIFT))
+
+// ENCODER MACRO: Generate a resource return type for a component
+#define ENCODE_D3D10_SB_SAMPLER_MODE(SamplerMode) (((SamplerMode)<>D3D10_SB_INPUT_INTERPOLATION_MODE_SHIFT))
+
+// ENCODER MACRO: Encode interpolation mode for a register.
+#define ENCODE_D3D10_SB_INPUT_INTERPOLATION_MODE(InterpolationMode) (((InterpolationMode)<[:])
+// 1 : variable ID being declared
+// 2 : the lower bound of the range of constant buffers in the space
+// 3 |