|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the License.txt file in the project root for more information.
using System;
using System.Runtime.InteropServices;
#if NETSTANDARD2_0
using IStream = System.Runtime.InteropServices.ComTypes.IStream;
#endif
namespace Microsoft.DiaSymReader
{
[Guid("A09E53B2-2A57-4cca-8F63-B84F7C35D4AA")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComVisible(false)]
[GeneratedWhenPossibleComInterface]
public partial interface ISymUnmanagedReader2 : ISymUnmanagedReader
{
// .NET 8+ COM source generators respect COM interface inheritance
// so re-declaration of inherited method is not needed.
#if NETSTANDARD2_0
#region ISymUnmanagedReader methods
[PreserveSig]
new int GetDocument(
[MarshalAs(UnmanagedType.LPWStr)] string url,
Guid language,
Guid languageVendor,
Guid documentType,
[MarshalAs(UnmanagedType.Interface)] out ISymUnmanagedDocument document);
[PreserveSig]
new int GetDocuments(
int bufferLength,
out int count,
[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] ISymUnmanagedDocument[] documents);
[PreserveSig]
new int GetUserEntryPoint(out int methodToken);
[PreserveSig]
new int GetMethod(int methodToken, [MarshalAs(UnmanagedType.Interface)] out ISymUnmanagedMethod method);
[PreserveSig]
new int GetMethodByVersion(
int methodToken,
int version,
[MarshalAs(UnmanagedType.Interface)] out ISymUnmanagedMethod method);
[PreserveSig]
new int GetVariables(
int methodToken,
int bufferLength,
out int count,
[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] ISymUnmanagedVariable[] variables);
[PreserveSig]
new int GetGlobalVariables(
int bufferLength,
out int count,
[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] ISymUnmanagedVariable[] variables);
[PreserveSig]
new int GetMethodFromDocumentPosition(
ISymUnmanagedDocument document,
int line,
int column,
[MarshalAs(UnmanagedType.Interface)] out ISymUnmanagedMethod method);
[PreserveSig]
new int GetSymAttribute(
int methodToken,
[MarshalAs(UnmanagedType.LPWStr)] string name,
int bufferLength,
out int count,
[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)] byte[] customDebugInformation);
[PreserveSig]
new int GetNamespaces(
int bufferLength,
out int count,
[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] ISymUnmanagedNamespace[] namespaces);
[PreserveSig]
new int Initialize(
[MarshalAs(UnmanagedType.Interface)] object metadataImporter,
[MarshalAs(UnmanagedType.LPWStr)] string fileName,
[MarshalAs(UnmanagedType.LPWStr)] string searchPath,
IStream stream);
[PreserveSig]
new int UpdateSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream);
[PreserveSig]
new int ReplaceSymbolStore([MarshalAs(UnmanagedType.LPWStr)] string fileName, IStream stream);
[PreserveSig]
new int GetSymbolStoreFileName(
int bufferLength,
out int count,
[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] char[] name);
[PreserveSig]
new int GetMethodsFromDocumentPosition(
ISymUnmanagedDocument document,
int line,
int column,
int bufferLength,
out int count,
[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3)] ISymUnmanagedMethod[] methods);
[PreserveSig]
new int GetDocumentVersion(ISymUnmanagedDocument document, out int version, [MarshalAs(UnmanagedType.Bool)]out bool isCurrent);
[PreserveSig]
new int GetMethodVersion(ISymUnmanagedMethod method, out int version);
#endregion
#endif
#region ISymUnmanagedReader2 methods
[PreserveSig]
int GetMethodByVersionPreRemap(
int methodToken,
int version,
[MarshalAs(UnmanagedType.Interface)] out ISymUnmanagedMethod method);
[PreserveSig]
int GetSymAttributePreRemap(
int methodToken,
[MarshalAs(UnmanagedType.LPWStr)] string name,
int bufferLength,
out int count,
[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)] byte[] customDebugInformation);
[PreserveSig]
int GetMethodsInDocument(
ISymUnmanagedDocument document,
int bufferLength,
out int count,
[In, Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] ISymUnmanagedMethod[] methods);
#endregion
}
}
|