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