Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Cecil/0.9.5/Mono.Cecil-0.9.5/Symbols/Mono.Cecil.Pdb/Mono.Cecil.Pdb/ISymUnmanagedWriter2.cs @ 12251

Last change on this file since 12251 was 11700, checked in by jkarder, 10 years ago

#2077: created branch and added first version

File size: 3.7 KB
Line 
1//
2// ISymUnmanagedWriter2.cs
3//
4// Author:
5//   Juerg Billeter (j@bitron.ch)
6//
7// (C) 2008 Juerg Billeter
8//
9// Permission is hereby granted, free of charge, to any person obtaining
10// a copy of this software and associated documentation files (the
11// "Software"), to deal in the Software without restriction, including
12// without limitation the rights to use, copy, modify, merge, publish,
13// distribute, sublicense, and/or sell copies of the Software, and to
14// permit persons to whom the Software is furnished to do so, subject to
15// the following conditions:
16//
17// The above copyright notice and this permission notice shall be
18// included in all copies or substantial portions of the Software.
19//
20// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27//
28
29using System;
30using System.Diagnostics.SymbolStore;
31using System.Runtime.InteropServices;
32using System.Runtime.InteropServices.ComTypes;
33
34using Mono.Cecil.Cil;
35
36#if !READ_ONLY
37
38namespace Mono.Cecil.Pdb {
39
40  [Guid ("0B97726E-9E6D-4f05-9A26-424022093CAA")]
41  [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
42  [ComImport]
43  interface ISymUnmanagedWriter2 {
44
45    void DefineDocument (
46      [In, MarshalAs (UnmanagedType.LPWStr)] string url,
47      [In] ref Guid langauge,
48      [In] ref Guid languageVendor,
49      [In] ref Guid documentType,
50      [Out, MarshalAs (UnmanagedType.Interface)] out ISymUnmanagedDocumentWriter pRetVal);
51    void SetUserEntryPoint ([In] SymbolToken method);
52    void OpenMethod ([In] SymbolToken method);
53    void CloseMethod ();
54    void OpenScope ([In] int startOffset, [Out] out int pRetVal);
55    void CloseScope ([In] int endOffset);
56    void SetScopeRange_Placeholder ();
57    void DefineLocalVariable_Placeholder ();
58    void DefineParameter_Placeholder ();
59    void DefineField_Placeholder ();
60    void DefineGlobalVariable_Placeholder ();
61    void Close ();
62    void SetSymAttribute_Placeholder ();
63    void OpenNamespace ([In, MarshalAs (UnmanagedType.LPWStr)] string name);
64    void CloseNamespace ();
65    void UsingNamespace ([In, MarshalAs (UnmanagedType.LPWStr)] string fullName);
66    void SetMethodSourceRange_Placeholder ();
67    void Initialize (
68      [In, MarshalAs (UnmanagedType.IUnknown)] object emitter,
69      [In, MarshalAs (UnmanagedType.LPWStr)] string filename,
70      [In] IStream pIStream,
71      [In] bool fFullBuild);
72    void GetDebugInfo (
73      [Out] out ImageDebugDirectory pIDD,
74      [In] int cData,
75      [Out] out int pcData,
76      [In, Out, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] byte [] data);
77    void DefineSequencePoints (
78      [In, MarshalAs (UnmanagedType.Interface)] ISymUnmanagedDocumentWriter document,
79      [In] int spCount,
80      [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] offsets,
81      [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] lines,
82      [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] columns,
83      [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] endLines,
84      [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] endColumns);
85    void RemapToken_Placeholder ();
86    void Initialize2_Placeholder ();
87    void DefineConstant_Placeholder ();
88    void Abort_Placeholder ();
89
90    void DefineLocalVariable2 (
91      [In, MarshalAs (UnmanagedType.LPWStr)] string name,
92      [In] int attributes,
93      [In] SymbolToken sigToken,
94      [In] int addrKind,
95      [In] int addr1,
96      [In] int addr2,
97      [In] int addr3,
98      [In] int startOffset,
99      [In] int endOffset);
100  }
101}
102
103#endif
Note: See TracBrowser for help on using the repository browser.