| /* |
| * 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);") |