2 * Copyright (C) 2007 Francois Gouget
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 cpp_quote
("#include <ole2.h>")
22 /* FIXME: #include "specstrings.h" */
23 cpp_quote
("#include <corerror.h>")
24 cpp_quote
("#include <corhdr.h>")
26 cpp_quote
("DEFINE_GUID(CLSID_CorMetaDataDispenser, 0xe5cb7a31,0x7512,0x11d2,0x89,0xce,0x00,0x80,0xc7,0x92,0xe5,0xd8);")
27 cpp_quote
("DEFINE_GUID(CLSID_CorMetaDataDispenserRuntime, 0x1ec2de53,0x75cc,0x11d2,0x97,0x75,0x00,0xa0,0xc9,0xb4,0xd5,0x0c);")
32 uuid(809c652e
-7396
-11d2
-9771-00a0c9b4d50c
)
34 interface IMetaDataDispenser
: IUnknown
38 [in] DWORD dwCreateFlags
,
40 [out] IUnknown
**ppIUnk
);
44 [in] DWORD dwOpenFlags
,
46 [out] IUnknown
**ppIUnk
);
48 HRESULT OpenScopeOnMemory
(
49 [in] const void *pData
,
51 [in] DWORD dwOpenFlags
,
53 [out] IUnknown
**ppIUnk
);
59 uuid(31bcfce2
-dafb
-11d2
-9f81
-00c04f79a0a3
)
61 interface IMetaDataDispenserEx
: IMetaDataDispenser
64 [in] REFGUID optionid
,
65 [in] const VARIANT *value
);
68 [in] REFGUID optionid
,
69 [out] VARIANT *pvalue
);
71 HRESULT OpenScopeOnITypeInfo
(
73 [in] DWORD dwOpenFlags
,
75 [out] IUnknown
**ppIUnk
);
77 HRESULT GetCORSystemDirectory
(
78 [out, size_is(cchBuffer
)] LPWSTR szBuffer
,
80 [out] DWORD
*pchBuffer
);
83 [in] LPCWSTR szAppBase
,
84 [in] LPCWSTR szPrivateBin
,
85 [in] LPCWSTR szGlobalBin
,
86 [in] LPCWSTR szAssemblyName
,
87 [out, size_is(cchName
)] LPWSTR szName
,
91 HRESULT FindAssemblyModule
(
92 [in] LPCWSTR szAppBase
,
93 [in] LPCWSTR szPrivateBin
,
94 [in] LPCWSTR szGlobalBin
,
95 [in] LPCWSTR szAssemblyName
,
96 [in] LPCWSTR szModuleName
,
97 [out, size_is(cchName
)] LPWSTR szName
,
102 cpp_quote
("BOOL WINAPI _CorDllMain(HINSTANCE,DWORD,LPVOID);")
103 cpp_quote
("__int32 WINAPI _CorExeMain(void);")
104 cpp_quote
("__int32 WINAPI _CorExeMain2(PBYTE,DWORD,LPWSTR,LPWSTR,LPWSTR);")
105 cpp_quote
("VOID WINAPI _CorImageUnloading(PVOID);")
106 cpp_quote
("HRESULT WINAPI _CorValidateImage(PVOID*,LPCWSTR);")
107 cpp_quote
("HRESULT WINAPI CoInitializeCor(DWORD);")
108 cpp_quote
("void WINAPI CoUninitializeCor(void);")