af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright 2008 Jacek Caban for CodeWeavers
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * a choice of LGPL license versions is made available with the language indicating
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * of the LGPL is applied is otherwise unspecified.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "ocidl.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "activscp.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsync/* import "dbgprop.idl"; */
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugDocumentContext;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IRemoteDebugApplication;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* FIXME: */
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IEnumDebugStackFrames;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugStackFrame;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IApplicationDebugger;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IEnumRemoteDebugApplicationThreads;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugApplicationNode;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IEnumDebugExpressionContexts;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugApplicationThread;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugSyncOperation;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugAsyncOperation;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugStackFrameSniffer;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugThreadCall32;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IActiveScriptErrorDebug;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IProvideExpressionContexts;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagBREAKPOINT_STATE {
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKPOINT_DELETED,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKPOINT_DISABLED,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKPOINT_ENABLED
af062818b47340eef15700d2f0211576ba3506eevboxsync} BREAKPOINT_STATE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DWORD APPBREAKFLAGS;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagBREAKREASON {
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKREASON_STEP,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKREASON_BREAKPOINT,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKREASON_DEBUGGER_BLOCK,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKREASON_HOST_INITIATED,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKREASON_LANGUAGE_INITIATED,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKREASON_DEBUGGER_HALT,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKREASON_ERROR,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKREASON_JIT
af062818b47340eef15700d2f0211576ba3506eevboxsync} BREAKREASON;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagBREAKRESUME_ACTION {
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKRESUMEACTION_ABORT,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKRESUMEACTION_CONTINUE,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKRESUMEACTION_STEP_INTO,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKRESUMEACTION_STEP_OVER,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKRESUMEACTION_STEP_OUT,
af062818b47340eef15700d2f0211576ba3506eevboxsync BREAKRESUMEACTION_IGNORE
af062818b47340eef15700d2f0211576ba3506eevboxsync} BREAKRESUMEACTION;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagDOCUMENTNAMETYPE {
af062818b47340eef15700d2f0211576ba3506eevboxsync DOCUMENTNAMETYPE_APPNODE,
af062818b47340eef15700d2f0211576ba3506eevboxsync DOCUMENTNAMETYPE_TITLE,
af062818b47340eef15700d2f0211576ba3506eevboxsync DOCUMENTNAMETYPE_FILE_TAIL,
af062818b47340eef15700d2f0211576ba3506eevboxsync DOCUMENTNAMETYPE_URL
af062818b47340eef15700d2f0211576ba3506eevboxsync} DOCUMENTNAMETYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum tagERRORRESUMEACTION {
af062818b47340eef15700d2f0211576ba3506eevboxsync ERRORRESUMEACTION_ReexecuteErrorStatement,
af062818b47340eef15700d2f0211576ba3506eevboxsync ERRORRESUMEACTION_AbortCallAndReturnErrorToCaller,
af062818b47340eef15700d2f0211576ba3506eevboxsync ERRORRESUMEACTION_SkipErrorStatement,
af062818b47340eef15700d2f0211576ba3506eevboxsync} ERRORRESUMEACTION;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IDebugDocumentInfo
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(51973c1f-cb0c-11d0-b5c9-00a0244a0e7a),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugDocumentInfo : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DOCUMENTNAMETYPE dnt,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BSTR *pbstrName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDocumentClassId(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] CLSID *pclsidDocument);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IDebugDocument
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(51973c21-cb0c-11d0-b5c9-00a0244a0e7a),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugDocument : IDebugDocumentInfo
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IDebugCodeContext
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(51973c13-cb0c-11d0-b5c9-00a0244a0e7a),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugCodeContext : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDocumentContext(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugDocumentContext **ppsc);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetBreakPoint(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BREAKPOINT_STATE bps);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IEnumDebugCodeContexts
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(51973c1d-cb0c-11d0-b5c9-00a0244a0e7a),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IEnumDebugCodeContexts : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Next(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG celt,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugCodeContext **pscc,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pceltFetched);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Skip(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG celt);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Reset();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Clone(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumDebugCodeContexts **ppescc);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IDebugDocumentContext
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(51973c28-cb0c-11d0-b5c9-00a0244a0e7a),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugDocumentContext : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDocument(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugDocument **ppsd);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EnumCodeContexts(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumDebugCodeContexts **ppescc);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IRemoteDebugApplicationThread
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(51973c37-cb0c-11d0-b5c9-00a0244a0e7a),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IRemoteDebugApplicationThread : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetSystemThreadId(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *dwThreadId);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetApplication(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IRemoteDebugApplication **pprda);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EnumStackFrames(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumDebugStackFrames **ppedsf);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDescription(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BSTR *pbstrDescription,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BSTR *pbstrState);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetNextStatement(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IDebugStackFrame *pStackFrame,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IDebugCodeContext *pCodeContext);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetState(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pState);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Suspend(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwCount);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Resume(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwCount);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetSuspendCount(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwCount);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IRemoteDebugApplication
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(51973c30-cb0c-11d0-b5c9-00a0244Aae7a),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IRemoteDebugApplication : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT ResumeFromBreakPoint(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IRemoteDebugApplicationThread *prptFocus,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BREAKRESUMEACTION bra,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ERRORRESUMEACTION era);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CauseBreak();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT ConnectDebugger(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IApplicationDebugger *pad);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT DisconnectDebugger();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDebugger(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IApplicationDebugger **pad);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CreateInstanceAtApplication(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFCLSID rclsid,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IUnknown *pUnkOuter,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwClsContext,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFIID riid,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out, iid_is(riid)] IUnknown **ppvObject);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT QueryAlive();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EnumThreads(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumRemoteDebugApplicationThreads **pperdat);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BSTR *pbstrName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetRootNode(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugApplicationNode **ppdanRoot);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EnumGlobalExpressionContexts(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumDebugExpressionContexts **ppedec);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IDebugApplication32
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(51973c32-cb0c-11d0-b5c9-00a0244a0e7a),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugApplication32 : IRemoteDebugApplication
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCOLESTR pstrName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT StepOutComplete();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT DebugOutput(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCOLESTR pstr);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT StartDebugSession();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT HandleBreakPoint(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BREAKREASON br,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BREAKRESUMEACTION *pbra);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Close();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetBreakFlags(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] APPBREAKFLAGS *pabf,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IRemoteDebugApplicationThread **pprdatSteppingThread);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetCurrentThread(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugApplicationThread **pat);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CreateAsyncDebugOperation(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IDebugSyncOperation *psdo,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugAsyncOperation **ppado);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddStackFrameSniffer(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IDebugStackFrameSniffer *pdsfs,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwCookie);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT RemoveStackFrameSniffer(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwCookie);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT QueryCurrentThreadIsDebuggerThread();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SynchronousCallInDebuggerThread(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IDebugThreadCall32 *pptc,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwParam1,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwParam2,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwParam3);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CreateApplicationNode(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugApplicationNode **ppdanNew);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT FireDebuggerEvent(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFGUID riid,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IUnknown *punk);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT HandleRuntimeError(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IActiveScriptErrorDebug *pErrorDebug,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IActiveScriptSite *pScriptSite,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BREAKRESUMEACTION *pbra,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ERRORRESUMEACTION *perra,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BOOL *pfCallOnScriptError);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL FCanJitDebug();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL FIsAutoJitDebugEnabled();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddGlobalExpressionContextProvider(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IProvideExpressionContexts *pdsfs,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwCookie);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT RemoveGlobalExpressionContextProvider(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwCookie);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IDebugApplication64
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(4dedc754-04c7-4f10-9e60-16a390fe6e62),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IDebugApplication64 : IRemoteDebugApplication
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCOLESTR pstrName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT StepOutComplete();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT DebugOutput(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCOLESTR pstr);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT StartDebugSession();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT HandleBreakPoint(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BREAKREASON br,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BREAKRESUMEACTION *pbra);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Close();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetBreakFlags(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] APPBREAKFLAGS *pabf,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IRemoteDebugApplicationThread **pprdatSteppingThread);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetCurrentThread(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugApplicationThread **pat);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CreateAsyncDebugOperation(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IDebugSyncOperation *psdo,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugAsyncOperation **ppado);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddStackFrameSniffer(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IDebugStackFrameSniffer *pdsfs,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwCookie);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT RemoveStackFrameSniffer(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwCookie);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT QueryCurrentThreadIsDebuggerThread();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SynchronousCallInDebuggerThread(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IDebugThreadCall32 *pptc,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORDLONG dwParam1,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORDLONG dwParam2,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORDLONG dwParam3);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT CreateApplicationNode(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugApplicationNode **ppdanNew);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT FireDebuggerEvent(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFGUID riid,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IUnknown *punk);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT HandleRuntimeError(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IActiveScriptErrorDebug *pErrorDebug,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IActiveScriptSite *pScriptSite,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BREAKRESUMEACTION *pbra,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ERRORRESUMEACTION *perra,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BOOL *pfCallOnScriptError);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL FCanJitDebug();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync BOOL FIsAutoJitDebugEnabled();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT AddGlobalExpressionContextProvider(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IProvideExpressionContexts *pdsfs,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORDLONG *pdwCookie);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT RemoveGlobalExpressionContextProvider(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORDLONG dwCookie);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IActiveScriptSiteDebug32
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(51973c11-cb0c-11d0-b5c9-00a0244a0e7a),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IActiveScriptSiteDebug32 : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDocumentContextFromPosition(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwSourceContext,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG uCharacterOffset,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG uNumChars,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugDocumentContext **ppsc);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetApplication(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugApplication32 **ppda);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetRootApplicationNode(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugApplicationNode **ppdanRoot);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnScriptErrorDebug(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IActiveScriptErrorDebug *pErrorDebug,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BOOL *pfEnterDebugger,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BOOL *pfCallOnScriptErrorWhenContinuing);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * interface IActiveScriptSiteDebug64
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(d6b96b0a-7463-402c-92ac-89984226942f),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique),
af062818b47340eef15700d2f0211576ba3506eevboxsync local
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IActiveScriptSiteDebug64 : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDocumentContextFromPosition(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORDLONG dwSourceContext,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG uCharacterOffset,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG uNumChars,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugDocumentContext **ppsc);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetApplication(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugApplication64 **ppda);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetRootApplicationNode(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IDebugApplicationNode **ppdanRoot);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnScriptErrorDebug(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] IActiveScriptErrorDebug *pErrorDebug,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BOOL *pfEnterDebugger,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] BOOL *pfCallOnScriptErrorWhenContinuing);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifndef DISABLE_ACTIVDBG_INTERFACE_WRAPPERS")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifdef _WIN64")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug64")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug64")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IDebugApplication IDebugApplication64")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IID_IDebugApplication IID_IDebugApplication64")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#else")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug32")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug32")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IDebugApplication IDebugApplication32")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IID_IDebugApplication IID_IDebugApplication32")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")