2 * Copyright (C) 2003 Robert Shearman
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.
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.
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
22 uuid(00020430-0000-0000-C000
-000000000046),
24 helpstring("OLE Automation")
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. */
32 typedef void *VARIANT;
33 typedef wchar_t *BSTR;
34 typedef unsigned long SCODE
;
35 typedef unsigned long HRESULT;
41 unsigned char Data4
[ 8 ];
44 typedef struct DISPPARAMS
{
46 long *rgdispidNamedArgs
;
48 unsigned int cNamedArgs
;
51 typedef struct EXCEPINFO
{
53 unsigned short wReserved
;
57 unsigned long dwHelpContext
;
59 void *pfnDeferredFillIn
;
65 uuid(00000000-0000-0000-C000
-000000000046)
70 HRESULT QueryInterface
(
75 unsigned long AddRef
();
78 unsigned long Release
();
83 uuid(00020400-0000-0000-C000
-000000000046)
85 interface IDispatch
: IUnknown
88 HRESULT GetTypeInfoCount
(
89 [out] unsigned int *pctinfo
);
93 [in] unsigned int itinfo
,
94 [in] unsigned long lcid,
95 [out] void **pptinfo
);
98 HRESULT GetIDsOfNames
(
100 [in] char **rgszNames
,
101 [in] unsigned int cNames
,
102 [in] unsigned long lcid,
103 [out] long *rgdispid
);
107 [in] long dispidMember
,
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
);
120 uuid(00020404-0000-0000-C000
-000000000046)
122 interface IEnumVARIANT
: IUnknown
125 [in] unsigned long celt
,
127 [out] unsigned long *pceltFetched
);
130 [in] unsigned long celt
);
135 [out] IEnumVARIANT
**ppenum
);