ReactOS 0.4.17-dev-357-ga8f14ff
test_tlb.idl
Go to the documentation of this file.
1/*
2 * ITypeLib test IDL - we dump it and compare results in typelib.c
3 *
4 * Copyright 2007 Google (Mikolaj Zalewski)
5 * Copyright 2006,2015 Dmitry Timoshkov
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 */
21
22#pragma makedep ident
23#pragma makedep typelib
24
25import "oaidl.idl"; /* needed by widl */
26
27midl_pragma warning ( disable : 2368 )
28
29#define CUSTDATA_STRLIT c8768723-e6d2-4442-b039-92e9c82429c4
30#define CUSTDATA_NUM b481b478-a181-4eb6-b6e0-df63069e8c80
31#define CUSTDATA_HEXNUM a09d7c06-cf38-4db3-9450-10641651c35b
32
33[
34 uuid(8b05fe77-4a6c-4133-b9cd-8f81747af784),
35 custom(CUSTDATA_STRLIT,"ITypeLib2::GetCustData"),
38 id(2)
39]
41{
42 importlib("stdole2.tlb");
43
44 typedef [uuid(b14b6bb5-904e-4ff9-b247-bd361f7a0001)]
45 struct g { int g1; } g;
46
47 [uuid(b14b6bb5-904e-4ff9-b247-bd361f7a0002)]
48 interface test_iface : IUnknown
49 {
50 HRESULT test([in] g *ptr);
51 }
52
53 interface child_iface;
54 interface parent_iface;
55
56 [uuid(b14b6bb5-904e-4ff9-b247-bd361f7aa001)]
57 interface parent_iface : IUnknown
58 {
59 HRESULT test1([out,retval] child_iface **iface);
60 }
61 [uuid(b14b6bb5-904e-4ff9-b247-bd361f7aa002)]
62 interface child_iface: parent_iface
63 {
64 HRESULT test2(void);
65 }
66
67 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753901),restricted]
68 struct _n { int n1; };
69 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753902),hidden]
70 typedef struct _n n;
71 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753903),version(1.2),helpcontext(3)]
72 typedef struct _n nn;
73
74 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753904),restricted]
75 struct _m { int m1; };
76 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753905),hidden,version(1.2)]
77 typedef struct _m m;
78 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753906),helpcontext(3)]
79 typedef struct _m mm;
80
81 [dual,uuid(b14b6bb5-904e-4ff9-b247-bd361f7aaedd)]
82 interface IDualIface : IDispatch
83 {
84 HRESULT test();
85 }
86
87 [uuid(ec5dfcd6-eeb0-4cd6-b51e-8030e1dac009)]
88 interface ISimpleIface : IDispatch
89 {
90 HRESULT test();
91 }
92
93 [uuid(4029f190-ca4a-4611-aeb9-673983cb96dd)]
94 struct test_struct
95 {
96 HRESULT hr;
98 IDispatch *disp;
99 BSTR bstr;
100 };
101
102 /* identical to 'test_struct', only guid is different */
103 [uuid(4029f190-ca4a-4611-aeb9-673983cb96de)]
104 struct test_struct2
105 {
106 HRESULT hr;
108 IDispatch *disp;
109 BSTR bstr;
110 };
111
112 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396a),restricted]
113 int t_INT;
114
115 typedef [public] enum _a { a1, a2 } a;
116 typedef [public] enum aa { aa1, aa2 } aa;
117 typedef enum _b { b1, b2 } b;
118 typedef enum bb { bb1, bb2 } bb;
119 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396b)] enum _c { c1, c2 } c;
120 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396c)] enum cc { cc1, cc2 } cc;
121
122 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396d),restricted,hidden]
123 enum _d { d1, d2 } d;
124 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396e),restricted,hidden]
125 enum dd { dd1, dd2 } dd;
126
127 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753970),restricted,hidden]
128 struct _e { int e1; } e;
129 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753971),restricted,hidden]
130 struct ee { int ee1; } ee;
131
132 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753972),restricted,hidden]
133 union _f { int f1; BSTR *f2; } f;
134 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753973),restricted,hidden]
135 union ff { int ff1; BSTR *ff2; } ff;
136
137 [uuid(ec5dfcd6-eeb0-4cd6-b51e-8030e1dac00a)]
138 interface ITestIface : IDispatch
139 {
146 }
147
148 [uuid(2d4430d5-99ea-4645-85f0-c5814b72804b)]
149 dispinterface ITestDispatch
150 {
151 properties:
152 [id(10)] int property_int;
153 [id(11)] HRESULT property_HRESULT;
154
155 methods:
156 [id(1)] void test_void();
157 [id(2)] void test_void_retval([out,retval] double* ret);
158 [id(3)] HRESULT test_HRESULT();
159 [id(4)] HRESULT test_HRESULT_retval([out,retval] double* ret);
160 [id(5)] int test_int();
161 [id(6)] int test_int_retval([out,retval] double* ret);
162 [id(7)] double parse_lcid([in] BSTR x, [lcid] long lcid);
163
164 }
165
166 [uuid(79ca07f9-ac22-44ac-9aaf-811f45412293), dual]
167 interface ITestDispDual : IDispatch
168 {
169 [id(1)] void test_void();
170 [id(2)] void test_void_retval([out,retval] double* ret);
171 [id(3)] HRESULT test_HRESULT();
172 [id(4)] HRESULT test_HRESULT_retval([out,retval] double* ret);
173 [id(5)] int test_int();
174 [id(6)] int test_int_retval([out,retval] double* ret);
175 [id(7)] HRESULT parse_lcid([in] BSTR x, [lcid] long lcid, [out,retval] double *ret);
176 }
177
178 [uuid(cdb105e3-24fb-4ae6-b826-801b7b2a0a07)]
179 dispinterface ITestDispInherit
180 {
181 interface ITestDispDual;
182 }
183
184 [uuid(786ee4ff-c5dd-4bf4-9578-0d22fb5369cc),custom(CUSTDATA_STRLIT,"ITypeInfo2::GetCustData interface")]
185 interface custdata_interface : IDispatch
186 {
187 [custom(CUSTDATA_STRLIT,"ITypeInfo2::GetFuncCustData custdata_interface::test_method")]
188 HRESULT test_method([in,custom(CUSTDATA_STRLIT,"ITypeInfo2::GetParamCustData custdata_interface::test_method(x)")] int x);
189 }
190
191 [uuid(6ca99f5e-c86a-42ad-a5ee-5bd4c8e5553c),custom(CUSTDATA_STRLIT,"ITypeInfo2::GetCustData enum")]
192 enum custdata_enum {
193 [custom(CUSTDATA_STRLIT,"ITypeInfo2::GetVarCustData enum")]
194 One,
195 Two
196 };
197
198 [uuid(62fabe17-f733-4b09-b859-3f455dcda450),custom(CUSTDATA_STRLIT,"ITypeInfo2::GetCustData struct")]
199 struct custdata_struct {
200 [custom(CUSTDATA_STRLIT,"ITypeInfo2::GetVarCustData struct")]
201 int test_field;
202 };
203
204 [/* uuid(...) not allowed on union */ custom(CUSTDATA_STRLIT,"ITypeInfo2::GetCustData union")]
205 union custdata_union {
206 [custom(CUSTDATA_STRLIT,"ITypeInfo2::GetVarCustData union")]
207 int test_field;
208 };
209
210 [public,uuid(d58744d6-63f9-467c-87e5-c95158098b18),custom(CUSTDATA_STRLIT,"ITypeInfo2::GetCustData typedef")]
211 typedef custdata_interface * custdata_typedef;
212
213 [uuid(bffc216e-2159-465a-80df-b85fd4f4f122),custom(CUSTDATA_STRLIT,"ITypeInfo2::GetCustData dispinterface")]
214 dispinterface custdata_dispatch
215 {
216properties:
217 [id(0),custom(CUSTDATA_STRLIT,"ITypeInfo2::GetVarCustData dispinterface property")]
218 int test_property;
219methods:
220 [id(1),custom(CUSTDATA_STRLIT,"ITypeInfo2::GetFuncCustData dispinterface method")]
221 void test_method([in,custom(CUSTDATA_STRLIT,"ITypeInfo2::GetParamCustData test_dispatch::test_method(x)")] int x);
222 }
223}
@ Two
Definition: card.h:12
FT_Library library
Definition: cffdrivr.c:660
HRESULT hr
Definition: delayimp.cpp:582
OLECHAR * BSTR
Definition: compat.h:2293
short VARIANT_BOOL
Definition: compat.h:2290
static const WCHAR version[]
Definition: asmname.c:66
LCID lcid
Definition: locale.c:5660
return ret
Definition: mutex.c:146
void test2()
Definition: ehthrow.cxx:284
void test1()
Definition: ehthrow.cxx:277
void test4()
Definition: ehthrow.cxx:298
void test3()
Definition: ehthrow.cxx:291
void test5()
Definition: ehthrow.cxx:305
void test6()
Definition: ehthrow.cxx:312
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLdouble n
Definition: glext.h:7729
const GLubyte * c
Definition: glext.h:8905
GLfloat f
Definition: glext.h:7540
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLuint in
Definition: glext.h:9616
GLboolean GLboolean g
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
GLuint id
Definition: glext.h:5910
const GLfloat * m
Definition: glext.h:10848
Definition: msctf.idl:532
uint32_t cc
Definition: isohybrid.c:75
#define d
Definition: ke_i.h:81
#define e
Definition: ke_i.h:82
#define f
Definition: ke_i.h:83
#define a
Definition: ke_i.h:78
#define c
Definition: ke_i.h:80
#define b
Definition: ke_i.h:79
__u32 hidden
Definition: mkdosfs.c:13
static PVOID ptr
Definition: dispmode.c:27
static const struct update_accum a1
Definition: msg.c:534
static const struct update_accum a2
Definition: msg.c:542
static CRYPT_DATA_BLOB b2[]
Definition: msg.c:538
static CRYPT_DATA_BLOB b1[]
Definition: msg.c:529
int disable
Definition: msacm.c:1365
midl_pragma custom(CUSTDATA_STRLIT,"ITypeLib2::GetCustData")
#define CUSTDATA_NUM
#define CUSTDATA_HEXNUM
#define CUSTDATA_STRLIT
#define test
Definition: rosglue.h:37
int n1
Definition: dwarfget.c:147
#define warning(s)
Definition: debug.h:83
#define f2(x, y, z)
Definition: sha1.c:31
#define f1(x, y, z)
Definition: sha1.c:30
Definition: pdh_main.c:96
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
int retval
Definition: wcstombs.cpp:91