Merge to trunk head (r46631)
[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 [
22 uuid(00020430-0000-0000-C000-000000000046),
23 version(1.0),
24 helpstring("OLE Automation")
25 ]
26 library stdole
27 {
28 /* typedefs aren't stored in the type library.
29 These type names are known by the type compiler so it
30 doesn't really matter what we define them as. */
31
32 typedef void *VARIANT;
33 typedef wchar_t *BSTR;
34 typedef unsigned long SCODE;
35 typedef unsigned long HRESULT;
36
37 typedef struct GUID {
38 unsigned long Data1;
39 unsigned short Data2;
40 unsigned short Data3;
41 unsigned char Data4[ 8 ];
42 } GUID;
43
44 typedef struct DISPPARAMS {
45 VARIANT *rgvarg;
46 long *rgdispidNamedArgs;
47 unsigned int cArgs;
48 unsigned int cNamedArgs;
49 } DISPPARAMS;
50
51 typedef struct EXCEPINFO {
52 unsigned short wCode;
53 unsigned short wReserved;
54 BSTR bstrSource;
55 BSTR bstrDescription;
56 BSTR bstrHelpFile;
57 unsigned long dwHelpContext;
58 void *pvReserved;
59 void *pfnDeferredFillIn;
60 SCODE scode;
61 } EXCEPINFO;
62
63 [
64 odl,
65 uuid(00000000-0000-0000-C000-000000000046)
66 ]
67 interface IUnknown
68 {
69 [restricted]
70 HRESULT QueryInterface(
71 [in] GUID *riid,
72 [out] void **ppvObj);
73
74 [restricted]
75 unsigned long AddRef();
76
77 [restricted]
78 unsigned long Release();
79 }
80
81 [
82 odl,
83 uuid(00020400-0000-0000-C000-000000000046)
84 ]
85 interface IDispatch : IUnknown
86 {
87 [restricted]
88 HRESULT GetTypeInfoCount(
89 [out] unsigned int *pctinfo);
90
91 [restricted]
92 HRESULT GetTypeInfo(
93 [in] unsigned int itinfo,
94 [in] unsigned long lcid,
95 [out] void **pptinfo);
96
97 [restricted]
98 HRESULT GetIDsOfNames(
99 [in] GUID *riid,
100 [in] char **rgszNames,
101 [in] unsigned int cNames,
102 [in] unsigned long lcid,
103 [out] long *rgdispid);
104
105 [restricted]
106 HRESULT Invoke(
107 [in] long dispidMember,
108 [in] GUID *riid,
109 [in] unsigned long lcid,
110 [in] unsigned short wFlags,
111 [in] DISPPARAMS *pdispparams,
112 [out] VARIANT *pvarResult,
113 [out] EXCEPINFO *pexcepinfo,
114 [out] unsigned int *puArgErr);
115
116 }
117
118 [
119 odl,
120 uuid(00020404-0000-0000-C000-000000000046)
121 ]
122 interface IEnumVARIANT : IUnknown
123 {
124 HRESULT Next(
125 [in] unsigned long celt,
126 [in] VARIANT *rgvar,
127 [out] unsigned long *pceltFetched);
128
129 HRESULT Skip(
130 [in] unsigned long celt);
131
132 HRESULT Reset();
133
134 HRESULT Clone(
135 [out] IEnumVARIANT **ppenum);
136 }
137 };