* 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.

svn path=/trunk/; revision=55272
This commit is contained in:
Amine Khaldi
2012-01-28 11:58:18 +00:00
parent 140671d476
commit 1b4f459fcc
10 changed files with 1450 additions and 116 deletions
+3
View File
@@ -21,6 +21,8 @@ list(APPEND SOURCE
comcat.idl
commoncontrols.idl
control.idl
cor.idl
cordebug.idl
# crtrow.idl
ctxtcall.idl
# dbccmd.idl
@@ -44,6 +46,7 @@ list(APPEND SOURCE
imnact.idl
imnxport.idl
indexsrv.idl
metahost.idl
mimeinfo.idl
mimeole.idl
mlang.idl
-43
View File
@@ -1,43 +0,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 */
+108
View File
@@ -0,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);")
File diff suppressed because it is too large Load Diff
+76 -73
View File
@@ -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 */
+72
View File
@@ -49,10 +49,82 @@ typedef enum CorTokenType
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 */
+131
View File
@@ -0,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);")
+14
View File
@@ -224,3 +224,17 @@ interface ICLRRuntimeHost : IUnknown
[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);
}
+4
View File
@@ -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>
+1
View File
@@ -17,6 +17,7 @@
*/
import "objidl.idl";
import "oleidl.idl";
interface IAssemblyCache;
interface IAssemblyCacheItem;