oleaut32: Fix automatic value getting in ITypeInfo::Invoke.
[wine.git] / dlls / oleaut32 / tests / test_reg.idl
blobc9be76b0273b60ecbc77c66cbf7dfed6b8d96d67
1 /*
2 * A typelib to test registration.
4 * Copyright 2010 Huw Davies
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #pragma makedep ident
22 #pragma makedep typelib
24 import "oaidl.idl"; /* needed by widl */
27 uuid(a2cfdbd3-2bbf-4b1c-a414-5a5904e634c9),
28 version(1.0)
30 library register_test
32 importlib("stdole2.tlb");
35 uuid(06c1f5f0-ea49-44f9-8e3b-4be00c7a0689)
37 interface Inon_ole : IUnknown
39 HRESULT test();
43 uuid(06c1f5f1-ea49-44f9-8e3b-4be00c7a0689)
45 interface Inon_ole_from_disp : IDispatch
47 HRESULT test();
51 uuid(06c1f5f2-ea49-44f9-8e3b-4be00c7a0689),
52 oleautomation
54 interface Iole : IUnknown
56 HRESULT test();
60 uuid(06c1f5f3-ea49-44f9-8e3b-4be00c7a0689),
61 oleautomation
63 interface Iole_from_disp : IDispatch
65 HRESULT test();
69 uuid(06c1f5f4-ea49-44f9-8e3b-4be00c7a0689),
70 dual
72 interface Inon_ole_dual : IUnknown
74 HRESULT test();
78 uuid(06c1f5f5-ea49-44f9-8e3b-4be00c7a0689),
79 oleautomation,
80 dual
82 interface Iole_dual : IUnknown
84 HRESULT test();
88 uuid(06c1f5f6-ea49-44f9-8e3b-4be00c7a0689),
89 dual
91 interface Inon_ole_dual_from_disp : IDispatch
93 HRESULT test();
97 uuid(06c1f5f7-ea49-44f9-8e3b-4be00c7a0689),
98 oleautomation,
99 dual
101 interface Iole_dual_from_disp : IDispatch
103 HRESULT test();
106 /* oleautomation not allowed with dispinterfaces */
108 uuid(06c1f5f8-ea49-44f9-8e3b-4be00c7a0689)
110 dispinterface Idisp
112 properties:
113 [id(0x0)] BSTR Name;
114 methods:
118 uuid(06c1f5f9-ea49-44f9-8e3b-4be00c7a0689)
120 dispinterface Idisp_from_non_ole_iface
122 interface Inon_ole;
126 uuid(06c1f5fa-ea49-44f9-8e3b-4be00c7a0689)
128 dispinterface Idisp_from_ole_from_disp_iface
130 interface Iole_from_disp;
134 uuid(fed318b2-c2ed-11e7-abc4-cec278b6b50a)
136 interface ICollection : IDispatch
138 [id(DISPID_VALUE)]
139 HRESULT Item([in] int i, [out, retval] int *p);
143 uuid(f1b68c3b-02a3-4110-bc4c-cf9bc7e7f177)
145 interface IInvokeTest : IDispatch
147 [propget, id(DISPID_VALUE)]
148 LONG test([in] LONG i);
149 [propputref, id(1)]
150 LONG testprop([in] LONG *i);
151 [propputref, id(2)]
152 LONG testprop2([in] IUnknown *i);
153 [id(3)]
154 HRESULT testfunc([in] int i, [out, retval] int *p);
155 [propget, id(4)]
156 HRESULT testget([out, retval] ICollection **p);
159 /* uuid is same as for test_struct2 in test_tlb.idl, fields are different */
160 [uuid(4029f190-ca4a-4611-aeb9-673983cb96de)]
161 struct test_struct3
163 UINT32 field;
164 HRESULT hr;