From 74a8dc2dc8dc01e58be48aa55b399132e9bea043 Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Tue, 5 Oct 2010 12:34:28 -0500 Subject: [PATCH 4/8] include: Add definitions for IMetaDataDispenserEx. --- include/cor.idl | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 78 insertions(+), 0 deletions(-) diff --git a/include/cor.idl b/include/cor.idl index 4662ef7..e4dc8ac 100644 --- a/include/cor.idl +++ b/include/cor.idl @@ -16,11 +16,89 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +import "propidl.idl"; + cpp_quote("#include \"ole2.h\"") /* FIXME: #include "specstrings.h" */ /* FIXME: #include "corerror.h" */ /* FIXME: #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("#ifdef __cplusplus") cpp_quote(" extern \"C\" {") cpp_quote("#endif") -- 1.7.1