1 #ifndef __WINE_OLEAUTO_H
2 #define __WINE_OLEAUTO_H
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)
26 typedef void ITypeLib;
27 typedef ITypeLib * LPTYPELIB;
29 /*****************************************************************
30 * SafeArray defines and structs
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 )
43 typedef struct tagSAFEARRAYBOUND
45 ULONG cElements; /* Number of elements in dimension */
46 LONG lLbound; /* Lower bound of dimension */
49 typedef struct tagSAFEARRAY
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 */
60 /*****************************************************************
65 SafeArrayAllocDescriptor32(UINT32 cDims, SAFEARRAY **ppsaOut);
66 #define SafeArrayAllocDescriptor WINELIB_NAME(SafeArrayAllocDescriptor)
69 SafeArrayAllocData32(SAFEARRAY *psa);
70 #define SafeArrayAllocData WINELIB_NAME(SafeArrayAllocData)
73 SafeArrayCreate32(VARTYPE vt, UINT32 cDims, SAFEARRAYBOUND *rgsabound);
74 #define SafeArrayCreate WINELIB_NAME(SafeArrayCreate)
77 SafeArrayDestroyDescriptor32(SAFEARRAY *psa);
78 #define SafeArrayDestroyDescriptor WINELIB_NAME(SafeArrayDestroyDescriptor)
81 SafeArrayPutElement32(SAFEARRAY *psa, LONG *rgIndices, void *pv);
82 #define SafeArrayPutElement WINELIB_NAME(SafeArrayPutElement)
85 SafeArrayGetElement32(SAFEARRAY *psa, LONG *rgIndices, void *pv);
86 #define SafeArrayGetElement WINELIB_NAME(SafeArrayGetElement)
89 SafeArrayLock32(SAFEARRAY *psa);
90 #define SafeArrayLock WINELIB_NAME(SafeArrayLock)
93 SafeArrayUnlock32(SAFEARRAY *psa);
94 #define SafeArrayUnlock WINELIB_NAME(SafeArrayUnlock)
97 SafeArrayGetUBound32(SAFEARRAY *psa, UINT32 nDim, LONG *plUbound);
98 #define SafeArrayGetUBound WINELIB_NAME(SafeArrayGetUBound)
101 SafeArrayGetLBound32(SAFEARRAY *psa, UINT32 nDim, LONG *plLbound);
102 #define SafeArrayGetLBound WINELIB_NAME(SafeArrayGetLBound)
105 SafeArrayGetDim32(SAFEARRAY *psa);
106 #define SafeArrayGetDim WINELIB_NAME(SafeArrayGetDim)
109 SafeArrayGetElemsize32(SAFEARRAY *psa);
110 #define SafeArrayGetElemsize WINELIB_NAME(SafeArrayGetElemsize)
113 SafeArrayAccessData32(SAFEARRAY *psa, void **ppvData);
114 #define SafeArrayAccessData WINELIB_NAME(SafeArrayAccessData)
117 SafeArrayUnaccessData32(SAFEARRAY *psa);
118 #define SafeArrayUnaccessData WINELIB_NAME(SafeArrayUnaccessData)
121 SafeArrayPtrOfIndex32(SAFEARRAY *psa, LONG *rgIndices, void **ppvData);
122 #define SafeArrayPtrOfIndex WINELIB_NAME(SafeArrayPtrOfIndex)
125 SafeArrayCopyData32(SAFEARRAY *psaSource, SAFEARRAY **psaTarget);
126 #define SafeArrayCopyData WINELIB_NAME(SafeArrayCopyData)
129 SafeArrayDestroyData32(SAFEARRAY *psa);
130 #define SafeArrayDestroyData WINELIB_NAME(SafeArrayDestroyData)
133 SafeArrayDestroy32(SAFEARRAY *psa);
134 #define SafeArrayDestroy WINELIB_NAME(SafeArrayDestroy)
137 SafeArrayCopy32(SAFEARRAY *psa, SAFEARRAY **ppsaOut);
138 #define SafeArrayCopy WINELIB_NAME(SafeArrayCopy)
141 SafeArrayCreateVector32(VARTYPE vt, LONG lLbound, ULONG cElements);
142 #define SafeArrayCreateVector WINELIB_NAME(SafeArrayCreateVector)
145 SafeArrayRedim32(SAFEARRAY *psa, SAFEARRAYBOUND *psaboundNew);
146 #define SafeArrayRedim WINELIB_NAME(SafeArrayRedim)
150 * Data types for Variants.
189 VT_STREAMED_OBJECT = 68,
190 VT_STORED_OBJECT = 69,
197 VT_RESERVED = 0x8000,
199 VT_ILLEGALMASKED = 0xfff,
203 /* the largest valide type
205 #define VT_MAXVALIDTYPE VT_CLSID
209 * Declarations of the VARIANT structure and the VARIANT APIs.
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.
221 typedef struct tagVARIANT VARIANT;
222 typedef struct tagVARIANT VARIANTARG;
243 VARIANT_BOOL boolVal;
267 VARIANT_BOOL* pboolVal;
277 IDispatch** ppdispVal;
284 /* These are macros that help accessing the VARIANT date type.
286 #define V_UNION(A, B) ((A)->u.B)
287 #define V_VT(A) ((A)->vt)
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)
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)
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)
355 * These flags are used for the VariantChangeType and VariantChangeTypeEx APIs.
359 * This one is of general use.
361 #define VARIANT_NOVALUEPROP 0x1
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".
366 #define VARIANT_ALPHABOOL 0x2
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
373 #define VARIANT_NOUSEROVERRIDE 0x4
377 * VARTYPE Coercion API
380 /* Omits the date portion and return only the time value.
382 #define VAR_TIMEVALUEONLY ((DWORD)0x00000001)
383 /* Omits the time portion and return only the date value.
385 #define VAR_DATEVALUEONLY ((DWORD)0x00000002)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
765 #define VarUI4FromUI4( in, pOut ) ( *(pOut) = (in) )
766 #define VarI4FromI4( in, pOut ) ( *(pOut) = (in) )
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
826 typedef enum tagCALLCONV {
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
839 typedef struct tagPARAMDATA {
840 OLECHAR16 * szName; /* parameter name */
841 VARTYPE vt; /* parameter type */
842 } PARAMDATA, * LPPARAMDATA;
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() */
853 } METHODDATA, * LPMETHODDATA;
855 typedef struct tagINTERFACEDATA {
856 METHODDATA * pmethdata; /* pointer to an array of METHODDATAs */
857 UINT16 cMembers; /* count of members */
858 } INTERFACEDATA, * LPINTERFACEDATA;
860 #endif /*__WINE_OLEAUTO_H*/