Author: akhaldi Date: Sat Jan 28 11:58:18 2012 New Revision: 55272
URL: http://svn.reactos.org/svn/reactos?rev=55272&view=rev Log: [PSDK] * Import cor.idl, cordebug.idl and metahost.idl from Wine. * Remove the now unneeded cor.h. * Update corerror.h, corhdr.h, mscoree.idl and winsxs.idl from Wine. * Update the cmake and rbuild files to reflect the changes.
Added: trunk/reactos/include/psdk/cor.idl (with props) trunk/reactos/include/psdk/cordebug.idl (with props) trunk/reactos/include/psdk/metahost.idl (with props) Removed: trunk/reactos/include/psdk/cor.h Modified: trunk/reactos/include/psdk/CMakeLists.txt trunk/reactos/include/psdk/corerror.h trunk/reactos/include/psdk/corhdr.h trunk/reactos/include/psdk/mscoree.idl trunk/reactos/include/psdk/psdk.rbuild trunk/reactos/include/psdk/winsxs.idl
Modified: trunk/reactos/include/psdk/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/CMakeLists.txt... ============================================================================== --- trunk/reactos/include/psdk/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/include/psdk/CMakeLists.txt [iso-8859-1] Sat Jan 28 11:58:18 2012 @@ -21,6 +21,8 @@ comcat.idl commoncontrols.idl control.idl + cor.idl + cordebug.idl # crtrow.idl ctxtcall.idl # dbccmd.idl @@ -44,6 +46,7 @@ imnact.idl imnxport.idl indexsrv.idl + metahost.idl mimeinfo.idl mimeole.idl mlang.idl
Removed: trunk/reactos/include/psdk/cor.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/cor.h?rev=5527... ============================================================================== --- trunk/reactos/include/psdk/cor.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/cor.h (removed) @@ -1,43 +1,0 @@ -/* - * Copyright (C) 2007 Francois Gouget - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WINE_COR_H -#define __WINE_COR_H - -#include "ole2.h" -/* FIXME: #include "specstrings.h" */ -/* FIXME: #include "corerror.h" */ -/* FIXME: #include "corhdr.h" */ - -#ifdef __cplusplus -extern "C" { -#endif - -BOOL WINAPI _CorDllMain(HINSTANCE,DWORD,LPVOID); -__int32 WINAPI _CorExeMain(void); -__int32 WINAPI _CorExeMain2(PBYTE,DWORD,LPWSTR,LPWSTR,LPWSTR); -VOID WINAPI _CorImageUnloading(PVOID); -HRESULT WINAPI _CorValidateImage(PVOID*,LPCWSTR); -HRESULT WINAPI CoInitializeCor(DWORD); -void WINAPI CoUninitializeCor(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __WINE_COR_H */
Added: trunk/reactos/include/psdk/cor.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/cor.idl?rev=55... ============================================================================== --- trunk/reactos/include/psdk/cor.idl (added) +++ trunk/reactos/include/psdk/cor.idl [iso-8859-1] Sat Jan 28 11:58:18 2012 @@ -1,0 +1,108 @@ +/* + * Copyright (C) 2007 Francois Gouget + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "propidl.idl"; + +cpp_quote("#include <ole2.h>") +/* FIXME: #include "specstrings.h" */ +cpp_quote("#include <corerror.h>") +cpp_quote("#include <corhdr.h>") + +cpp_quote("DEFINE_GUID(CLSID_CorMetaDataDispenser, 0xe5cb7a31,0x7512,0x11d2,0x89,0xce,0x00,0x80,0xc7,0x92,0xe5,0xd8);") +cpp_quote("DEFINE_GUID(CLSID_CorMetaDataDispenserRuntime, 0x1ec2de53,0x75cc,0x11d2,0x97,0x75,0x00,0xa0,0xc9,0xb4,0xd5,0x0c);") + +[ + object, + local, + uuid(809c652e-7396-11d2-9771-00a0c9b4d50c) +] +interface IMetaDataDispenser : IUnknown +{ + HRESULT DefineScope( + [in] REFCLSID rclsid, + [in] DWORD dwCreateFlags, + [in] REFIID riid, + [out] IUnknown **ppIUnk); + + HRESULT OpenScope( + [in] LPCWSTR szScope, + [in] DWORD dwOpenFlags, + [in] REFIID riid, + [out] IUnknown **ppIUnk); + + HRESULT OpenScopeOnMemory( + [in] const void *pData, + [in] ULONG cbData, + [in] DWORD dwOpenFlags, + [in] REFIID riid, + [out] IUnknown **ppIUnk); +} + +[ + object, + local, + uuid(31bcfce2-dafb-11d2-9f81-00c04f79a0a3) +] +interface IMetaDataDispenserEx : IMetaDataDispenser +{ + HRESULT SetOption( + [in] REFGUID optionid, + [in] const VARIANT *value); + + HRESULT GetOption( + [in] REFGUID optionid, + [out] VARIANT *pvalue); + + HRESULT OpenScopeOnITypeInfo( + [in] ITypeInfo *pITI, + [in] DWORD dwOpenFlags, + [in] REFIID riid, + [out] IUnknown **ppIUnk); + + HRESULT GetCORSystemDirectory( + [out, size_is(cchBuffer)] LPWSTR szBuffer, + [in] DWORD cchBuffer, + [out] DWORD *pchBuffer); + + HRESULT FindAssembly( + [in] LPCWSTR szAppBase, + [in] LPCWSTR szPrivateBin, + [in] LPCWSTR szGlobalBin, + [in] LPCWSTR szAssemblyName, + [out, size_is(cchName)] LPWSTR szName, + [in] ULONG cchName, + [out] ULONG *pcName); + + HRESULT FindAssemblyModule( + [in] LPCWSTR szAppBase, + [in] LPCWSTR szPrivateBin, + [in] LPCWSTR szGlobalBin, + [in] LPCWSTR szAssemblyName, + [in] LPCWSTR szModuleName, + [out, size_is(cchName)] LPWSTR szName, + [in] ULONG cchName, + [out] ULONG *pcName); +} + +cpp_quote("BOOL WINAPI _CorDllMain(HINSTANCE,DWORD,LPVOID);") +cpp_quote("__int32 WINAPI _CorExeMain(void);") +cpp_quote("__int32 WINAPI _CorExeMain2(PBYTE,DWORD,LPWSTR,LPWSTR,LPWSTR);") +cpp_quote("VOID WINAPI _CorImageUnloading(PVOID);") +cpp_quote("HRESULT WINAPI _CorValidateImage(PVOID*,LPCWSTR);") +cpp_quote("HRESULT WINAPI CoInitializeCor(DWORD);") +cpp_quote("void WINAPI CoUninitializeCor(void);")
Propchange: trunk/reactos/include/psdk/cor.idl ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/include/psdk/cordebug.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/cordebug.idl?r... ============================================================================== --- trunk/reactos/include/psdk/cordebug.idl (added) +++ trunk/reactos/include/psdk/cordebug.idl [iso-8859-1] Sat Jan 28 11:58:18 2012 @@ -1,0 +1,1041 @@ +/* + * Copyright (C) 2011 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "unknwn.idl"; +import "objidl.idl"; + +cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") +cpp_quote("#undef CreateProcess") +cpp_quote("#endif") + +interface ICorDebugAppDomain; +interface ICorDebugAppDomainEnum; +interface ICorDebugAssembly; +interface ICorDebugAssemblyEnum; +interface ICorDebugBreakpoint; +interface ICorDebugBreakpointEnum; +interface ICorDebugChain; +interface ICorDebugChainEnum; +interface ICorDebugClass; +interface ICorDebugCode; +interface ICorDebugContext; +interface ICorDebugEditAndContinueSnapshot; +interface ICorDebugEditAndContinueErrorInfo; +interface ICorDebugEnum; +interface ICorDebugErrorInfoEnum; +interface ICorDebugEval; +interface ICorDebugFrame; +interface ICorDebugFrameEnum; +interface ICorDebugFunction; +interface ICorDebugFunctionBreakpoint; +interface ICorDebugManagedCallback; +interface ICorDebugManagedCallback2; +interface ICorDebugMDA; +interface ICorDebugModule; +interface ICorDebugModuleBreakpoint; +interface ICorDebugModuleEnum; +interface ICorDebugObjectEnum; +interface ICorDebugObjectValue; +interface ICorDebugProcess; +interface ICorDebugProcessEnum; +interface ICorDebugRegisterSet; +interface ICorDebugStepper; +interface ICorDebugStepperEnum; +interface ICorDebugThreadEnum; +interface ICorDebugUnmanagedCallback; +interface ICorDebugValue; +interface ICorDebugValueBreakpoint; + + +typedef [wire_marshal(unsigned long)] void *HPROCESS; +typedef [wire_marshal(unsigned long)] void *HTHREAD; + +/* These are defined in corhrd.idl but used here. */ +cpp_quote("#if 0") + +typedef UINT32 mdToken; +typedef mdToken mdModule; +typedef SIZE_T mdScope; +typedef mdToken mdTypeDef; +typedef mdToken mdSourceFile; +typedef mdToken mdMemberRef; +typedef mdToken mdMethodDef; +typedef mdToken mdFieldDef; +typedef mdToken mdSignature; +typedef ULONG CorElementType; +typedef SIZE_T PCCOR_SIGNATURE; + +typedef SIZE_T LPDEBUG_EVENT; + +typedef SIZE_T LPSTARTUPINFOW; +typedef SIZE_T LPPROCESS_INFORMATION; + +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") + +typedef struct _COR_IL_MAP +{ + ULONG32 oldOffset; + ULONG32 newOffset; + BOOL fAccurate; +} COR_IL_MAP; + +cpp_quote("#endif /* _COR_IL_MAP */") + +cpp_quote("#ifndef _COR_DEBUG_IL_TO_NATIVE_MAP_") +cpp_quote("#define _COR_DEBUG_IL_TO_NATIVE_MAP_") + +typedef enum CorDebugIlToNativeMappingTypes +{ + NO_MAPPING = -1, + PROLOG = -2, + EPILOG = -3 +} CorDebugIlToNativeMappingTypes; + +typedef struct COR_DEBUG_IL_TO_NATIVE_MAP +{ + ULONG32 ilOffset; + ULONG32 nativeStartOffset; + ULONG32 nativeEndOffset; +} COR_DEBUG_IL_TO_NATIVE_MAP; + +cpp_quote("#endif /* _COR_DEBUG_IL_TO_NATIVE_MAP_ */") + + +typedef enum CorDebugThreadState +{ + THREAD_RUN, + THREAD_SUSPEND +} CorDebugThreadState; + +typedef enum CorDebugCreateProcessFlags +{ + DEBUG_NO_SPECIAL_OPTIONS = 0x0000 +} CorDebugCreateProcessFlags; + +[ + object, + local, + uuid(CC7BCAF7-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugValue : IUnknown +{ + HRESULT GetType([out] CorElementType *pType); + HRESULT GetSize([out] ULONG32 *pSize); + HRESULT GetAddress([out] CORDB_ADDRESS *pAddress); + HRESULT CreateBreakpoint([out] ICorDebugValueBreakpoint **ppBreakpoint); +}; + +[ + object, + local, + uuid(938c6d66-7fb6-4f69-b389-425b8987329b), + pointer_default(unique) +] +interface ICorDebugThread : IUnknown +{ + HRESULT GetProcess([out] ICorDebugProcess **ppProcess); + HRESULT GetID([out] DWORD *pdwThreadId); + HRESULT GetHandle([out] HTHREAD *phThreadHandle); + HRESULT GetAppDomain([out] ICorDebugAppDomain **ppAppDomain); + HRESULT SetDebugState([in] CorDebugThreadState state); + HRESULT GetDebugState([out] CorDebugThreadState *pState); + + typedef enum CorDebugUserState + { + USER_STOP_REQUESTED = 0x01, + USER_SUSPEND_REQUESTED = 0x02, + USER_BACKGROUND = 0x04, + USER_UNSTARTED = 0x08, + USER_STOPPED = 0x10, + USER_WAIT_SLEEP_JOIN = 0x20, + USER_SUSPENDED = 0x40, + + USER_UNSAFE_POINT = 0x80, + } CorDebugUserState; + + HRESULT GetUserState([out] CorDebugUserState *pState); + HRESULT GetCurrentException([out] ICorDebugValue **ppExceptionObject); + HRESULT ClearCurrentException(); + HRESULT CreateStepper([out] ICorDebugStepper **ppStepper); + HRESULT EnumerateChains([out] ICorDebugChainEnum **ppChains); + HRESULT GetActiveChain([out] ICorDebugChain **ppChain); + HRESULT GetActiveFrame([out] ICorDebugFrame **ppFrame); + HRESULT GetRegisterSet([out] ICorDebugRegisterSet **ppRegisters); + HRESULT CreateEval([out] ICorDebugEval **ppEval); + HRESULT GetObject([out] ICorDebugValue **ppObject); +}; + +[ + object, + local, + uuid(3d6f5f62-7538-11d3-8d5b-00104b35e7ef), + pointer_default(unique) +] + +interface ICorDebugController : IUnknown +{ + HRESULT Stop([in] DWORD dwTimeoutIgnored); + HRESULT Continue([in] BOOL fIsOutOfBand); + HRESULT IsRunning([out] BOOL *pbRunning); + HRESULT HasQueuedCallbacks([in] ICorDebugThread *pThread, + [out] BOOL *pbQueued); + HRESULT EnumerateThreads([out] ICorDebugThreadEnum **ppThreads); + HRESULT SetAllThreadsDebugState([in] CorDebugThreadState state, + [in] ICorDebugThread *pExceptThisThread); + HRESULT Detach(); + HRESULT Terminate([in] UINT exitCode); + HRESULT CanCommitChanges([in] ULONG cSnapshots, + [in] ICorDebugEditAndContinueSnapshot *pSnapshots[], + [out] ICorDebugErrorInfoEnum **pError); + HRESULT CommitChanges([in] ULONG cSnapshots, + [in] ICorDebugEditAndContinueSnapshot *pSnapshots[], + [out] ICorDebugErrorInfoEnum **pError); +}; + +[ + object, + local, + uuid(3d6f5f64-7538-11d3-8d5b-00104b35e7ef), + pointer_default(unique) +] +interface ICorDebugProcess : ICorDebugController +{ + HRESULT GetID([out] DWORD *pdwProcessId); + HRESULT GetHandle([out] HPROCESS *phProcessHandle); + HRESULT GetThread([in] DWORD dwThreadId, [out] ICorDebugThread **ppThread); + HRESULT EnumerateObjects([out] ICorDebugObjectEnum **ppObjects); + HRESULT IsTransitionStub([in] CORDB_ADDRESS address, [out] BOOL *pbTransitionStub); + HRESULT IsOSSuspended([in] DWORD threadID, [out] BOOL *pbSuspended); + HRESULT GetThreadContext([in] DWORD threadID, [in] ULONG32 contextSize, + [in, out] BYTE context[]); + HRESULT SetThreadContext([in] DWORD threadID, [in] ULONG32 contextSize, [in] BYTE context[]); + HRESULT ReadMemory([in] CORDB_ADDRESS address, [in] DWORD size, [out] BYTE buffer[], [out] SIZE_T *read); + HRESULT WriteMemory([in] CORDB_ADDRESS address, [in] DWORD size, [in] BYTE buffer[], [out] SIZE_T *written); + HRESULT ClearCurrentException([in] DWORD threadID); + HRESULT EnableLogMessages([in]BOOL fOnOff); + HRESULT ModifyLogSwitch([in] WCHAR *pLogSwitchName, + [in]LONG lLevel); + HRESULT EnumerateAppDomains([out] ICorDebugAppDomainEnum **ppAppDomains); + HRESULT GetObject([out] ICorDebugValue **ppObject); + HRESULT ThreadForFiberCookie([in] DWORD fiberCookie, [out] ICorDebugThread **ppThread); + HRESULT GetHelperThreadID([out] DWORD *pThreadID); +}; + +[ + object, + local, + uuid(3d6f5f63-7538-11d3-8d5b-00104b35e7ef), + pointer_default(unique) +] +interface ICorDebugAppDomain : ICorDebugController +{ + HRESULT GetProcess([out] ICorDebugProcess **ppProcess); + HRESULT EnumerateAssemblies([out] ICorDebugAssemblyEnum **ppAssemblies); + HRESULT GetModuleFromMetaDataInterface([in] IUnknown *pIMetaData, + [out] ICorDebugModule **ppModule); + HRESULT EnumerateBreakpoints([out] ICorDebugBreakpointEnum **ppBreakpoints); + HRESULT EnumerateSteppers([out] ICorDebugStepperEnum **ppSteppers); + HRESULT IsAttached([out] BOOL *pbAttached); + HRESULT GetName([in] ULONG32 cchName, [out] ULONG32 *pcchName, [out] WCHAR szName[]); + HRESULT GetObject([out] ICorDebugValue **ppObject); + HRESULT Attach(); + HRESULT GetID([out] ULONG32 *pId); +}; + +[ + object, + local, + uuid(3d6f5f60-7538-11d3-8d5b-00104b35e7ef), + pointer_default(unique) +] +interface ICorDebugManagedCallback : IUnknown +{ + HRESULT Breakpoint([in] ICorDebugAppDomain *pAppDomain, + [in] ICorDebugThread *pThread, + [in] ICorDebugBreakpoint *pBreakpoint); + + typedef enum CorDebugStepReason + { + STEP_NORMAL, + STEP_RETURN, + STEP_CALL, + STEP_EXCEPTION_FILTER, + STEP_EXCEPTION_HANDLER, + STEP_INTERCEPT, + STEP_EXIT + } CorDebugStepReason; + + HRESULT StepComplete([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread, + [in] ICorDebugStepper *pStepper, [in] CorDebugStepReason reason); + HRESULT Break([in] ICorDebugAppDomain *pAppDomain, + [in] ICorDebugThread *thread); + HRESULT Exception([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread, + [in] BOOL unhandled); + HRESULT EvalComplete([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread, + [in] ICorDebugEval *pEval); + HRESULT EvalException([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread, + [in] ICorDebugEval *pEval); + HRESULT CreateProcess([in] ICorDebugProcess *pProcess); + HRESULT ExitProcess([in] ICorDebugProcess *pProcess); + HRESULT CreateThread([in] ICorDebugAppDomain *pAppDomain,[in] ICorDebugThread *thread); + HRESULT ExitThread([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *thread); + HRESULT LoadModule([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugModule *pModule); + HRESULT UnloadModule([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugModule *pModule); + HRESULT LoadClass([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugClass *c); + HRESULT UnloadClass([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugClass *c); + HRESULT DebuggerError([in] ICorDebugProcess *pProcess, [in] HRESULT errorHR, + [in] DWORD errorCode); + + typedef enum LoggingLevelEnum + { + LTraceLevel0 = 0, + LTraceLevel1, + LTraceLevel2, + LTraceLevel3, + LTraceLevel4, + LStatusLevel0 = 20, + LStatusLevel1, + LStatusLevel2, + LStatusLevel3, + LStatusLevel4, + LWarningLevel = 40, + LErrorLevel = 50, + LPanicLevel = 100 + } LoggingLevelEnum; + + typedef enum LogSwitchCallReason + { + SWITCH_CREATE, + SWITCH_MODIFY, + SWITCH_DELETE + } LogSwitchCallReason; + + HRESULT LogMessage([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread, + [in] LONG lLevel, [in] WCHAR *pLogSwitchName, [in] WCHAR *pMessage); + HRESULT LogSwitch([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread, + [in] LONG lLevel, [in] ULONG ulReason, [in] WCHAR *pLogSwitchName, + [in] WCHAR *pParentName); + HRESULT CreateAppDomain([in] ICorDebugProcess *pProcess, [in] ICorDebugAppDomain *pAppDomain); + HRESULT ExitAppDomain([in] ICorDebugProcess *pProcess, [in] ICorDebugAppDomain *pAppDomain); + HRESULT LoadAssembly([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugAssembly *pAssembly); + HRESULT UnloadAssembly([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugAssembly *pAssembly); + HRESULT ControlCTrap([in] ICorDebugProcess *pProcess); + HRESULT NameChange([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread); + HRESULT UpdateModuleSymbols([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugModule *pModule, + [in] IStream *pSymbolStream); + HRESULT EditAndContinueRemap([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread, + [in] ICorDebugFunction *pFunction, [in] BOOL fAccurate); + + HRESULT BreakpointSetError([in] ICorDebugAppDomain *pAppDomain, [in] ICorDebugThread *pThread, + [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, + uuid(3d6f5f61-7538-11d3-8d5b-00104b35e7ef), + pointer_default(unique) +] +interface ICorDebug : IUnknown +{ + HRESULT Initialize(); + HRESULT Terminate(); + HRESULT SetManagedHandler([in] ICorDebugManagedCallback *pCallback); + HRESULT SetUnmanagedHandler([in] ICorDebugUnmanagedCallback *pCallback); + HRESULT CreateProcess([in] LPCWSTR lpApplicationName, [in] LPWSTR lpCommandLine, + [in] LPSECURITY_ATTRIBUTES lpProcessAttributes, + [in] LPSECURITY_ATTRIBUTES lpThreadAttributes, + [in] BOOL bInheritHandles, [in] DWORD dwCreationFlags, + [in] PVOID lpEnvironment, [in] LPCWSTR lpCurrentDirectory, + [in] LPSTARTUPINFOW lpStartupInfo, + [in] LPPROCESS_INFORMATION lpProcessInformation, + [in] CorDebugCreateProcessFlags debuggingFlags, + [out] ICorDebugProcess **ppProcess); + + HRESULT DebugActiveProcess([in] DWORD id, [in] BOOL win32Attach, + [out] ICorDebugProcess **ppProcess); + HRESULT EnumerateProcesses([out] ICorDebugProcessEnum **ppProcess); + HRESULT GetProcess([in] DWORD dwProcessId, [out] ICorDebugProcess **ppProcess); + HRESULT CanLaunchOrAttach([in] DWORD dwProcessId, [in] BOOL win32DebuggingEnabled); +}; + + +[ + object, + local, + uuid(CC7BCAE8-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugBreakpoint : IUnknown +{ + HRESULT Activate([in] BOOL bActive); + HRESULT IsActive([out] BOOL *pbActive); +}; + +[ + object, + local, + uuid(CC7BCAE9-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugFunctionBreakpoint : ICorDebugBreakpoint +{ + HRESULT GetFunction([out] ICorDebugFunction **ppFunction); + HRESULT GetOffset([out] ULONG32 *pnOffset); +}; + +[ + object, + local, + uuid(CC7BCAEA-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugModuleBreakpoint : ICorDebugBreakpoint +{ + HRESULT GetModule([out] ICorDebugModule **ppModule); +}; + +[ + object, + local, + uuid(CC7BCAEB-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugValueBreakpoint : ICorDebugBreakpoint +{ + HRESULT GetValue([out] ICorDebugValue **ppValue); +}; + +[ + object, + local, + uuid(CC7BCAEC-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugStepper : IUnknown +{ + HRESULT IsActive([out] BOOL *pbActive); + HRESULT Deactivate(); + + typedef enum CorDebugIntercept + { + INTERCEPT_NONE = 0x0 , + INTERCEPT_CLASS_INIT = 0x01, + INTERCEPT_EXCEPTION_FILTER = 0x02, + INTERCEPT_SECURITY = 0x04, + INTERCEPT_CONTEXT_POLICY = 0x08, + INTERCEPT_INTERCEPTION = 0x10, + INTERCEPT_ALL = 0xffff + } CorDebugIntercept; + + HRESULT SetInterceptMask([in] CorDebugIntercept mask); + + typedef enum CorDebugUnmappedStop + { + STOP_NONE = 0x0, + STOP_PROLOG = 0x01, + STOP_EPILOG = 0x02, + STOP_NO_MAPPING_INFO = 0x04, + STOP_OTHER_UNMAPPED = 0x08, + STOP_UNMANAGED = 0x10, + + STOP_ALL = 0xffff, + + } CorDebugUnmappedStop; + + HRESULT SetUnmappedStopMask([in] CorDebugUnmappedStop mask); + HRESULT Step([in] BOOL bStepIn); + + typedef struct COR_DEBUG_STEP_RANGE + { + ULONG32 startOffset, endOffset; + } COR_DEBUG_STEP_RANGE; + + HRESULT StepRange([in] BOOL bStepIn, [in] COR_DEBUG_STEP_RANGE ranges[], [in] ULONG32 cRangeCount); + HRESULT StepOut(); + HRESULT SetRangeIL([in] BOOL bIL); +}; + +[ + object, + local, + uuid(CC7BCB01-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugEnum : IUnknown +{ + HRESULT Skip([in] ULONG celt); + HRESULT Reset(); + HRESULT Clone([out] ICorDebugEnum **ppEnum); + HRESULT GetCount([out] ULONG *pcelt); +}; + +[ + object, + local, + uuid(63ca1b24-4359-4883-bd57-13f815f58744), + pointer_default(unique) +] + +interface ICorDebugAppDomainEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugAppDomain *values[], [out] ULONG *pceltFetched); + +}; + +[ + object, + local, + uuid(4a2a1ec9-85ec-4bfb-9f15-a89fdfe0fe83), + pointer_default(unique) +] +interface ICorDebugAssemblyEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugAssembly *values[], [out] ULONG *pceltFetched); + +}; + +[ + object, + local, + uuid(CC7BCB03-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugBreakpointEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugBreakpoint *breakpoints[], [out] ULONG *pceltFetched); +}; + +[ + object, + local, + uuid(CC7BCB08-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugChainEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugChain *chains[], [out] ULONG *pceltFetched); +}; + +[ + object, + local, + uuid(F0E18809-72B5-11d2-976F-00A0C9B4D50C), + pointer_default(unique) +] +interface ICorDebugErrorInfoEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugEditAndContinueErrorInfo *errors[], + [out] ULONG *pceltFetched); +}; + +[ + object, + local, + uuid(CC7BCB07-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugFrameEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugFrame *frames[], [out] ULONG *pceltFetched); +}; + +[ + object, + local, + uuid(CC7BCB09-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugModuleEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugModule *modules[], [out] ULONG *pceltFetched); +}; + +[ + object, + local, + uuid(CC7BCB02-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugObjectEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] CORDB_ADDRESS objects[], [out] ULONG *pceltFetched); +}; + +[ + object, + local, + uuid(CC7BCB05-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugProcessEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugProcess *processes[], [out] ULONG *pceltFetched); +}; + +[ + object, + local, + uuid(CC7BCB04-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugStepperEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugStepper *steppers[], [out] ULONG *pceltFetched); +}; + +[ + object, + local, + uuid(CC7BCB06-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugThreadEnum : ICorDebugEnum +{ + HRESULT Next([in] ULONG celt, [out] ICorDebugThread *threads[], [out] ULONG *pceltFetched); +}; + +[ + object, + local, + uuid(CC7BCAEE-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugChain : IUnknown +{ + HRESULT GetThread([out] ICorDebugThread **ppThread); + HRESULT GetStackRange([out] CORDB_ADDRESS *pStart, [out] CORDB_ADDRESS *pEnd); + HRESULT GetContext([out] ICorDebugContext **ppContext); + HRESULT GetCaller([out] ICorDebugChain **ppChain); + HRESULT GetCallee([out] ICorDebugChain **ppChain); + HRESULT GetPrevious([out] ICorDebugChain **ppChain); + HRESULT GetNext([out] ICorDebugChain **ppChain); + HRESULT IsManaged([out] BOOL *pManaged); + HRESULT EnumerateFrames([out] ICorDebugFrameEnum **ppFrames); + HRESULT GetActiveFrame([out] ICorDebugFrame **ppFrame); + HRESULT GetRegisterSet([out] ICorDebugRegisterSet **ppRegisters); + typedef enum CorDebugChainReason + { + CHAIN_NONE = 0x000, + CHAIN_CLASS_INIT = 0x001, + CHAIN_EXCEPTION_FILTER = 0x002, + CHAIN_SECURITY = 0x004, + CHAIN_CONTEXT_POLICY = 0x008, + CHAIN_INTERCEPTION = 0x010, + CHAIN_PROCESS_START = 0x020, + CHAIN_THREAD_START = 0x040, + CHAIN_ENTER_MANAGED = 0x080, + CHAIN_ENTER_UNMANAGED = 0x100, + CHAIN_DEBUGGER_EVAL = 0x200, + CHAIN_CONTEXT_SWITCH = 0x400, + CHAIN_FUNC_EVAL = 0x800, + } CorDebugChainReason; + + HRESULT GetReason([out] CorDebugChainReason *pReason); +}; + +[ + object, + local, + uuid(CC7BCAEF-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugFrame : IUnknown +{ + HRESULT GetChain([out] ICorDebugChain **ppChain); + HRESULT GetCode([out] ICorDebugCode **ppCode); + HRESULT GetFunction([out] ICorDebugFunction **ppFunction); + HRESULT GetFunctionToken([out] mdMethodDef *pToken); + HRESULT GetStackRange([out] CORDB_ADDRESS *pStart, [out] CORDB_ADDRESS *pEnd); + HRESULT GetCaller([out] ICorDebugFrame **ppFrame); + HRESULT GetCallee([out] ICorDebugFrame **ppFrame); + HRESULT CreateStepper([out] ICorDebugStepper **ppStepper); +}; + + +[ + object, + local, + uuid(CC7BCB0B-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugRegisterSet : IUnknown +{ + typedef enum CorDebugRegister + { + REGISTER_INSTRUCTION_POINTER = 0, + REGISTER_STACK_POINTER, + REGISTER_FRAME_POINTER, + + REGISTER_X86_EIP = 0, + REGISTER_X86_ESP, + REGISTER_X86_EBP, + + REGISTER_X86_EAX, + REGISTER_X86_ECX, + REGISTER_X86_EDX, + REGISTER_X86_EBX, + + REGISTER_X86_ESI, + REGISTER_X86_EDI, + + REGISTER_X86_FPSTACK_0, + REGISTER_X86_FPSTACK_1, + REGISTER_X86_FPSTACK_2, + REGISTER_X86_FPSTACK_3, + REGISTER_X86_FPSTACK_4, + REGISTER_X86_FPSTACK_5, + REGISTER_X86_FPSTACK_6, + REGISTER_X86_FPSTACK_7, + + REGISTER_AMD64_RIP = 0, + REGISTER_AMD64_RSP, + REGISTER_AMD64_RBP, + + REGISTER_AMD64_RAX, + REGISTER_AMD64_RCX, + REGISTER_AMD64_RDX, + REGISTER_AMD64_RBX, + + REGISTER_AMD64_RSI, + REGISTER_AMD64_RDI, + + REGISTER_AMD64_R8, + REGISTER_AMD64_R9, + REGISTER_AMD64_R10, + REGISTER_AMD64_R11, + REGISTER_AMD64_R12, + REGISTER_AMD64_R13, + REGISTER_AMD64_R14, + REGISTER_AMD64_R15, + + REGISTER_AMD64_XMM0, + REGISTER_AMD64_XMM1, + REGISTER_AMD64_XMM2, + REGISTER_AMD64_XMM3, + REGISTER_AMD64_XMM4, + REGISTER_AMD64_XMM5, + REGISTER_AMD64_XMM6, + REGISTER_AMD64_XMM7, + REGISTER_AMD64_XMM8, + REGISTER_AMD64_XMM9, + REGISTER_AMD64_XMM10, + REGISTER_AMD64_XMM11, + REGISTER_AMD64_XMM12, + REGISTER_AMD64_XMM13, + REGISTER_AMD64_XMM14, + REGISTER_AMD64_XMM15, + + REGISTER_IA64_BSP = REGISTER_FRAME_POINTER, + + REGISTER_IA64_R0 = REGISTER_IA64_BSP + 1, + REGISTER_IA64_F0 = REGISTER_IA64_R0 + 128, + + } CorDebugRegister; + + HRESULT GetRegistersAvailable([out] ULONG64 *pAvailable); + + HRESULT GetRegisters([in] ULONG64 mask, [in] ULONG32 regCount, + [out] CORDB_REGISTER regBuffer[]); + HRESULT SetRegisters([in] ULONG64 mask, [in] ULONG32 regCount, + [in] CORDB_REGISTER regBuffer[]); + HRESULT GetThreadContext([in] ULONG32 contextSize, [in, out] BYTE context[]); + HRESULT SetThreadContext([in] ULONG32 contextSize, [in] BYTE context[]); +} + +[ + object, + local, + uuid(CC7BCAF6-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugEval : IUnknown +{ + HRESULT CallFunction([in] ICorDebugFunction *pFunction, [in] ULONG32 nArgs, + [in] ICorDebugValue *ppArgs[]); + HRESULT NewObject([in] ICorDebugFunction *pConstructor, [in] ULONG32 nArgs, + [in] ICorDebugValue *ppArgs[]); + HRESULT NewObjectNoConstructor([in] ICorDebugClass *pClass); + HRESULT NewString([in] LPCWSTR string); + HRESULT NewArray([in] CorElementType elementType, [in] ICorDebugClass *pElementClass, + [in] ULONG32 rank, [in] ULONG32 dims[], [in] ULONG32 lowBounds[]); + HRESULT IsActive([out] BOOL *pbActive); + HRESULT Abort(); + HRESULT GetResult([out] ICorDebugValue **ppResult); + HRESULT GetThread([out] ICorDebugThread **ppThread); + HRESULT CreateValue([in] CorElementType elementType, [in] ICorDebugClass *pElementClass, + [out] ICorDebugValue **ppValue); +}; + +[ + object, + local, + uuid(6DC3FA01-D7CB-11d2-8A95-0080C792E5D8), + pointer_default(unique) +] +interface ICorDebugEditAndContinueSnapshot : IUnknown +{ + HRESULT CopyMetaData([in] IStream *pIStream, [out] GUID *pMvid); + HRESULT GetMvid([out] GUID *pMvid); + HRESULT GetRoDataRVA([out] ULONG32 *pRoDataRVA); + HRESULT GetRwDataRVA([out] ULONG32 *pRwDataRVA); + HRESULT SetPEBytes([in] IStream *pIStream); + HRESULT SetILMap([in] mdToken mdFunction, [in] ULONG cMapSize, [in] COR_IL_MAP map[]); + HRESULT SetPESymbolBytes([in] IStream *pIStream); +}; + +[ + object, + local, + uuid(dba2d8c1-e5c5-4069-8c13-10a7c6abf43d), + pointer_default(unique) +] +interface ICorDebugModule : IUnknown +{ + HRESULT GetProcess([out] ICorDebugProcess **ppProcess); + HRESULT GetBaseAddress([out] CORDB_ADDRESS *pAddress); + HRESULT GetAssembly([out] ICorDebugAssembly **ppAssembly); + HRESULT GetName([in] ULONG32 cchName, [out] ULONG32 *pcchName, [out] WCHAR szName[]); + HRESULT EnableJITDebugging([in] BOOL bTrackJITInfo, [in] BOOL bAllowJitOpts); + HRESULT EnableClassLoadCallbacks([in] BOOL bClassLoadCallbacks); + HRESULT GetFunctionFromToken([in] mdMethodDef methodDef, [out] ICorDebugFunction **ppFunction); + HRESULT GetFunctionFromRVA([in] CORDB_ADDRESS rva, [out] ICorDebugFunction **ppFunction); + HRESULT GetClassFromToken([in] mdTypeDef typeDef, [out] ICorDebugClass **ppClass); + HRESULT CreateBreakpoint([out] ICorDebugModuleBreakpoint **ppBreakpoint); + HRESULT GetEditAndContinueSnapshot([out] ICorDebugEditAndContinueSnapshot **ppEditAndContinueSnapshot); + HRESULT GetMetaDataInterface([in] REFIID riid, [out] IUnknown **ppObj); + HRESULT GetToken([out] mdModule *pToken); + HRESULT IsDynamic([out] BOOL *pDynamic); + HRESULT GetGlobalVariableValue([in] mdFieldDef fieldDef, [out] ICorDebugValue **ppValue); + HRESULT GetSize([out] ULONG32 *pcBytes); + HRESULT IsInMemory([out] BOOL *pInMemory); +}; + +[ + object, + local, + uuid(CC7BCAF5-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugClass : IUnknown +{ + HRESULT GetModule([out] ICorDebugModule **pModule); + HRESULT GetToken([out] mdTypeDef *pTypeDef); + HRESULT GetStaticFieldValue([in] mdFieldDef fieldDef, [in] ICorDebugFrame *pFrame, + [out] ICorDebugValue **ppValue); +}; + +[ + object, + local, + uuid(df59507c-d47a-459e-bce2-6427eac8fd06), + pointer_default(unique) +] +interface ICorDebugAssembly : IUnknown +{ + HRESULT GetProcess([out] ICorDebugProcess **ppProcess); + HRESULT GetAppDomain([out] ICorDebugAppDomain **ppAppDomain); + HRESULT EnumerateModules([out] ICorDebugModuleEnum **ppModules); + HRESULT GetCodeBase([in] ULONG32 cchName, [out] ULONG32 *pcchName, [out] WCHAR szName[]); + HRESULT GetName([in] ULONG32 cchName, [out] ULONG32 *pcchName, [out] WCHAR szName[]); +}; + + +[ + object, + local, + uuid(CC7BCAF3-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugFunction : IUnknown +{ + HRESULT GetModule([out] ICorDebugModule **ppModule); + HRESULT GetClass([out] ICorDebugClass **ppClass); + HRESULT GetToken([out] mdMethodDef *pMethodDef); + HRESULT GetILCode([out] ICorDebugCode **ppCode); + HRESULT GetNativeCode([out] ICorDebugCode **ppCode); + HRESULT CreateBreakpoint([out] ICorDebugFunctionBreakpoint **ppBreakpoint); + HRESULT GetLocalVarSigToken([out] mdSignature *pmdSig); + HRESULT GetCurrentVersionNumber([out] ULONG32 *pnCurrentVersion); +}; + +[ + object, + local, + uuid(5263E909-8CB5-11d3-BD2F-0000F80849BD), + pointer_default(unique) +] +interface ICorDebugUnmanagedCallback : IUnknown +{ + HRESULT DebugEvent([in] LPDEBUG_EVENT pDebugEvent, [in] BOOL fOutOfBand); +}; + +[ + object, + local, + uuid(8D600D41-F4F6-4cb3-B7EC-7BD164944036), + pointer_default(unique) +] +interface ICorDebugEditAndContinueErrorInfo : IUnknown +{ + HRESULT GetModule([out] ICorDebugModule **ppModule); + HRESULT GetToken([out]mdToken *pToken); + HRESULT GetErrorCode([out]HRESULT *pHr); + HRESULT GetString([in] ULONG32 cchString, [out] ULONG32 *pcchString, + [out] WCHAR szString[]); +} + +[ + object, + local, + uuid(18AD3D6E-B7D2-11d2-BD04-0000F80849BD), + pointer_default(unique) +] +interface ICorDebugObjectValue : ICorDebugValue +{ + HRESULT GetClass([out] ICorDebugClass **ppClass); + HRESULT GetFieldValue([in] ICorDebugClass *pClass, [in] mdFieldDef fieldDef, + [out] ICorDebugValue **ppValue); + HRESULT GetVirtualMethod([in] mdMemberRef memberRef, [out] ICorDebugFunction **ppFunction); + HRESULT GetContext([out] ICorDebugContext **ppContext); + HRESULT IsValueClass([out] BOOL *pbIsValueClass); + HRESULT GetManagedCopy([out] IUnknown **ppObject); + HRESULT SetFromManagedCopy([in] IUnknown *pObject); +}; + +[ + object, + local, + uuid(CC7BCB00-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugContext : ICorDebugObjectValue +{ +}; + +[ + object, + local, + uuid(CC7BCAF4-8A68-11d2-983C-0000F808342D), + pointer_default(unique) +] +interface ICorDebugCode : IUnknown +{ + HRESULT IsIL([out] BOOL *pbIL); + HRESULT GetFunction([out] ICorDebugFunction **ppFunction); + HRESULT GetAddress([out] CORDB_ADDRESS *pStart); + HRESULT GetSize([out] ULONG32 *pcBytes); + HRESULT CreateBreakpoint([in] ULONG32 offset, [out] ICorDebugFunctionBreakpoint **ppBreakpoint); + HRESULT GetCode([in] ULONG32 startOffset, [in] ULONG32 endOffset, + [in] ULONG32 cBufferAlloc, [out] BYTE buffer[], [out] ULONG32 *pcBufferSize); + HRESULT GetVersionNumber([out] ULONG32 *nVersion); + HRESULT GetILToNativeMapping([in] ULONG32 cMap, [out] ULONG32 *pcMap, + [out] COR_DEBUG_IL_TO_NATIVE_MAP map[]); + 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); +};
Propchange: trunk/reactos/include/psdk/cordebug.idl ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/include/psdk/corerror.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/corerror.h?rev... ============================================================================== --- trunk/reactos/include/psdk/corerror.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/corerror.h [iso-8859-1] Sat Jan 28 11:58:18 2012 @@ -44,83 +44,86 @@ #define COR_E_DIRECTORYNOTFOUND HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) #define COR_E_PATHTOOLONG HRESULT_FROM_WIN32(ERROR_FILENAME_EXCED_RANGE)
-#define COR_E_AMBIGUOUSMATCH _HRESULT_TYPEDEF_(0x8000211DL) -#define COR_E_TARGETPARAMCOUNT _HRESULT_TYPEDEF_(0x8002000EL) -#define COR_E_DIVIDEBYZERO _HRESULT_TYPEDEF_(0x80020012L) -#define COR_E_BADIMAGEFORMAT _HRESULT_TYPEDEF_(0x8007000BL) +#define COR_E_AMBIGUOUSMATCH _HRESULT_TYPEDEF_(0x8000211D) +#define COR_E_TARGETPARAMCOUNT _HRESULT_TYPEDEF_(0x8002000E) +#define COR_E_DIVIDEBYZERO _HRESULT_TYPEDEF_(0x80020012) +#define COR_E_BADIMAGEFORMAT _HRESULT_TYPEDEF_(0x8007000B)
-#define COR_E_ASSEMBLYEXPECTED EMAKEHR(0x1018L) -#define COR_E_TYPEUNLOADED EMAKEHR(0x1013L) -#define COR_E_EXCEPTION EMAKEHR(0x1500L) -#define COR_E_SYSTEM EMAKEHR(0x1501L) -#define COR_E_ARGUMENTOUTOFRANGE EMAKEHR(0x1502L) -#define COR_E_ARRAYTYPEMISMATCH EMAKEHR(0x1503L) -#define COR_E_CONTEXTMARSHAL EMAKEHR(0x1504L) -#define COR_E_TIMEOUT EMAKEHR(0x1505L) -#define COR_E_EXECUTIONENGINE EMAKEHR(0x1506L) -#define COR_E_FIELDACCESS EMAKEHR(0x1507L) -#define COR_E_INDEXOUTOFRANGE EMAKEHR(0x1508L) -#define COR_E_INVALIDOPERATION EMAKEHR(0x1509L) -#define COR_E_SECURITY EMAKEHR(0x150AL) -#define COR_E_REMOTING EMAKEHR(0x150BL) -#define COR_E_SERIALIZATION EMAKEHR(0x150CL) -#define COR_E_VERIFICATION EMAKEHR(0x150DL) -#define COR_E_SERVER EMAKEHR(0x150EL) -#define COR_E_SERVICEDCOMPONENT EMAKEHR(0x150FL) -#define COR_E_METHODACCESS EMAKEHR(0x1510L) -#define COR_E_MISSINGFIELD EMAKEHR(0x1511L) -#define COR_E_MISSINGMEMBER EMAKEHR(0x1512L) -#define COR_E_MISSINGMETHOD EMAKEHR(0x1513L) -#define COR_E_MULTICASTNOTSUPPORTED EMAKEHR(0x1514L) -#define COR_E_NOTSUPPORTED EMAKEHR(0x1515L) -#define COR_E_OVERFLOW EMAKEHR(0x1516L) -#define COR_E_RANK EMAKEHR(0x1517L) -#define COR_E_SYNCHRONIZATIONLOCK EMAKEHR(0x1518L) -#define COR_E_THREADINTERRUPTED EMAKEHR(0x1519L) -#define COR_E_MEMBERACCESS EMAKEHR(0x151AL) -#define COR_E_THREADSTATE EMAKEHR(0x1520L) -#define COR_E_THREADSTOP EMAKEHR(0x1521L) -#define COR_E_TYPELOAD EMAKEHR(0x1522L) -#define COR_E_ENTRYPOINTNOTFOUND EMAKEHR(0x1523L) -#define COR_E_DLLNOTFOUND EMAKEHR(0x1524L) -#define COR_E_THREADSTART EMAKEHR(0x1525L) -#define COR_E_INVALIDCOMOBJECT EMAKEHR(0x1527L) -#define COR_E_NOTFINITENUMBER EMAKEHR(0x1528L) -#define COR_E_DUPLICATEWAITOBJECT EMAKEHR(0x1529L) -#define COR_E_SEMAPHOREFULL EMAKEHR(0x152BL) -#define COR_E_WAITHANDLECANNOTBEOPENED EMAKEHR(0x152CL) -#define COR_E_ABANDONEDMUTEX EMAKEHR(0x152DL) -#define COR_E_INVALIDOLEVARIANTTYPE EMAKEHR(0x1531L) -#define COR_E_MISSINGMANIFESTRESOURCE EMAKEHR(0x1532L) -#define COR_E_SAFEARRAYTYPEMISMATCH EMAKEHR(0x1533L) -#define COR_E_TYPEINITIALIZATION EMAKEHR(0x1534L) -#define COR_E_MARSHALDIRECTIVE EMAKEHR(0x1535L) -#define COR_E_MISSINGSATELLITEASSEMBLY EMAKEHR(0x1536L) -#define COR_E_FORMAT EMAKEHR(0x1537L) -#define COR_E_SAFEARRAYRANKMISMATCH EMAKEHR(0x1538L) -#define COR_E_PLATFORMNOTSUPPORTED EMAKEHR(0x1539L) -#define COR_E_INVALIDPROGRAM EMAKEHR(0x153AL) -#define COR_E_OPERATIONCANCELED EMAKEHR(0x153BL) -#define COR_E_INSUFFICIENTMEMORY EMAKEHR(0x153DL) -#define COR_E_RUNTIMEWRAPPED EMAKEHR(0x153EL) -#define COR_E_DEVICESNOTSUPPORTED EMAKEHR(0x1540L) -#define COR_E_DATAMISALIGNED EMAKEHR(0x1541L) -#define COR_E_KEYNOTFOUND EMAKEHR(0x1577L) -#define COR_E_APPLICATION EMAKEHR(0x1600L) -#define COR_E_INVALIDFILTERCRITERIA EMAKEHR(0x1601L) -#define COR_E_REFLECTIONTYPELOAD EMAKEHR(0x1602L) -#define COR_E_TARGET EMAKEHR(0x1603L) -#define COR_E_TARGETINVOCATION EMAKEHR(0x1604L) -#define COR_E_CUSTOMATTRIBUTEFORMAT EMAKEHR(0x1605L) -#define COR_E_IO EMAKEHR(0x1620L) -#define COR_E_FILELOAD EMAKEHR(0x1621L) -#define COR_E_OBJECTDISPOSED EMAKEHR(0x1622L) -#define COR_E_FAILFAST EMAKEHR(0x1623L) -#define COR_E_HOSTPROTECTION EMAKEHR(0x1640L) -#define COR_E_ILLEGAL_REENTRANCY EMAKEHR(0x1641L) +#define COR_E_ASSEMBLYEXPECTED EMAKEHR(0x1018) +#define COR_E_TYPEUNLOADED EMAKEHR(0x1013) +#define COR_E_EXCEPTION EMAKEHR(0x1500) +#define COR_E_SYSTEM EMAKEHR(0x1501) +#define COR_E_ARGUMENTOUTOFRANGE EMAKEHR(0x1502) +#define COR_E_ARRAYTYPEMISMATCH EMAKEHR(0x1503) +#define COR_E_CONTEXTMARSHAL EMAKEHR(0x1504) +#define COR_E_TIMEOUT EMAKEHR(0x1505) +#define COR_E_EXECUTIONENGINE EMAKEHR(0x1506) +#define COR_E_FIELDACCESS EMAKEHR(0x1507) +#define COR_E_INDEXOUTOFRANGE EMAKEHR(0x1508) +#define COR_E_INVALIDOPERATION EMAKEHR(0x1509) +#define COR_E_SECURITY EMAKEHR(0x150A) +#define COR_E_REMOTING EMAKEHR(0x150B) +#define COR_E_SERIALIZATION EMAKEHR(0x150C) +#define COR_E_VERIFICATION EMAKEHR(0x150D) +#define COR_E_SERVER EMAKEHR(0x150E) +#define COR_E_SERVICEDCOMPONENT EMAKEHR(0x150F) +#define COR_E_METHODACCESS EMAKEHR(0x1510) +#define COR_E_MISSINGFIELD EMAKEHR(0x1511) +#define COR_E_MISSINGMEMBER EMAKEHR(0x1512) +#define COR_E_MISSINGMETHOD EMAKEHR(0x1513) +#define COR_E_MULTICASTNOTSUPPORTED EMAKEHR(0x1514) +#define COR_E_NOTSUPPORTED EMAKEHR(0x1515) +#define COR_E_OVERFLOW EMAKEHR(0x1516) +#define COR_E_RANK EMAKEHR(0x1517) +#define COR_E_SYNCHRONIZATIONLOCK EMAKEHR(0x1518) +#define COR_E_THREADINTERRUPTED EMAKEHR(0x1519) +#define COR_E_MEMBERACCESS EMAKEHR(0x151A) +#define COR_E_THREADSTATE EMAKEHR(0x1520) +#define COR_E_THREADSTOP EMAKEHR(0x1521) +#define COR_E_TYPELOAD EMAKEHR(0x1522) +#define COR_E_ENTRYPOINTNOTFOUND EMAKEHR(0x1523) +#define COR_E_DLLNOTFOUND EMAKEHR(0x1524) +#define COR_E_THREADSTART EMAKEHR(0x1525) +#define COR_E_INVALIDCOMOBJECT EMAKEHR(0x1527) +#define COR_E_NOTFINITENUMBER EMAKEHR(0x1528) +#define COR_E_DUPLICATEWAITOBJECT EMAKEHR(0x1529) +#define COR_E_SEMAPHOREFULL EMAKEHR(0x152B) +#define COR_E_WAITHANDLECANNOTBEOPENED EMAKEHR(0x152C) +#define COR_E_ABANDONEDMUTEX EMAKEHR(0x152D) +#define COR_E_INVALIDOLEVARIANTTYPE EMAKEHR(0x1531) +#define COR_E_MISSINGMANIFESTRESOURCE EMAKEHR(0x1532) +#define COR_E_SAFEARRAYTYPEMISMATCH EMAKEHR(0x1533) +#define COR_E_TYPEINITIALIZATION EMAKEHR(0x1534) +#define COR_E_MARSHALDIRECTIVE EMAKEHR(0x1535) +#define COR_E_MISSINGSATELLITEASSEMBLY EMAKEHR(0x1536) +#define COR_E_FORMAT EMAKEHR(0x1537) +#define COR_E_SAFEARRAYRANKMISMATCH EMAKEHR(0x1538) +#define COR_E_PLATFORMNOTSUPPORTED EMAKEHR(0x1539) +#define COR_E_INVALIDPROGRAM EMAKEHR(0x153A) +#define COR_E_OPERATIONCANCELED EMAKEHR(0x153B) +#define COR_E_INSUFFICIENTMEMORY EMAKEHR(0x153D) +#define COR_E_RUNTIMEWRAPPED EMAKEHR(0x153E) +#define COR_E_DEVICESNOTSUPPORTED EMAKEHR(0x1540) +#define COR_E_DATAMISALIGNED EMAKEHR(0x1541) +#define COR_E_KEYNOTFOUND EMAKEHR(0x1577) +#define COR_E_APPLICATION EMAKEHR(0x1600) +#define COR_E_INVALIDFILTERCRITERIA EMAKEHR(0x1601) +#define COR_E_REFLECTIONTYPELOAD EMAKEHR(0x1602) +#define COR_E_TARGET EMAKEHR(0x1603) +#define COR_E_TARGETINVOCATION EMAKEHR(0x1604) +#define COR_E_CUSTOMATTRIBUTEFORMAT EMAKEHR(0x1605) +#define COR_E_IO EMAKEHR(0x1620) +#define COR_E_FILELOAD EMAKEHR(0x1621) +#define COR_E_OBJECTDISPOSED EMAKEHR(0x1622) +#define COR_E_FAILFAST EMAKEHR(0x1623) +#define COR_E_HOSTPROTECTION EMAKEHR(0x1640) +#define COR_E_ILLEGAL_REENTRANCY EMAKEHR(0x1641)
#define FUSION_E_INVALID_NAME EMAKEHR(0x1047)
#define CLDB_E_FILE_OLDVER EMAKEHR(0x1107)
+#define CLR_E_SHIM_RUNTIME EMAKEHR(0x1700) +#define CLR_E_SHIM_RUNTIMEEXPORT EMAKEHR(0x1701) + #endif /* __WINE_CORERROR_H */
Modified: trunk/reactos/include/psdk/corhdr.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/corhdr.h?rev=5... ============================================================================== --- trunk/reactos/include/psdk/corhdr.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/corhdr.h [iso-8859-1] Sat Jan 28 11:58:18 2012 @@ -49,10 +49,82 @@ mdtBaseType = 0x72000000, } CorTokenType;
+typedef enum CorElementType +{ + ELEMENT_TYPE_END = 0x00, + ELEMENT_TYPE_VOID = 0x01, + ELEMENT_TYPE_BOOLEAN = 0x02, + ELEMENT_TYPE_CHAR = 0x03, + ELEMENT_TYPE_I1 = 0x04, + ELEMENT_TYPE_U1 = 0x05, + ELEMENT_TYPE_I2 = 0x06, + ELEMENT_TYPE_U2 = 0x07, + ELEMENT_TYPE_I4 = 0x08, + ELEMENT_TYPE_U4 = 0x09, + ELEMENT_TYPE_I8 = 0x0a, + ELEMENT_TYPE_U8 = 0x0b, + ELEMENT_TYPE_R4 = 0x0c, + ELEMENT_TYPE_R8 = 0x0d, + ELEMENT_TYPE_STRING = 0x0e, + ELEMENT_TYPE_PTR = 0x0f, + ELEMENT_TYPE_BYREF = 0x10, + ELEMENT_TYPE_VALUETYPE = 0x11, + ELEMENT_TYPE_CLASS = 0x12, + ELEMENT_TYPE_VAR = 0x13, + ELEMENT_TYPE_ARRAY = 0x14, + ELEMENT_TYPE_GENERICINST = 0x15, + ELEMENT_TYPE_TYPEDBYREF = 0x16, + ELEMENT_TYPE_I = 0x18, + ELEMENT_TYPE_U = 0x19, + ELEMENT_TYPE_FNPTR = 0x1b, + ELEMENT_TYPE_OBJECT = 0x1c, + ELEMENT_TYPE_SZARRAY = 0x1d, + ELEMENT_TYPE_MVAR = 0x1e, + ELEMENT_TYPE_CMOD_REQD = 0x1f, + ELEMENT_TYPE_CMOD_OPT = 0x20, + ELEMENT_TYPE_INTERNAL = 0x21, + ELEMENT_TYPE_MAX = 0x22, + ELEMENT_TYPE_MODIFIER = 0x40, + ELEMENT_TYPE_SENTINEL = 0x01 | ELEMENT_TYPE_MODIFIER, + ELEMENT_TYPE_PINNED = 0x05 | ELEMENT_TYPE_MODIFIER, + ELEMENT_TYPE_R4_HFA = 0x06 | ELEMENT_TYPE_MODIFIER, + ELEMENT_TYPE_R8_HFA = 0x07 | ELEMENT_TYPE_MODIFIER, + +} CorElementType; + #define RidToToken(rid,tktype) ((rid) |= (tktype)) #define TokenFromRid(rid,tktype) ((rid) | (tktype)) #define RidFromToken(tk) ((RID)((tk) & 0x00ffffff)) #define TypeFromToken(tk) ((ULONG32)((tk) & 0xff000000)) #define IsNilToken(tk) ((RidFromToken(tk)) == 0)
+typedef LPVOID mdScope; +typedef ULONG32 mdToken; + +typedef mdToken mdModule; +typedef mdToken mdTypeRef; +typedef mdToken mdTypeDef; +typedef mdToken mdFieldDef; +typedef mdToken mdMethodDef; +typedef mdToken mdParamDef; +typedef mdToken mdInterfaceImpl; +typedef mdToken mdMemberRef; +typedef mdToken mdCustomAttribute; +typedef mdToken mdPermission; +typedef mdToken mdSignature; +typedef mdToken mdEvent; +typedef mdToken mdProperty; +typedef mdToken mdModuleRef; +typedef mdToken mdAssembly; +typedef mdToken mdAssemblyRef; +typedef mdToken mdFile; +typedef mdToken mdExportedType; +typedef mdToken mdManifestResource; +typedef mdToken mdTypeSpec; +typedef mdToken mdGenericParam; +typedef mdToken mdMethodSpec; +typedef mdToken mdGenericParamConstraint; +typedef mdToken mdString; +typedef mdToken mdCPToken; + #endif /* __WINE_CORHDR_H */
Added: trunk/reactos/include/psdk/metahost.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/metahost.idl?r... ============================================================================== --- trunk/reactos/include/psdk/metahost.idl (added) +++ trunk/reactos/include/psdk/metahost.idl [iso-8859-1] Sat Jan 28 11:58:18 2012 @@ -1,0 +1,131 @@ +/* + * Copyright 2010 Vincent Povirk for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "unknwn.idl"; +import "oaidl.idl"; +import "ocidl.idl"; +import "mscoree.idl"; + +cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") +cpp_quote("#undef LoadLibrary") +cpp_quote("#endif") + +[ + object, + local, + uuid(bd39d1d2-ba2f-486a-89b0-b4b0cb466891) +] +interface ICLRRuntimeInfo : IUnknown +{ + HRESULT GetVersionString( + [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer, + [in, out] DWORD *pcchBuffer); + + HRESULT GetRuntimeDirectory( + [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer, + [in, out] DWORD *pcchBuffer); + + HRESULT IsLoaded( + [in] HANDLE hndProcess, + [out, retval] BOOL *pbLoaded); + + HRESULT LoadErrorString( + [in] UINT iResourceID, + [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer, + [in, out] DWORD *pcchBuffer, + [in] LONG iLocaleid); + + HRESULT LoadLibrary( + [in] LPCWSTR pwzDllName, + [out, retval] HMODULE *phndModule); + + HRESULT GetProcAddress( + [in] LPCSTR pszProcName, + [out, retval] LPVOID *ppProc); + + HRESULT GetInterface( + [in] REFCLSID rclsid, + [in] REFIID riid, + [out, iid_is(riid), retval] LPVOID *ppUnk); + + HRESULT IsLoadable( + [out, retval] BOOL *pbLoadable); + + HRESULT SetDefaultStartupFlags( + [in] DWORD dwStartupFlags, + [in] LPCWSTR pwzHostConfigFile); + + HRESULT GetDefaultStartupFlags( + [out] DWORD *pdwStartupFlags, + [out, size_is(*pcchHostConfigFile)] LPWSTR pwzHostConfigFile, + [in, out] DWORD *pcchHostConfigFile); + + HRESULT BindAsLegacyV2Runtime(); + + HRESULT IsStarted( + [out] BOOL *pbStarted, + [out] DWORD *pdwStartupFlags); +}; + +typedef HRESULT (__stdcall *CallbackThreadSetFnPtr)(); +typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)(); + +typedef void (__stdcall *RuntimeLoadedCallbackFnPtr)( + ICLRRuntimeInfo *pRuntimeInfo, + CallbackThreadSetFnPtr pfnCallbackThreadSet, + CallbackThreadUnsetFnPtr pfnCallbackThreadUnset); + +cpp_quote("DEFINE_GUID(CLSID_CLRDebuggingLegacy, 0xDF8395B5,0xA4BA,0x450b,0xA7,0x7C,0xA9,0xA4,0x77,0x62,0xC5,0x20);") +cpp_quote("DEFINE_GUID(CLSID_CLRMetaHost, 0x9280188d,0x0e8e,0x4867,0xb3,0x0c,0x7f,0xa8,0x38,0x84,0xe8,0xde);") + +[ + object, + local, + uuid(d332db9e-b9b3-4125-8207-a14884f53216) +] +interface ICLRMetaHost : IUnknown +{ + HRESULT GetRuntime( + [in] LPCWSTR pwzVersion, + [in] REFIID iid, + [out, iid_is(iid), retval] LPVOID *ppRuntime); + + HRESULT GetVersionFromFile( + [in] LPCWSTR pwzFilePath, + [out, size_is(*pcchBuffer)] LPWSTR pwzBuffer, + [in, out] DWORD *pcchBuffer); + + HRESULT EnumerateInstalledRuntimes( + [out, retval] IEnumUnknown **ppEnumerator); + + HRESULT EnumerateLoadedRuntimes( + [in] HANDLE hndProcess, + [out, retval] IEnumUnknown **ppEnumerator); + + HRESULT RequestRuntimeLoadedNotification( + [in] RuntimeLoadedCallbackFnPtr pCallbackFunction); + + HRESULT QueryLegacyV2RuntimeBinding( + [in] REFIID riid, + [out, iid_is(riid), retval] LPVOID *ppUnk); + + HRESULT ExitProcess( + [in] INT32 iExitCode); +}; + +cpp_quote("HRESULT WINAPI CLRCreateInstance(REFCLSID clsid, REFIID riid, LPVOID *ppInterface);")
Propchange: trunk/reactos/include/psdk/metahost.idl ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/include/psdk/mscoree.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/mscoree.idl?re... ============================================================================== --- trunk/reactos/include/psdk/mscoree.idl [iso-8859-1] (original) +++ trunk/reactos/include/psdk/mscoree.idl [iso-8859-1] Sat Jan 28 11:58:18 2012 @@ -224,3 +224,17 @@ [in] LPCWSTR pwzArgument, [out] DWORD *pReturnValue); } + +[ + uuid(C3FCC19E-A970-11d2-8B5A-00A0C9B7C9C4), + local, + object +] +interface IManagedObject : IUnknown +{ + HRESULT GetSerializedBuffer([out] BSTR *pBSTR); + + HRESULT GetObjectIdentity([out] BSTR *pBSTRGUID, + [out] int *AppDomainID, + [out] int *pCCW); +}
Modified: trunk/reactos/include/psdk/psdk.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/psdk.rbuild?re... ============================================================================== --- trunk/reactos/include/psdk/psdk.rbuild [iso-8859-1] (original) +++ trunk/reactos/include/psdk/psdk.rbuild [iso-8859-1] Sat Jan 28 11:58:18 2012 @@ -13,6 +13,8 @@ <file>bits.idl</file> <file>commoncontrols.idl</file> <file>control.idl</file> + <file>cor.idl</file> + <file>cordebug.idl</file> <file>ctfutb.idl</file> <file>ctxtcall.idl</file> <file>dimm.idl</file> @@ -27,8 +29,10 @@ <file>imnact.idl</file> <file>imnxport.idl</file> <file>indexsrv.idl</file> + <file>metahost.idl</file> <file>mimeinfo.idl</file> <file>mlang.idl</file> + <file>mscoree.idl</file> <file>msctf.idl</file> <file>msdadc.idl</file> <file>mshtml.idl</file>
Modified: trunk/reactos/include/psdk/winsxs.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winsxs.idl?rev... ============================================================================== --- trunk/reactos/include/psdk/winsxs.idl [iso-8859-1] (original) +++ trunk/reactos/include/psdk/winsxs.idl [iso-8859-1] Sat Jan 28 11:58:18 2012 @@ -17,6 +17,7 @@ */
import "objidl.idl"; +import "oleidl.idl";
interface IAssemblyCache; interface IAssemblyCacheItem;