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 #pragma makedep install
23 #pragma makedep typelib
27 uuid(00020430-0000-0000-C000-000000000046),
30 helpstring("OLE Automation")
34 /* typedefs aren't stored in the type library.
35 These type names are known by the type compiler so it
36 doesn't really matter what we define them as. */
38 typedef void *VARIANT;
39 typedef wchar_t *BSTR;
40 typedef unsigned long SCODE;
41 typedef unsigned long HRESULT;
47 unsigned char Data4[ 8 ];
50 typedef struct DISPPARAMS {
52 long *rgdispidNamedArgs;
54 unsigned int cNamedArgs;
57 typedef struct EXCEPINFO {
59 unsigned short wReserved;
63 unsigned long dwHelpContext;
65 void *pfnDeferredFillIn;
71 uuid(00000000-0000-0000-C000-000000000046)
76 HRESULT QueryInterface(
81 unsigned long AddRef();
84 unsigned long Release();
89 uuid(00020400-0000-0000-C000-000000000046)
91 interface IDispatch : IUnknown
94 HRESULT GetTypeInfoCount(
95 [out] unsigned int *pctinfo);
99 [in] unsigned int itinfo,
100 [in] unsigned long lcid,
101 [out] void **pptinfo);
104 HRESULT GetIDsOfNames(
106 [in] char **rgszNames,
107 [in] unsigned int cNames,
108 [in] unsigned long lcid,
109 [out] long *rgdispid);
113 [in] long dispidMember,
115 [in] unsigned long lcid,
116 [in] unsigned short wFlags,
117 [in] DISPPARAMS *pdispparams,
118 [out] VARIANT *pvarResult,
119 [out] EXCEPINFO *pexcepinfo,
120 [out] unsigned int *puArgErr);
126 uuid(00020404-0000-0000-C000-000000000046)
128 interface IEnumVARIANT : IUnknown
131 [in] unsigned long celt,
133 [out] unsigned long *pceltFetched);
136 [in] unsigned long celt);
141 [out] IEnumVARIANT **ppenum);