Removed use of per-thread wait_struct, cleaned up a bit.
[wine.git] / include / oleauto.h
blobd3a269fc643e3cd20ac1b7bb15a27ade8aa8bb13
1 #ifndef __WINE_OLEAUTO_H
2 #define __WINE_OLEAUTO_H
4 #include <ole.h>
5 #include "mapidefs.h"
6 #include "oaidl.h"
8 BSTR16 WINAPI SysAllocString16(LPOLESTR16);
9 BSTR32 WINAPI SysAllocString32(LPOLESTR32);
10 #define SysAllocString WINELIB_NAME(SysAllocString)
11 INT16 WINAPI SysReAllocString16(LPBSTR16,LPOLESTR16);
12 INT32 WINAPI SysReAllocString32(LPBSTR32,LPOLESTR32);
13 #define SysReAllocString WINELIB_NAME(SysReAllocString)
14 VOID WINAPI SysFreeString16(BSTR16);
15 VOID WINAPI SysFreeString32(BSTR32);
16 #define SysFreeString WINELIB_NAME(SysFreeString)
17 BSTR16 WINAPI SysAllocStringLen16(char*, int);
18 BSTR32 WINAPI SysAllocStringLen32(WCHAR*, int);
19 #define SysAllocStringLen WINELIB_NAME(SysAllocStringLen)
20 int WINAPI SysReAllocStringLen16(BSTR16*, char*, int);
21 int WINAPI SysReAllocStringLen32(BSTR32*, WCHAR*, int);
22 #define SysReAllocStringLen WINELIB_NAME(SysReAllocStringLen)
23 int WINAPI SysStringLen16(BSTR16);
24 int WINAPI SysStringLen32(BSTR32);
25 #define SysStringLen WINELIB_NAME(SysStringLen)
27 /*****************************************************************
28 * SafeArray defines and structs
31 #define FADF_AUTO ( 0x1 )
32 #define FADF_STATIC ( 0x2 )
33 #define FADF_EMBEDDED ( 0x4 )
34 #define FADF_FIXEDSIZE ( 0x10 )
35 #define FADF_BSTR ( 0x100 )
36 #define FADF_UNKNOWN ( 0x200 )
37 #define FADF_DISPATCH ( 0x400 )
38 #define FADF_VARIANT ( 0x800 )
39 #define FADF_RESERVED ( 0xf0e8 )
41 typedef struct tagSAFEARRAYBOUND
43 ULONG cElements; /* Number of elements in dimension */
44 LONG lLbound; /* Lower bound of dimension */
45 } SAFEARRAYBOUND;
47 typedef struct tagSAFEARRAY
49 USHORT cDims; /* Count of array dimension */
50 USHORT fFeatures; /* Flags describing the array */
51 ULONG cbElements; /* Size of each element */
52 ULONG cLocks; /* Number of lock on array */
53 PVOID pvData; /* Pointer to data valid when cLocks > 0 */
54 SAFEARRAYBOUND rgsabound[ 1 ]; /* One bound for each dimension */
55 } SAFEARRAY;
58 /*****************************************************************
59 * SafeArray API
62 HRESULT WINAPI
63 SafeArrayAllocDescriptor32(UINT32 cDims, SAFEARRAY **ppsaOut);
64 #define SafeArrayAllocDescriptor WINELIB_NAME(SafeArrayAllocDescriptor)
66 HRESULT WINAPI
67 SafeArrayAllocData32(SAFEARRAY *psa);
68 #define SafeArrayAllocData WINELIB_NAME(SafeArrayAllocData)
70 SAFEARRAY* WINAPI
71 SafeArrayCreate32(VARTYPE vt, UINT32 cDims, SAFEARRAYBOUND *rgsabound);
72 #define SafeArrayCreate WINELIB_NAME(SafeArrayCreate)
74 HRESULT WINAPI
75 SafeArrayDestroyDescriptor32(SAFEARRAY *psa);
76 #define SafeArrayDestroyDescriptor WINELIB_NAME(SafeArrayDestroyDescriptor)
78 HRESULT WINAPI
79 SafeArrayPutElement32(SAFEARRAY *psa, LONG *rgIndices, void *pv);
80 #define SafeArrayPutElement WINELIB_NAME(SafeArrayPutElement)
82 HRESULT WINAPI
83 SafeArrayGetElement32(SAFEARRAY *psa, LONG *rgIndices, void *pv);
84 #define SafeArrayGetElement WINELIB_NAME(SafeArrayGetElement)
86 HRESULT WINAPI
87 SafeArrayLock32(SAFEARRAY *psa);
88 #define SafeArrayLock WINELIB_NAME(SafeArrayLock)
90 HRESULT WINAPI
91 SafeArrayUnlock32(SAFEARRAY *psa);
92 #define SafeArrayUnlock WINELIB_NAME(SafeArrayUnlock)
94 HRESULT WINAPI
95 SafeArrayGetUBound32(SAFEARRAY *psa, UINT32 nDim, LONG *plUbound);
96 #define SafeArrayGetUBound WINELIB_NAME(SafeArrayGetUBound)
98 HRESULT WINAPI
99 SafeArrayGetLBound32(SAFEARRAY *psa, UINT32 nDim, LONG *plLbound);
100 #define SafeArrayGetLBound WINELIB_NAME(SafeArrayGetLBound)
102 UINT32 WINAPI
103 SafeArrayGetDim32(SAFEARRAY *psa);
104 #define SafeArrayGetDim WINELIB_NAME(SafeArrayGetDim)
106 UINT32 WINAPI
107 SafeArrayGetElemsize32(SAFEARRAY *psa);
108 #define SafeArrayGetElemsize WINELIB_NAME(SafeArrayGetElemsize)
110 HRESULT WINAPI
111 SafeArrayAccessData32(SAFEARRAY *psa, void **ppvData);
112 #define SafeArrayAccessData WINELIB_NAME(SafeArrayAccessData)
114 HRESULT WINAPI
115 SafeArrayUnaccessData32(SAFEARRAY *psa);
116 #define SafeArrayUnaccessData WINELIB_NAME(SafeArrayUnaccessData)
118 HRESULT WINAPI
119 SafeArrayPtrOfIndex32(SAFEARRAY *psa, LONG *rgIndices, void **ppvData);
120 #define SafeArrayPtrOfIndex WINELIB_NAME(SafeArrayPtrOfIndex)
122 HRESULT WINAPI
123 SafeArrayCopyData32(SAFEARRAY *psaSource, SAFEARRAY **psaTarget);
124 #define SafeArrayCopyData WINELIB_NAME(SafeArrayCopyData)
126 HRESULT WINAPI
127 SafeArrayDestroyData32(SAFEARRAY *psa);
128 #define SafeArrayDestroyData WINELIB_NAME(SafeArrayDestroyData)
130 HRESULT WINAPI
131 SafeArrayDestroy32(SAFEARRAY *psa);
132 #define SafeArrayDestroy WINELIB_NAME(SafeArrayDestroy)
134 HRESULT WINAPI
135 SafeArrayCopy32(SAFEARRAY *psa, SAFEARRAY **ppsaOut);
136 #define SafeArrayCopy WINELIB_NAME(SafeArrayCopy)
138 SAFEARRAY* WINAPI
139 SafeArrayCreateVector32(VARTYPE vt, LONG lLbound, ULONG cElements);
140 #define SafeArrayCreateVector WINELIB_NAME(SafeArrayCreateVector)
142 HRESULT WINAPI
143 SafeArrayRedim32(SAFEARRAY *psa, SAFEARRAYBOUND *psaboundNew);
144 #define SafeArrayRedim WINELIB_NAME(SafeArrayRedim)
147 /* These are macros that help accessing the VARIANT date type.
149 #define V_UNION(A, B) ((A)->u.B)
150 #define V_VT(A) ((A)->vt)
152 #define V_ISBYREF(A) (V_VT(A)&VT_BYREF)
153 #define V_ISARRAY(A) (V_VT(A)&VT_ARRAY)
154 #define V_ISVECTOR(A) (V_VT(A)&VT_VECTOR)
155 #define V_NONE(A) V_I2(A)
157 #define V_UI1(A) V_UNION(A, bVal)
158 #define V_UI1REF(A) V_UNION(A, pbVal)
159 #define V_I2(A) V_UNION(A, iVal)
160 #define V_I2REF(A) V_UNION(A, piVal)
161 #define V_I4(A) V_UNION(A, lVal)
162 #define V_I4REF(A) V_UNION(A, plVal)
163 #define V_R4(A) V_UNION(A, fltVal)
164 #define V_R4REF(A) V_UNION(A, pfltVal)
165 #define V_R8(A) V_UNION(A, dblVal)
166 #define V_R8REF(A) V_UNION(A, pdblVal)
167 #define V_I1(A) V_UNION(A, cVal)
168 #define V_I1REF(A) V_UNION(A, pcVal)
169 #define V_UI2(A) V_UNION(A, uiVal)
170 #define V_UI2REF(A) V_UNION(A, puiVal)
171 #define V_UI4(A) V_UNION(A, ulVal)
172 #define V_UI4REF(A) V_UNION(A, pulVal)
173 #define V_INT(A) V_UNION(A, intVal)
174 #define V_INTREF(A) V_UNION(A, pintVal)
175 #define V_UINT(A) V_UNION(A, uintVal)
176 #define V_UINTREF(A) V_UNION(A, puintVal)
177 #define V_CY(A) V_UNION(A, cyVal)
178 #define V_CYREF(A) V_UNION(A, pcyVal)
179 #define V_DATE(A) V_UNION(A, date)
180 #define V_DATEREF(A) V_UNION(A, pdate)
181 #define V_BSTR(A) V_UNION(A, bstrVal)
182 #define V_BSTRREF(A) V_UNION(A, pbstrVal)
183 #define V_DISPATCH(A) V_UNION(A, pdispVal)
184 #define V_DISPATCHREF(A) V_UNION(A, ppdispVal)
185 #define V_ERROR(A) V_UNION(A, scode)
186 #define V_ERRORREF(A) V_UNION(A, pscode)
187 #define V_BOOL(A) V_UNION(A, boolVal)
188 #define V_BOOLREF(A) V_UNION(A, pboolVal)
189 #define V_UNKNOWN(A) V_UNION(A, punkVal)
190 #define V_UNKNOWNREF(A) V_UNION(A, ppunkVal)
191 #define V_VARIANTREF(A) V_UNION(A, pvarVal)
192 #define V_ARRAY(A) V_UNION(A, parray)
193 #define V_ARRAYREF(A) V_UNION(A, pparray)
194 #define V_BYREF(A) V_UNION(A, byref)
195 #define V_DECIMAL(A) V_UNION(A, decVal)
196 #define V_DECIMALREF(A) V_UNION(A, pdecVal)
199 * VARIANT API
202 void WINAPI VariantInit32(VARIANTARG* pvarg);
203 #define VariantInit WINELIB_NAME(VariantInit)
204 HRESULT WINAPI VariantClear32(VARIANTARG* pvarg);
205 #define VariantClear WINELIB_NAME(VariantClear)
206 HRESULT WINAPI VariantCopy32(VARIANTARG* pvargDest, VARIANTARG* pvargSrc);
207 #define VariantCopy WINELIB_NAME(VariantCopy)
208 HRESULT WINAPI VariantCopyInd32(VARIANT* pvargDest, VARIANTARG* pvargSrc);
209 #define VariantCopyInd WINELIB_NAME(VariantCopyInd)
210 HRESULT WINAPI VariantChangeType32(VARIANTARG* pvargDest, VARIANTARG* pvargSrc,
211 USHORT wFlags, VARTYPE vt);
212 #define VariantChangeType WINELIB_NAME(VariantChangeType)
213 HRESULT WINAPI VariantChangeTypeEx32(VARIANTARG* pvargDest, VARIANTARG* pvargSrc,
214 LCID lcid, USHORT wFlags, VARTYPE vt);
215 #define VariantChangeTypeEx WINELIB_NAME(VariantChangeTypeEx)
218 * These flags are used for the VariantChangeType and VariantChangeTypeEx APIs.
222 * This one is of general use.
224 #define VARIANT_NOVALUEPROP 0x1
226 * This one is used for conversions of VT_BOOL to VT_BSTR,
227 * the API will convert to "True"|"False" instead of "-1"|"0".
229 #define VARIANT_ALPHABOOL 0x2
231 * This one is used for conversions to or from a VT_BSTR string,
232 * it passes LOCALE_NOUSEROVERRIDE to the core (low-level) coercion routines.
233 * This means it will use the system default locale settings instead of custom
234 * local settings.
236 #define VARIANT_NOUSEROVERRIDE 0x4
240 * VARTYPE Coercion API
243 /* Omits the date portion and return only the time value.
245 #define VAR_TIMEVALUEONLY ((DWORD)0x00000001)
246 /* Omits the time portion and return only the date value.
248 #define VAR_DATEVALUEONLY ((DWORD)0x00000002)
251 HRESULT WINAPI VarUI1FromI232(short sIn, BYTE* pbOut);
252 #define VarUI1FromI2 WINELIB_NAME(VarUI1FromI2)
253 HRESULT WINAPI VarUI1FromI432(LONG lIn, BYTE* pbOut);
254 #define VarUI1FromI4 WINELIB_NAME(VarUI1FromI4)
255 HRESULT WINAPI VarUI1FromR432(FLOAT fltIn, BYTE* pbOut);
256 #define VarUI1FromR4 WINELIB_NAME(VarUI1FromR4)
257 HRESULT WINAPI VarUI1FromR832(double dblIn, BYTE* pbOut);
258 #define VarUI1FromR8 WINELIB_NAME(VarUI1FromR8)
259 HRESULT WINAPI VarUI1FromDate32(DATE dateIn, BYTE* pbOut);
260 #define VarUI1FromDate WINELIB_NAME(VarUI1FromDate)
261 HRESULT WINAPI VarUI1FromBool32(VARIANT_BOOL boolIn, BYTE* pbOut);
262 #define VarUI1FromBool WINELIB_NAME(VarUI1FromBool)
263 HRESULT WINAPI VarUI1FromI132(CHAR cIn, BYTE*pbOut);
264 #define VarUI1FromI1 WINELIB_NAME(VarUI1FromI1)
265 HRESULT WINAPI VarUI1FromUI232(USHORT uiIn, BYTE*pbOut);
266 #define VarUI1FromUI2 WINELIB_NAME(VarUI1FromUI2)
267 HRESULT WINAPI VarUI1FromUI432(ULONG ulIn, BYTE*pbOut);
268 #define VarUI1FromUI4 WINELIB_NAME(VarUI1FromUI4)
269 HRESULT WINAPI VarUI1FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, BYTE* pbOut);
270 #define VarUI1FromStr WINELIB_NAME(VarUI1FromStr)
271 HRESULT WINAPI VarUI1FromCy32(CY cyIn, BYTE* pbOut);
272 #define VarUI1FromCy WINELIB_NAME(VarUI1FromCy)
275 HRESULT WINAPI VarUI1FromDec32(DECIMAL*pdecIn, BYTE*pbOut);
276 #define VarUI1FromDec WINELIB_NAME(VarUI1FromDec)
277 HRESULT WINAPI VarUI1FromDisp32(IDispatch* pdispIn, LCID lcid, BYTE* pbOut);
278 #define VarUI1FromDisp WINELIB_NAME(VarUI1FromDisp)
281 HRESULT WINAPI VarI2FromUI132(BYTE bIn, short* psOut);
282 #define VarI2FromUI1 WINELIB_NAME(VarI2FromUI1)
283 HRESULT WINAPI VarI2FromI432(LONG lIn, short* psOut);
284 #define VarI2FromI4 WINELIB_NAME(VarI2FromI4)
285 HRESULT WINAPI VarI2FromR432(FLOAT fltIn, short* psOut);
286 #define VarI2FromR4 WINELIB_NAME(VarI2FromR4)
287 HRESULT WINAPI VarI2FromR832(double dblIn, short* psOut);
288 #define VarI2FromR8 WINELIB_NAME(VarI2FromR8)
289 HRESULT WINAPI VarI2FromDate32(DATE dateIn, short* psOut);
290 #define VarI2FromDate WINELIB_NAME(VarI2FromDate)
291 HRESULT WINAPI VarI2FromBool32(VARIANT_BOOL boolIn, short* psOut);
292 #define VarI2FromBool WINELIB_NAME(VarI2FromBool)
293 HRESULT WINAPI VarI2FromI132(CHAR cIn, short*psOut);
294 #define VarI2FromI1 WINELIB_NAME(VarI2FromI1)
295 HRESULT WINAPI VarI2FromUI232(USHORT uiIn, short*psOut);
296 #define VarI2FromUI2 WINELIB_NAME(VarI2FromUI2)
297 HRESULT WINAPI VarI2FromUI432(ULONG ulIn, short*psOut);
298 #define VarI2FromUI4 WINELIB_NAME(VarI2FromUI4)
299 HRESULT WINAPI VarI2FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, short* psOut);
300 #define VarI2FromStr WINELIB_NAME(VarI2FromStr)
301 HRESULT WINAPI VarI2FromCy32(CY cyIn, short* psOut);
302 #define VarI2FromCy WINELIB_NAME(VarI2FromCy)
304 HRESULT WINAPI VarI2FromDec32(DECIMAL*pdecIn, short*psOut);
305 #define VarI2FromDec WINELIB_NAME(VarI2FromDec)
306 HRESULT WINAPI VarI2FromDisp32(IDispatch* pdispIn, LCID lcid, short* psOut);
307 #define VarI2FromDisp WINELIB_NAME(VarI2FromDisp)
310 HRESULT WINAPI VarI4FromUI132(BYTE bIn, LONG* plOut);
311 #define VarI4FromUI1 WINELIB_NAME(VarI4FromUI1)
312 HRESULT WINAPI VarI4FromI232(short sIn, LONG* plOut);
313 #define VarI4FromI2 WINELIB_NAME(VarI4FromI2)
314 HRESULT WINAPI VarI4FromR432(FLOAT fltIn, LONG* plOut);
315 #define VarI4FromR4 WINELIB_NAME(VarI4FromR4)
316 HRESULT WINAPI VarI4FromR832(double dblIn, LONG* plOut);
317 #define VarI4FromR8 WINELIB_NAME(VarI4FromR8)
318 HRESULT WINAPI VarI4FromDate32(DATE dateIn, LONG* plOut);
319 #define VarI4FromDate WINELIB_NAME(VarI4FromDate)
320 HRESULT WINAPI VarI4FromBool32(VARIANT_BOOL boolIn, LONG* plOut);
321 #define VarI4FromBool WINELIB_NAME(VarI4FromBool)
322 HRESULT WINAPI VarI4FromI132(CHAR cIn, LONG* plOut);
323 #define VarI4FromI1 WINELIB_NAME(VarI4FromI1)
324 HRESULT WINAPI VarI4FromUI232(USHORT uiIn, LONG*plOut);
325 #define VarI4FromUI2 WINELIB_NAME(VarI4FromUI2)
326 HRESULT WINAPI VarI4FromUI432(ULONG ulIn, LONG*plOut);
327 #define VarI4FromUI4 WINELIB_NAME(VarI4FromUI4)
328 HRESULT WINAPI VarI4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, LONG* plOut);
329 #define VarI4FromStr WINELIB_NAME(VarI4FromStr)
330 HRESULT WINAPI VarI4FromCy32(CY cyIn, LONG* plOut);
331 #define VarI4FromCy WINELIB_NAME(VarI4FromCy)
333 HRESULT WINAPI VarI4FromDec32(DECIMAL*pdecIn, LONG*plOut);
334 #define VarI4FromDec WINELIB_NAME(VarI4FromDec)
335 HRESULT WINAPI VarI4FromDisp32(IDispatch* pdispIn, LCID lcid, LONG* plOut);
336 #define VarI4FromDisp WINELIB_NAME(VarI4FromDisp)
339 HRESULT WINAPI VarR4FromUI132(BYTE bIn, FLOAT* pfltOut);
340 #define VarR4FromUI1 WINELIB_NAME(VarR4FromUI1)
341 HRESULT WINAPI VarR4FromI232(short sIn, FLOAT* pfltOut);
342 #define VarR4FromI2 WINELIB_NAME(VarR4FromI2)
343 HRESULT WINAPI VarR4FromI432(LONG lIn, FLOAT* pfltOut);
344 #define VarR4FromI4 WINELIB_NAME(VarR4FromI4)
345 HRESULT WINAPI VarR4FromR832(double dblIn, FLOAT* pfltOut);
346 #define VarR4FromR8 WINELIB_NAME(VarR4FromR8)
347 HRESULT WINAPI VarR4FromDate32(DATE dateIn, FLOAT* pfltOut);
348 #define VarR4FromDate WINELIB_NAME(VarR4FromDate)
349 HRESULT WINAPI VarR4FromBool32(VARIANT_BOOL boolIn, FLOAT* pfltOut);
350 #define VarR4FromBool WINELIB_NAME(VarR4FromBool)
351 HRESULT WINAPI VarR4FromI132(CHAR cIn, FLOAT*pfltOut);
352 #define VarR4FromI1 WINELIB_NAME(VarR4FromI1)
353 HRESULT WINAPI VarR4FromUI232(USHORT uiIn, FLOAT*pfltOut);
354 #define VarR4FromUI2 WINELIB_NAME(VarR4FromUI2)
355 HRESULT WINAPI VarR4FromUI432(ULONG ulIn, FLOAT*pfltOut);
356 #define VarR4FromUI4 WINELIB_NAME(VarR4FromUI4)
357 HRESULT WINAPI VarR4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, FLOAT*pfltOut);
358 #define VarR4FromStr WINELIB_NAME(VarR4FromStr)
359 HRESULT WINAPI VarR4FromCy32(CY cyIn, FLOAT* pfltOut);
360 #define VarR4FromCy WINELIB_NAME(VarR4FromCy)
362 HRESULT WINAPI VarR4FromDec32(DECIMAL*pdecIn, FLOAT*pfltOut);
363 #define VarR4FromDec WINELIB_NAME(VarR4FromDec)
364 HRESULT WINAPI VarR4FromDisp32(IDispatch* pdispIn, LCID lcid, FLOAT* pfltOut);
365 #define VarR4FromDisp WINELIB_NAME(VarR4FromDisp)
368 HRESULT WINAPI VarR8FromUI132(BYTE bIn, double* pdblOut);
369 #define VarR8FromUI1 WINELIB_NAME(VarR8FromUI1)
370 HRESULT WINAPI VarR8FromI232(short sIn, double* pdblOut);
371 #define VarR8FromI2 WINELIB_NAME(VarR8FromI2)
372 HRESULT WINAPI VarR8FromI432(LONG lIn, double* pdblOut);
373 #define VarR8FromI4 WINELIB_NAME(VarR8FromI4)
374 HRESULT WINAPI VarR8FromR432(FLOAT fltIn, double* pdblOut);
375 #define VarR8FromR4 WINELIB_NAME(VarR8FromR4)
376 HRESULT WINAPI VarR8FromDate32(DATE dateIn, double* pdblOut);
377 #define VarR8FromDate WINELIB_NAME(VarR8FromDate)
378 HRESULT WINAPI VarR8FromBool32(VARIANT_BOOL boolIn, double* pdblOut);
379 #define VarR8FromBool WINELIB_NAME(VarR8FromBool)
380 HRESULT WINAPI VarR8FromI132(CHAR cIn, double*pdblOut);
381 #define VarR8FromI1 WINELIB_NAME(VarR8FromI1)
382 HRESULT WINAPI VarR8FromUI232(USHORT uiIn, double*pdblOut);
383 #define VarR8FromUI2 WINELIB_NAME(VarR8FromUI2)
384 HRESULT WINAPI VarR8FromUI432(ULONG ulIn, double*pdblOut);
385 #define VarR8FromUI4 WINELIB_NAME(VarR8FromUI4)
386 HRESULT WINAPI VarR8FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, double*pdblOut);
387 #define VarR8FromStr WINELIB_NAME(VarR8FromStr)
388 HRESULT WINAPI VarR8FromCy32(CY cyIn, double* pdblOut);
389 #define VarR8FromCy WINELIB_NAME(VarR8FromCy)
391 HRESULT WINAPI VarR8FromDec32(DECIMAL*pdecIn, double*pdblOut);
392 #define VarR8FromDec WINELIB_NAME(VarR8FromDec)
393 HRESULT WINAPI VarR8FromDisp32(IDispatch* pdispIn, LCID lcid, double* pdblOut);
394 #define VarR8FromDisp WINELIB_NAME(VarR8FromDisp)
397 HRESULT WINAPI VarDateFromUI132(BYTE bIn, DATE* pdateOut);
398 #define VarDateFromUI1 WINELIB_NAME(VarDateFromUI1)
399 HRESULT WINAPI VarDateFromI232(short sIn, DATE* pdateOut);
400 #define VarDateFromI2 WINELIB_NAME(VarDateFromI2)
401 HRESULT WINAPI VarDateFromI432(LONG lIn, DATE* pdateOut);
402 #define VarDateFromI4 WINELIB_NAME(VarDateFromI4)
403 HRESULT WINAPI VarDateFromR432(FLOAT fltIn, DATE* pdateOut);
404 #define VarDateFromR4 WINELIB_NAME(VarDateFromR4)
405 HRESULT WINAPI VarDateFromR832(double dblIn, DATE* pdateOut);
406 #define VarDateFromR8 WINELIB_NAME(VarDateFromR8)
407 HRESULT WINAPI VarDateFromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, DATE*pdateOut);
408 #define VarDateFromStr WINELIB_NAME(VarDateFromStr)
409 HRESULT WINAPI VarDateFromI132(CHAR cIn, DATE*pdateOut);
410 #define VarDateFromI1 WINELIB_NAME(VarDateFromI1)
411 HRESULT WINAPI VarDateFromUI232(USHORT uiIn, DATE*pdateOut);
412 #define VarDateFromUI2 WINELIB_NAME(VarDateFromUI2)
413 HRESULT WINAPI VarDateFromUI432(ULONG ulIn, DATE*pdateOut);
414 #define VarDateFromUI4 WINELIB_NAME(VarDateFromUI4)
415 HRESULT WINAPI VarDateFromBool32(VARIANT_BOOL boolIn, DATE* pdateOut);
416 #define VarDateFromBool WINELIB_NAME(VarDateFromBool)
417 HRESULT WINAPI VarDateFromCy32(CY cyIn, DATE* pdateOut);
418 #define VarDateFromCy WINELIB_NAME(VarDateFromCy)
420 HRESULT WINAPI VarDateFromDec32(DECIMAL*pdecIn, DATE*pdateOut);
421 #define VarDateFromDec WINELIB_NAME(VarDateFromDec)
422 HRESULT WINAPI VarDateFromDisp32(IDispatch* pdispIn, LCID lcid, DATE* pdateOut);
423 #define VarDateFromDisp WINELIB_NAME(VarDateFromDisp)
425 HRESULT WINAPI VarCyFromUI132(BYTE bIn, CY* pcyOut);
426 #define VarCyFromUI1 WINELIB_NAME(VarCyFromUI1)
427 HRESULT WINAPI VarCyFromI232(short sIn, CY* pcyOut);
428 #define VarCyFromI2 WINELIB_NAME(VarCyFromI2)
429 HRESULT WINAPI VarCyFromI432(LONG lIn, CY* pcyOut);
430 #define VarCyFromI4 WINELIB_NAME(VarCyFromI4)
431 HRESULT WINAPI VarCyFromR432(FLOAT fltIn, CY* pcyOut);
432 #define VarCyFromR4 WINELIB_NAME(VarCyFromR4)
433 HRESULT WINAPI VarCyFromR832(double dblIn, CY* pcyOut);
434 #define VarCyFromR8 WINELIB_NAME(VarCyFromR8)
435 HRESULT WINAPI VarCyFromDate32(DATE dateIn, CY* pcyOut);
436 #define VarCyFromDate WINELIB_NAME(VarCyFromDate)
437 HRESULT WINAPI VarCyFromBool32(VARIANT_BOOL boolIn, CY* pcyOut);
438 #define VarCyFromBool WINELIB_NAME(VarCyFromBool)
439 HRESULT WINAPI VarCyFromI132(CHAR cIn, CY*pcyOut);
440 #define VarCyFromI1 WINELIB_NAME(VarCyFromI1)
441 HRESULT WINAPI VarCyFromUI232(USHORT uiIn, CY*pcyOut);
442 #define VarCyFromUI2 WINELIB_NAME(VarCyFromUI2)
443 HRESULT WINAPI VarCyFromUI432(ULONG ulIn, CY*pcyOut);
444 #define VarCyFromUI4 WINELIB_NAME(VarCyFromUI4)
446 HRESULT WINAPI VarCyFromDec32(DECIMAL*pdecIn, CY*pcyOut);
447 #define VarCyFromDec WINELIB_NAME(VarCyFromDec)
448 HRESULT WINAPI VarCyFromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, CY* pcyOut);
449 #define VarCyFromStr WINELIB_NAME(VarCyFromStr)
450 HRESULT WINAPI VarCyFromDisp32(IDispatch* pdispIn, LCID lcid, CY* pcyOut);
451 #define VarCyFromDisp WINELIB_NAME(VarCyFromDisp)
454 HRESULT WINAPI VarBstrFromUI132(BYTE bVal, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
455 #define VarBstrFromUI1 WINELIB_NAME(VarBstrFromUI1)
456 HRESULT WINAPI VarBstrFromI232(short iVal, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
457 #define VarBstrFromI2 WINELIB_NAME(VarBstrFromI2)
458 HRESULT WINAPI VarBstrFromI432(LONG lIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
459 #define VarBstrFromI4 WINELIB_NAME(VarBstrFromI4)
460 HRESULT WINAPI VarBstrFromR432(FLOAT fltIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
461 #define VarBstrFromR4 WINELIB_NAME(VarBstrFromR4)
462 HRESULT WINAPI VarBstrFromR832(double dblIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
463 #define VarBstrFromR8 WINELIB_NAME(VarBstrFromR8)
464 HRESULT WINAPI VarBstrFromDate32(DATE dateIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
465 #define VarBstrFromDate WINELIB_NAME(VarBstrFromDate)
466 HRESULT WINAPI VarBstrFromBool32(VARIANT_BOOL boolIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
467 #define VarBstrFromBool WINELIB_NAME(VarBstrFromBool)
468 HRESULT WINAPI VarBstrFromI132(CHAR cIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
469 #define VarBstrFromI1 WINELIB_NAME(VarBstrFromI1)
470 HRESULT WINAPI VarBstrFromUI232(USHORT uiIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
471 #define VarBstrFromUI2 WINELIB_NAME(VarBstrFromUI2)
472 HRESULT WINAPI VarBstrFromUI432(ULONG ulIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
473 #define VarBstrFromUI4 WINELIB_NAME(VarBstrFromUI4)
474 HRESULT WINAPI VarBstrFromCy32(CY cyIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
475 #define VarBstrFromCy WINELIB_NAME(VarBstrFromCy)
477 HRESULT WINAPI VarBstrFromDec32(DECIMAL*pdecIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
478 #define VarBstrFromDec WINELIB_NAME(VarBstrFromDec)
479 HRESULT WINAPI VarBstrFromDisp32(IDispatch* pdispIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
480 #define VarBstrFromDisp WINELIB_NAME(VarBstrFromDisp)
483 HRESULT WINAPI VarBoolFromUI132(BYTE bIn, VARIANT_BOOL* pboolOut);
484 #define VarBoolFromUI1 WINELIB_NAME(VarBoolFromUI1)
485 HRESULT WINAPI VarBoolFromI232(short sIn, VARIANT_BOOL* pboolOut);
486 #define VarBoolFromI2 WINELIB_NAME(VarBoolFromI2)
487 HRESULT WINAPI VarBoolFromI432(LONG lIn, VARIANT_BOOL* pboolOut);
488 #define VarBoolFromI4 WINELIB_NAME(VarBoolFromI4)
489 HRESULT WINAPI VarBoolFromR432(FLOAT fltIn, VARIANT_BOOL* pboolOut);
490 #define VarBoolFromR4 WINELIB_NAME(VarBoolFromR4)
491 HRESULT WINAPI VarBoolFromR832(double dblIn, VARIANT_BOOL* pboolOut);
492 #define VarBoolFromR8 WINELIB_NAME(VarBoolFromR8)
493 HRESULT WINAPI VarBoolFromDate32(DATE dateIn, VARIANT_BOOL* pboolOut);
494 #define VarBoolFromDate WINELIB_NAME(VarBoolFromDate)
495 HRESULT WINAPI VarBoolFromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, VARIANT_BOOL* pboolOut);
496 #define VarBoolFromStr WINELIB_NAME(VarBoolFromStr)
497 HRESULT WINAPI VarBoolFromI132(CHAR cIn, VARIANT_BOOL*pboolOut);
498 #define VarBoolFromI1 WINELIB_NAME(VarBoolFromI1)
499 HRESULT WINAPI VarBoolFromUI232(USHORT uiIn, VARIANT_BOOL*pboolOut);
500 #define VarBoolFromUI2 WINELIB_NAME(VarBoolFromUI2)
501 HRESULT WINAPI VarBoolFromUI432(ULONG ulIn, VARIANT_BOOL*pboolOut);
502 #define VarBoolFromUI4 WINELIB_NAME(VarBoolFromUI4)
503 HRESULT WINAPI VarBoolFromCy32(CY cyIn, VARIANT_BOOL* pboolOut);
504 #define VarBoolFromCy WINELIB_NAME(VarBoolFromCy)
506 HRESULT WINAPI VarBoolFromDec32(DECIMAL*pdecIn, VARIANT_BOOL*pboolOut);
507 #define VarBoolFromDec WINELIB_NAME(VarBoolFromDec)
508 HRESULT WINAPI VarBoolFromDisp32(IDispatch* pdispIn, LCID lcid, VARIANT_BOOL* pboolOut);
509 #define VarBoolFromDisp WINELIB_NAME(VarBoolFromDisp)
512 HRESULT WINAPI VarI1FromUI132(BYTE bIn, CHAR*pcOut);
513 #define VarI1FromUI1 WINELIB_NAME(VarI1FromUI1)
514 HRESULT WINAPI VarI1FromI232(short uiIn, CHAR*pcOut);
515 #define VarI1FromI2 WINELIB_NAME(VarI1FromI2)
516 HRESULT WINAPI VarI1FromI432(LONG lIn, CHAR*pcOut);
517 #define VarI1FromI4 WINELIB_NAME(VarI1FromI4)
518 HRESULT WINAPI VarI1FromR432(FLOAT fltIn, CHAR*pcOut);
519 #define VarI1FromR4 WINELIB_NAME(VarI1FromR4)
520 HRESULT WINAPI VarI1FromR832(double dblIn, CHAR*pcOut);
521 #define VarI1FromR8 WINELIB_NAME(VarI1FromR8)
522 HRESULT WINAPI VarI1FromDate32(DATE dateIn, CHAR*pcOut);
523 #define VarI1FromDate WINELIB_NAME(VarI1FromDate)
524 HRESULT WINAPI VarI1FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, CHAR*pcOut);
525 #define VarI1FromStr WINELIB_NAME(VarI1FromStr)
526 HRESULT WINAPI VarI1FromBool32(VARIANT_BOOL boolIn, CHAR*pcOut);
527 #define VarI1FromBool WINELIB_NAME(VarI1FromBool)
528 HRESULT WINAPI VarI1FromUI232(USHORT uiIn, CHAR*pcOut);
529 #define VarI1FromUI2 WINELIB_NAME(VarI1FromUI2)
530 HRESULT WINAPI VarI1FromUI432(ULONG ulIn, CHAR*pcOut);
531 #define VarI1FromUI4 WINELIB_NAME(VarI1FromUI4)
532 HRESULT WINAPI VarI1FromCy32(CY cyIn, CHAR*pcOut);
533 #define VarI1FromCy WINELIB_NAME(VarI1FromCy)
535 HRESULT WINAPI VarI1FromDec32(DECIMAL*pdecIn, CHAR*pcOut);
536 #define VarI1FromDec WINELIB_NAME(VarI1FromDec)
537 HRESULT WINAPI VarI1FromDisp32(IDispatch*pdispIn, LCID lcid, CHAR*pcOut);
538 #define VarI1FromDisp WINELIB_NAME(VarI1FromDisp)
541 HRESULT WINAPI VarUI2FromUI132(BYTE bIn, USHORT*puiOut);
542 #define VarUI2FromUI1 WINELIB_NAME(VarUI2FromUI1)
543 HRESULT WINAPI VarUI2FromI232(short uiIn, USHORT*puiOut);
544 #define VarUI2FromI2 WINELIB_NAME(VarUI2FromI2)
545 HRESULT WINAPI VarUI2FromI432(LONG lIn, USHORT*puiOut);
546 #define VarUI2FromI4 WINELIB_NAME(VarUI2FromI4)
547 HRESULT WINAPI VarUI2FromR432(FLOAT fltIn, USHORT*puiOut);
548 #define VarUI2FromR4 WINELIB_NAME(VarUI2FromR4)
549 HRESULT WINAPI VarUI2FromR832(double dblIn, USHORT*puiOut);
550 #define VarUI2FromR8 WINELIB_NAME(VarUI2FromR8)
551 HRESULT WINAPI VarUI2FromDate32(DATE dateIn, USHORT*puiOut);
552 #define VarUI2FromDate WINELIB_NAME(VarUI2FromDate)
553 HRESULT WINAPI VarUI2FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, USHORT*puiOut);
554 #define VarUI2FromStr WINELIB_NAME(VarUI2FromStr)
555 HRESULT WINAPI VarUI2FromBool32(VARIANT_BOOL boolIn, USHORT*puiOut);
556 #define VarUI2FromBool WINELIB_NAME(VarUI2FromBool)
557 HRESULT WINAPI VarUI2FromI132(CHAR cIn, USHORT*puiOut);
558 #define VarUI2FromI1 WINELIB_NAME(VarUI2FromI1)
559 HRESULT WINAPI VarUI2FromUI432(ULONG ulIn, USHORT*puiOut);
560 #define VarUI2FromUI4 WINELIB_NAME(VarUI2FromUI4)
561 HRESULT WINAPI VarUI2FromCy32(CY cyIn, USHORT*puiOut);
562 #define VarUI2FromCy WINELIB_NAME(VarUI2FromCy)
564 HRESULT WINAPI VarUI2FromDec32(DECIMAL*pdecIn, USHORT*puiOut);
565 #define VarUI2FromDec WINELIB_NAME(VarUI2FromDec)
566 HRESULT WINAPI VarUI2FromDisp32(IDispatch*pdispIn, LCID lcid, USHORT*puiOut);
567 #define VarUI2FromDisp WINELIB_NAME(VarUI2FromDisp)
570 HRESULT WINAPI VarUI4FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, ULONG*pulOut);
571 #define VarUI4FromStr WINELIB_NAME(VarUI4FromStr)
572 HRESULT WINAPI VarUI4FromUI132(BYTE bIn, ULONG*pulOut);
573 #define VarUI4FromUI1 WINELIB_NAME(VarUI4FromUI1)
574 HRESULT WINAPI VarUI4FromI232(short uiIn, ULONG*pulOut);
575 #define VarUI4FromI2 WINELIB_NAME(VarUI4FromI2)
576 HRESULT WINAPI VarUI4FromI432(LONG lIn, ULONG*pulOut);
577 #define VarUI4FromI4 WINELIB_NAME(VarUI4FromI4)
578 HRESULT WINAPI VarUI4FromR432(FLOAT fltIn, ULONG*pulOut);
579 #define VarUI4FromR4 WINELIB_NAME(VarUI4FromR4)
580 HRESULT WINAPI VarUI4FromR832(double dblIn, ULONG*pulOut);
581 #define VarUI4FromR8 WINELIB_NAME(VarUI4FromR8)
582 HRESULT WINAPI VarUI4FromDate32(DATE dateIn, ULONG*pulOut);
583 #define VarUI4FromDate WINELIB_NAME(VarUI4FromDate)
584 HRESULT WINAPI VarUI4FromBool32(VARIANT_BOOL boolIn, ULONG*pulOut);
585 #define VarUI4FromBool WINELIB_NAME(VarUI4FromBool)
586 HRESULT WINAPI VarUI4FromI132(CHAR cIn, ULONG*pulOut);
587 #define VarUI4FromI1 WINELIB_NAME(VarUI4FromI1)
588 HRESULT WINAPI VarUI4FromUI232(USHORT uiIn, ULONG*pulOut);
589 #define VarUI4FromUI2 WINELIB_NAME(VarUI4FromUI2)
590 HRESULT WINAPI VarUI4FromCy32(CY cyIn, ULONG*pulOut);
591 #define VarUI4FromCy WINELIB_NAME(VarUI4FromCy)
593 HRESULT WINAPI VarUI4FromDec32(DECIMAL*pdecIn, ULONG*pulOut);
594 #define VarUI4FromDec WINELIB_NAME(VarUI4FromDec)
595 HRESULT WINAPI VarUI4FromDisp32(IDispatch*pdispIn, LCID lcid, ULONG*pulOut);
596 #define VarUI4FromDisp WINELIB_NAME(VarUI4FromDisp)
598 HRESULT WINAPI VarDecFromUI132(BYTE bIn, DECIMAL*pdecOut);
599 #define VarDecFromUI1 WINELIB_NAME(VarDecFromUI1)
600 HRESULT WINAPI VarDecFromI232(short uiIn, DECIMAL*pdecOut);
601 #define VarDecFromI2 WINELIB_NAME(VarDecFromI2)
602 HRESULT WINAPI VarDecFromI432(LONG lIn, DECIMAL*pdecOut);
603 #define VarDecFromI4 WINELIB_NAME(VarDecFromI4)
604 HRESULT WINAPI VarDecFromR432(FLOAT fltIn, DECIMAL*pdecOut);
605 #define VarDecFromR4 WINELIB_NAME(VarDecFromR4)
606 HRESULT WINAPI VarDecFromR832(double dblIn, DECIMAL*pdecOut);
607 #define VarDecFromR8 WINELIB_NAME(VarDecFromR8)
608 HRESULT WINAPI VarDecFromDate32(DATE dateIn, DECIMAL*pdecOut);
609 #define VarDecFromDate WINELIB_NAME(VarDecFromDate)
610 HRESULT WINAPI VarDecFromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, DECIMAL*pdecOut);
611 #define VarDecFromStr WINELIB_NAME(VarDecFromStr)
612 HRESULT WINAPI VarDecFromBool32(VARIANT_BOOL boolIn, DECIMAL*pdecOut);
613 #define VarDecFromBool WINELIB_NAME(VarDecFromBool)
614 HRESULT WINAPI VarDecFromI132(CHAR cIn, DECIMAL*pdecOut);
615 #define VarDecFromI1 WINELIB_NAME(VarDecFromI1)
616 HRESULT WINAPI VarDecFromUI232(USHORT uiIn, DECIMAL*pdecOut);
617 #define VarDecFromUI2 WINELIB_NAME(VarDecFromUI2)
618 HRESULT WINAPI VarDecFromUI432(ULONG ulIn, DECIMAL*pdecOut);
619 #define VarDecFromUI4 WINELIB_NAME(VarDecFromUI4)
620 HRESULT WINAPI VarDecFromCy32(CY cyIn, DECIMAL*pdecOut);
621 #define VarDecFromCy WINELIB_NAME(VarDecFromCy)
622 HRESULT WINAPI VarDecFromDisp32(IDispatch*pdispIn, LCID lcid, DECIMAL*pdecOut);
623 #define VarDecFromDisp WINELIB_NAME(VarDecFromDisp)
628 #define VarUI4FromUI4( in, pOut ) ( *(pOut) = (in) )
629 #define VarI4FromI4( in, pOut ) ( *(pOut) = (in) )
631 #define VarUI1FromInt32 VarUI1FromI432
632 #define VarUI1FromUint32 VarUI1FromUI432
633 #define VarI2FromInt32 VarI2FromI432
634 #define VarI2FromUint32 VarI2FromUI432
635 #define VarI4FromInt32 VarI4FromI432
636 #define VarI4FromUint32 VarI4FromUI432
637 #define VarR4FromInt32 VarR4FromI432
638 #define VarR4FromUint32 VarR4FromUI432
639 #define VarR8FromInt32 VarR8FromI432
640 #define VarR8FromUint32 VarR8FromUI432
641 #define VarDateFromInt32 VarDateFromI432
642 #define VarDateFromUint32 VarDateFromUI432
643 #define VarCyFromInt32 VarCyFromI432
644 #define VarCyFromUint32 VarCyFromUI432
645 #define VarBstrFromInt32 VarBstrFromI432
646 #define VarBstrFromUint32 VarBstrFromUI432
647 #define VarBoolFromInt32 VarBoolFromI432
648 #define VarBoolFromUint32 VarBoolFromUI432
649 #define VarI1FromInt32 VarI1FromI432
650 #define VarI1FromUint32 VarI1FromUI432
651 #define VarUI2FromInt32 VarUI2FromI432
652 #define VarUI2FromUint32 VarUI2FromUI432
653 #define VarUI4FromInt32 VarUI4FromI432
654 #define VarUI4FromUint32 VarUI4FromUI432
655 #define VarDecFromInt32 VarDecFromI432
656 #define VarDecFromUint32 VarDecFromUI432
657 #define VarIntFromUI132 VarI4FromUI132
658 #define VarIntFromI232 VarI4FromI232
659 #define VarIntFromI432 VarI4FromI432
660 #define VarIntFromR432 VarI4FromR432
661 #define VarIntFromR832 VarI4FromR832
662 #define VarIntFromDate32 VarI4FromDate32
663 #define VarIntFromCy32 VarI4FromCy32
664 #define VarIntFromStr32 VarI4FromStr32
665 #define VarIntFromDisp32 VarI4FromDisp32
666 #define VarIntFromBool32 VarI4FromBool32
667 #define VarIntFromI132 VarI4FromI132
668 #define VarIntFromUI232 VarI4FromUI232
669 #define VarIntFromUI432 VarI4FromUI432
670 #define VarIntFromDec32 VarI4FromDec32
671 #define VarIntFromUint32 VarI4FromUI432
672 #define VarUintFromUI132 VarUI4FromUI132
673 #define VarUintFromI232 VarUI4FromI232
674 #define VarUintFromI432 VarUI4FromI432
675 #define VarUintFromR432 VarUI4FromR432
676 #define VarUintFromR832 VarUI4FromR832
677 #define VarUintFromDate32 VarUI4FromDate32
678 #define VarUintFromCy32 VarUI4FromCy32
679 #define VarUintFromStr32 VarUI4FromStr32
680 #define VarUintFromDisp32 VarUI4FromDisp32
681 #define VarUintFromBool32 VarUI4FromBool32
682 #define VarUintFromI132 VarUI4FromI132
683 #define VarUintFromUI232 VarUI4FromUI232
684 #define VarUintFromUI432 VarUI4FromUI432
685 #define VarUintFromDec32 VarUI4FromDec32
686 #define VarUintFromInt32 VarUI4FromI432
689 typedef enum tagCALLCONV {
690 CC_CDECL = 1,
691 CC_MSCPASCAL = CC_CDECL + 1,
692 CC_PASCAL = CC_MSCPASCAL,
693 CC_MACPASCAL = CC_PASCAL + 1,
694 CC_STDCALL = CC_MACPASCAL + 1,
695 CC_RESERVED = CC_STDCALL + 1,
696 CC_SYSCALL = CC_RESERVED + 1,
697 CC_MPWCDECL = CC_SYSCALL + 1,
698 CC_MPWPASCAL = CC_MPWCDECL + 1,
699 CC_MAX = CC_MPWPASCAL + 1
700 } CALLCONV;
702 typedef struct tagPARAMDATA {
703 OLECHAR16 * szName; /* parameter name */
704 VARTYPE vt; /* parameter type */
705 } PARAMDATA, * LPPARAMDATA;
707 typedef struct tagMETHODDATA {
708 OLECHAR16 * szName; /* method name */
709 PARAMDATA * ppdata; /* pointer to an array of PARAMDATAs */
710 DISPID dispid; /* method ID */
711 UINT16 iMeth; /* method index */
712 CALLCONV cc; /* calling convention */
713 UINT16 cArgs; /* count of arguments */
714 WORD wFlags; /* same wFlags as on IDispatch::Invoke() */
715 VARTYPE vtReturn;
716 } METHODDATA, * LPMETHODDATA;
718 typedef struct tagINTERFACEDATA {
719 METHODDATA * pmethdata; /* pointer to an array of METHODDATAs */
720 UINT16 cMembers; /* count of members */
721 } INTERFACEDATA, * LPINTERFACEDATA;
723 #endif /*__WINE_OLEAUTO_H*/