interface IDebugDocumentContext;
interface IRemoteDebugApplication;
+interface IEnumDebugCodeContexts;
/* FIXME: */
interface IEnumDebugStackFrames;
ERRORRESUMEACTION_SkipErrorStatement,
} ERRORRESUMEACTION;
+typedef WORD SOURCE_TEXT_ATTR;
+
+#ifdef INTEROPLIB
+enum enum_SOURCE_TEXT_ATTR
+{
+ SOURCETEXT_ATTR_KEYWORD = 0x01,
+ SOURCETEXT_ATTR_COMMENT = 0x02,
+ SOURCETEXT_ATTR_NONSOURCE = 0x04,
+ SOURCETEXT_ATTR_OPERATOR = 0x08,
+ SOURCETEXT_ATTR_NUMBER = 0x10,
+ SOURCETEXT_ATTR_STRING = 0x20,
+ SOURCETEXT_ATTR_FUNCTION_START = 0x40
+};
+#endif
+
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_KEYWORD = 0x01;
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_COMMENT = 0x02;
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_NONSOURCE = 0x04;
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_OPERATOR = 0x08;
+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;
+
+/************************************************************
+ * interface IActiveScriptDebug32
+ */
+[
+ 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);
+}
+
/************************************************************
* interface IDebugDocumentInfo
*/
[in] DWORD dwCookie);
}
+/************************************************************
+ * interface IDebugApplication64
+ */
+[
+ object,
+ uuid(4dedc754-04c7-4f10-9e60-16a390fe6e62),
+ pointer_default(unique),
+ local
+]
+interface IDebugApplication64 : IRemoteDebugApplication
+{
+ HRESULT SetName(
+ [in] LPCOLESTR pstrName);
+
+ HRESULT StepOutComplete();
+
+ HRESULT DebugOutput(
+ [in] LPCOLESTR pstr);
+
+ HRESULT StartDebugSession();
+
+ HRESULT HandleBreakPoint(
+ [in] BREAKREASON br,
+ [out] BREAKRESUMEACTION *pbra);
+
+ HRESULT Close();
+
+ 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();
+
+ HRESULT SynchronousCallInDebuggerThread(
+ [in] IDebugThreadCall32 *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);
+}
+
/************************************************************
* interface IActiveScriptSiteDebug32
*/
[out] BOOL *pfCallOnScriptErrorWhenContinuing);
}
+/************************************************************
+ * interface IActiveScriptSiteDebug64
+ */
+[
+ object,
+ uuid(d6b96b0a-7463-402c-92ac-89984226942f),
+ pointer_default(unique),
+ local
+]
+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,
+ uuid(51973C17-CB0C-11d0-B5C9-00A0244A0E7A),
+ pointer_default(unique)
+]
+interface IDebugStackFrame : IUnknown
+{
+ /* FIXME: fill me! */
+}
+
+[
+ object,
+ uuid(51973C1e-CB0C-11d0-B5C9-00A0244A0E7A),
+ pointer_default(unique)
+]
+interface IEnumDebugStackFrames : IUnknown
+{
+ /* FIXME: fill me! */
+}
+
+[
+ object,
+ uuid(51973C2a-CB0C-11d0-B5C9-00A0244A0E7A),
+ pointer_default(unique)
+]
+interface IApplicationDebugger : IUnknown
+{
+ /* FIXME: fill me! */
+};
+
+[
+ object,
+ uuid(51973C3c-CB0C-11d0-B5C9-00A0244A0E7A),
+ pointer_default(unique)
+]
+interface IEnumRemoteDebugApplicationThreads : IUnknown
+{
+ /* FIXME: fill me! */
+}
+
+[
+ object,
+ uuid(51973C34-CB0C-11d0-B5C9-00A0244A0E7A),
+ pointer_default(unique)
+]
+interface IDebugApplicationNode : IUnknown
+{
+ /* FIXME: fill me! */
+}
+
+[
+ object,
+ uuid(51973C40-CB0C-11d0-B5C9-00A0244A0E7A),
+ pointer_default(unique)
+]
+interface IEnumDebugExpressionContexts : IUnknown
+{
+ /* FIXME: fill me! */
+}
+
+[
+ object,
+ uuid(51973C38-CB0C-11d0-B5C9-00A0244A0E7A),
+ pointer_default(unique),
+ local
+]
+interface IDebugApplicationThread : IRemoteDebugApplicationThread
+{
+ /* FIXME: fill me! */
+}
+
cpp_quote("#ifndef DISABLE_ACTIVDBG_INTERFACE_WRAPPERS")
cpp_quote("#ifdef _WIN64")
+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("#else")
+cpp_quote("#define IActiveScriptDebug IActiveScriptDebug32")
+cpp_quote("#define IID_IActiveScriptDebug IID_IActiveScriptDebug32")
+
cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug32")
cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug32")