/symbols/pdb/Mono.Cecil.Pdb/ISymUnmanagedWriter2.cs

http://github.com/jbevain/cecil · C# · 86 lines · 70 code · 8 blank · 8 comment · 0 complexity · 1dbc483681b8c4920d0186e12048facd MD5 · raw file

  1. //
  2. // Author:
  3. // Juerg Billeter (j@bitron.ch)
  4. //
  5. // (C) 2008 Juerg Billeter
  6. //
  7. // Licensed under the MIT/X11 license.
  8. //
  9. using System;
  10. using System.Runtime.InteropServices;
  11. using System.Runtime.InteropServices.ComTypes;
  12. using Mono.Cecil.Cil;
  13. namespace Mono.Cecil.Pdb {
  14. [Guid ("0B97726E-9E6D-4f05-9A26-424022093CAA")]
  15. [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
  16. [ComImport]
  17. interface ISymUnmanagedWriter2 {
  18. void DefineDocument (
  19. [In, MarshalAs (UnmanagedType.LPWStr)] string url,
  20. [In] ref Guid langauge,
  21. [In] ref Guid languageVendor,
  22. [In] ref Guid documentType,
  23. [Out, MarshalAs (UnmanagedType.Interface)] out ISymUnmanagedDocumentWriter pRetVal);
  24. void SetUserEntryPoint ([In] int methodToken);
  25. void OpenMethod ([In] int methodToken);
  26. void CloseMethod ();
  27. void OpenScope ([In] int startOffset, [Out] out int pRetVal);
  28. void CloseScope ([In] int endOffset);
  29. void SetScopeRange_Placeholder ();
  30. void DefineLocalVariable_Placeholder ();
  31. void DefineParameter_Placeholder ();
  32. void DefineField_Placeholder ();
  33. void DefineGlobalVariable_Placeholder ();
  34. void Close ();
  35. void SetSymAttribute (uint parent, string name, uint data, IntPtr signature);
  36. void OpenNamespace ([In, MarshalAs (UnmanagedType.LPWStr)] string name);
  37. void CloseNamespace ();
  38. void UsingNamespace ([In, MarshalAs (UnmanagedType.LPWStr)] string fullName);
  39. void SetMethodSourceRange_Placeholder ();
  40. void Initialize (
  41. [In, MarshalAs (UnmanagedType.IUnknown)] object emitter,
  42. [In, MarshalAs (UnmanagedType.LPWStr)] string filename,
  43. [In] IStream pIStream,
  44. [In] bool fFullBuild);
  45. void GetDebugInfo (
  46. [Out] out ImageDebugDirectory pIDD,
  47. [In] int cData,
  48. [Out] out int pcData,
  49. [In, Out, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] byte [] data);
  50. void DefineSequencePoints (
  51. [In, MarshalAs (UnmanagedType.Interface)] ISymUnmanagedDocumentWriter document,
  52. [In] int spCount,
  53. [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] offsets,
  54. [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] lines,
  55. [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] columns,
  56. [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] endLines,
  57. [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] endColumns);
  58. void RemapToken_Placeholder ();
  59. void Initialize2_Placeholder ();
  60. void DefineConstant_Placeholder ();
  61. void Abort_Placeholder ();
  62. void DefineLocalVariable2 (
  63. [In, MarshalAs (UnmanagedType.LPWStr)] string name,
  64. [In] int attributes,
  65. [In] int sigToken,
  66. [In] int addrKind,
  67. [In] int addr1,
  68. [In] int addr2,
  69. [In] int addr3,
  70. [In] int startOffset,
  71. [In] int endOffset);
  72. void DefineGlobalVariable2_Placeholder ();
  73. void DefineConstant2 (
  74. [In, MarshalAs (UnmanagedType.LPWStr)] string name,
  75. [In, MarshalAs (UnmanagedType.Struct)] object variant,
  76. [In] int sigToken);
  77. }
  78. }