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