d3d8/tests: Port the double unlock test to d3d8.
[wine] / include / cor.idl
1 /*
2  * Copyright (C) 2007 Francois Gouget
3  *
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.
8  *
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.
13  *
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
17  */
18
19 import "propidl.idl";
20
21 cpp_quote("#include <ole2.h>")
22 /* FIXME: #include "specstrings.h" */
23 /* FIXME: #include "corerror.h" */
24 /* FIXME: #include "corhdr.h" */
25
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);")
28
29 [
30     object,
31     local,
32     uuid(809c652e-7396-11d2-9771-00a0c9b4d50c)
33 ]
34 interface IMetaDataDispenser : IUnknown
35 {
36     HRESULT DefineScope(
37         [in] REFCLSID rclsid,
38         [in] DWORD dwCreateFlags,
39         [in] REFIID riid,
40         [out] IUnknown **ppIUnk);
41
42     HRESULT OpenScope(
43         [in] LPCWSTR szScope,
44         [in] DWORD dwOpenFlags,
45         [in] REFIID riid,
46         [out] IUnknown **ppIUnk);
47
48     HRESULT OpenScopeOnMemory(
49         [in] const void *pData,
50         [in] ULONG cbData,
51         [in] DWORD dwOpenFlags,
52         [in] REFIID riid,
53         [out] IUnknown **ppIUnk);
54 }
55
56 [
57     object,
58     local,
59     uuid(31bcfce2-dafb-11d2-9f81-00c04f79a0a3)
60 ]
61 interface IMetaDataDispenserEx : IMetaDataDispenser
62 {
63     HRESULT SetOption(
64         [in] REFGUID optionid,
65         [in] const VARIANT *value);
66
67     HRESULT GetOption(
68         [in] REFGUID optionid,
69         [out] VARIANT *pvalue);
70
71     HRESULT OpenScopeOnITypeInfo(
72         [in] ITypeInfo *pITI,
73         [in] DWORD dwOpenFlags,
74         [in] REFIID riid,
75         [out] IUnknown **ppIUnk);
76
77     HRESULT GetCORSystemDirectory(
78         [out, size_is(cchBuffer)] LPWSTR szBuffer,
79         [in] DWORD cchBuffer,
80         [out] DWORD *pchBuffer);
81
82     HRESULT FindAssembly(
83         [in] LPCWSTR szAppBase,
84         [in] LPCWSTR szPrivateBin,
85         [in] LPCWSTR szGlobalBin,
86         [in] LPCWSTR szAssemblyName,
87         [out, size_is(cchName)] LPWSTR szName,
88         [in] ULONG cchName,
89         [out] ULONG *pcName);
90
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,
98         [in] ULONG cchName,
99         [out] ULONG *pcName);
100 }
101
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);")