| File: Reader\ISymUnmanagedBinder2.cs | Web Access |
| Project: src\symreader\src\Microsoft.DiaSymReader\Microsoft.DiaSymReader.csproj (Microsoft.DiaSymReader) |
// 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; namespace Microsoft.DiaSymReader { [Guid("ACCEE350-89AF-4ccb-8B40-1C2C4C6F9434")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [ComVisible(false)] [GeneratedWhenPossibleComInterface] public partial interface ISymUnmanagedBinder2 : ISymUnmanagedBinder { // .NET 8+ COM source generators respect COM interface inheritance // so re-declaration of inherited method is not needed. #if NETSTANDARD2_0 #region ISymUnmanagedBinder methods /// <summary> /// Given a metadata interface and a file name, returns the /// correct <see cref="ISymUnmanagedReader"/> that will read the debugging symbols /// associated with the module. /// </summary> /// <param name="metadataImporter">An instance of IMetadataImport providing metadata for the specified PE file.</param> /// <param name="fileName">PE file path.</param> /// <param name="searchPath">Alternate path to search for debug data.</param> /// <param name="reader">The new reader instance.</param> [PreserveSig] new int GetReaderForFile( [MarshalAs(UnmanagedType.Interface)]object metadataImporter, [MarshalAs(UnmanagedType.LPWStr)]string fileName, [MarshalAs(UnmanagedType.LPWStr)]string searchPath, [MarshalAs(UnmanagedType.Interface)]out ISymUnmanagedReader reader); /// <summary> /// Given a metadata interface and a stream that contains /// the symbol store, returns the <see cref="ISymUnmanagedReader"/> /// that will read the debugging symbols from the given /// symbol store. /// </summary> /// <param name="metadataImporter">An instance of IMetadataImport providing metadata for the corresponding PE file.</param> /// <param name="stream">PDB stream.</param> /// <param name="reader">The new reader instance.</param> [PreserveSig] new int GetReaderFromStream( [MarshalAs(UnmanagedType.Interface)]object metadataImporter, [MarshalAs(UnmanagedType.Interface)]object stream, [MarshalAs(UnmanagedType.Interface)]out ISymUnmanagedReader reader); #endregion #endif /// <summary> /// Given a metadata interface and a file name, returns the /// <see cref="ISymUnmanagedReader"/> interface that will read the debugging symbols associated /// with the module. /// </summary> /// <remarks> /// This version of the function can search for the PDB in areas other than /// right next to the module, controlled by the <paramref name="searchPolicy"/>. /// If a <paramref name="searchPath"/> is provided, those directories will always be searched. /// </remarks> /// <param name="metadataImporter">An instance of IMetadataImport providing metadata for the specified PE file.</param> /// <param name="fileName">PE file path.</param> /// <param name="searchPath">Alternate path to search for debug data.</param> /// <param name="searchPolicy">Search policy.</param> /// <param name="reader">The new reader instance.</param> [PreserveSig] int GetReaderForFile2( [MarshalAs(UnmanagedType.Interface)]object metadataImporter, [MarshalAs(UnmanagedType.LPWStr)]string fileName, [MarshalAs(UnmanagedType.LPWStr)]string searchPath, SymUnmanagedSearchPolicy searchPolicy, [MarshalAs(UnmanagedType.Interface)]out ISymUnmanagedReader reader); } }