xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mscoree; // Common Language Runtime Execution Engine 2.4 Library UUID {5477469E-83B1-11D2-8B49-00A0C9B7C9C4}; xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ================================================================================== Interface ICorSvcDependencies; IID = {DDB34005-9BA3-4025-9554-F00A2DF5DBF5}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT GetAssemblyDependencies( [in] BSTR pAssemblyName, [out] BSTR* pDependencies, [out] dword* assemblyNGenSetting, [out] BSTR* pNativeImageIdentity, [out] BSTR* pAssemblyDisplayName, [out] dword* pDependencyLoadSetting, [out] dword* pDependencyNGenSetting ); ================================================================================== alias OptimizationScenario; __MIDL___MIDL_itf_mscoree_tlb_0001_0010_0001; ================================================================================== enum __MIDL___MIDL_itf_mscoree_tlb_0001_0010_0001; { ScenarioDefault = 0, ScenarioAll = 1, ScenarioDebug = 2, ScenarioProfile = 8, ScenarioTuningDataCollection = 16, ScenarioLegacy = 32, ScenarioNgenLastRetry = 0, ScenarioAutoNGen = 0, ScenarioRepositoryOnly = 0 }; ================================================================================== alias PrivateOptimizationScenario; __MIDL___MIDL_itf_mscoree_tlb_0001_0010_0002; ================================================================================== enum __MIDL___MIDL_itf_mscoree_tlb_0001_0010_0002; { ScenarioEmitFixups = 0, ScenarioProfileInfo = 0 }; ================================================================================== struct _SvcWorkerPriority; { dword dwPriorityClass; }; ================================================================================== Interface ICorSvcWorker; IID = {D1047BC2-67C0-400C-A94C-E64446A67FBE}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT SetPriority( [in] _SvcWorkerPriority priority ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT OptimizeAssembly( [in] BSTR pAssemblyName, [in] BSTR pApplicationName, [in] OptimizationScenario scenario, [in] SAFEARRAY loadAlwaysList, [in] SAFEARRAY loadSometimesList, [in] SAFEARRAY loadNeverList, [out] BSTR* pNativeImageIdentity ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT DeleteNativeImage( [in] BSTR pAssemblyName, [in] BSTR pNativeImage ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT DisplayNativeImages( [in] BSTR pAssemblyName ); 5. STDCALL FUNC PUREVIRTUAL; HRESULT GetCorSvcDependencies( [in] BSTR pApplicationName, [in] OptimizationScenario scenario, [out] ICorSvcDependencies** pCorSvcDependencies ); 6. STDCALL FUNC PUREVIRTUAL; HRESULT Stop( ); ================================================================================== Interface ICorSvcWorker2; IID = {F3358A7D-0061-4776-880E-A2F21B9EF93E}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT CreatePdb( [in] BSTR pAssemblyName, [in] BSTR pAppBaseOrConfig, [in] OptimizationScenario scenario, [in] BSTR pNativeImagePath, [in] BSTR pPdbPath ); ================================================================================== Interface ICorSvcWorker3; IID = {DC516615-47BE-477E-8B55-C5ABE0D76B8F}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT CreatePdb2( [in] BSTR pAssemblyName, [in] BSTR pAppBaseOrConfig, [in] OptimizationScenario scenario, [in] BSTR pNativeImagePath, [in] BSTR pPdbPath, [in] int pdbLines, [in] BSTR managedPdbSearchPath ); ================================================================================== alias NGenPrivateAttributesFlags; __MIDL___MIDL_itf_mscoree_tlb_0001_0013_0001; ================================================================================== enum __MIDL___MIDL_itf_mscoree_tlb_0001_0013_0001; { DbgTypePdb = 1 }; ================================================================================== struct _NGenPrivateAttributes; { dword Flags; dword ZapStats; BSTR DbgDir; }; ================================================================================== Interface ICorSvcSetPrivateAttributes; IID = {B18E0B40-C089-4350-8328-066C668BCCC2}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT SetNGenPrivateAttributes( [in] _NGenPrivateAttributes ngenPrivateAttributes ); ================================================================================== alias RepositoryFlags; __MIDL___MIDL_itf_mscoree_tlb_0001_0014_0001; ================================================================================== enum __MIDL___MIDL_itf_mscoree_tlb_0001_0014_0001; { RepositoryDefault = 0, MoveFromRepository = 1, CopyToRepository = 2, IgnoreRepository = 4 }; ================================================================================== Interface ICorSvcRepository; IID = {D5346658-B5FD-4353-9647-07AD4783D5A0}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT SetRepository( [in] BSTR pRepositoryDir, [in] RepositoryFlags RepositoryFlags ); ================================================================================== Interface ICorSvcAppX; IID = {5C814791-559E-4F7F-83CE-184A4CCBAE24}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT SetPackage( [in] BSTR pPackageFullName ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT SetLocalAppDataDirectory( [in] BSTR pLocalAppDataDirectory ); ================================================================================== enum CorSvcLogLevel; { LogLevel_Error = 0, LogLevel_Warning = 1, LogLevel_Success = 2, LogLevel_Info = 3 }; ================================================================================== Interface ICorSvcLogger; IID = {D189FF1A-E266-4F13-9637-4B9522279FFC}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT Log( [in] CorSvcLogLevel logLevel, [in] BSTR message ); ================================================================================== Interface ICorSvcPooledWorker; IID = {0631E7E2-6046-4FDE-8B6D-A09B64FDA6F3}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT CanReuseProcess( [in] OptimizationScenario scenario, [in] ICorSvcLogger* pCorSvcLogger, [out] int* pCanContinue ); ================================================================================== Interface ICorSvcBindToWorker; IID = {5C6FB596-4828-4ED5-B9DD-293DAD736FB5}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT BindToRuntimeWorker( [in] BSTR pRuntimeVersion, [in] dword ParentProcessID, [in] BSTR pInterruptEventName, [in] ICorSvcLogger* pCorSvcLogger, [out] ICorSvcWorker** pCorSvcWorker ); ================================================================================== Interface ITypeName; // Type name parser IID = {B81FF171-20F3-11D2-8DCC-00A0C9B00522}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT GetNameCount( [out,retval] dword* pCount ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT GetNames( [in] dword count, [out] BSTR* rgbszNames, [out,retval] dword* pCount ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT GetTypeArgumentCount( [out,retval] dword* pCount ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT GetTypeArguments( [in] dword count, [out] ITypeName** rgpArguments, [out,retval] dword* pCount ); 5. STDCALL FUNC PUREVIRTUAL; HRESULT GetModifierLength( [out,retval] dword* pCount ); 6. STDCALL FUNC PUREVIRTUAL; HRESULT GetModifiers( [in] dword count, [out] dword* rgModifiers, [out,retval] dword* pCount ); 7. STDCALL FUNC PUREVIRTUAL; HRESULT GetAssemblyName( [out,retval] BSTR* rgbszAssemblyNames ); ================================================================================== Interface ITypeNameBuilder; // Type name builder IID = {B81FF171-20F3-11D2-8DCC-00A0C9B00523}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT OpenGenericArguments( ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT CloseGenericArguments( ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT OpenGenericArgument( ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT CloseGenericArgument( ); 5. STDCALL FUNC PUREVIRTUAL; HRESULT AddName( [in] wstr szName ); 6. STDCALL FUNC PUREVIRTUAL; HRESULT AddPointer( ); 7. STDCALL FUNC PUREVIRTUAL; HRESULT AddByRef( ); 8. STDCALL FUNC PUREVIRTUAL; HRESULT AddSzArray( ); 9. STDCALL FUNC PUREVIRTUAL; HRESULT AddArray( [in] dword rank ); 10. STDCALL FUNC PUREVIRTUAL; HRESULT AddAssemblySpec( [in] wstr szAssemblySpec ); 11. STDCALL FUNC PUREVIRTUAL; HRESULT ToString( [out,retval] BSTR* pszStringRepresentation ); 12. STDCALL FUNC PUREVIRTUAL; HRESULT Clear( ); ================================================================================== Interface ITypeNameFactory; // Type name builder and parser factory IID = {B81FF171-20F3-11D2-8DCC-00A0C9B00521}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT ParseTypeName( [in] wstr szName, [out] dword* pError, [out,retval] ITypeName** ppTypeName ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT GetTypeNameBuilder( [out,retval] ITypeNameBuilder** ppTypeBuilder ); ================================================================================== Interface IApartmentCallback; // Apartment callback interface IID = {178E5337-1528-4591-B1C9-1C6E484686D8}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT DoCallback( [in] ULONG_PTR pFunc, [in] ULONG_PTR pData ); ================================================================================== alias ULONG_PTR; uint64; ================================================================================== Interface IManagedObject; // Managed Object Interface IID = {C3FCC19E-A970-11D2-8B5A-00A0C9B7C9C4}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT GetSerializedBuffer( [out] BSTR* pBSTR ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT GetObjectIdentity( [out] BSTR* pBSTRGUID, [out] int* AppDomainID, [out] int64* pCCW ); ================================================================================== Interface ICatalogServices; // ICatalogServices Interface IID = {04C6BE1E-1DB1-4058-AB7A-700CCCFBF254}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT Autodone( ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT NotAutodone( ); ================================================================================== coclass ComCallUnmarshal; // Com Call Wrapper Unmarshalling Class CLSID = {3F281000-E95A-11D2-886B-00C04F869F04}; // Implemented interface: IMarshal ================================================================================== Interface IMarshal; IID = {00000003-0000-0000-C000-000000000046}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT GetUnmarshalClass( [in] mscoree* riid, [in] none* pv, [in] dword dwDestContext, [in] none* pvDestContext, [in] dword mshlflags, [out] * pCid ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT GetMarshalSizeMax( [in] 0â˝ScenarioEmitFixupsWW* riid, [in] none* pv, [in] dword dwDestContext, [in] none* pvDestContext, [in] dword mshlflags, [out] dword* pSize ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT MarshalInterface( [in] IStream** pstm, [in] <> * riid, [in] none* pv, [in] dword dwDestContext, [in] none* pvDestContext, [in] dword mshlflags ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT UnmarshalInterface( [in] IStream* pstm, [in] <> mscoree* riid, [out]* none* ppv ); 5. STDCALL FUNC PUREVIRTUAL; HRESULT ReleaseMarshalData( [in] IStream* pstm ); 6. STDCALL FUNC PUREVIRTUAL; HRESULT DisconnectObject( [in] dword dwReserved ); ================================================================================== Interface IStream; IID = {0000000C-0000-0000-C000-000000000046}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT Seek( [in] _LARGE_INTEGER dlibMove, [in] dword dwOrigin, _ULARGE_INTEGER* plibNewPosition ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT RemoteSeek( [in] _LARGE_INTEGER dlibMove, [in] dword dwOrigin, [out] _ULARGE_INTEGER* plibNewPosition ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT SetSize( [in] _ULARGE_INTEGER libNewSize ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT CopyTo( [in] IStream* pstm, [in] _ULARGE_INTEGER cb, _ULARGE_INTEGER* pcbRead, _ULARGE_INTEGER* pcbWritten ); 5. STDCALL FUNC PUREVIRTUAL; HRESULT RemoteCopyTo( [in] IStream* pstm, [in] _ULARGE_INTEGER cb, [out] _ULARGE_INTEGER* pcbRead, [out] _ULARGE_INTEGER* pcbWritten ); 6. STDCALL FUNC PUREVIRTUAL; HRESULT Commit( [in] dword grfCommitFlags ); 7. STDCALL FUNC PUREVIRTUAL; HRESULT Revert( ); 8. STDCALL FUNC PUREVIRTUAL; HRESULT LockRegion( [in] _ULARGE_INTEGER libOffset, [in] _ULARGE_INTEGER cb, [in] dword dwLockType ); 9. STDCALL FUNC PUREVIRTUAL; HRESULT UnlockRegion( [in] _ULARGE_INTEGER libOffset, [in] _ULARGE_INTEGER cb, [in] dword dwLockType ); 10. STDCALL FUNC PUREVIRTUAL; HRESULT Stat( [out] tagSTATSTG* pstatstg, [in] dword grfStatFlag ); 11. STDCALL FUNC PUREVIRTUAL; HRESULT Clone( [out] IStream** ppstm ); ================================================================================== Interface ISequentialStream; IID = {0C733A30-2A1C-11CE-ADE5-00AA0044773D}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT Read( none* pv, [in] dword cb, dword* pcbRead ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT RemoteRead( [out] ubyte* pv, [in] dword cb, [out] dword* pcbRead ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT Write( none* pv, [in] dword cb, dword* pcbWritten ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT RemoteWrite( [in] ubyte* pv, [in] dword cb, [out] dword* pcbWritten ); ================================================================================== struct _LARGE_INTEGER; { int64 QuadPart; }; ================================================================================== struct _ULARGE_INTEGER; { uint64 QuadPart; }; ================================================================================== struct tagSTATSTG; { ptr[wstr] pwcsName; dword type; _ULARGE_INTEGER cbSize; _FILETIME mtime; _FILETIME ctime; _FILETIME atime; dword grfMode; dword grfLocksSupported; clsid; dword grfStateBits; dword reserved; }; ================================================================================== struct _FILETIME; { dword dwLowDateTime; dword dwHighDateTime; }; ================================================================================== coclass ComCallUnmarshalV4; // Com Call Wrapper Unmarshalling Class 4.0 CLSID = {45FB4600-E6E8-4928-B25E-50476FF79425}; // Implemented interface: IMarshal ================================================================================== coclass CorRuntimeHost; // Cor Runtime Hosting Class CLSID = {CB2F6723-AB3A-11D2-9C40-00C04FA30A3E}; // Implemented interface: ICorRuntimeHost // Implemented interface: IGCHost // Implemented interface: ICorConfiguration // Implemented interface: IValidator // Implemented interface: IDebuggerInfo ================================================================================== Interface ICorRuntimeHost; // Common Language Runtime Hosting Interface IID = {CB2F6722-AB3A-11D2-9C40-00C04FA30A3E}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT CreateLogicalThreadState( ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT DeleteLogicalThreadState( ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT SwitchInLogicalThreadState( [in] dword* pFiberCookie ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT SwitchOutLogicalThreadState( [out]* dword* pFiberCookie ); 5. STDCALL FUNC PUREVIRTUAL; HRESULT LocksHeldByLogicalThread( [out] dword* pCount ); 6. STDCALL FUNC PUREVIRTUAL; HRESULT MapFile( [in] none* hFile, [out]* none* hMapAddress ); 7. STDCALL FUNC PUREVIRTUAL; HRESULT GetConfiguration( [out] ICorConfiguration** pConfiguration ); 8. STDCALL FUNC PUREVIRTUAL; HRESULT Start( ); 9. STDCALL FUNC PUREVIRTUAL; HRESULT Stop( ); 10. STDCALL FUNC PUREVIRTUAL; HRESULT CreateDomain( [in] wstr pwzFriendlyName, [in] IUnknown pIdentityArray, [out] IUnknown* pAppDomain ); 11. STDCALL FUNC PUREVIRTUAL; HRESULT GetDefaultDomain( [out] IUnknown* pAppDomain ); 12. STDCALL FUNC PUREVIRTUAL; HRESULT EnumDomains( [out]* none* hEnum ); 13. STDCALL FUNC PUREVIRTUAL; HRESULT NextDomain( [in] none* hEnum, [out] IUnknown* pAppDomain ); 14. STDCALL FUNC PUREVIRTUAL; HRESULT CloseEnum( [in] none* hEnum ); 15. STDCALL FUNC PUREVIRTUAL; HRESULT CreateDomainEx( [in] wstr pwzFriendlyName, [in] IUnknown pSetup, [in] IUnknown pEvidence, [out] IUnknown* pAppDomain ); 16. STDCALL FUNC PUREVIRTUAL; HRESULT CreateDomainSetup( [out] IUnknown* pAppDomainSetup ); 17. STDCALL FUNC PUREVIRTUAL; HRESULT CreateEvidence( [out] IUnknown* pEvidence ); 18. STDCALL FUNC PUREVIRTUAL; HRESULT UnloadDomain( [in] IUnknown pAppDomain ); 19. STDCALL FUNC PUREVIRTUAL; HRESULT CurrentDomain( [out] IUnknown* pAppDomain ); ================================================================================== Interface ICorConfiguration; // Common Language Runtime Configuration Interface IID = {5C2B07A5-1E98-11D3-872F-00C04F79ED0D}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT SetGCThreadControl( [in] IGCThreadControl* pGCThreadControl ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT SetGCHostControl( [in] IGCHostControl* pGCHostControl ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT SetDebuggerThreadControl( [in] IDebuggerThreadControl* pDebuggerThreadControl ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT AddDebuggerSpecialThread( [in] dword dwSpecialThreadId ); ================================================================================== Interface IGCThreadControl; // Control over threads blocked in GC IID = {F31D1788-C397-4725-87A5-6AF3472C2791}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT ThreadIsBlockingForSuspension( ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT SuspensionStarting( ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT SuspensionEnding( dword Generation ); ================================================================================== Interface IGCHostControl; // Request change in virtual memory for GC IID = {5513D564-8374-4CB9-AED9-0083F4160A1D}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT RequestVirtualMemLimit( [in] ULONG_PTR sztMaxVirtualMemMB, [in,out] ULONG_PTR* psztNewMaxVirtualMemMB ); ================================================================================== Interface IDebuggerThreadControl; // Control over threads blocked in debugging services IID = {23D86786-0BB5-4774-8FB5-E3522ADD6246}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT ThreadIsBlockingForDebugger( ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT ReleaseAllRuntimeThreads( ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT StartBlockingForDebugger( dword dwUnused ); ================================================================================== Interface IGCHost; IID = {FAC34F6E-0DCD-47B5-8021-531BC5ECCA63}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT SetGCStartupLimits( [in] dword SegmentSize, [in] dword MaxGen0Size ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT Collect( [in] int Generation ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT GetStats( [in,out] _COR_GC_STATS* pStats ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT GetThreadStats( [in] dword* pFiberCookie, [in,out] _COR_GC_THREAD_STATS* pStats ); 5. STDCALL FUNC PUREVIRTUAL; HRESULT SetVirtualMemLimit( [in] ULONG_PTR sztMaxVirtualMemMB ); ================================================================================== struct _COR_GC_STATS; { dword Flags; ULONG_PTR ExplicitGCCount; VT_CARRAY GenCollectionsTaken; ULONG_PTR CommittedKBytes; ULONG_PTR ReservedKBytes; ULONG_PTR Gen0HeapSizeKBytes; ULONG_PTR Gen1HeapSizeKBytes; ULONG_PTR Gen2HeapSizeKBytes; ULONG_PTR LargeObjectHeapSizeKBytes; ULONG_PTR KBytesPromotedFromGen0; ULONG_PTR KBytesPromotedFromGen1; }; ================================================================================== struct _COR_GC_THREAD_STATS; { uint64 PerThreadAllocation; dword Flags; }; ================================================================================== Interface IValidator; IID = {63DF8730-DC81-4062-84A2-1FF943F59FAC}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT Validate( [in] IVEHandler* veh, [in] IUnknown pAppDomain, [in] dword ulFlags, [in] dword ulMaxError, [in] dword Token, [in] wstr fileName, [in] ubyte* pe, [in] dword ulSize ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT FormatEventInfo( [in] HRESULT hVECode, [in] tag_VerError Context, [in,out] wstr msg, [in] dword ulMaxLength, [in] SAFEARRAY psa ); ================================================================================== Interface IVEHandler; IID = {856CA1B2-7DAB-11D3-ACEC-00C04F86C309}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT VEHandler( [in] HRESULT VECode, [in] tag_VerError Context, [in] SAFEARRAY psa ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT SetReporterFtn( [in] int64 lFnPtr ); ================================================================================== struct tag_VerError; { dword Flags; dword opcode; dword uOffset; dword Token; dword item1_flags; int* item1_data; dword item2_flags; int* item2_data; }; ================================================================================== Interface IDebuggerInfo; // Information on the state of the debugging services IID = {BF24142D-A47D-4D24-A66D-8C2141944E44}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT IsDebuggerAttached( [out] int* pbAttached ); ================================================================================== coclass CLRRuntimeHost; // CLR Runtime Hosting Class V2 CLSID = {90F1A06E-7712-4762-86B5-7A5EBA6BDB02}; // Implemented interface: ICLRRuntimeHost // Implemented interface: ICLRValidator ================================================================================== Interface ICLRRuntimeHost; // Common Language Runtime Hosting Interface IID = {90F1A06C-7712-4762-86B5-7A5EBA6BDB02}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT Start( ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT Stop( ); 3. STDCALL FUNC PUREVIRTUAL; HRESULT SetHostControl( [in] IHostControl* pHostControl ); 4. STDCALL FUNC PUREVIRTUAL; HRESULT GetCLRControl( [out] ICLRControl** pCLRControl ); 5. STDCALL FUNC PUREVIRTUAL; HRESULT UnloadAppDomain( [in] dword dwAppDomainID, [in] int fWaitUntilDone ); 6. STDCALL FUNC PUREVIRTUAL; HRESULT __MIDL____MIDL_itf_mscoree_tlb_0000_00000000( none* cookie ); 7. STDCALL FUNC PUREVIRTUAL; HRESULT ExecuteInAppDomain( [in] dword dwAppDomainID, [in] ICLRRuntimeHost* pCallback, [in] none* cookie ); 8. STDCALL FUNC PUREVIRTUAL; HRESULT GetCurrentAppDomainId( [out] dword* pdwAppDomainId ); 9. STDCALL FUNC PUREVIRTUAL; HRESULT ExecuteApplication( [in] wstr pwzAppFullName, [in] dword dwManifestPaths, [in]* BSTR* ppwzManifestPaths, [in] dword dwActivationData, [in]* BSTR* ppwzActivationData, [out] int* pReturnValue ); 10. STDCALL FUNC PUREVIRTUAL; HRESULT ExecuteInDefaultAppDomain( [in] wstr pwzAssemblyPath, [in] wstr pwzTypeName, [in] wstr pwzMethodName, [in] wstr pwzArgument, [out] dword* pReturnValue ); ================================================================================== Interface IHostControl; // Common Language Runtime Host Control Interface IID = {02CA073C-7079-4860-880A-C2F7A449C991}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT GetHostManager( [in] mscoree* riid, [out]* none* ppObject ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT SetAppDomainManager( [in] dword dwAppDomainID, [in] IUnknown pUnkAppDomainManager ); ================================================================================== Interface ICLRControl; // Common Language Runtime Control Interface IID = {9065597E-D1A1-4FB2-B6BA-7E1FCE230F61}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT GetCLRManager( [in] <> * riid, [out]* none* ppObject ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT SetAppDomainManagerType( [in] wstr pwzAppDomainManagerAssembly, [in] wstr pwzAppDomainManagerType ); ================================================================================== Interface ICLRValidator; IID = {63DF8730-DC81-4062-84A2-1FF943F59FDD}; // Inherits from: IUnknown {00000000-0000-0000-C000-000000000046} 1. STDCALL FUNC PUREVIRTUAL; HRESULT Validate( [in] IVEHandler* veh, [in] dword ulAppDomainId, [in] dword ulFlags, [in] dword ulMaxError, [in] dword Token, [in] wstr fileName, [in] ubyte* pe, [in] dword ulSize ); 2. STDCALL FUNC PUREVIRTUAL; HRESULT FormatEventInfo( [in] HRESULT hVECode, [in] tag_VerError Context, [in,out] wstr msg, [in] dword ulMaxLength, [in] SAFEARRAY psa ); ================================================================================== coclass TypeNameFactory; // TypeName parser and builder CLSID = {B81FF171-20F3-11D2-8DCC-00A0C9B00525}; // Implemented interface: ITypeNameFactory ==================================================================================