ReactOS 0.4.15-dev-8135-g1bc6c90
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[uuid(8b05fe77-4a6c-4133-b9cd-8f81747af784)]
31{
32 importlib("stdole2.tlb");
33
34 typedef [uuid(b14b6bb5-904e-4ff9-b247-bd361f7a0001)]
35 struct g { int g1; } g;
36
37 [uuid(b14b6bb5-904e-4ff9-b247-bd361f7a0002)]
38 interface test_iface : IUnknown
39 {
40 HRESULT test([in] g *ptr);
41 }
42
43 interface child_iface;
44 interface parent_iface;
45
46 [uuid(b14b6bb5-904e-4ff9-b247-bd361f7aa001)]
47 interface parent_iface : IUnknown
48 {
49 HRESULT test1([out,retval] child_iface **iface);
50 }
51 [uuid(b14b6bb5-904e-4ff9-b247-bd361f7aa002)]
52 interface child_iface: parent_iface
53 {
54 HRESULT test2(void);
55 }
56
57 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753901),restricted]
58 struct _n { int n1; };
59 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753902),hidden]
60 typedef struct _n n;
61 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753903),version(1.2),helpcontext(3)]
62 typedef struct _n nn;
63
64 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753904),restricted]
65 struct _m { int m1; };
66 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753905),hidden,version(1.2)]
67 typedef struct _m m;
68 [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753906),helpcontext(3)]
69 typedef struct _m mm;
70
71 [dual,uuid(b14b6bb5-904e-4ff9-b247-bd361f7aaedd)]
72 interface IDualIface : IDispatch
73 {
74 HRESULT test();
75 }
76
77 [uuid(ec5dfcd6-eeb0-4cd6-b51e-8030e1dac009)]
78 interface ISimpleIface : IDispatch
79 {
80 HRESULT test();
81 }
82
83 [uuid(4029f190-ca4a-4611-aeb9-673983cb96dd)]
84 struct test_struct
85 {
86 HRESULT hr;
88 IDispatch *disp;
89 BSTR bstr;
90 };
91
92 /* identical to 'test_struct', only guid is different */
93 [uuid(4029f190-ca4a-4611-aeb9-673983cb96de)]
94 struct test_struct2
95 {
96 HRESULT hr;
98 IDispatch *disp;
99 BSTR bstr;
100 };
101
102 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396a),restricted]
103 int t_INT;
104
105 typedef [public] enum _a { a1, a2 } a;
106 typedef [public] enum aa { aa1, aa2 } aa;
107 typedef enum _b { b1, b2 } b;
108 typedef enum bb { bb1, bb2 } bb;
109 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396b)] enum _c { c1, c2 } c;
110 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396c)] enum cc { cc1, cc2 } cc;
111
112 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396d),restricted,hidden]
113 enum _d { d1, d2 } d;
114 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396e),restricted,hidden]
115 enum dd { dd1, dd2 } dd;
116
117 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753970),restricted,hidden]
118 struct _e { int e1; } e;
119 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753971),restricted,hidden]
120 struct ee { int ee1; } ee;
121
122 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753972),restricted,hidden]
123 union _f { int f1; BSTR *f2; } f;
124 typedef [uuid(016fe2ec-b2c8-45f8-b23b-39e53a753973),restricted,hidden]
125 union ff { int ff1; BSTR *ff2; } ff;
126
127 [uuid(ec5dfcd6-eeb0-4cd6-b51e-8030e1dac00a)]
128 interface ITestIface : IDispatch
129 {
136 }
137}
FT_Library library
Definition: cffdrivr.c:654
OLECHAR * BSTR
Definition: compat.h:2293
short VARIANT_BOOL
Definition: compat.h:2290
static const WCHAR version[]
Definition: asmname.c:66
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
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
const GLfloat * m
Definition: glext.h:10848
Definition: msctf.idl:550
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:578
static const struct update_accum a2
Definition: msg.c:586
static CRYPT_DATA_BLOB b2[]
Definition: msg.c:582
static CRYPT_DATA_BLOB b1[]
Definition: msg.c:573
int disable
Definition: msacm.c:1365
static FILE * out
Definition: regtests2xml.c:44
#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
HRESULT hr
Definition: shlfolder.c:183
Definition: pdh_main.c:94