Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

275 lines
7.6 KiB

  1. // Microsoft Visual Studio Object Model
  2. // Copyright (C) 1996-1997 Microsoft Corporation
  3. // All rights reserved.
  4. /////////////////////////////////////////////////////////////////////////////
  5. // dbgauto.h
  6. // Declaration of dual interfaces to objects found in the type library
  7. // VISUAL STUDIO 97 DEBUGGER (SharedIDE\bin\ide\devdbg.pkg)
  8. #ifndef __DBGAUTO_H__
  9. #define __DBGAUTO_H__
  10. #include "dbgdefs.h"
  11. #ifndef BEGIN_INTERFACE
  12. #define BEGIN_INTERFACE
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // Interfaces declared in this file:
  16. interface IDebugger;
  17. interface IDebuggerEvents;
  18. interface IBreakpoint;
  19. interface IBreakpoints;
  20. /////////////////////////////////////////////////////////////////////////////
  21. // Debugger object
  22. // IDebugger interface
  23. #undef INTERFACE
  24. #define INTERFACE IDebugger
  25. DECLARE_INTERFACE_(IDebugger, IDispatch)
  26. {
  27. BEGIN_INTERFACE
  28. #ifndef NO_BASEINTERFACE_FUNCS
  29. /* IUnknown methods */
  30. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  31. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  32. STDMETHOD_(ULONG, Release)(THIS) PURE;
  33. /* IDispatch methods */
  34. STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  35. STDMETHOD(GetTypeInfo)(
  36. THIS_
  37. UINT itinfo,
  38. LCID lcid,
  39. ITypeInfo FAR* FAR* pptinfo) PURE;
  40. STDMETHOD(GetIDsOfNames)(
  41. THIS_
  42. REFIID riid,
  43. OLECHAR FAR* FAR* rgszNames,
  44. UINT cNames,
  45. LCID lcid,
  46. DISPID FAR* rgdispid) PURE;
  47. STDMETHOD(Invoke)(
  48. THIS_
  49. DISPID dispidMember,
  50. REFIID riid,
  51. LCID lcid,
  52. WORD wFlags,
  53. DISPPARAMS FAR* pdispparams,
  54. VARIANT FAR* pvarResult,
  55. EXCEPINFO FAR* pexcepinfo,
  56. UINT FAR* puArgErr) PURE;
  57. #endif
  58. /* IDebugger methods */
  59. STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  60. STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  61. STDMETHOD(get_Breakpoints)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  62. STDMETHOD(get_DefaultRadix)(THIS_ long FAR* pLong) PURE;
  63. STDMETHOD(put_DefaultRadix)(THIS_ long l) PURE;
  64. STDMETHOD(get_State)(THIS_ DsExecutionState FAR* pState) PURE;
  65. STDMETHOD(get_JustInTimeDebugging)(THIS_ VARIANT_BOOL FAR* pBoolean) PURE;
  66. STDMETHOD(put_JustInTimeDebugging)(THIS_ VARIANT_BOOL bool) PURE;
  67. STDMETHOD(get_RemoteProcedureCallDebugging)(THIS_ VARIANT_BOOL FAR* pBoolean) PURE;
  68. STDMETHOD(put_RemoteProcedureCallDebugging)(THIS_ VARIANT_BOOL bool) PURE;
  69. STDMETHOD(Go)(THIS) PURE;
  70. STDMETHOD(StepInto)(THIS) PURE;
  71. STDMETHOD(StepOver)(THIS) PURE;
  72. STDMETHOD(StepOut)(THIS) PURE;
  73. STDMETHOD(Restart)(THIS) PURE;
  74. STDMETHOD(Stop)(THIS) PURE;
  75. STDMETHOD(Break)(THIS) PURE;
  76. STDMETHOD(Evaluate)(THIS_ BSTR expr, BSTR FAR* pBSTR) PURE;
  77. STDMETHOD(ShowNextStatement)(THIS) PURE;
  78. STDMETHOD(RunToCursor)(THIS) PURE;
  79. STDMETHOD(SetNextStatement)(THIS_ VARIANT Selection) PURE;
  80. };
  81. // IDebuggerEvents interface
  82. #undef INTERFACE
  83. #define INTERFACE IDebuggerEvents
  84. DECLARE_INTERFACE_(IDebuggerEvents, IDispatch)
  85. {
  86. BEGIN_INTERFACE
  87. #ifndef NO_BASEINTERFACE_FUNCS
  88. /* IUnknown methods */
  89. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  90. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  91. STDMETHOD_(ULONG, Release)(THIS) PURE;
  92. /* IDispatch methods */
  93. STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  94. STDMETHOD(GetTypeInfo)(
  95. THIS_
  96. UINT itinfo,
  97. LCID lcid,
  98. ITypeInfo FAR* FAR* pptinfo) PURE;
  99. STDMETHOD(GetIDsOfNames)(
  100. THIS_
  101. REFIID riid,
  102. OLECHAR FAR* FAR* rgszNames,
  103. UINT cNames,
  104. LCID lcid,
  105. DISPID FAR* rgdispid) PURE;
  106. STDMETHOD(Invoke)(
  107. THIS_
  108. DISPID dispidMember,
  109. REFIID riid,
  110. LCID lcid,
  111. WORD wFlags,
  112. DISPPARAMS FAR* pdispparams,
  113. VARIANT FAR* pvarResult,
  114. EXCEPINFO FAR* pexcepinfo,
  115. UINT FAR* puArgErr) PURE;
  116. #endif
  117. /* IDebuggerEvents methods */
  118. STDMETHOD(BreakpointHit)(THIS_ IDispatch * pBreakpoint) PURE;
  119. };
  120. /////////////////////////////////////////////////////////////////////////////
  121. // Breakpoint object
  122. // IBreakpoint interface
  123. #undef INTERFACE
  124. #define INTERFACE IBreakpoint
  125. DECLARE_INTERFACE_(IBreakpoint, IDispatch)
  126. {
  127. BEGIN_INTERFACE
  128. #ifndef NO_BASEINTERFACE_FUNCS
  129. /* IUnknown methods */
  130. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  131. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  132. STDMETHOD_(ULONG, Release)(THIS) PURE;
  133. /* IDispatch methods */
  134. STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  135. STDMETHOD(GetTypeInfo)(
  136. THIS_
  137. UINT itinfo,
  138. LCID lcid,
  139. ITypeInfo FAR* FAR* pptinfo) PURE;
  140. STDMETHOD(GetIDsOfNames)(
  141. THIS_
  142. REFIID riid,
  143. OLECHAR FAR* FAR* rgszNames,
  144. UINT cNames,
  145. LCID lcid,
  146. DISPID FAR* rgdispid) PURE;
  147. STDMETHOD(Invoke)(
  148. THIS_
  149. DISPID dispidMember,
  150. REFIID riid,
  151. LCID lcid,
  152. WORD wFlags,
  153. DISPPARAMS FAR* pdispparams,
  154. VARIANT FAR* pvarResult,
  155. EXCEPINFO FAR* pexcepinfo,
  156. UINT FAR* puArgErr) PURE;
  157. #endif
  158. /* IBreakpoint methods */
  159. STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  160. STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  161. STDMETHOD(get_Enabled)(THIS_ VARIANT_BOOL FAR* pBool) PURE;
  162. STDMETHOD(put_Enabled)(THIS_ VARIANT_BOOL bool) PURE;
  163. STDMETHOD(get_Location)(THIS_ BSTR FAR* pBSTR) PURE;
  164. STDMETHOD(get_File)(THIS_ BSTR FAR* pBSTR) PURE;
  165. STDMETHOD(get_Function)(THIS_ BSTR FAR* pBSTR) PURE;
  166. STDMETHOD(get_Executable)(THIS_ BSTR FAR* pBSTR) PURE;
  167. STDMETHOD(get_Condition)(THIS_ BSTR FAR* pBSTR) PURE;
  168. STDMETHOD(put_Condition)(THIS_ BSTR bstr) PURE;
  169. STDMETHOD(get_Elements)(THIS_ long FAR* pLong) PURE;
  170. STDMETHOD(get_PassCount)(THIS_ long FAR* pLong) PURE;
  171. STDMETHOD(get_Message)(THIS_ long FAR* pLong) PURE;
  172. STDMETHOD(get_WindowProcedure)(THIS_ BSTR FAR* pBSTR) PURE;
  173. STDMETHOD(get_Type)(THIS_ long FAR* pLong) PURE;
  174. STDMETHOD(Remove)(THIS) PURE;
  175. };
  176. /////////////////////////////////////////////////////////////////////////////
  177. // Breakpoints object
  178. // IBreakpoints interface
  179. #undef INTERFACE
  180. #define INTERFACE IBreakpoints
  181. DECLARE_INTERFACE_(IBreakpoints, IDispatch)
  182. {
  183. BEGIN_INTERFACE
  184. #ifndef NO_BASEINTERFACE_FUNCS
  185. /* IUnknown methods */
  186. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  187. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  188. STDMETHOD_(ULONG, Release)(THIS) PURE;
  189. /* IDispatch methods */
  190. STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  191. STDMETHOD(GetTypeInfo)(
  192. THIS_
  193. UINT itinfo,
  194. LCID lcid,
  195. ITypeInfo FAR* FAR* pptinfo) PURE;
  196. STDMETHOD(GetIDsOfNames)(
  197. THIS_
  198. REFIID riid,
  199. OLECHAR FAR* FAR* rgszNames,
  200. UINT cNames,
  201. LCID lcid,
  202. DISPID FAR* rgdispid) PURE;
  203. STDMETHOD(Invoke)(
  204. THIS_
  205. DISPID dispidMember,
  206. REFIID riid,
  207. LCID lcid,
  208. WORD wFlags,
  209. DISPPARAMS FAR* pdispparams,
  210. VARIANT FAR* pvarResult,
  211. EXCEPINFO FAR* pexcepinfo,
  212. UINT FAR* puArgErr) PURE;
  213. #endif
  214. /* IBreakpoints methods */
  215. STDMETHOD(get_Count)(THIS_ long FAR* Count) PURE;
  216. STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  217. STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
  218. STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* _NewEnum) PURE;
  219. STDMETHOD(Item)(THIS_ VARIANT index, IDispatch * FAR* Item) PURE;
  220. STDMETHOD(RemoveAllBreakpoints)(THIS) PURE;
  221. STDMETHOD(RemoveBreakpointAtLine)(THIS_ VARIANT sel, VARIANT_BOOL FAR* bool) PURE;
  222. STDMETHOD(AddBreakpointAtLine)(THIS_ VARIANT sel, IDispatch * FAR* Item) PURE;
  223. };
  224. #endif //__DBGAUTO_H__