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