* Sync up to trunk head (r64829).
[reactos.git] / dll / win32 / stdole32.tlb / std_ole_v1.idl
1 /*
2 * Copyright (C) 2003 Robert Shearman
3 * 2005 Huw Davies
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 *
19 */
20
21 #pragma makedep regtypelib
22
23 [
24 uuid(00020430-0000-0000-C000-000000000046),
25 restricted,
26 version(1.0),
27 helpstring("OLE Automation")
28 ]
29 library stdole
30 {
31 /* typedefs aren't stored in the type library.
32 These type names are known by the type compiler so it
33 doesn't really matter what we define them as. */
34
35 typedef void *VARIANT;
36 typedef wchar_t *BSTR;
37 typedef unsigned long SCODE;
38 typedef unsigned long HRESULT;
39
40 typedef struct GUID {
41 unsigned long Data1;
42 unsigned short Data2;
43 unsigned short Data3;
44 unsigned char Data4[ 8 ];
45 } GUID;
46
47 typedef struct DISPPARAMS {
48 VARIANT *rgvarg;
49 long *rgdispidNamedArgs;
50 unsigned int cArgs;
51 unsigned int cNamedArgs;
52 } DISPPARAMS;
53
54 typedef struct EXCEPINFO {
55 unsigned short wCode;
56 unsigned short wReserved;
57 BSTR bstrSource;
58 BSTR bstrDescription;
59 BSTR bstrHelpFile;
60 unsigned long dwHelpContext;
61 void *pvReserved;
62 void *pfnDeferredFillIn;
63 SCODE scode;
64 } EXCEPINFO;
65
66 [
67 odl,
68 uuid(00000000-0000-0000-C000-000000000046)
69 ]
70 interface IUnknown
71 {
72 [restricted]
73 HRESULT QueryInterface(
74 [in] GUID *riid,
75 [out] void **ppvObj);
76
77 [restricted]
78 unsigned long AddRef();
79
80 [restricted]
81 unsigned long Release();
82 }
83
84 [
85 odl,
86 uuid(00020400-0000-0000-C000-000000000046)
87 ]
88 interface IDispatch : IUnknown
89 {
90 [restricted]
91 HRESULT GetTypeInfoCount(
92 [out] unsigned int *pctinfo);
93
94 [restricted]
95 HRESULT GetTypeInfo(
96 [in] unsigned int itinfo,
97 [in] unsigned long lcid,
98 [out] void **pptinfo);
99
100 [restricted]
101 HRESULT GetIDsOfNames(
102 [in] GUID *riid,
103 [in] char **rgszNames,
104 [in] unsigned int cNames,
105 [in] unsigned long lcid,
106 [out] long *rgdispid);
107
108 [restricted]
109 HRESULT Invoke(
110 [in] long dispidMember,
111 [in] GUID *riid,
112 [in] unsigned long lcid,
113 [in] unsigned short wFlags,
114 [in] DISPPARAMS *pdispparams,
115 [out] VARIANT *pvarResult,
116 [out] EXCEPINFO *pexcepinfo,
117 [out] unsigned int *puArgErr);
118
119 }
120
121 [
122 odl,
123 uuid(00020404-0000-0000-C000-000000000046)
124 ]
125 interface IEnumVARIANT : IUnknown
126 {
127 HRESULT Next(
128 [in] unsigned long celt,
129 [in] VARIANT *rgvar,
130 [out] unsigned long *pceltFetched);
131
132 HRESULT Skip(
133 [in] unsigned long celt);
134
135 HRESULT Reset();
136
137 HRESULT Clone(
138 [out] IEnumVARIANT **ppenum);
139 }
140 };