| /** | 
 |  * This file is part of the mingw-w64 runtime package. | 
 |  * No warranty is given; refer to the file DISCLAIMER within this package. | 
 |  */ | 
 |  | 
 | #ifndef DO_NO_IMPORTS | 
 | import "ocidl.idl"; | 
 | import "oleidl.idl"; | 
 | import "oaidl.idl"; | 
 | #ifndef AD7_NO_AD7_IMPORTS | 
 | import "activscp.idl"; | 
 | import "dbgprop.idl"; | 
 | #endif | 
 | #endif | 
 |  | 
 | cpp_quote("#include <winapifamily.h>") | 
 | cpp_quote("") | 
 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
 | cpp_quote("") | 
 | cpp_quote("#ifndef __ActivDbg_h") | 
 | cpp_quote("#define __ActivDbg_h") | 
 |  | 
 | interface IActiveScriptDebug32; | 
 | interface IActiveScriptDebug64; | 
 | interface IActiveScriptErrorDebug; | 
 | interface IActiveScriptSiteDebug32; | 
 | interface IActiveScriptSiteDebug64; | 
 | interface IActiveScriptSiteDebugEx; | 
 | interface IActiveScriptTextInfo; | 
 | interface IApplicationDebugger; | 
 | interface IDebugApplication32; | 
 | interface IDebugApplication64; | 
 | interface IDebugApplicationNode; | 
 | interface IDebugApplicationNodeEvents; | 
 | interface IDebugApplicationThread; | 
 | interface IDebugAsyncOperation; | 
 | interface IDebugAsyncOperationCallBack; | 
 | interface IDebugCodeContext; | 
 | interface IDebugDocument; | 
 | interface IDebugDocumentContext; | 
 | interface IDebugDocumentHelper32; | 
 | interface IDebugDocumentHelper64; | 
 | interface IDebugDocumentHost; | 
 | interface IDebugDocumentInfo; | 
 | interface IDebugDocumentProvider; | 
 | interface IDebugDocumentText; | 
 | interface IDebugDocumentTextAuthor; | 
 | interface IDebugDocumentTextEvents; | 
 | interface IDebugExpression; | 
 | interface IDebugExpressionCallBack; | 
 | interface IDebugExpressionContext; | 
 | interface IDebugFormatter; | 
 | interface IDebugSessionProvider; | 
 | interface IDebugStackFrame; | 
 | interface IDebugStackFrameSniffer; | 
 | interface IDebugSyncOperation; | 
 | interface IDebugThreadCall32; | 
 | interface IDebugThreadCall64; | 
 | interface IEnumActiveScriptDebugs; | 
 | interface IEnumDebugApplicationNodes; | 
 | interface IEnumDebugCodeContexts; | 
 | interface IEnumDebugDocumentContexts; | 
 | interface IEnumDebugExpressionContexts; | 
 | interface IEnumDebugObjectBrowsers; | 
 | interface IEnumDebugStackFrames; | 
 | interface IEnumDebugStackFrames64; | 
 | interface IEnumRemoteDebugApplications; | 
 | interface IEnumRemoteDebugApplicationThreads; | 
 | interface IMachineDebugManager; | 
 | interface IMachineDebugManagerCookie; | 
 | interface IMachineDebugManagerEvents; | 
 | interface IProcessDebugManager; | 
 | interface IProvideExpressionContexts; | 
 | interface IRemoteDebugApplication; | 
 | interface IRemoteDebugApplicationThread; | 
 |  | 
 | typedef DWORD APPBREAKFLAGS; | 
 | typedef WORD SOURCE_TEXT_ATTR; | 
 | typedef DWORD TEXT_DOC_ATTR; | 
 |  | 
 | typedef enum tagBREAKPOINT_STATE { | 
 |   BREAKPOINT_DELETED = 0, | 
 |   BREAKPOINT_DISABLED = 1, | 
 |   BREAKPOINT_ENABLED = 2 | 
 | } BREAKPOINT_STATE; | 
 |  | 
 | typedef enum tagBREAKREASON { | 
 |   BREAKREASON_STEP, | 
 |   BREAKREASON_BREAKPOINT, | 
 |   BREAKREASON_DEBUGGER_BLOCK, | 
 |   BREAKREASON_HOST_INITIATED, | 
 |   BREAKREASON_LANGUAGE_INITIATED, | 
 |   BREAKREASON_DEBUGGER_HALT, | 
 |   BREAKREASON_ERROR, | 
 |   BREAKREASON_JIT | 
 | } BREAKREASON; | 
 |  | 
 | typedef enum tagBREAKRESUME_ACTION { | 
 |   BREAKRESUMEACTION_ABORT, | 
 |   BREAKRESUMEACTION_CONTINUE, | 
 |   BREAKRESUMEACTION_STEP_INTO, | 
 |   BREAKRESUMEACTION_STEP_OVER, | 
 |   BREAKRESUMEACTION_STEP_OUT, | 
 |   BREAKRESUMEACTION_IGNORE, | 
 | } BREAKRESUMEACTION; | 
 |  | 
 | typedef enum tagDOCUMENTNAMETYPE { | 
 |   DOCUMENTNAMETYPE_APPNODE, | 
 |   DOCUMENTNAMETYPE_TITLE, | 
 |   DOCUMENTNAMETYPE_FILE_TAIL, | 
 |   DOCUMENTNAMETYPE_URL, | 
 |   DOCUMENTNAMETYPE_UNIQUE_TITLE, | 
 | } DOCUMENTNAMETYPE; | 
 |  | 
 | typedef enum tagERRORRESUMEACTION { | 
 |   ERRORRESUMEACTION_ReexecuteErrorStatement, | 
 |   ERRORRESUMEACTION_AbortCallAndReturnErrorToCaller, | 
 |   ERRORRESUMEACTION_SkipErrorStatement, | 
 | } ERRORRESUMEACTION; | 
 |  | 
 | typedef struct tagDebugStackFrameDescriptor { | 
 |   IDebugStackFrame *pdsf; | 
 |   DWORD dwMin; | 
 |   DWORD dwLim; | 
 |   BOOL fFinal; | 
 |   IUnknown *punkFinal; | 
 | } DebugStackFrameDescriptor; | 
 |  | 
 | typedef struct tagDebugStackFrameDescriptor64 { | 
 |   IDebugStackFrame *pdsf; | 
 |   DWORDLONG dwMin; | 
 |   DWORDLONG dwLim; | 
 |   BOOL fFinal; | 
 |   IUnknown *punkFinal; | 
 | } DebugStackFrameDescriptor64; | 
 |  | 
 | const APPBREAKFLAGS APPBREAKFLAG_DEBUGGER_BLOCK = 0x00000001; | 
 | const APPBREAKFLAGS APPBREAKFLAG_DEBUGGER_HALT = 0x00000002; | 
 | const APPBREAKFLAGS APPBREAKFLAG_STEP = 0x00010000; | 
 | const APPBREAKFLAGS APPBREAKFLAG_NESTED = 0x00020000; | 
 | const APPBREAKFLAGS APPBREAKFLAG_STEPTYPE_SOURCE = 0x00000000; | 
 | const APPBREAKFLAGS APPBREAKFLAG_STEPTYPE_BYTECODE = 0x00100000; | 
 | const APPBREAKFLAGS APPBREAKFLAG_STEPTYPE_MACHINE = 0x00200000; | 
 | const APPBREAKFLAGS APPBREAKFLAG_STEPTYPE_MASK = 0x00f00000; | 
 | const APPBREAKFLAGS APPBREAKFLAG_IN_BREAKPOINT = 0x80000000; | 
 |  | 
 | const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_KEYWORD = 0x1; | 
 | const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_COMMENT = 0x2; | 
 | const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_NONSOURCE = 0x4; | 
 | const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_OPERATOR = 0x8; | 
 | const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_NUMBER = 0x10; | 
 | const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_STRING = 0x20; | 
 | const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_FUNCTION_START = 0x40; | 
 |  | 
 | const TEXT_DOC_ATTR TEXT_DOC_ATTR_READONLY = 0x1; | 
 | const TEXT_DOC_ATTR TEXT_DOC_ATTR_TYPE_PRIMARY = 0x2; | 
 | const TEXT_DOC_ATTR TEXT_DOC_ATTR_TYPE_WORKER = 0x4; | 
 | const TEXT_DOC_ATTR TEXT_DOC_ATTR_TYPE_SCRIPT = 0x8; | 
 | cpp_quote("") | 
 | const DWORD DEBUG_TEXT_ISEXPRESSION = 0x1; | 
 | const DWORD DEBUG_TEXT_RETURNVALUE = 0x2; | 
 | const DWORD DEBUG_TEXT_NOSIDEEFFECTS = 0x4; | 
 | const DWORD DEBUG_TEXT_ALLOWBREAKPOINTS = 0x8; | 
 | const DWORD DEBUG_TEXT_ALLOWERRORREPORT = 0x10; | 
 | const DWORD DEBUG_TEXT_EVALUATETOCODECONTEXT = 0x20; | 
 |  | 
 | cpp_quote("#ifndef DISABLE_ACTIVDBG_INTERFACE_WRAPPERS") | 
 | cpp_quote("#ifdef _WIN64") | 
 | cpp_quote("#define IDebugApplication IDebugApplication64") | 
 | cpp_quote("#define IID_IDebugApplication IID_IDebugApplication64") | 
 | cpp_quote("#define IDebugThreadCall IDebugThreadCall64") | 
 | cpp_quote("#define IID_IDebugThreadCall IID_IDebugThreadCall64") | 
 | cpp_quote("#define SynchronousCallIntoThread SynchronousCallIntoThread64") | 
 | cpp_quote("#define IActiveScriptDebug IActiveScriptDebug64") | 
 | cpp_quote("#define IID_IActiveScriptDebug IID_IActiveScriptDebug64") | 
 | cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug64") | 
 | cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug64") | 
 | cpp_quote("#define IDebugStackFrameSnifferEx IDebugStackFrameSnifferEx64") | 
 | cpp_quote("#define IID_IDebugStackFrameSnifferEx IID_IDebugStackFrameSnifferEx64") | 
 | cpp_quote("#define EnumStackFramesEx EnumStackFramesEx64") | 
 | cpp_quote("#define IDebugDocumentHelper IDebugDocumentHelper64") | 
 | cpp_quote("#define IID_IDebugDocumentHelper IID_IDebugDocumentHelper64") | 
 | cpp_quote("#define IProcessDebugManager IProcessDebugManager64") | 
 | cpp_quote("#define IID_IProcessDebugManager IID_IProcessDebugManager64") | 
 | cpp_quote("#else") | 
 | cpp_quote("#define IDebugApplication IDebugApplication32") | 
 | cpp_quote("#define IID_IDebugApplication IID_IDebugApplication32") | 
 | cpp_quote("#define IDebugThreadCall IDebugThreadCall32") | 
 | cpp_quote("#define IID_IDebugThreadCall IID_IDebugThreadCall32") | 
 | cpp_quote("#define SynchronousCallIntoThread SynchronousCallIntoThread32") | 
 | cpp_quote("#define IActiveScriptDebug IActiveScriptDebug32") | 
 | cpp_quote("#define IID_IActiveScriptDebug IID_IActiveScriptDebug32") | 
 | cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug32") | 
 | cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug32") | 
 | cpp_quote("#define IDebugStackFrameSnifferEx IDebugStackFrameSnifferEx32") | 
 | cpp_quote("#define IID_IDebugStackFrameSnifferEx IID_IDebugStackFrameSnifferEx32") | 
 | cpp_quote("#define EnumStackFramesEx EnumStackFramesEx32") | 
 | cpp_quote("#define IDebugDocumentHelper IDebugDocumentHelper32") | 
 | cpp_quote("#define IID_IDebugDocumentHelper IID_IDebugDocumentHelper32") | 
 | cpp_quote("#define IProcessDebugManager IProcessDebugManager32") | 
 | cpp_quote("#define IID_IProcessDebugManager IID_IProcessDebugManager32") | 
 | cpp_quote("#endif") | 
 | cpp_quote("#endif") | 
 |  | 
 | cpp_quote("EXTERN_C const CLSID CLSID_DebugHelper;") | 
 | cpp_quote("EXTERN_C const CLSID CLSID_MachineDebugManager;") | 
 | cpp_quote("EXTERN_C const CLSID CLSID_ProcessDebugManager;") | 
 |  | 
 | [object, uuid (51973c10-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IActiveScriptDebug32 : IUnknown { | 
 |   HRESULT GetScriptTextAttributes ([in, size_is (uNumCodeChars)] LPCOLESTR pstrCode,[in] ULONG uNumCodeChars,[in] LPCOLESTR pstrDelimiter,[in] DWORD dwFlags,[in, out, size_is (uNumCodeChars)] SOURCE_TEXT_ATTR *pattr); | 
 |   HRESULT GetScriptletTextAttributes ([in, size_is (uNumCodeChars)] LPCOLESTR pstrCode,[in] ULONG uNumCodeChars,[in] LPCOLESTR pstrDelimiter,[in] DWORD dwFlags,[in, out, size_is (uNumCodeChars)] SOURCE_TEXT_ATTR *pattr); | 
 |   HRESULT EnumCodeContextsOfPosition ([in] DWORD dwSourceContext,[in] ULONG uCharacterOffset,[in] ULONG uNumChars,[out] IEnumDebugCodeContexts **ppescc); | 
 | } | 
 |  | 
 | [object, uuid (bc437e23-f5b8-47f4-bb79-7d1ce5483b86), pointer_default (unique)] | 
 | interface IActiveScriptDebug64 : IUnknown { | 
 |   HRESULT GetScriptTextAttributes ([in, size_is (uNumCodeChars)] LPCOLESTR pstrCode,[in] ULONG uNumCodeChars,[in] LPCOLESTR pstrDelimiter,[in] DWORD dwFlags,[in, out, size_is (uNumCodeChars)] SOURCE_TEXT_ATTR *pattr); | 
 |   HRESULT GetScriptletTextAttributes ([in, size_is (uNumCodeChars)] LPCOLESTR pstrCode,[in] ULONG uNumCodeChars,[in] LPCOLESTR pstrDelimiter,[in] DWORD dwFlags,[in, out, size_is (uNumCodeChars)] SOURCE_TEXT_ATTR *pattr); | 
 |   HRESULT EnumCodeContextsOfPosition ([in] DWORDLONG dwSourceContext,[in] ULONG uCharacterOffset,[in] ULONG uNumChars,[out] IEnumDebugCodeContexts **ppescc); | 
 | } | 
 |  | 
 | [object, local, uuid (51973c11-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IActiveScriptSiteDebug32 : IUnknown { | 
 |   HRESULT GetDocumentContextFromPosition ([in] DWORD dwSourceContext,[in] ULONG uCharacterOffset,[in] ULONG uNumChars,[out] IDebugDocumentContext **ppsc); | 
 |   HRESULT GetApplication ([out] IDebugApplication32 **ppda); | 
 |   HRESULT GetRootApplicationNode ([out] IDebugApplicationNode **ppdanRoot); | 
 |   HRESULT OnScriptErrorDebug ([in] IActiveScriptErrorDebug *pErrorDebug,[out] BOOL *pfEnterDebugger,[out] BOOL *pfCallOnScriptErrorWhenContinuing); | 
 | } | 
 |  | 
 | [object, local, uuid (d6b96b0a-7463-402c-92ac-89984226942f), pointer_default (unique)] | 
 | interface IActiveScriptSiteDebug64 : IUnknown { | 
 |   HRESULT GetDocumentContextFromPosition ([in] DWORDLONG dwSourceContext,[in] ULONG uCharacterOffset,[in] ULONG uNumChars,[out] IDebugDocumentContext **ppsc); | 
 |   HRESULT GetApplication ([out] IDebugApplication64 **ppda); | 
 |   HRESULT GetRootApplicationNode ([out] IDebugApplicationNode **ppdanRoot); | 
 |   HRESULT OnScriptErrorDebug ([in] IActiveScriptErrorDebug *pErrorDebug,[out] BOOL *pfEnterDebugger,[out] BOOL *pfCallOnScriptErrorWhenContinuing); | 
 | } | 
 |  | 
 | [object, local, uuid (BB722CCB-6ad2-41c6-b780-af9c03ee69f5), pointer_default (unique)] | 
 | interface IActiveScriptSiteDebugEx : IUnknown { | 
 |   HRESULT OnCanNotJITScriptErrorDebug ([in] IActiveScriptErrorDebug *pErrorDebug,[out] BOOL *pfCallOnScriptErrorWhenContinuing); | 
 | } | 
 |  | 
 | [object, uuid (51973c12-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IActiveScriptErrorDebug : IActiveScriptError { | 
 |   HRESULT GetDocumentContext ([out] IDebugDocumentContext **ppssc); | 
 |   HRESULT GetStackFrame ([out] IDebugStackFrame **ppdsf); | 
 | } | 
 |  | 
 | [object, uuid (51973c13-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugCodeContext : IUnknown { | 
 |   HRESULT GetDocumentContext ([out] IDebugDocumentContext **ppsc); | 
 |   HRESULT SetBreakPoint ([in] BREAKPOINT_STATE bps); | 
 | } | 
 |  | 
 | [object, uuid (51973c14-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugExpression : IUnknown { | 
 |   HRESULT Start ([in] IDebugExpressionCallBack *pdecb); | 
 |   HRESULT Abort (void); | 
 |   HRESULT QueryIsComplete (void); | 
 |   HRESULT GetResultAsString ([out] HRESULT *phrResult,[out] BSTR *pbstrResult); | 
 |   HRESULT GetResultAsDebugProperty ([out] HRESULT *phrResult,[out] IDebugProperty **ppdp); | 
 | } | 
 |  | 
 | [object, uuid (51973c15-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugExpressionContext : IUnknown { | 
 |   HRESULT ParseLanguageText ([in] LPCOLESTR pstrCode,[in] UINT nRadix,[in] LPCOLESTR pstrDelimiter,[in] DWORD dwFlags,[out] IDebugExpression **ppe); | 
 |   HRESULT GetLanguageInfo ([out] BSTR *pbstrLanguageName,[out] GUID *pLanguageID); | 
 | } | 
 |  | 
 | [object, uuid (51973c16-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugExpressionCallBack : IUnknown { | 
 |   HRESULT onComplete (void); | 
 | } | 
 |  | 
 | [object, uuid (51973c17-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugStackFrame : IUnknown { | 
 |   HRESULT GetCodeContext ([out] IDebugCodeContext **ppcc); | 
 |   HRESULT GetDescriptionString ([in] BOOL fLong,[out] BSTR *pbstrDescription); | 
 |   HRESULT GetLanguageString ([in] BOOL fLong,[out] BSTR *pbstrLanguage); | 
 |   HRESULT GetThread ([out] IDebugApplicationThread **ppat); | 
 |   HRESULT GetDebugProperty ([out] IDebugProperty **ppDebugProp); | 
 | } | 
 |  | 
 | [object, uuid (51973c18-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugStackFrameSniffer : IUnknown { | 
 |   HRESULT EnumStackFrames ([out] IEnumDebugStackFrames **ppedsf); | 
 | } | 
 |  | 
 | [object, uuid (51973c19-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugStackFrameSnifferEx32 : IDebugStackFrameSniffer { | 
 |   HRESULT EnumStackFramesEx32 ([in] DWORD dwSpMin,[out] IEnumDebugStackFrames **ppedsf); | 
 | }; | 
 |  | 
 | [object, uuid (8cd12af4-49c1-4d52-8d8a-c146f47581aa), pointer_default (unique)] | 
 | interface IDebugStackFrameSnifferEx64 : IDebugStackFrameSniffer { | 
 |   HRESULT EnumStackFramesEx64 ([in] DWORDLONG dwSpMin,[out] IEnumDebugStackFrames64 **ppedsf); | 
 | }; | 
 |  | 
 | [object, local, uuid (51973c1a-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugSyncOperation : IUnknown { | 
 |   HRESULT GetTargetThread ([out] IDebugApplicationThread **ppatTarget); | 
 |   HRESULT Execute ([out] IUnknown **ppunkResult); | 
 |   HRESULT InProgressAbort (void); | 
 | } | 
 |  | 
 | [object, local, uuid (51973c1b-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugAsyncOperation : IUnknown { | 
 |   HRESULT GetSyncDebugOperation ([out] IDebugSyncOperation **ppsdo); | 
 |   HRESULT Start (IDebugAsyncOperationCallBack *padocb); | 
 |   HRESULT Abort (void); | 
 |   HRESULT QueryIsComplete (void); | 
 |   HRESULT GetResult ([out] HRESULT *phrResult,[out] IUnknown **ppunkResult); | 
 | } | 
 |  | 
 | [object, local, uuid (51973c1c-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugAsyncOperationCallBack : IUnknown { | 
 |   HRESULT onComplete (void); | 
 | } | 
 |  | 
 | [object, uuid (51973c1d-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IEnumDebugCodeContexts : IUnknown { | 
 |   [local] HRESULT __stdcall Next ([in] ULONG celt,[out] IDebugCodeContext **pscc,[out] ULONG *pceltFetched); | 
 |   [call_as (Next)] HRESULT __stdcall RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]IDebugCodeContext **pscc,[out] ULONG *pceltFetched); | 
 |   HRESULT Skip ([in] ULONG celt); | 
 |   HRESULT Reset (void); | 
 |   HRESULT Clone ([out] IEnumDebugCodeContexts **ppescc); | 
 | } | 
 |  | 
 | [object, uuid (51973c1e-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IEnumDebugStackFrames : IUnknown { | 
 |   [local] HRESULT __stdcall Next ([in] ULONG celt,[out] DebugStackFrameDescriptor *prgdsfd,[out] ULONG *pceltFetched); | 
 |   [call_as (Next)] HRESULT __stdcall RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]DebugStackFrameDescriptor *prgdsfd,[out] ULONG *pceltFetched); | 
 |   HRESULT Skip ([in] ULONG celt); | 
 |   HRESULT Reset (void); | 
 |   HRESULT Clone ([out] IEnumDebugStackFrames **ppedsf); | 
 | } | 
 |  | 
 | [object, uuid (0dc38853-c1b0-4176-a984-b298361027af), pointer_default (unique)] | 
 | interface IEnumDebugStackFrames64 : IEnumDebugStackFrames { | 
 |   [local] HRESULT __stdcall Next64 ([in] ULONG celt,[out] DebugStackFrameDescriptor64 *prgdsfd,[out] ULONG *pceltFetched); | 
 |   [call_as (Next64)] HRESULT __stdcall RemoteNext64 ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]DebugStackFrameDescriptor64 *prgdsfd,[out] ULONG *pceltFetched); | 
 | } | 
 |  | 
 | [object, uuid (51973c1f-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocumentInfo : IUnknown { | 
 |   HRESULT GetName ([in] DOCUMENTNAMETYPE dnt,[out] BSTR *pbstrName); | 
 |   HRESULT GetDocumentClassId ([out] CLSID *pclsidDocument); | 
 | } | 
 |  | 
 | [object, uuid (51973c20-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocumentProvider : IDebugDocumentInfo { | 
 |   HRESULT GetDocument ([out] IDebugDocument **ppssd); | 
 | } | 
 |  | 
 | [object, uuid (51973c21-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocument : IDebugDocumentInfo { | 
 | } | 
 |  | 
 | [object, uuid (51973c22-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocumentText : IDebugDocument { | 
 |   HRESULT GetDocumentAttributes ([out] TEXT_DOC_ATTR *ptextdocattr); | 
 |   HRESULT GetSize ([out] ULONG *pcNumLines,[out] ULONG *pcNumChars); | 
 |   HRESULT GetPositionOfLine ([in] ULONG cLineNumber,[out] ULONG *pcCharacterPosition); | 
 |   HRESULT GetLineOfPosition ([in] ULONG cCharacterPosition,[out] ULONG *pcLineNumber,[out] ULONG *pcCharacterOffsetInLine); | 
 |   HRESULT GetText ([in] ULONG cCharacterPosition,[in, out, length_is (*pcNumChars), size_is (cMaxChars)] WCHAR *pcharText,[in, out, length_is (*pcNumChars), size_is (cMaxChars), ptr] SOURCE_TEXT_ATTR *pstaTextAttr,[in, out] ULONG *pcNumChars,[in] ULONG cMaxChars); | 
 |   HRESULT GetPositionOfContext ([in] IDebugDocumentContext *psc,[out] ULONG *pcCharacterPosition,[out] ULONG *cNumChars); | 
 |   HRESULT GetContextOfPosition ([in] ULONG cCharacterPosition,[in] ULONG cNumChars,[out] IDebugDocumentContext **ppsc); | 
 | } | 
 |  | 
 | [object, uuid (51973c23-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocumentTextEvents : IUnknown { | 
 |   HRESULT onDestroy (void); | 
 |   HRESULT onInsertText ([in] ULONG cCharacterPosition,[in] ULONG cNumToInsert); | 
 |   HRESULT onRemoveText ([in] ULONG cCharacterPosition,[in] ULONG cNumToRemove); | 
 |   HRESULT onReplaceText ([in] ULONG cCharacterPosition,[in] ULONG cNumToReplace); | 
 |   HRESULT onUpdateTextAttributes ([in] ULONG cCharacterPosition,[in] ULONG cNumToUpdate); | 
 |   HRESULT onUpdateDocumentAttributes ([in] TEXT_DOC_ATTR textdocattr); | 
 | } | 
 |  | 
 | [object, uuid (51973c24-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocumentTextAuthor : IDebugDocumentText { | 
 |   HRESULT InsertText ([in] ULONG cCharacterPosition,[in] ULONG cNumToInsert,[in, size_is (cNumToInsert)]OLECHAR pcharText[]); | 
 |   HRESULT RemoveText ([in] ULONG cCharacterPosition,[in] ULONG cNumToRemove); | 
 |   HRESULT ReplaceText ([in] ULONG cCharacterPosition,[in] ULONG cNumToReplace,[in, size_is (cNumToReplace)]OLECHAR pcharText[]); | 
 | } | 
 |  | 
 | [object, uuid (51973c25-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocumentTextExternalAuthor : IUnknown { | 
 |   HRESULT GetPathName ([out] BSTR *pbstrLongName,[out] BOOL *pfIsOriginalFile); | 
 |   HRESULT GetFileName ([out] BSTR *pbstrShortName); | 
 |   HRESULT NotifyChanged (); | 
 | } | 
 |  | 
 | [object, uuid (51973c26-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocumentHelper32 : IUnknown { | 
 |   HRESULT Init ([in] IDebugApplication32 *pda,[in, string] LPCOLESTR pszShortName,[in, string] LPCOLESTR pszLongName,[in] TEXT_DOC_ATTR docAttr); | 
 |   HRESULT Attach ([in] IDebugDocumentHelper32 *pddhParent); | 
 |   HRESULT Detach (); | 
 |   HRESULT AddUnicodeText ([in, string] LPCOLESTR pszText); | 
 |   HRESULT AddDBCSText ([in, string] LPCSTR pszText); | 
 |   HRESULT SetDebugDocumentHost ([in] IDebugDocumentHost *pddh); | 
 |   HRESULT AddDeferredText ([in] ULONG cChars,[in] DWORD dwTextStartCookie); | 
 |   HRESULT DefineScriptBlock ([in] ULONG ulCharOffset,[in] ULONG cChars,[in] IActiveScript *pas,[in] BOOL fScriptlet,[out] DWORD *pdwSourceContext); | 
 |   HRESULT SetDefaultTextAttr (SOURCE_TEXT_ATTR staTextAttr); | 
 |   HRESULT SetTextAttributes ([in] ULONG ulCharOffset,[in] ULONG cChars,[in, length_is (cChars), size_is (cChars)]SOURCE_TEXT_ATTR *pstaTextAttr); | 
 |   HRESULT SetLongName ([in, string] LPCOLESTR pszLongName); | 
 |   HRESULT SetShortName ([in, string] LPCOLESTR pszShortName); | 
 |   HRESULT SetDocumentAttr ([in] TEXT_DOC_ATTR pszAttributes); | 
 |   HRESULT GetDebugApplicationNode ([out] IDebugApplicationNode **ppdan); | 
 |   HRESULT GetScriptBlockInfo ([in] DWORD dwSourceContext,[out] IActiveScript **ppasd,[out] ULONG *piCharPos,[out] ULONG *pcChars); | 
 |   HRESULT CreateDebugDocumentContext ([in] ULONG iCharPos,[in] ULONG cChars,[out] IDebugDocumentContext **ppddc); | 
 |   HRESULT BringDocumentToTop (); | 
 |   HRESULT BringDocumentContextToTop (IDebugDocumentContext *pddc); | 
 | }; | 
 |  | 
 | [object, uuid (c4c7363c-20fd-47f9-bd82-4855e0150871), pointer_default (unique)] | 
 | interface IDebugDocumentHelper64 : IUnknown { | 
 |   HRESULT Init ([in] IDebugApplication64 *pda,[in, string] LPCOLESTR pszShortName,[in, string] LPCOLESTR pszLongName,[in] TEXT_DOC_ATTR docAttr); | 
 |   HRESULT Attach ([in] IDebugDocumentHelper64 *pddhParent); | 
 |   HRESULT Detach (); | 
 |   HRESULT AddUnicodeText ([in, string] LPCOLESTR pszText); | 
 |   HRESULT AddDBCSText ([in, string] LPCSTR pszText); | 
 |   HRESULT SetDebugDocumentHost ([in] IDebugDocumentHost *pddh); | 
 |   HRESULT AddDeferredText ([in] ULONG cChars,[in] DWORD dwTextStartCookie); | 
 |   HRESULT DefineScriptBlock ([in] ULONG ulCharOffset,[in] ULONG cChars,[in] IActiveScript *pas,[in] BOOL fScriptlet,[out] DWORDLONG *pdwSourceContext); | 
 |   HRESULT SetDefaultTextAttr (SOURCE_TEXT_ATTR staTextAttr); | 
 |   HRESULT SetTextAttributes ([in] ULONG ulCharOffset,[in] ULONG cChars,[in, length_is (cChars), size_is (cChars)]SOURCE_TEXT_ATTR *pstaTextAttr); | 
 |   HRESULT SetLongName ([in, string] LPCOLESTR pszLongName); | 
 |   HRESULT SetShortName ([in, string] LPCOLESTR pszShortName); | 
 |   HRESULT SetDocumentAttr ([in] TEXT_DOC_ATTR pszAttributes); | 
 |   HRESULT GetDebugApplicationNode ([out] IDebugApplicationNode **ppdan); | 
 |   HRESULT GetScriptBlockInfo ([in] DWORDLONG dwSourceContext,[out] IActiveScript **ppasd,[out] ULONG *piCharPos,[out] ULONG *pcChars); | 
 |   HRESULT CreateDebugDocumentContext ([in] ULONG iCharPos,[in] ULONG cChars,[out] IDebugDocumentContext **ppddc); | 
 |   HRESULT BringDocumentToTop (); | 
 |   HRESULT BringDocumentContextToTop (IDebugDocumentContext *pddc); | 
 | }; | 
 |  | 
 | [object, uuid (51973c27-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocumentHost : IUnknown { | 
 |   HRESULT GetDeferredText ([in] DWORD dwTextStartCookie,[in, out, length_is (*pcNumChars), size_is (cMaxChars)] WCHAR *pcharText,[in, out, length_is (*pcNumChars), size_is (cMaxChars)] SOURCE_TEXT_ATTR *pstaTextAttr,[in, out] ULONG *pcNumChars,[in] ULONG cMaxChars); | 
 |   HRESULT GetScriptTextAttributes ([in, size_is (uNumCodeChars)] LPCOLESTR pstrCode,[in] ULONG uNumCodeChars,[in] LPCOLESTR pstrDelimiter,[in] DWORD dwFlags,[in, out, size_is (uNumCodeChars)] SOURCE_TEXT_ATTR *pattr); | 
 |   HRESULT OnCreateDocumentContext ([out] IUnknown **ppunkOuter); | 
 |   HRESULT GetPathName ([out] BSTR *pbstrLongName,[out] BOOL *pfIsOriginalFile); | 
 |   HRESULT GetFileName ([out] BSTR *pbstrShortName); | 
 |   HRESULT NotifyChanged (); | 
 | }; | 
 |  | 
 | [object, uuid (51973c28-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugDocumentContext : IUnknown { | 
 |   HRESULT GetDocument ([out] IDebugDocument **ppsd); | 
 |   HRESULT EnumCodeContexts ([out] IEnumDebugCodeContexts **ppescc); | 
 | } | 
 |  | 
 | [object, uuid (51973c29-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugSessionProvider : IUnknown { | 
 |   HRESULT StartDebugSession ([in] IRemoteDebugApplication *pda); | 
 | }; | 
 |  | 
 | [object, uuid (51973c2a-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IApplicationDebugger : IUnknown { | 
 |   HRESULT QueryAlive (void); | 
 |   HRESULT CreateInstanceAtDebugger ([in] REFCLSID rclsid,[in] IUnknown *pUnkOuter,[in] DWORD dwClsContext,[in] REFIID riid,[out, iid_is (riid)] IUnknown **ppvObject); | 
 |   HRESULT onDebugOutput ([in] LPCOLESTR pstr); | 
 |   HRESULT onHandleBreakPoint ([in] IRemoteDebugApplicationThread *prpt,[in] BREAKREASON br,[in] IActiveScriptErrorDebug *pError); | 
 |   HRESULT onClose (void); | 
 |   HRESULT onDebuggerEvent ([in] REFIID riid,[in] IUnknown *punk); | 
 | }; | 
 |  | 
 | [object, uuid (51973c2b-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IApplicationDebuggerUI : IUnknown { | 
 |   HRESULT BringDocumentToTop ([in] IDebugDocumentText *pddt); | 
 |   HRESULT BringDocumentContextToTop ([in] IDebugDocumentContext *pddc); | 
 | }; | 
 |  | 
 | [object, uuid (51973c2c-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IMachineDebugManager : IUnknown { | 
 |   HRESULT AddApplication ([in] IRemoteDebugApplication *pda,[out] DWORD *pdwAppCookie); | 
 |   HRESULT RemoveApplication ([in] DWORD dwAppCookie); | 
 |   HRESULT EnumApplications ([out] IEnumRemoteDebugApplications **ppeda); | 
 | }; | 
 |  | 
 | [object, uuid (51973c2d-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IMachineDebugManagerCookie : IUnknown { | 
 |   HRESULT AddApplication ([in] IRemoteDebugApplication *pda,[in] DWORD dwDebugAppCookie,[out] DWORD *pdwAppCookie); | 
 |   HRESULT RemoveApplication ([in] DWORD dwDebugAppCookie,[in] DWORD dwAppCookie); | 
 |   HRESULT EnumApplications ([out] IEnumRemoteDebugApplications **ppeda); | 
 | }; | 
 |  | 
 | [object, uuid (51973c2e-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IMachineDebugManagerEvents : IUnknown { | 
 |   HRESULT onAddApplication ([in] IRemoteDebugApplication *pda,[in] DWORD dwAppCookie); | 
 |   HRESULT onRemoveApplication ([in] IRemoteDebugApplication *pda,[in] DWORD dwAppCookie); | 
 | }; | 
 |  | 
 | [object, local, uuid (51973c2f-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IProcessDebugManager32 : IUnknown { | 
 |   HRESULT CreateApplication ([out] IDebugApplication32 **ppda); | 
 |   HRESULT GetDefaultApplication ([out] IDebugApplication32 **ppda); | 
 |   HRESULT AddApplication ([in] IDebugApplication32 *pda,[out] DWORD *pdwAppCookie); | 
 |   HRESULT RemoveApplication ([in] DWORD dwAppCookie); | 
 |   HRESULT CreateDebugDocumentHelper ([in] IUnknown *punkOuter,[out] IDebugDocumentHelper32 **pddh); | 
 | }; | 
 |  | 
 | [object, local, uuid (56b9fc1c-63a9-4cc1-ac21-087d69a17fab), pointer_default (unique)] | 
 | interface IProcessDebugManager64 : IUnknown { | 
 |   HRESULT CreateApplication ([out] IDebugApplication64 **ppda); | 
 |   HRESULT GetDefaultApplication ([out] IDebugApplication64 **ppda); | 
 |   HRESULT AddApplication ([in] IDebugApplication64 *pda,[out] DWORD *pdwAppCookie); | 
 |   HRESULT RemoveApplication ([in] DWORD dwAppCookie); | 
 |   HRESULT CreateDebugDocumentHelper ([in] IUnknown *punkOuter,[out] IDebugDocumentHelper64 **pddh); | 
 | }; | 
 |  | 
 | [object, uuid (51973c30-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IRemoteDebugApplication : IUnknown { | 
 |   HRESULT ResumeFromBreakPoint ([in] IRemoteDebugApplicationThread *prptFocus,[in] BREAKRESUMEACTION bra,[in] ERRORRESUMEACTION era); | 
 |   HRESULT CauseBreak (void); | 
 |   HRESULT ConnectDebugger ([in] IApplicationDebugger *pad); | 
 |   HRESULT DisconnectDebugger (void); | 
 |   HRESULT GetDebugger ([out] IApplicationDebugger **pad); | 
 |   HRESULT CreateInstanceAtApplication ([in] REFCLSID rclsid,[in] IUnknown *pUnkOuter,[in] DWORD dwClsContext,[in] REFIID riid,[out, iid_is (riid)] IUnknown **ppvObject); | 
 |   HRESULT QueryAlive (void); | 
 |   HRESULT EnumThreads ([out] IEnumRemoteDebugApplicationThreads **pperdat); | 
 |   HRESULT GetName ([out] BSTR *pbstrName); | 
 |   HRESULT GetRootNode ([out] IDebugApplicationNode **ppdanRoot); | 
 |   HRESULT EnumGlobalExpressionContexts ([out] IEnumDebugExpressionContexts **ppedec); | 
 | }; | 
 |  | 
 | [object, local, uuid (51973c32-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugApplication32 : IRemoteDebugApplication { | 
 |   HRESULT SetName ([in] LPCOLESTR pstrName); | 
 |   HRESULT StepOutComplete (void); | 
 |   HRESULT DebugOutput ([in] LPCOLESTR pstr); | 
 |   HRESULT StartDebugSession (void); | 
 |   HRESULT HandleBreakPoint ([in] BREAKREASON br,[out] BREAKRESUMEACTION *pbra); | 
 |   HRESULT Close (void); | 
 |   HRESULT GetBreakFlags ([out] APPBREAKFLAGS *pabf,[out] IRemoteDebugApplicationThread **pprdatSteppingThread); | 
 |   HRESULT GetCurrentThread ([out] IDebugApplicationThread **pat); | 
 |   HRESULT CreateAsyncDebugOperation ([in] IDebugSyncOperation *psdo,[out] IDebugAsyncOperation **ppado); | 
 |   HRESULT AddStackFrameSniffer ([in] IDebugStackFrameSniffer *pdsfs,[out] DWORD *pdwCookie); | 
 |   HRESULT RemoveStackFrameSniffer ([in] DWORD dwCookie); | 
 |   HRESULT QueryCurrentThreadIsDebuggerThread (void); | 
 |   HRESULT SynchronousCallInDebuggerThread ([in] IDebugThreadCall32 *pptc,[in] DWORD dwParam1,[in] DWORD dwParam2,[in] DWORD dwParam3); | 
 |   HRESULT CreateApplicationNode ([out] IDebugApplicationNode **ppdanNew); | 
 |   HRESULT FireDebuggerEvent ([in] REFGUID riid,[in] IUnknown *punk); | 
 |   HRESULT HandleRuntimeError ([in] IActiveScriptErrorDebug *pErrorDebug,[in] IActiveScriptSite *pScriptSite,[out] BREAKRESUMEACTION *pbra,[out] ERRORRESUMEACTION *perra,[out] BOOL *pfCallOnScriptError); | 
 |   BOOL FCanJitDebug (); | 
 |   BOOL FIsAutoJitDebugEnabled (); | 
 |   HRESULT AddGlobalExpressionContextProvider ([in] IProvideExpressionContexts *pdsfs,[out] DWORD *pdwCookie); | 
 |   HRESULT RemoveGlobalExpressionContextProvider ([in] DWORD dwCookie); | 
 | } | 
 |  | 
 | [object, local, uuid (4dedc754-04c7-4f10-9e60-16a390fe6e62), pointer_default (unique)] | 
 | interface IDebugApplication64 : IRemoteDebugApplication { | 
 |   HRESULT SetName ([in] LPCOLESTR pstrName); | 
 |   HRESULT StepOutComplete (void); | 
 |   HRESULT DebugOutput ([in] LPCOLESTR pstr); | 
 |   HRESULT StartDebugSession (void); | 
 |   HRESULT HandleBreakPoint ([in] BREAKREASON br,[out] BREAKRESUMEACTION *pbra); | 
 |   HRESULT Close (void); | 
 |   HRESULT GetBreakFlags ([out] APPBREAKFLAGS *pabf,[out] IRemoteDebugApplicationThread **pprdatSteppingThread); | 
 |   HRESULT GetCurrentThread ([out] IDebugApplicationThread **pat); | 
 |   HRESULT CreateAsyncDebugOperation ([in] IDebugSyncOperation *psdo,[out] IDebugAsyncOperation **ppado); | 
 |   HRESULT AddStackFrameSniffer ([in] IDebugStackFrameSniffer *pdsfs,[out] DWORD *pdwCookie); | 
 |   HRESULT RemoveStackFrameSniffer ([in] DWORD dwCookie); | 
 |   HRESULT QueryCurrentThreadIsDebuggerThread (void); | 
 |   HRESULT SynchronousCallInDebuggerThread ([in] IDebugThreadCall64 *pptc,[in] DWORDLONG dwParam1,[in] DWORDLONG dwParam2,[in] DWORDLONG dwParam3); | 
 |   HRESULT CreateApplicationNode ([out] IDebugApplicationNode **ppdanNew); | 
 |   HRESULT FireDebuggerEvent ([in] REFGUID riid,[in] IUnknown *punk); | 
 |   HRESULT HandleRuntimeError ([in] IActiveScriptErrorDebug *pErrorDebug,[in] IActiveScriptSite *pScriptSite,[out] BREAKRESUMEACTION *pbra,[out] ERRORRESUMEACTION *perra,[out] BOOL *pfCallOnScriptError); | 
 |   BOOL FCanJitDebug (); | 
 |   BOOL FIsAutoJitDebugEnabled (); | 
 |   HRESULT AddGlobalExpressionContextProvider ([in] IProvideExpressionContexts *pdsfs,[out] DWORDLONG *pdwCookie); | 
 |   HRESULT RemoveGlobalExpressionContextProvider ([in] DWORDLONG dwCookie); | 
 | }; | 
 |  | 
 | [object, uuid (51973c33-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IRemoteDebugApplicationEvents : IUnknown { | 
 |   HRESULT OnConnectDebugger ([in] IApplicationDebugger *pad); | 
 |   HRESULT OnDisconnectDebugger (void); | 
 |   HRESULT OnSetName ([in] LPCOLESTR pstrName); | 
 |   HRESULT OnDebugOutput ([in] LPCOLESTR pstr); | 
 |   HRESULT OnClose (void); | 
 |   HRESULT OnEnterBreakPoint ([in] IRemoteDebugApplicationThread *prdat); | 
 |   HRESULT OnLeaveBreakPoint ([in] IRemoteDebugApplicationThread *prdat); | 
 |   HRESULT OnCreateThread ([in] IRemoteDebugApplicationThread *prdat); | 
 |   HRESULT OnDestroyThread ([in] IRemoteDebugApplicationThread *prdat); | 
 |   HRESULT OnBreakFlagChange ([in] APPBREAKFLAGS abf,[in] IRemoteDebugApplicationThread *prdatSteppingThread); | 
 | }; | 
 |  | 
 | [object, uuid (51973c34-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugApplicationNode : IDebugDocumentProvider { | 
 |   HRESULT EnumChildren ([out] IEnumDebugApplicationNodes **pperddp); | 
 |   HRESULT GetParent ([out] IDebugApplicationNode **pprddp); | 
 |   HRESULT SetDocumentProvider ([in] IDebugDocumentProvider *pddp); | 
 |   HRESULT Close (void); | 
 |   HRESULT Attach ([in] IDebugApplicationNode *pdanParent); | 
 |   HRESULT Detach (void); | 
 | } | 
 |  | 
 | [object, uuid (51973c35-cb0c-11d0-b5c9-00a0244a0e7a), async_uuid (a2e3aa3b-aa8d-4ebf-84cd-648b737b8c13), pointer_default (unique)] | 
 | interface IDebugApplicationNodeEvents : IUnknown { | 
 |   HRESULT onAddChild ([in] IDebugApplicationNode *prddpChild); | 
 |   HRESULT onRemoveChild ([in] IDebugApplicationNode *prddpChild); | 
 |   HRESULT onDetach (void); | 
 |   HRESULT onAttach ([in] IDebugApplicationNode *prddpParent); | 
 | } | 
 |  | 
 | [object, local, uuid (51973c36-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugThreadCall32 : IUnknown { | 
 |   HRESULT ThreadCallHandler ([in] DWORD dwParam1,[in] DWORD dwParam2,[in] DWORD dwParam3); | 
 | } | 
 |  | 
 | [object, local, uuid (cb3fa335-e979-42fd-9fcf-a7546a0f3905), pointer_default (unique)] | 
 | interface IDebugThreadCall64 : IUnknown { | 
 |   HRESULT ThreadCallHandler ([in] DWORDLONG dwParam1,[in] DWORDLONG dwParam2,[in] DWORDLONG dwParam3); | 
 | } | 
 |  | 
 | [object, uuid (51973c37-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IRemoteDebugApplicationThread : IUnknown { | 
 |   typedef DWORD THREAD_STATE; | 
 |  | 
 |   const THREAD_STATE THREAD_STATE_RUNNING = 0x1; | 
 |   const THREAD_STATE THREAD_STATE_SUSPENDED = 0x2; | 
 |   const THREAD_STATE THREAD_BLOCKED = 0x4; | 
 |   const THREAD_STATE THREAD_OUT_OF_CONTEXT = 0x8; | 
 |  | 
 |   HRESULT GetSystemThreadId ([out] DWORD *dwThreadId); | 
 |   HRESULT GetApplication ([out] IRemoteDebugApplication **pprda); | 
 |   HRESULT EnumStackFrames ([out] IEnumDebugStackFrames **ppedsf); | 
 |   HRESULT GetDescription ([out] BSTR *pbstrDescription,[out] BSTR *pbstrState); | 
 |   HRESULT SetNextStatement ([in] IDebugStackFrame *pStackFrame,[in] IDebugCodeContext *pCodeContext); | 
 |   HRESULT GetState ([out] DWORD *pState); | 
 |   HRESULT Suspend ([out] DWORD *pdwCount); | 
 |   HRESULT Resume ([out] DWORD *pdwCount); | 
 |   HRESULT GetSuspendCount ([out] DWORD *pdwCount); | 
 | } | 
 |  | 
 | [object, local, uuid (51973c38-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugApplicationThread : IRemoteDebugApplicationThread { | 
 |   HRESULT SynchronousCallIntoThread32 ([in] IDebugThreadCall32 *pstcb,[in] DWORD dwParam1,[in] DWORD dwParam2,[in] DWORD dwParam3); | 
 |   HRESULT QueryIsCurrentThread (void); | 
 |   HRESULT QueryIsDebuggerThread (void); | 
 |   HRESULT SetDescription ([in] LPCOLESTR pstrDescription); | 
 |   HRESULT SetStateString ([in] LPCOLESTR pstrState); | 
 | } | 
 |  | 
 | [object, local, uuid (9dac5886-dbad-456d-9dee-5dec39ab3dda), pointer_default (unique)] | 
 | interface IDebugApplicationThread64 : IDebugApplicationThread { | 
 |   HRESULT SynchronousCallIntoThread64 ([in] IDebugThreadCall64 *pstcb,[in] DWORDLONG dwParam1,[in] DWORDLONG dwParam2,[in] DWORDLONG dwParam3); | 
 | } | 
 |  | 
 | [object, local, uuid (51973c39-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugCookie : IUnknown { | 
 |   HRESULT SetDebugCookie ([in]DWORD dwDebugAppCookie); | 
 | }; | 
 |  | 
 | [object, uuid (51973c3a-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IEnumDebugApplicationNodes : IUnknown { | 
 |   [local] HRESULT __stdcall Next ([in] ULONG celt,[out] IDebugApplicationNode **pprddp,[out] ULONG *pceltFetched); | 
 |   [call_as (Next)]  HRESULT __stdcall RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]IDebugApplicationNode **pprddp,[out] ULONG *pceltFetched); | 
 |   HRESULT Skip ([in] ULONG celt); | 
 |   HRESULT Reset (void); | 
 |   HRESULT Clone ([out] IEnumDebugApplicationNodes **pperddp); | 
 | }; | 
 |  | 
 | [object, uuid (51973c3b-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IEnumRemoteDebugApplications : IUnknown { | 
 |   [local] HRESULT __stdcall Next ([in] ULONG celt,[out] IRemoteDebugApplication **ppda,[out] ULONG *pceltFetched); | 
 |   [call_as (Next)] HRESULT __stdcall RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]IRemoteDebugApplication **ppda,[out] ULONG *pceltFetched); | 
 |   HRESULT Skip ([in] ULONG celt); | 
 |   HRESULT Reset (void); | 
 |   HRESULT Clone ([out] IEnumRemoteDebugApplications **ppessd); | 
 | } | 
 |  | 
 | [object, uuid (51973c3c-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IEnumRemoteDebugApplicationThreads : IUnknown { | 
 |   [local] HRESULT __stdcall Next ([in] ULONG celt,[out] IRemoteDebugApplicationThread **pprdat,[out] ULONG *pceltFetched); | 
 |   [call_as (Next)] HRESULT __stdcall RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]IRemoteDebugApplicationThread **ppdat,[out] ULONG *pceltFetched); | 
 |   HRESULT Skip ([in] ULONG celt); | 
 |   HRESULT Reset (void); | 
 |   HRESULT Clone ([out] IEnumRemoteDebugApplicationThreads **pperdat); | 
 | } | 
 |  | 
 | [object, local, uuid (51973c05-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugFormatter : IUnknown { | 
 |   HRESULT GetStringForVariant ([in] VARIANT *pvar,[in] ULONG nRadix,[out] BSTR *pbstrValue); | 
 |   HRESULT GetVariantForString ([in] LPCOLESTR pwstrValue,[out] VARIANT *pvar); | 
 |   HRESULT GetStringForVarType ([in] VARTYPE vt,[in] TYPEDESC *ptdescArrayType,[out] BSTR *pbstr); | 
 | } | 
 |  | 
 | [object, local, uuid (51973c3e-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface ISimpleConnectionPoint : IUnknown { | 
 |   HRESULT GetEventCount ([out] ULONG *pulCount); | 
 |   HRESULT DescribeEvents ([in] ULONG iEvent,[in] ULONG cEvents,[out, size_is (cEvents), length_is (*pcEventsFetched)]DISPID *prgid,[out, size_is (cEvents), length_is (*pcEventsFetched)]BSTR *prgbstr,[out] ULONG *pcEventsFetched); | 
 |   HRESULT Advise ([in] IDispatch *pdisp,[out] DWORD *pdwCookie); | 
 |   HRESULT Unadvise ([in] DWORD dwCookie); | 
 | }; | 
 |  | 
 | [object, local, uuid (51973c3f-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IDebugHelper : IUnknown { | 
 |   HRESULT CreatePropertyBrowser ([in] VARIANT *pvar,[in] LPCOLESTR bstrName,[in] IDebugApplicationThread *pdat,[out] IDebugProperty **ppdob); | 
 |   HRESULT CreatePropertyBrowserEx ([in] VARIANT *pvar,[in] LPCOLESTR bstrName,[in] IDebugApplicationThread *pdat,[in] IDebugFormatter *pdf,[out] IDebugProperty **ppdob); | 
 |   HRESULT CreateSimpleConnectionPoint ([in] IDispatch *pdisp,[out] ISimpleConnectionPoint **ppscp); | 
 | }; | 
 |  | 
 | [object, uuid (51973c40-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IEnumDebugExpressionContexts : IUnknown { | 
 |   [local] HRESULT __stdcall Next ([in] ULONG celt,[out] IDebugExpressionContext **ppdec,[out] ULONG *pceltFetched); | 
 |   [call_as (Next)] HRESULT __stdcall RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]IDebugExpressionContext **pprgdec,[out] ULONG *pceltFetched); | 
 |   HRESULT Skip ([in] ULONG celt); | 
 |   HRESULT Reset (void); | 
 |   HRESULT Clone ([out] IEnumDebugExpressionContexts **ppedec); | 
 | } | 
 |  | 
 | [object, uuid (51973c41-cb0c-11d0-b5c9-00a0244a0e7a), pointer_default (unique)] | 
 | interface IProvideExpressionContexts : IUnknown { | 
 |   HRESULT EnumExpressionContexts ([out] IEnumDebugExpressionContexts **ppedec); | 
 | } | 
 |  | 
 | [uuid (78a51821-51f4-11d0-8f20-00805f2cd064), version (1.0)] | 
 | library ProcessDebugManagerLib { | 
 |   importlib ("stdole2.tlb"); | 
 |   interface IActiveScriptDebug32; | 
 |   interface IActiveScriptDebug64; | 
 |   interface IActiveScriptErrorDebug; | 
 |   interface IActiveScriptSiteDebug32; | 
 |   interface IActiveScriptSiteDebug64; | 
 |   interface IActiveScriptSiteDebugEx; | 
 |   interface IApplicationDebugger; | 
 |   interface IApplicationDebuggerUI; | 
 |   interface IDebugApplication32; | 
 |   interface IDebugApplication64; | 
 |   interface IDebugApplicationNode; | 
 |   interface IDebugApplicationNodeEvents; | 
 |   interface IDebugApplicationThread; | 
 |   interface IDebugAsyncOperation; | 
 |   interface IDebugAsyncOperationCallBack; | 
 |   interface IDebugCodeContext; | 
 |   interface IDebugCookie; | 
 |   interface IDebugDocument; | 
 |   interface IDebugDocumentContext; | 
 |   interface IDebugDocumentHelper32; | 
 |   interface IDebugDocumentHelper64; | 
 |   interface IDebugDocumentHost; | 
 |   interface IDebugDocumentInfo; | 
 |   interface IDebugDocumentProvider; | 
 |   interface IDebugDocumentText; | 
 |   interface IDebugDocumentTextAuthor; | 
 |   interface IDebugDocumentTextEvents; | 
 |   interface IDebugDocumentTextExternalAuthor; | 
 |   interface IDebugExpression; | 
 |   interface IDebugExpressionCallBack; | 
 |   interface IDebugExpressionContext; | 
 |   interface IDebugFormatter; | 
 |   interface IDebugHelper; | 
 |   interface IDebugSessionProvider; | 
 |   interface IDebugStackFrame; | 
 |   interface IDebugStackFrameSniffer; | 
 |   interface IDebugStackFrameSnifferEx32; | 
 |   interface IDebugStackFrameSnifferEx64; | 
 |   interface IDebugSyncOperation; | 
 |   interface IDebugThreadCall32; | 
 |   interface IDebugThreadCall64; | 
 |   interface IEnumDebugApplicationNodes; | 
 |   interface IEnumDebugCodeContexts; | 
 |   interface IEnumDebugExpressionContexts; | 
 |   interface IEnumDebugStackFrames; | 
 |   interface IEnumDebugStackFrames64; | 
 |   interface IEnumRemoteDebugApplications; | 
 |   interface IEnumRemoteDebugApplicationThreads; | 
 |   interface IProcessDebugManager32; | 
 |   interface IProcessDebugManager64; | 
 |   interface IProvideExpressionContexts; | 
 |   interface IMachineDebugManager; | 
 |   interface IMachineDebugManagerCookie; | 
 |   interface IMachineDebugManagerEvents; | 
 |   interface IRemoteDebugApplication; | 
 |   interface IRemoteDebugApplicationEvents; | 
 |   interface IRemoteDebugApplicationThread; | 
 |   interface ISimpleConnectionPoint; | 
 |   [uuid (78a51822-51f4-11d0-8f20-00805f2cd064)] | 
 |   coclass ProcessDebugManager { | 
 | #ifdef _WIN64 | 
 |     [default] interface IProcessDebugManager64; | 
 | #else | 
 |     [default] interface IProcessDebugManager32; | 
 | #endif | 
 |   }; | 
 |   [uuid (0bfcc060-8c1d-11d0-ACCD-00aa0060275c)] | 
 |   coclass DebugHelper { | 
 |     [default] interface IDebugHelper; | 
 |   }; | 
 |   cpp_quote("EXTERN_C const CLSID CLSID_CDebugDocumentHelper;") | 
 |   [uuid (83b8bca6-687c-11d0-A405-00aa0060275c)] | 
 |   coclass CDebugDocumentHelper { | 
 | #ifdef _WIN64 | 
 |     [default] interface IDebugDocumentHelper64; | 
 | #else | 
 |     [default] interface IDebugDocumentHelper32; | 
 | #endif | 
 |     interface IDebugDocumentProvider; | 
 |     interface IDebugDocument; | 
 |     interface IDebugDocumentText; | 
 |     interface IDebugDocumentTextAuthor; | 
 |     interface IConnectionPointContainer; | 
 |     [default, source] interface IDebugDocumentTextEvents; | 
 |   }; | 
 |   cpp_quote("#ifdef DEBUG") | 
 |   cpp_quote("#define MachineDebugManger MachineDebugManager_DEBUG") | 
 |   cpp_quote("#define CLSID_MachineDebugManager CLSID_MachineDebugManager_DEBUG") | 
 |   cpp_quote("#else") | 
 |   cpp_quote("#define MachineDebugManger MachineDebugManager_RETAIL") | 
 |   cpp_quote("#define CLSID_MachineDebugManager CLSID_MachineDebugManager_RETAIL") | 
 |   cpp_quote("#endif") | 
 |   [uuid (0c0a3666-30c9-11d0-8f20-00805f2cd064)] | 
 |   coclass MachineDebugManager_RETAIL { | 
 |     [default] interface IMachineDebugManager; | 
 |   }; | 
 |   [uuid (49769cec-3a55-4bb0-B697-88fede77e8ea)] | 
 |   coclass MachineDebugManager_DEBUG { | 
 |     [default] interface IMachineDebugManager; | 
 |   }; | 
 |   [uuid (834128a2-51f4-11d0-8f20-00805f2cd064)] | 
 |   coclass DefaultDebugSessionProvider { | 
 |     [default] interface IDebugSessionProvider; | 
 |   }; | 
 | }; | 
 | cpp_quote("#endif") | 
 | cpp_quote("#endif") |