mscoree: Define ICorDebugManagedCallback2 and ICorDebugMDA interfaces.

This commit is contained in:
Alistair Leslie-Hughes 2011-09-29 21:27:03 +10:00 committed by Alexandre Julliard
parent c2ac2a0573
commit 2b9381db1c
1 changed files with 85 additions and 0 deletions

View File

@ -43,6 +43,9 @@ interface ICorDebugFrame;
interface ICorDebugFrameEnum;
interface ICorDebugFunction;
interface ICorDebugFunctionBreakpoint;
interface ICorDebugManagedCallback;
interface ICorDebugManagedCallback2;
interface ICorDebugMDA;
interface ICorDebugModule;
interface ICorDebugModuleBreakpoint;
interface ICorDebugModuleEnum;
@ -87,6 +90,9 @@ cpp_quote("#endif")
typedef ULONG64 CORDB_ADDRESS;
typedef ULONG64 CORDB_REGISTER;
typedef UINT64 TASKID;
typedef DWORD CONNID;
cpp_quote("#ifndef _COR_IL_MAP")
cpp_quote("#define _COR_IL_MAP")
@ -350,6 +356,61 @@ interface ICorDebugManagedCallback : IUnknown
[in] ICorDebugBreakpoint *pBreakpoint, [in] DWORD dwError);
};
[
object,
local,
uuid(250E5EEA-DB5C-4C76-B6F3-8C46F12E3203),
pointer_default(unique)
]
interface ICorDebugManagedCallback2 : IUnknown
{
HRESULT FunctionRemapOpportunity([in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread, [in] ICorDebugFunction *pOldFunction,
[in] ICorDebugFunction *pNewFunction, [in] ULONG32 oldILOffset);
HRESULT CreateConnection([in] ICorDebugProcess *pProcess, [in] CONNID dwConnectionId,
[in] WCHAR *pConnName);
HRESULT ChangeConnection([in] ICorDebugProcess *pProcess, [in] CONNID dwConnectionId );
HRESULT DestroyConnection([in] ICorDebugProcess *pProcess, [in] CONNID dwConnectionId );
typedef enum CorDebugExceptionCallbackType
{
DEBUG_EXCEPTION_FIRST_CHANCE = 1,
DEBUG_EXCEPTION_USER_FIRST_CHANCE = 2,
DEBUG_EXCEPTION_CATCH_HANDLER_FOUND = 3,
DEBUG_EXCEPTION_UNHANDLED = 4
} CorDebugExceptionCallbackType;
typedef enum CorDebugExceptionFlags
{
DEBUG_EXCEPTION_CAN_BE_INTERCEPTED = 0x0001
} CorDebugExceptionFlags;
HRESULT Exception( [in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread,
[in] ICorDebugFrame *pFrame, [in] ULONG32 nOffset,
[in] CorDebugExceptionCallbackType dwEventType, [in] DWORD dwFlags );
typedef enum CorDebugExceptionUnwindCallbackType
{
DEBUG_EXCEPTION_UNWIND_BEGIN = 1,
DEBUG_EXCEPTION_INTERCEPTED = 2
} CorDebugExceptionUnwindCallbackType;
HRESULT ExceptionUnwind( [in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread,
[in] CorDebugExceptionUnwindCallbackType dwEventType,
[in] DWORD dwFlags );
HRESULT FunctionRemapComplete([in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread, [in] ICorDebugFunction *pFunction);
HRESULT MDANotification([in] ICorDebugController * pController,
[in] ICorDebugThread *pThread, [in] ICorDebugMDA * pMDA
);
};
[
object,
local,
@ -954,3 +1015,27 @@ interface ICorDebugCode : IUnknown
HRESULT GetEnCRemapSequencePoints([in] ULONG32 cMap,[out] ULONG32 *pcMap,
[out] ULONG32 offsets[]);
};
[
object,
local,
uuid(CC726F2F-1DB7-459b-B0EC-05F01D841B42),
pointer_default(unique)
]
interface ICorDebugMDA : IUnknown
{
HRESULT GetName([in] ULONG32 cchName, [out] ULONG32 * pcchName, [out] WCHAR szName[]);
HRESULT GetDescription([in] ULONG32 cchName, [out] ULONG32 * pcchName, [out] WCHAR szName[]);
HRESULT GetXML([in] ULONG32 cchName, [out] ULONG32 * pcchName, [out] WCHAR szName[]);
typedef enum CorDebugMDAFlags
{
MDA_FLAG_SLIP = 0x2
} CorDebugMDAFlags;
HRESULT GetFlags([in] CorDebugMDAFlags * pFlags);
HRESULT GetOSThreadId([out] DWORD * pOsTid);
};