276 lines
7.6 KiB
C
276 lines
7.6 KiB
C
// Microsoft Visual Studio Object Model
|
|
// Copyright (C) 1996-1997 Microsoft Corporation
|
|
// All rights reserved.
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// dbgauto.h
|
|
|
|
// Declaration of dual interfaces to objects found in the type library
|
|
// VISUAL STUDIO 97 DEBUGGER (SharedIDE\bin\ide\devdbg.pkg)
|
|
|
|
#ifndef __DBGAUTO_H__
|
|
#define __DBGAUTO_H__
|
|
|
|
#include "dbgdefs.h"
|
|
|
|
#ifndef BEGIN_INTERFACE
|
|
#define BEGIN_INTERFACE
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Interfaces declared in this file:
|
|
|
|
interface IDebugger;
|
|
interface IDebuggerEvents;
|
|
|
|
interface IBreakpoint;
|
|
interface IBreakpoints;
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Debugger object
|
|
|
|
// IDebugger interface
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IDebugger
|
|
|
|
DECLARE_INTERFACE_(IDebugger, IDispatch)
|
|
{
|
|
BEGIN_INTERFACE
|
|
#ifndef NO_BASEINTERFACE_FUNCS
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IDispatch methods */
|
|
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
|
|
|
|
STDMETHOD(GetTypeInfo)(
|
|
THIS_
|
|
UINT itinfo,
|
|
LCID lcid,
|
|
ITypeInfo FAR* FAR* pptinfo) PURE;
|
|
|
|
STDMETHOD(GetIDsOfNames)(
|
|
THIS_
|
|
REFIID riid,
|
|
OLECHAR FAR* FAR* rgszNames,
|
|
UINT cNames,
|
|
LCID lcid,
|
|
DISPID FAR* rgdispid) PURE;
|
|
|
|
STDMETHOD(Invoke)(
|
|
THIS_
|
|
DISPID dispidMember,
|
|
REFIID riid,
|
|
LCID lcid,
|
|
WORD wFlags,
|
|
DISPPARAMS FAR* pdispparams,
|
|
VARIANT FAR* pvarResult,
|
|
EXCEPINFO FAR* pexcepinfo,
|
|
UINT FAR* puArgErr) PURE;
|
|
#endif
|
|
|
|
/* IDebugger methods */
|
|
STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppDispatch) PURE;
|
|
STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
|
|
STDMETHOD(get_Breakpoints)(THIS_ IDispatch * FAR* ppDispatch) PURE;
|
|
STDMETHOD(get_DefaultRadix)(THIS_ long FAR* pLong) PURE;
|
|
STDMETHOD(put_DefaultRadix)(THIS_ long l) PURE;
|
|
STDMETHOD(get_State)(THIS_ DsExecutionState FAR* pState) PURE;
|
|
STDMETHOD(get_JustInTimeDebugging)(THIS_ VARIANT_BOOL FAR* pBoolean) PURE;
|
|
STDMETHOD(put_JustInTimeDebugging)(THIS_ VARIANT_BOOL bool) PURE;
|
|
STDMETHOD(get_RemoteProcedureCallDebugging)(THIS_ VARIANT_BOOL FAR* pBoolean) PURE;
|
|
STDMETHOD(put_RemoteProcedureCallDebugging)(THIS_ VARIANT_BOOL bool) PURE;
|
|
STDMETHOD(Go)(THIS) PURE;
|
|
STDMETHOD(StepInto)(THIS) PURE;
|
|
STDMETHOD(StepOver)(THIS) PURE;
|
|
STDMETHOD(StepOut)(THIS) PURE;
|
|
STDMETHOD(Restart)(THIS) PURE;
|
|
STDMETHOD(Stop)(THIS) PURE;
|
|
STDMETHOD(Break)(THIS) PURE;
|
|
STDMETHOD(Evaluate)(THIS_ BSTR expr, BSTR FAR* pBSTR) PURE;
|
|
STDMETHOD(ShowNextStatement)(THIS) PURE;
|
|
STDMETHOD(RunToCursor)(THIS) PURE;
|
|
STDMETHOD(SetNextStatement)(THIS_ VARIANT Selection) PURE;
|
|
};
|
|
|
|
// IDebuggerEvents interface
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IDebuggerEvents
|
|
|
|
DECLARE_INTERFACE_(IDebuggerEvents, IDispatch)
|
|
{
|
|
BEGIN_INTERFACE
|
|
#ifndef NO_BASEINTERFACE_FUNCS
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IDispatch methods */
|
|
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
|
|
|
|
STDMETHOD(GetTypeInfo)(
|
|
THIS_
|
|
UINT itinfo,
|
|
LCID lcid,
|
|
ITypeInfo FAR* FAR* pptinfo) PURE;
|
|
|
|
STDMETHOD(GetIDsOfNames)(
|
|
THIS_
|
|
REFIID riid,
|
|
OLECHAR FAR* FAR* rgszNames,
|
|
UINT cNames,
|
|
LCID lcid,
|
|
DISPID FAR* rgdispid) PURE;
|
|
|
|
STDMETHOD(Invoke)(
|
|
THIS_
|
|
DISPID dispidMember,
|
|
REFIID riid,
|
|
LCID lcid,
|
|
WORD wFlags,
|
|
DISPPARAMS FAR* pdispparams,
|
|
VARIANT FAR* pvarResult,
|
|
EXCEPINFO FAR* pexcepinfo,
|
|
UINT FAR* puArgErr) PURE;
|
|
#endif
|
|
|
|
/* IDebuggerEvents methods */
|
|
STDMETHOD(BreakpointHit)(THIS_ IDispatch * pBreakpoint) PURE;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Breakpoint object
|
|
|
|
// IBreakpoint interface
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IBreakpoint
|
|
|
|
DECLARE_INTERFACE_(IBreakpoint, IDispatch)
|
|
{
|
|
BEGIN_INTERFACE
|
|
#ifndef NO_BASEINTERFACE_FUNCS
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IDispatch methods */
|
|
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
|
|
|
|
STDMETHOD(GetTypeInfo)(
|
|
THIS_
|
|
UINT itinfo,
|
|
LCID lcid,
|
|
ITypeInfo FAR* FAR* pptinfo) PURE;
|
|
|
|
STDMETHOD(GetIDsOfNames)(
|
|
THIS_
|
|
REFIID riid,
|
|
OLECHAR FAR* FAR* rgszNames,
|
|
UINT cNames,
|
|
LCID lcid,
|
|
DISPID FAR* rgdispid) PURE;
|
|
|
|
STDMETHOD(Invoke)(
|
|
THIS_
|
|
DISPID dispidMember,
|
|
REFIID riid,
|
|
LCID lcid,
|
|
WORD wFlags,
|
|
DISPPARAMS FAR* pdispparams,
|
|
VARIANT FAR* pvarResult,
|
|
EXCEPINFO FAR* pexcepinfo,
|
|
UINT FAR* puArgErr) PURE;
|
|
#endif
|
|
|
|
/* IBreakpoint methods */
|
|
STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppDispatch) PURE;
|
|
STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
|
|
STDMETHOD(get_Enabled)(THIS_ VARIANT_BOOL FAR* pBool) PURE;
|
|
STDMETHOD(put_Enabled)(THIS_ VARIANT_BOOL bool) PURE;
|
|
STDMETHOD(get_Location)(THIS_ BSTR FAR* pBSTR) PURE;
|
|
STDMETHOD(get_File)(THIS_ BSTR FAR* pBSTR) PURE;
|
|
STDMETHOD(get_Function)(THIS_ BSTR FAR* pBSTR) PURE;
|
|
STDMETHOD(get_Executable)(THIS_ BSTR FAR* pBSTR) PURE;
|
|
STDMETHOD(get_Condition)(THIS_ BSTR FAR* pBSTR) PURE;
|
|
STDMETHOD(put_Condition)(THIS_ BSTR bstr) PURE;
|
|
STDMETHOD(get_Elements)(THIS_ long FAR* pLong) PURE;
|
|
STDMETHOD(get_PassCount)(THIS_ long FAR* pLong) PURE;
|
|
STDMETHOD(get_Message)(THIS_ long FAR* pLong) PURE;
|
|
STDMETHOD(get_WindowProcedure)(THIS_ BSTR FAR* pBSTR) PURE;
|
|
STDMETHOD(get_Type)(THIS_ long FAR* pLong) PURE;
|
|
STDMETHOD(Remove)(THIS) PURE;
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Breakpoints object
|
|
|
|
// IBreakpoints interface
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IBreakpoints
|
|
|
|
DECLARE_INTERFACE_(IBreakpoints, IDispatch)
|
|
{
|
|
BEGIN_INTERFACE
|
|
#ifndef NO_BASEINTERFACE_FUNCS
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
|
|
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
|
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
|
|
|
/* IDispatch methods */
|
|
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
|
|
|
|
STDMETHOD(GetTypeInfo)(
|
|
THIS_
|
|
UINT itinfo,
|
|
LCID lcid,
|
|
ITypeInfo FAR* FAR* pptinfo) PURE;
|
|
|
|
STDMETHOD(GetIDsOfNames)(
|
|
THIS_
|
|
REFIID riid,
|
|
OLECHAR FAR* FAR* rgszNames,
|
|
UINT cNames,
|
|
LCID lcid,
|
|
DISPID FAR* rgdispid) PURE;
|
|
|
|
STDMETHOD(Invoke)(
|
|
THIS_
|
|
DISPID dispidMember,
|
|
REFIID riid,
|
|
LCID lcid,
|
|
WORD wFlags,
|
|
DISPPARAMS FAR* pdispparams,
|
|
VARIANT FAR* pvarResult,
|
|
EXCEPINFO FAR* pexcepinfo,
|
|
UINT FAR* puArgErr) PURE;
|
|
#endif
|
|
|
|
/* IBreakpoints methods */
|
|
STDMETHOD(get_Count)(THIS_ long FAR* Count) PURE;
|
|
STDMETHOD(get_Application)(THIS_ IDispatch * FAR* ppDispatch) PURE;
|
|
STDMETHOD(get_Parent)(THIS_ IDispatch * FAR* ppDispatch) PURE;
|
|
STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* _NewEnum) PURE;
|
|
STDMETHOD(Item)(THIS_ VARIANT index, IDispatch * FAR* Item) PURE;
|
|
STDMETHOD(RemoveAllBreakpoints)(THIS) PURE;
|
|
STDMETHOD(RemoveBreakpointAtLine)(THIS_ VARIANT sel, VARIANT_BOOL FAR* bool) PURE;
|
|
STDMETHOD(AddBreakpointAtLine)(THIS_ VARIANT sel, IDispatch * FAR* Item) PURE;
|
|
};
|
|
|
|
#endif //__DBGAUTO_H__
|