Added implementation of the VARIANT APIs.

This commit is contained in:
Jean-Claude Cote 1998-12-10 10:00:38 +00:00 committed by Alexandre Julliard
parent f3836f5f37
commit b00cbeadb8
6 changed files with 4417 additions and 124 deletions

View File

@ -1,6 +1,8 @@
#ifndef __WINE_OLEAUTO_H #ifndef __WINE_OLEAUTO_H
#define __WINE_OLEAUTO_H #define __WINE_OLEAUTO_H
#include <ole.h>
BSTR16 WINAPI SysAllocString16(LPOLESTR16); BSTR16 WINAPI SysAllocString16(LPOLESTR16);
BSTR32 WINAPI SysAllocString32(LPOLESTR32); BSTR32 WINAPI SysAllocString32(LPOLESTR32);
#define SysAllocString WINELIB_NAME(SysAllocString) #define SysAllocString WINELIB_NAME(SysAllocString)
@ -20,8 +22,694 @@ int WINAPI SysStringLen16(BSTR16);
int WINAPI SysStringLen32(BSTR32); int WINAPI SysStringLen32(BSTR32);
#define SysStringLen WINELIB_NAME(SysStringLen) #define SysStringLen WINELIB_NAME(SysStringLen)
typedef char OLECHAR;
typedef void ITypeLib; typedef void ITypeLib;
typedef ITypeLib * LPTYPELIB; typedef ITypeLib * LPTYPELIB;
#endif
/*
* Data types for Variants.
*/
/*
* 0 == FALSE and -1 == TRUE
*/
typedef short VARIANT_BOOL;
#define VARIANT_TRUE 0xFFFF
#define VARIANT_FALSE 0x0000
typedef double DATE;
typedef LONG SCODE;
enum VARENUM {
VT_EMPTY = 0,
VT_NULL = 1,
VT_I2 = 2,
VT_I4 = 3,
VT_R4 = 4,
VT_R8 = 5,
VT_CY = 6,
VT_DATE = 7,
VT_BSTR = 8,
VT_DISPATCH = 9,
VT_ERROR = 10,
VT_BOOL = 11,
VT_VARIANT = 12,
VT_UNKNOWN = 13,
VT_DECIMAL = 14,
VT_I1 = 16,
VT_UI1 = 17,
VT_UI2 = 18,
VT_UI4 = 19,
VT_I8 = 20,
VT_UI8 = 21,
VT_INT = 22,
VT_UINT = 23,
VT_VOID = 24,
VT_HRESULT = 25,
VT_PTR = 26,
VT_SAFEARRAY = 27,
VT_CARRAY = 28,
VT_USERDEFINED = 29,
VT_LPSTR = 30,
VT_LPWSTR = 31,
VT_FILETIME = 64,
VT_BLOB = 65,
VT_STREAM = 66,
VT_STORAGE = 67,
VT_STREAMED_OBJECT = 68,
VT_STORED_OBJECT = 69,
VT_BLOB_OBJECT = 70,
VT_CF = 71,
VT_CLSID = 72,
VT_VECTOR = 0x1000,
VT_ARRAY = 0x2000,
VT_BYREF = 0x4000,
VT_RESERVED = 0x8000,
VT_ILLEGAL = 0xffff,
VT_ILLEGALMASKED = 0xfff,
VT_TYPEMASK = 0xfff
};
/* the largest valide type
*/
#define VT_MAXVALIDTYPE VT_CLSID
/*
* Declarations of the VARIANT structure and the VARIANT APIs.
*/
/* S_OK : Success.
* DISP_E_BADVARTYPE : The variant type vt in not a valid type of variant.
* DISP_E_OVERFLOW : The data pointed to by pvarSrc does not fit in the destination type.
* DISP_E_TYPEMISMATCH : The variant type vt is not a valid type of variant.
* E_INVALIDARG : One argument is invalid.
* E_OUTOFMEMORY : Memory could not be allocated for the conversion.
* DISP_E_ARRAYISLOCKED : The variant contains an array that is locked.
*/
typedef struct tagVARIANT VARIANT;
typedef struct tagVARIANT VARIANTARG;
struct tagVARIANT {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
union
{
/* By value.
*/
CHAR cVal;
USHORT uiVal;
ULONG ulVal;
INT32 intVal;
UINT32 uintVal;
BYTE bVal;
short iVal;
long lVal;
float fltVal;
double dblVal;
VARIANT_BOOL boolVal;
SCODE scode;
DATE date;
BSTR32 bstrVal;
/*
DECIMAL decVal;
CY cyVal;
IUnknown* punkVal;
IDispatch* pdispVal;
SAFEARRAY* parray;
*/
/* By reference
*/
CHAR* pcVal;
USHORT* puiVal;
ULONG* pulVal;
INT32* pintVal;
UINT32* puintVal;
BYTE* pbVal;
short* piVal;
long* plVal;
float* pfltVal;
double* pdblVal;
VARIANT_BOOL* pboolVal;
SCODE* pscode;
DATE* pdate;
BSTR32* pbstrVal;
VARIANT* pvarVal;
PVOID byref;
/*
DECIMAL* pdecVal;
CY* pcyVal;
IUnknown** ppunkVal;
IDispatch** ppdispVal;
SAFEARRAY** pparray;
*/
} u;
};
/* These are macros that help accessing the VARIANT date type.
*/
#define V_UNION(A, B) ((A)->u.B)
#define V_VT(A) ((A)->vt)
#define V_ISBYREF(A) (V_VT(A)&VT_BYREF)
#define V_ISARRAY(A) (V_VT(A)&VT_ARRAY)
#define V_ISVECTOR(A) (V_VT(A)&VT_VECTOR)
#define V_NONE(A) V_I2(A)
#define V_UI1(A) V_UNION(A, bVal)
#define V_UI1REF(A) V_UNION(A, pbVal)
#define V_I2(A) V_UNION(A, iVal)
#define V_I2REF(A) V_UNION(A, piVal)
#define V_I4(A) V_UNION(A, lVal)
#define V_I4REF(A) V_UNION(A, plVal)
#define V_R4(A) V_UNION(A, fltVal)
#define V_R4REF(A) V_UNION(A, pfltVal)
#define V_R8(A) V_UNION(A, dblVal)
#define V_R8REF(A) V_UNION(A, pdblVal)
#define V_I1(A) V_UNION(A, cVal)
#define V_I1REF(A) V_UNION(A, pcVal)
#define V_UI2(A) V_UNION(A, uiVal)
#define V_UI2REF(A) V_UNION(A, puiVal)
#define V_UI4(A) V_UNION(A, ulVal)
#define V_UI4REF(A) V_UNION(A, pulVal)
#define V_INT(A) V_UNION(A, intVal)
#define V_INTREF(A) V_UNION(A, pintVal)
#define V_UINT(A) V_UNION(A, uintVal)
#define V_UINTREF(A) V_UNION(A, puintVal)
#define V_CY(A) V_UNION(A, cyVal)
#define V_CYREF(A) V_UNION(A, pcyVal)
#define V_DATE(A) V_UNION(A, date)
#define V_DATEREF(A) V_UNION(A, pdate)
#define V_BSTR(A) V_UNION(A, bstrVal)
#define V_BSTRREF(A) V_UNION(A, pbstrVal)
#define V_DISPATCH(A) V_UNION(A, pdispVal)
#define V_DISPATCHREF(A) V_UNION(A, ppdispVal)
#define V_ERROR(A) V_UNION(A, scode)
#define V_ERRORREF(A) V_UNION(A, pscode)
#define V_BOOL(A) V_UNION(A, boolVal)
#define V_BOOLREF(A) V_UNION(A, pboolVal)
#define V_UNKNOWN(A) V_UNION(A, punkVal)
#define V_UNKNOWNREF(A) V_UNION(A, ppunkVal)
#define V_VARIANTREF(A) V_UNION(A, pvarVal)
#define V_ARRAY(A) V_UNION(A, parray)
#define V_ARRAYREF(A) V_UNION(A, pparray)
#define V_BYREF(A) V_UNION(A, byref)
#define V_DECIMAL(A) V_UNION(A, decVal)
#define V_DECIMALREF(A) V_UNION(A, pdecVal)
/*
* VARIANT API
*/
void VariantInit32(VARIANTARG* pvarg);
#define VariantInit WINELIB_NAME(VariantInit)
HRESULT VariantClear32(VARIANTARG* pvarg);
#define VariantClear WINELIB_NAME(VariantClear)
HRESULT VariantCopy32(VARIANTARG* pvargDest, VARIANTARG* pvargSrc);
#define VariantCopy WINELIB_NAME(VariantCopy)
HRESULT VariantCopyInd32(VARIANT* pvargDest, VARIANTARG* pvargSrc);
#define VariantCopyInd WINELIB_NAME(VariantCopyInd)
HRESULT VariantChangeType32(VARIANTARG* pvargDest, VARIANTARG* pvargSrc,
USHORT wFlags, VARTYPE vt);
#define VariantChangeType WINELIB_NAME(VariantChangeType)
HRESULT VariantChangeTypeEx32(VARIANTARG* pvargDest, VARIANTARG* pvargSrc,
LCID lcid, USHORT wFlags, VARTYPE vt);
#define VariantChangeTypeEx WINELIB_NAME(VariantChangeTypeEx)
/*
* These flags are used for the VariantChangeType and VariantChangeTypeEx APIs.
*/
/*
* This one is of general use.
*/
#define VARIANT_NOVALUEPROP 0x1
/*
* This one is used for conversions of VT_BOOL to VT_BSTR,
* the API will convert to "True"|"False" instead of "-1"|"0".
*/
#define VARIANT_ALPHABOOL 0x2
/*
* This one is used for conversions to or from a VT_BSTR string,
* it passes LOCALE_NOUSEROVERRIDE to the core (low-level) coercion routines.
* This means it will use the system default locale settings instead of custom
* local settings.
*/
#define VARIANT_NOUSEROVERRIDE 0x4
/*
* VARTYPE Coercion API
*/
/* Omits the date portion and return only the time value.
*/
#define VAR_TIMEVALUEONLY ((DWORD)0x00000001)
/* Omits the time portion and return only the date value.
*/
#define VAR_DATEVALUEONLY ((DWORD)0x00000002)
HRESULT VarUI1FromI232(short sIn, BYTE* pbOut);
#define VarUI1FromI2 WINELIB_NAME(VarUI1FromI2)
HRESULT VarUI1FromI432(LONG lIn, BYTE* pbOut);
#define VarUI1FromI4 WINELIB_NAME(VarUI1FromI4)
HRESULT VarUI1FromR432(FLOAT fltIn, BYTE* pbOut);
#define VarUI1FromR4 WINELIB_NAME(VarUI1FromR4)
HRESULT VarUI1FromR832(double dblIn, BYTE* pbOut);
#define VarUI1FromR8 WINELIB_NAME(VarUI1FromR8)
HRESULT VarUI1FromDate32(DATE dateIn, BYTE* pbOut);
#define VarUI1FromDate WINELIB_NAME(VarUI1FromDate)
HRESULT VarUI1FromBool32(VARIANT_BOOL boolIn, BYTE* pbOut);
#define VarUI1FromBool WINELIB_NAME(VarUI1FromBool)
HRESULT VarUI1FromI132(CHAR cIn, BYTE*pbOut);
#define VarUI1FromI1 WINELIB_NAME(VarUI1FromI1)
HRESULT VarUI1FromUI232(USHORT uiIn, BYTE*pbOut);
#define VarUI1FromUI2 WINELIB_NAME(VarUI1FromUI2)
HRESULT VarUI1FromUI432(ULONG ulIn, BYTE*pbOut);
#define VarUI1FromUI4 WINELIB_NAME(VarUI1FromUI4)
HRESULT VarUI1FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, BYTE* pbOut);
#define VarUI1FromStr WINELIB_NAME(VarUI1FromStr)
/*
HRESULT VarUI1FromDec32(DECIMAL*pdecIn, BYTE*pbOut);
#define VarUI1FromDec WINELIB_NAME(VarUI1FromDec)
HRESULT VarUI1FromDisp32(IDispatch* pdispIn, LCID lcid, BYTE* pbOut);
#define VarUI1FromDisp WINELIB_NAME(VarUI1FromDisp)
HRESULT VarUI1FromCy32(CY cyIn, BYTE* pbOut);
#define VarUI1FromCy WINELIB_NAME(VarUI1FromCy)
*/
HRESULT VarI2FromUI132(BYTE bIn, short* psOut);
#define VarI2FromUI1 WINELIB_NAME(VarI2FromUI1)
HRESULT VarI2FromI432(LONG lIn, short* psOut);
#define VarI2FromI4 WINELIB_NAME(VarI2FromI4)
HRESULT VarI2FromR432(FLOAT fltIn, short* psOut);
#define VarI2FromR4 WINELIB_NAME(VarI2FromR4)
HRESULT VarI2FromR832(double dblIn, short* psOut);
#define VarI2FromR8 WINELIB_NAME(VarI2FromR8)
HRESULT VarI2FromDate32(DATE dateIn, short* psOut);
#define VarI2FromDate WINELIB_NAME(VarI2FromDate)
HRESULT VarI2FromBool32(VARIANT_BOOL boolIn, short* psOut);
#define VarI2FromBool WINELIB_NAME(VarI2FromBool)
HRESULT VarI2FromI132(CHAR cIn, short*psOut);
#define VarI2FromI1 WINELIB_NAME(VarI2FromI1)
HRESULT VarI2FromUI232(USHORT uiIn, short*psOut);
#define VarI2FromUI2 WINELIB_NAME(VarI2FromUI2)
HRESULT VarI2FromUI432(ULONG ulIn, short*psOut);
#define VarI2FromUI4 WINELIB_NAME(VarI2FromUI4)
HRESULT VarI2FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, short* psOut);
#define VarI2FromStr WINELIB_NAME(VarI2FromStr)
/*
HRESULT VarI2FromDec32(DECIMAL*pdecIn, short*psOut);
#define VarI2FromDec WINELIB_NAME(VarI2FromDec)
HRESULT VarI2FromDisp32(IDispatch* pdispIn, LCID lcid, short* psOut);
#define VarI2FromDisp WINELIB_NAME(VarI2FromDisp)
HRESULT VarI2FromCy32(CY cyIn, short* psOut);
#define VarI2FromCy WINELIB_NAME(VarI2FromCy)
*/
HRESULT VarI4FromUI132(BYTE bIn, LONG* plOut);
#define VarI4FromUI1 WINELIB_NAME(VarI4FromUI1)
HRESULT VarI4FromI232(short sIn, LONG* plOut);
#define VarI4FromI2 WINELIB_NAME(VarI4FromI2)
HRESULT VarI4FromR432(FLOAT fltIn, LONG* plOut);
#define VarI4FromR4 WINELIB_NAME(VarI4FromR4)
HRESULT VarI4FromR832(double dblIn, LONG* plOut);
#define VarI4FromR8 WINELIB_NAME(VarI4FromR8)
HRESULT VarI4FromDate32(DATE dateIn, LONG* plOut);
#define VarI4FromDate WINELIB_NAME(VarI4FromDate)
HRESULT VarI4FromBool32(VARIANT_BOOL boolIn, LONG* plOut);
#define VarI4FromBool WINELIB_NAME(VarI4FromBool)
HRESULT VarI4FromI132(CHAR cIn, LONG* plOut);
#define VarI4FromI1 WINELIB_NAME(VarI4FromI1)
HRESULT VarI4FromUI232(USHORT uiIn, LONG*plOut);
#define VarI4FromUI2 WINELIB_NAME(VarI4FromUI2)
HRESULT VarI4FromUI432(ULONG ulIn, LONG*plOut);
#define VarI4FromUI4 WINELIB_NAME(VarI4FromUI4)
HRESULT VarI4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, LONG* plOut);
#define VarI4FromStr WINELIB_NAME(VarI4FromStr)
/*
HRESULT VarI4FromCy32(CY cyIn, LONG* plOut);
#define VarI4FromCy WINELIB_NAME(VarI4FromCy)
HRESULT VarI4FromDec32(DECIMAL*pdecIn, LONG*plOut);
#define VarI4FromDec WINELIB_NAME(VarI4FromDec)
HRESULT VarI4FromDisp32(IDispatch* pdispIn, LCID lcid, LONG* plOut);
#define VarI4FromDisp WINELIB_NAME(VarI4FromDisp)
*/
HRESULT VarR4FromUI132(BYTE bIn, FLOAT* pfltOut);
#define VarR4FromUI1 WINELIB_NAME(VarR4FromUI1)
HRESULT VarR4FromI232(short sIn, FLOAT* pfltOut);
#define VarR4FromI2 WINELIB_NAME(VarR4FromI2)
HRESULT VarR4FromI432(LONG lIn, FLOAT* pfltOut);
#define VarR4FromI4 WINELIB_NAME(VarR4FromI4)
HRESULT VarR4FromR832(double dblIn, FLOAT* pfltOut);
#define VarR4FromR8 WINELIB_NAME(VarR4FromR8)
HRESULT VarR4FromDate32(DATE dateIn, FLOAT* pfltOut);
#define VarR4FromDate WINELIB_NAME(VarR4FromDate)
HRESULT VarR4FromBool32(VARIANT_BOOL boolIn, FLOAT* pfltOut);
#define VarR4FromBool WINELIB_NAME(VarR4FromBool)
HRESULT VarR4FromI132(CHAR cIn, FLOAT*pfltOut);
#define VarR4FromI1 WINELIB_NAME(VarR4FromI1)
HRESULT VarR4FromUI232(USHORT uiIn, FLOAT*pfltOut);
#define VarR4FromUI2 WINELIB_NAME(VarR4FromUI2)
HRESULT VarR4FromUI432(ULONG ulIn, FLOAT*pfltOut);
#define VarR4FromUI4 WINELIB_NAME(VarR4FromUI4)
HRESULT VarR4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, FLOAT*pfltOut);
#define VarR4FromStr WINELIB_NAME(VarR4FromStr)
/*
HRESULT VarR4FromDec32(DECIMAL*pdecIn, FLOAT*pfltOut);
#define VarR4FromDec WINELIB_NAME(VarR4FromDec)
HRESULT VarR4FromDisp32(IDispatch* pdispIn, LCID lcid, FLOAT* pfltOut);
#define VarR4FromDisp WINELIB_NAME(VarR4FromDisp)
HRESULT VarR4FromCy32(CY cyIn, FLOAT* pfltOut);
#define VarR4FromCy WINELIB_NAME(VarR4FromCy)
*/
HRESULT VarR8FromUI132(BYTE bIn, double* pdblOut);
#define VarR8FromUI1 WINELIB_NAME(VarR8FromUI1)
HRESULT VarR8FromI232(short sIn, double* pdblOut);
#define VarR8FromI2 WINELIB_NAME(VarR8FromI2)
HRESULT VarR8FromI432(LONG lIn, double* pdblOut);
#define VarR8FromI4 WINELIB_NAME(VarR8FromI4)
HRESULT VarR8FromR432(FLOAT fltIn, double* pdblOut);
#define VarR8FromR4 WINELIB_NAME(VarR8FromR4)
HRESULT VarR8FromDate32(DATE dateIn, double* pdblOut);
#define VarR8FromDate WINELIB_NAME(VarR8FromDate)
HRESULT VarR8FromBool32(VARIANT_BOOL boolIn, double* pdblOut);
#define VarR8FromBool WINELIB_NAME(VarR8FromBool)
HRESULT VarR8FromI132(CHAR cIn, double*pdblOut);
#define VarR8FromI1 WINELIB_NAME(VarR8FromI1)
HRESULT VarR8FromUI232(USHORT uiIn, double*pdblOut);
#define VarR8FromUI2 WINELIB_NAME(VarR8FromUI2)
HRESULT VarR8FromUI432(ULONG ulIn, double*pdblOut);
#define VarR8FromUI4 WINELIB_NAME(VarR8FromUI4)
HRESULT VarR8FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, double*pdblOut);
#define VarR8FromStr WINELIB_NAME(VarR8FromStr)
/*
HRESULT VarR8FromDec32(DECIMAL*pdecIn, double*pdblOut);
#define VarR8FromDec WINELIB_NAME(VarR8FromDec)
HRESULT VarR8FromCy32(CY cyIn, double* pdblOut);
#define VarR8FromCy WINELIB_NAME(VarR8FromCy)
HRESULT VarR8FromDisp32(IDispatch* pdispIn, LCID lcid, double* pdblOut);
#define VarR8FromDisp WINELIB_NAME(VarR8FromDisp)
*/
HRESULT VarDateFromUI132(BYTE bIn, DATE* pdateOut);
#define VarDateFromUI1 WINELIB_NAME(VarDateFromUI1)
HRESULT VarDateFromI232(short sIn, DATE* pdateOut);
#define VarDateFromI2 WINELIB_NAME(VarDateFromI2)
HRESULT VarDateFromI432(LONG lIn, DATE* pdateOut);
#define VarDateFromI4 WINELIB_NAME(VarDateFromI4)
HRESULT VarDateFromR432(FLOAT fltIn, DATE* pdateOut);
#define VarDateFromR4 WINELIB_NAME(VarDateFromR4)
HRESULT VarDateFromR832(double dblIn, DATE* pdateOut);
#define VarDateFromR8 WINELIB_NAME(VarDateFromR8)
HRESULT VarDateFromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, DATE*pdateOut);
#define VarDateFromStr WINELIB_NAME(VarDateFromStr)
HRESULT VarDateFromI132(CHAR cIn, DATE*pdateOut);
#define VarDateFromI1 WINELIB_NAME(VarDateFromI1)
HRESULT VarDateFromUI232(USHORT uiIn, DATE*pdateOut);
#define VarDateFromUI2 WINELIB_NAME(VarDateFromUI2)
HRESULT VarDateFromUI432(ULONG ulIn, DATE*pdateOut);
#define VarDateFromUI4 WINELIB_NAME(VarDateFromUI4)
HRESULT VarDateFromBool32(VARIANT_BOOL boolIn, DATE* pdateOut);
#define VarDateFromBool WINELIB_NAME(VarDateFromBool)
/*
HRESULT VarDateFromDec32(DECIMAL*pdecIn, DATE*pdateOut);
#define VarDateFromDec WINELIB_NAME(VarDateFromDec)
HRESULT VarDateFromDisp32(IDispatch* pdispIn, LCID lcid, DATE* pdateOut);
#define VarDateFromDisp WINELIB_NAME(VarDateFromDisp)
HRESULT VarDateFromCy32(CY cyIn, DATE* pdateOut);
#define VarDateFromCy WINELIB_NAME(VarDateFromCy)
HRESULT VarCyFromUI132(BYTE bIn, CY* pcyOut);
#define VarCyFromUI1 WINELIB_NAME(VarCyFromUI1)
HRESULT VarCyFromI232(short sIn, CY* pcyOut);
#define VarCyFromI2 WINELIB_NAME(VarCyFromI2)
HRESULT VarCyFromI432(LONG lIn, CY* pcyOut);
#define VarCyFromI4 WINELIB_NAME(VarCyFromI4)
HRESULT VarCyFromR432(FLOAT fltIn, CY* pcyOut);
#define VarCyFromR4 WINELIB_NAME(VarCyFromR4)
HRESULT VarCyFromR832(double dblIn, CY* pcyOut);
#define VarCyFromR8 WINELIB_NAME(VarCyFromR8)
HRESULT VarCyFromDate32(DATE dateIn, CY* pcyOut);
#define VarCyFromDate WINELIB_NAME(VarCyFromDate)
HRESULT VarCyFromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, CY* pcyOut);
#define VarCyFromStr WINELIB_NAME(VarCyFromStr)
HRESULT VarCyFromDisp32(IDispatch* pdispIn, LCID lcid, CY* pcyOut);
#define VarCyFromDisp WINELIB_NAME(VarCyFromDisp)
HRESULT VarCyFromBool32(VARIANT_BOOL boolIn, CY* pcyOut);
#define VarCyFromBool WINELIB_NAME(VarCyFromBool)
HRESULT VarCyFromI132(CHAR cIn, CY*pcyOut);
#define VarCyFromI1 WINELIB_NAME(VarCyFromI1)
HRESULT VarCyFromUI232(USHORT uiIn, CY*pcyOut);
#define VarCyFromUI2 WINELIB_NAME(VarCyFromUI2)
HRESULT VarCyFromUI432(ULONG ulIn, CY*pcyOut);
#define VarCyFromUI4 WINELIB_NAME(VarCyFromUI4)
HRESULT VarCyFromDec32(DECIMAL*pdecIn, CY*pcyOut);
#define VarCyFromDec WINELIB_NAME(VarCyFromDec)
*/
HRESULT VarBstrFromUI132(BYTE bVal, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromUI1 WINELIB_NAME(VarBstrFromUI1)
HRESULT VarBstrFromI232(short iVal, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromI2 WINELIB_NAME(VarBstrFromI2)
HRESULT VarBstrFromI432(LONG lIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromI4 WINELIB_NAME(VarBstrFromI4)
HRESULT VarBstrFromR432(FLOAT fltIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromR4 WINELIB_NAME(VarBstrFromR4)
HRESULT VarBstrFromR832(double dblIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromR8 WINELIB_NAME(VarBstrFromR8)
HRESULT VarBstrFromDate32(DATE dateIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromDate WINELIB_NAME(VarBstrFromDate)
HRESULT VarBstrFromBool32(VARIANT_BOOL boolIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromBool WINELIB_NAME(VarBstrFromBool)
HRESULT VarBstrFromI132(CHAR cIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
#define VarBstrFromI1 WINELIB_NAME(VarBstrFromI1)
HRESULT VarBstrFromUI232(USHORT uiIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
#define VarBstrFromUI2 WINELIB_NAME(VarBstrFromUI2)
HRESULT VarBstrFromUI432(ULONG ulIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
#define VarBstrFromUI4 WINELIB_NAME(VarBstrFromUI4)
/*
HRESULT VarBstrFromDec32(DECIMAL*pdecIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
#define VarBstrFromDec WINELIB_NAME(VarBstrFromDec)
HRESULT VarBstrFromCy32(CY cyIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromCy WINELIB_NAME(VarBstrFromCy)
HRESULT VarBstrFromDisp32(IDispatch* pdispIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromDisp WINELIB_NAME(VarBstrFromDisp)
*/
HRESULT VarBoolFromUI132(BYTE bIn, VARIANT_BOOL* pboolOut);
#define VarBoolFromUI1 WINELIB_NAME(VarBoolFromUI1)
HRESULT VarBoolFromI232(short sIn, VARIANT_BOOL* pboolOut);
#define VarBoolFromI2 WINELIB_NAME(VarBoolFromI2)
HRESULT VarBoolFromI432(LONG lIn, VARIANT_BOOL* pboolOut);
#define VarBoolFromI4 WINELIB_NAME(VarBoolFromI4)
HRESULT VarBoolFromR432(FLOAT fltIn, VARIANT_BOOL* pboolOut);
#define VarBoolFromR4 WINELIB_NAME(VarBoolFromR4)
HRESULT VarBoolFromR832(double dblIn, VARIANT_BOOL* pboolOut);
#define VarBoolFromR8 WINELIB_NAME(VarBoolFromR8)
HRESULT VarBoolFromDate32(DATE dateIn, VARIANT_BOOL* pboolOut);
#define VarBoolFromDate WINELIB_NAME(VarBoolFromDate)
HRESULT VarBoolFromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, VARIANT_BOOL* pboolOut);
#define VarBoolFromStr WINELIB_NAME(VarBoolFromStr)
HRESULT VarBoolFromI132(CHAR cIn, VARIANT_BOOL*pboolOut);
#define VarBoolFromI1 WINELIB_NAME(VarBoolFromI1)
HRESULT VarBoolFromUI232(USHORT uiIn, VARIANT_BOOL*pboolOut);
#define VarBoolFromUI2 WINELIB_NAME(VarBoolFromUI2)
HRESULT VarBoolFromUI432(ULONG ulIn, VARIANT_BOOL*pboolOut);
#define VarBoolFromUI4 WINELIB_NAME(VarBoolFromUI4)
/*
HRESULT VarBoolFromDec32(DECIMAL*pdecIn, VARIANT_BOOL*pboolOut);
#define VarBoolFromDec WINELIB_NAME(VarBoolFromDec)
HRESULT VarBoolFromCy32(CY cyIn, VARIANT_BOOL* pboolOut);
#define VarBoolFromCy WINELIB_NAME(VarBoolFromCy)
HRESULT VarBoolFromDisp32(IDispatch* pdispIn, LCID lcid, VARIANT_BOOL* pboolOut);
#define VarBoolFromDisp WINELIB_NAME(VarBoolFromDisp)
*/
HRESULT VarI1FromUI132(BYTE bIn, CHAR*pcOut);
#define VarI1FromUI1 WINELIB_NAME(VarI1FromUI1)
HRESULT VarI1FromI232(short uiIn, CHAR*pcOut);
#define VarI1FromI2 WINELIB_NAME(VarI1FromI2)
HRESULT VarI1FromI432(LONG lIn, CHAR*pcOut);
#define VarI1FromI4 WINELIB_NAME(VarI1FromI4)
HRESULT VarI1FromR432(FLOAT fltIn, CHAR*pcOut);
#define VarI1FromR4 WINELIB_NAME(VarI1FromR4)
HRESULT VarI1FromR832(double dblIn, CHAR*pcOut);
#define VarI1FromR8 WINELIB_NAME(VarI1FromR8)
HRESULT VarI1FromDate32(DATE dateIn, CHAR*pcOut);
#define VarI1FromDate WINELIB_NAME(VarI1FromDate)
HRESULT VarI1FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, CHAR*pcOut);
#define VarI1FromStr WINELIB_NAME(VarI1FromStr)
HRESULT VarI1FromBool32(VARIANT_BOOL boolIn, CHAR*pcOut);
#define VarI1FromBool WINELIB_NAME(VarI1FromBool)
HRESULT VarI1FromUI232(USHORT uiIn, CHAR*pcOut);
#define VarI1FromUI2 WINELIB_NAME(VarI1FromUI2)
HRESULT VarI1FromUI432(ULONG ulIn, CHAR*pcOut);
#define VarI1FromUI4 WINELIB_NAME(VarI1FromUI4)
/*
HRESULT VarI1FromDec32(DECIMAL*pdecIn, CHAR*pcOut);
#define VarI1FromDec WINELIB_NAME(VarI1FromDec)
HRESULT VarI1FromDisp32(IDispatch*pdispIn, LCID lcid, CHAR*pcOut);
#define VarI1FromDisp WINELIB_NAME(VarI1FromDisp)
HRESULT VarI1FromCy32(CY cyIn, CHAR*pcOut);
#define VarI1FromCy WINELIB_NAME(VarI1FromCy)
*/
HRESULT VarUI2FromUI132(BYTE bIn, USHORT*puiOut);
#define VarUI2FromUI1 WINELIB_NAME(VarUI2FromUI1)
HRESULT VarUI2FromI232(short uiIn, USHORT*puiOut);
#define VarUI2FromI2 WINELIB_NAME(VarUI2FromI2)
HRESULT VarUI2FromI432(LONG lIn, USHORT*puiOut);
#define VarUI2FromI4 WINELIB_NAME(VarUI2FromI4)
HRESULT VarUI2FromR432(FLOAT fltIn, USHORT*puiOut);
#define VarUI2FromR4 WINELIB_NAME(VarUI2FromR4)
HRESULT VarUI2FromR832(double dblIn, USHORT*puiOut);
#define VarUI2FromR8 WINELIB_NAME(VarUI2FromR8)
HRESULT VarUI2FromDate32(DATE dateIn, USHORT*puiOut);
#define VarUI2FromDate WINELIB_NAME(VarUI2FromDate)
HRESULT VarUI2FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, USHORT*puiOut);
#define VarUI2FromStr WINELIB_NAME(VarUI2FromStr)
HRESULT VarUI2FromBool32(VARIANT_BOOL boolIn, USHORT*puiOut);
#define VarUI2FromBool WINELIB_NAME(VarUI2FromBool)
HRESULT VarUI2FromI132(CHAR cIn, USHORT*puiOut);
#define VarUI2FromI1 WINELIB_NAME(VarUI2FromI1)
HRESULT VarUI2FromUI432(ULONG ulIn, USHORT*puiOut);
#define VarUI2FromUI4 WINELIB_NAME(VarUI2FromUI4)
/*
HRESULT VarUI2FromDec32(DECIMAL*pdecIn, USHORT*puiOut);
#define VarUI2FromDec WINELIB_NAME(VarUI2FromDec)
HRESULT VarUI2FromCy32(CY cyIn, USHORT*puiOut);
#define VarUI2FromCy WINELIB_NAME(VarUI2FromCy)
HRESULT VarUI2FromDisp32(IDispatch*pdispIn, LCID lcid, USHORT*puiOut);
#define VarUI2FromDisp WINELIB_NAME(VarUI2FromDisp)
*/
HRESULT VarUI4FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, ULONG*pulOut);
#define VarUI4FromStr WINELIB_NAME(VarUI4FromStr)
HRESULT VarUI4FromUI132(BYTE bIn, ULONG*pulOut);
#define VarUI4FromUI1 WINELIB_NAME(VarUI4FromUI1)
HRESULT VarUI4FromI232(short uiIn, ULONG*pulOut);
#define VarUI4FromI2 WINELIB_NAME(VarUI4FromI2)
HRESULT VarUI4FromI432(LONG lIn, ULONG*pulOut);
#define VarUI4FromI4 WINELIB_NAME(VarUI4FromI4)
HRESULT VarUI4FromR432(FLOAT fltIn, ULONG*pulOut);
#define VarUI4FromR4 WINELIB_NAME(VarUI4FromR4)
HRESULT VarUI4FromR832(double dblIn, ULONG*pulOut);
#define VarUI4FromR8 WINELIB_NAME(VarUI4FromR8)
HRESULT VarUI4FromDate32(DATE dateIn, ULONG*pulOut);
#define VarUI4FromDate WINELIB_NAME(VarUI4FromDate)
HRESULT VarUI4FromBool32(VARIANT_BOOL boolIn, ULONG*pulOut);
#define VarUI4FromBool WINELIB_NAME(VarUI4FromBool)
HRESULT VarUI4FromI132(CHAR cIn, ULONG*pulOut);
#define VarUI4FromI1 WINELIB_NAME(VarUI4FromI1)
HRESULT VarUI4FromUI232(USHORT uiIn, ULONG*pulOut);
#define VarUI4FromUI2 WINELIB_NAME(VarUI4FromUI2)
/*
HRESULT VarUI4FromDec32(DECIMAL*pdecIn, ULONG*pulOut);
#define VarUI4FromDec WINELIB_NAME(VarUI4FromDec)
HRESULT VarUI4FromDisp32(IDispatch*pdispIn, LCID lcid, ULONG*pulOut);
#define VarUI4FromDisp WINELIB_NAME(VarUI4FromDisp)
HRESULT VarUI4FromCy32(CY cyIn, ULONG*pulOut);
#define VarUI4FromCy WINELIB_NAME(VarUI4FromCy)
HRESULT VarDecFromUI132(BYTE bIn, DECIMAL*pdecOut);
#define VarDecFromUI1 WINELIB_NAME(VarDecFromUI1)
HRESULT VarDecFromI232(short uiIn, DECIMAL*pdecOut);
#define VarDecFromI2 WINELIB_NAME(VarDecFromI2)
HRESULT VarDecFromI432(LONG lIn, DECIMAL*pdecOut);
#define VarDecFromI4 WINELIB_NAME(VarDecFromI4)
HRESULT VarDecFromR432(FLOAT fltIn, DECIMAL*pdecOut);
#define VarDecFromR4 WINELIB_NAME(VarDecFromR4)
HRESULT VarDecFromR832(double dblIn, DECIMAL*pdecOut);
#define VarDecFromR8 WINELIB_NAME(VarDecFromR8)
HRESULT VarDecFromDate32(DATE dateIn, DECIMAL*pdecOut);
#define VarDecFromDate WINELIB_NAME(VarDecFromDate)
HRESULT VarDecFromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, DECIMAL*pdecOut);
#define VarDecFromStr WINELIB_NAME(VarDecFromStr)
HRESULT VarDecFromBool32(VARIANT_BOOL boolIn, DECIMAL*pdecOut);
#define VarDecFromBool WINELIB_NAME(VarDecFromBool)
HRESULT VarDecFromI132(CHAR cIn, DECIMAL*pdecOut);
#define VarDecFromI1 WINELIB_NAME(VarDecFromI1)
HRESULT VarDecFromUI232(USHORT uiIn, DECIMAL*pdecOut);
#define VarDecFromUI2 WINELIB_NAME(VarDecFromUI2)
HRESULT VarDecFromUI432(ULONG ulIn, DECIMAL*pdecOut);
#define VarDecFromUI4 WINELIB_NAME(VarDecFromUI4)
HRESULT VarDecFromCy32(CY cyIn, DECIMAL*pdecOut);
#define VarDecFromCy WINELIB_NAME(VarDecFromCy)
HRESULT VarDecFromDisp32(IDispatch*pdispIn, LCID lcid, DECIMAL*pdecOut);
#define VarDecFromDisp WINELIB_NAME(VarDecFromDisp)
*/
#define VarUI4FromUI4( in, pOut ) ( *(pOut) = (in) )
#define VarI4FromI4( in, pOut ) ( *(pOut) = (in) )
#define VarUI1FromInt32 VarUI1FromI432
#define VarUI1FromUint32 VarUI1FromUI432
#define VarI2FromInt32 VarI2FromI432
#define VarI2FromUint32 VarI2FromUI432
#define VarI4FromInt32 VarI4FromI432
#define VarI4FromUint32 VarI4FromUI432
#define VarR4FromInt32 VarR4FromI432
#define VarR4FromUint32 VarR4FromUI432
#define VarR8FromInt32 VarR8FromI432
#define VarR8FromUint32 VarR8FromUI432
#define VarDateFromInt32 VarDateFromI432
#define VarDateFromUint32 VarDateFromUI432
#define VarCyFromInt32 VarCyFromI432
#define VarCyFromUint32 VarCyFromUI432
#define VarBstrFromInt32 VarBstrFromI432
#define VarBstrFromUint32 VarBstrFromUI432
#define VarBoolFromInt32 VarBoolFromI432
#define VarBoolFromUint32 VarBoolFromUI432
#define VarI1FromInt32 VarI1FromI432
#define VarI1FromUint32 VarI1FromUI432
#define VarUI2FromInt32 VarUI2FromI432
#define VarUI2FromUint32 VarUI2FromUI432
#define VarUI4FromInt32 VarUI4FromI432
#define VarUI4FromUint32 VarUI4FromUI432
#define VarDecFromInt32 VarDecFromI432
#define VarDecFromUint32 VarDecFromUI432
#define VarIntFromUI132 VarI4FromUI132
#define VarIntFromI232 VarI4FromI232
#define VarIntFromI432 VarI4FromI432
#define VarIntFromR432 VarI4FromR432
#define VarIntFromR832 VarI4FromR832
#define VarIntFromDate32 VarI4FromDate32
#define VarIntFromCy32 VarI4FromCy32
#define VarIntFromStr32 VarI4FromStr32
#define VarIntFromDisp32 VarI4FromDisp32
#define VarIntFromBool32 VarI4FromBool32
#define VarIntFromI132 VarI4FromI132
#define VarIntFromUI232 VarI4FromUI232
#define VarIntFromUI432 VarI4FromUI432
#define VarIntFromDec32 VarI4FromDec32
#define VarIntFromUint32 VarI4FromUI432
#define VarUintFromUI132 VarUI4FromUI132
#define VarUintFromI232 VarUI4FromI232
#define VarUintFromI432 VarUI4FromI432
#define VarUintFromR432 VarUI4FromR432
#define VarUintFromR832 VarUI4FromR832
#define VarUintFromDate32 VarUI4FromDate32
#define VarUintFromCy32 VarUI4FromCy32
#define VarUintFromStr32 VarUI4FromStr32
#define VarUintFromDisp32 VarUI4FromDisp32
#define VarUintFromBool32 VarUI4FromBool32
#define VarUintFromI132 VarUI4FromI132
#define VarUintFromUI232 VarUI4FromUI232
#define VarUintFromUI432 VarUI4FromUI432
#define VarUintFromDec32 VarUI4FromDec32
#define VarUintFromInt32 VarUI4FromI432
#endif /*__WINE_OLEAUTO_H*/

View File

@ -85,6 +85,10 @@ extern int WIN32_LastError;
#define NOERROR 0 #define NOERROR 0
#define S_OK 0 #define S_OK 0
#define DISP_E_BADVARTYPE 0x80020008L
#define DISP_E_OVERFLOW 0x8002000AL
#define DISP_E_TYPEMISMATCH 0x80020005L
#define E_UNEXPECTED 0x8000FFFF #define E_UNEXPECTED 0x8000FFFF

View File

@ -17,7 +17,8 @@ C_SRCS = \
oleobj.c \ oleobj.c \
olesvr.c \ olesvr.c \
storage.c \ storage.c \
typelib.c typelib.c \
variant.c
all: $(MODULE).o all: $(MODULE).o

View File

@ -97,7 +97,7 @@ QueryPathOfRegTypeLib32(
/****************************************************************************** /******************************************************************************
* LoadTypeLib [TYPELIB.3] Loads and registers a type library * LoadTypeLib [TYPELIB.3] Loads and registers a type library
* NOTES * NOTES
* Docs: OLECHAR FAR* szFile * Docs: OLECHAR32 FAR* szFile
* Docs: iTypeLib FAR* FAR* pptLib * Docs: iTypeLib FAR* FAR* pptLib
* *
* RETURNS * RETURNS
@ -116,7 +116,7 @@ HRESULT WINAPI LoadTypeLib(
* LoadTypeLib32 [OLEAUT32.161] * LoadTypeLib32 [OLEAUT32.161]
* Loads and registers a type library * Loads and registers a type library
* NOTES * NOTES
* Docs: OLECHAR FAR* szFile * Docs: OLECHAR32 FAR* szFile
* Docs: iTypeLib FAR* FAR* pptLib * Docs: iTypeLib FAR* FAR* pptLib
* *
* RETURNS * RETURNS
@ -137,8 +137,8 @@ HRESULT WINAPI LoadTypeLib32(
* Adds information about a type library to the System Registry * Adds information about a type library to the System Registry
* NOTES * NOTES
* Docs: ITypeLib FAR * ptlib * Docs: ITypeLib FAR * ptlib
* Docs: OLECHAR FAR* szFullPath * Docs: OLECHAR32 FAR* szFullPath
* Docs: OLECHAR FAR* szHelpDir * Docs: OLECHAR32 FAR* szHelpDir
* *
* RETURNS * RETURNS
* Success: S_OK * Success: S_OK
@ -146,8 +146,8 @@ HRESULT WINAPI LoadTypeLib32(
*/ */
HRESULT WINAPI RegisterTypeLib32( HRESULT WINAPI RegisterTypeLib32(
ITypeLib * ptlib, /*[in] Pointer to the library*/ ITypeLib * ptlib, /*[in] Pointer to the library*/
OLECHAR * szFullPath, /*[in] full Path of the library*/ OLECHAR32 * szFullPath, /*[in] full Path of the library*/
OLECHAR * szHelpDir) /*[in] dir to the helpfile for the library, may be NULL*/ OLECHAR32 * szHelpDir) /*[in] dir to the helpfile for the library, may be NULL*/
{ FIXME(ole, "(%p,%s,%s): stub\n",ptlib, szFullPath,szHelpDir); { FIXME(ole, "(%p,%s,%s): stub\n",ptlib, szFullPath,szHelpDir);
return S_OK; /* FIXME: pretend everything is OK */ return S_OK; /* FIXME: pretend everything is OK */
} }

3600
ole/variant.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -8,11 +8,11 @@ type win32
5 stdcall SysReAllocStringLen(ptr ptr long) SysReAllocStringLen32 5 stdcall SysReAllocStringLen(ptr ptr long) SysReAllocStringLen32
6 stdcall SysFreeString(wstr) SysFreeString32 6 stdcall SysFreeString(wstr) SysFreeString32
7 stdcall SysStringLen(wstr) SysStringLen32 7 stdcall SysStringLen(wstr) SysStringLen32
8 stub VariantInit 8 stdcall VariantInit(ptr) VariantInit32
9 stub VariantClear 9 stdcall VariantClear(ptr) VariantClear32
10 stub VariantCopy 10 stdcall VariantCopy(ptr ptr) VariantCopy32
11 stub VariantCopyInd 11 stdcall VariantCopyInd(ptr ptr) VariantCopyInd32
12 stub VariantChangeType 12 stdcall VariantChangeType(ptr ptr) VariantChangeType32
13 stub VariantTimeToDosDateTime 13 stub VariantTimeToDosDateTime
14 stub DosDateTimeToVariantTime 14 stub DosDateTimeToVariantTime
15 stub SafeArrayCreate 15 stub SafeArrayCreate
@ -44,51 +44,51 @@ type win32
41 stub OACreateTypeLib2 41 stub OACreateTypeLib2
46 stub VarParseNumFromStr 46 stub VarParseNumFromStr
47 stub VarNumFromParseNum 47 stub VarNumFromParseNum
48 stub VarI2FromUI1 48 stdcall VarI2FromUI1(long ptr) VarI2FromUI132
49 stub VarI2FromI4 49 stdcall VarI2FromI4(long ptr) VarI2FromI432
50 stub VarI2FromR4 50 stdcall VarI2FromR4(long ptr) VarI2FromR432
51 stub VarI2FromR8 51 stdcall VarI2FromR8(double ptr) VarI2FromR832
52 stub VarI2FromCy 52 stub VarI2FromCy
53 stub VarI2FromDate 53 stdcall VarI2FromDate(long ptr) VarI2FromDate32
54 stub VarI2FromStr 54 stdcall VarI2FromStr(wstr long long ptr) VarI2FromStr32
55 stub VarI2FromDisp 55 stub VarI2FromDisp
56 stub VarI2FromBool 56 stdcall VarI2FromBool(long ptr) VarI2FromBool32
58 stub VarI4FromUI1 58 stdcall VarI4FromUI1(long ptr) VarI4FromUI132
59 stub VarI4FromI2 59 stdcall VarI4FromI2(long ptr) VarI4FromI232
60 stub VarI4FromR4 60 stdcall VarI4FromR4(long ptr) VarI4FromR432
61 stub VarI4FromR8 61 stdcall VarI4FromR8(double ptr) VarI4FromR832
62 stub VarI4FromCy 62 stub VarI4FromCy
63 stub VarI4FromDate 63 stdcall VarI4FromDate(long ptr) VarI4FromDate32
64 stub VarI4FromStr 64 stdcall VarI4FromStr(wstr long long ptr) VarI4FromStr32
65 stub VarI4FromDisp 65 stub VarI4FromDisp
66 stub VarI4FromBool 66 stdcall VarI4FromBool(long ptr) VarI4FromBool32
68 stub VarR4FromUI1 68 stdcall VarR4FromUI1(long ptr) VarR4FromUI132
69 stub VarR4FromI2 69 stdcall VarR4FromI2(long ptr) VarR4FromI232
70 stub VarR4FromI4 70 stdcall VarR4FromI4(long ptr) VarR4FromI432
71 stub VarR4FromR8 71 stdcall VarR4FromR8(double ptr) VarR4FromR832
72 stub VarR4FromCy 72 stub VarR4FromCy
73 stub VarR4FromDate 73 stdcall VarR4FromDate(long ptr) VarR4FromDate32
74 stub VarR4FromStr 74 stdcall VarR4FromStr(wstr long long ptr) VarR4FromStr32
75 stub VarR4FromDisp 75 stub VarR4FromDisp
76 stub VarR4FromBool 76 stdcall VarR4FromBool(long ptr) VarR4FromBool32
78 stub VarR8FromUI1 78 stdcall VarR8FromUI1(long ptr) VarR8FromUI132
79 stub VarR8FromI2 79 stdcall VarR8FromI2(long ptr) VarR8FromI232
80 stub VarR8FromI4 80 stdcall VarR8FromI4(long ptr) VarR8FromI432
81 stub VarR8FromR4 81 stdcall VarR8FromR4(long ptr) VarR8FromR432
82 stub VarR8FromCy 82 stub VarR8FromCy
83 stub VarR8FromDate 83 stdcall VarR8FromDate(long ptr) VarR8FromDate32
84 stub VarR8FromStr 84 stdcall VarR8FromStr(wstr long long ptr) VarR8FromStr32
85 stub VarR8FromDisp 85 stub VarR8FromDisp
86 stub VarR8FromBool 86 stdcall VarR8FromBool(long ptr) VarR8FromBool32
88 stub VarDateFromUI1 88 stdcall VarDateFromUI1(long ptr) VarDateFromUI132
89 stub VarDateFromI2 89 stdcall VarDateFromI2(long ptr) VarDateFromI232
90 stub VarDateFromI4 90 stdcall VarDateFromI4(long ptr) VarDateFromI432
91 stub VarDateFromR4 91 stdcall VarDateFromR4(long ptr) VarDateFromR432
92 stub VarDateFromR8 92 stdcall VarDateFromR8(double ptr) VarDateFromR832
93 stub VarDateFromCy 93 stub VarDateFromCy
94 stub VarDateFromStr 94 stdcall VarDateFromStr(wstr long long ptr) VarDateFromStr32
95 stub VarDateFromDisp 95 stub VarDateFromDisp
96 stub VarDateFromBool 96 stdcall VarDateFromBool(long ptr) VarDateFromBool32
98 stub VarCyFromUI1 98 stub VarCyFromUI1
99 stub VarCyFromI2 99 stub VarCyFromI2
100 stub VarCyFromI4 100 stub VarCyFromI4
@ -98,35 +98,35 @@ type win32
104 stub VarCyFromStr 104 stub VarCyFromStr
105 stub VarCyFromDisp 105 stub VarCyFromDisp
106 stub VarCyFromBool 106 stub VarCyFromBool
108 stub VarBstrFromUI1 108 stdcall VarBstrFromUI1(long long long ptr) VarBstrFromUI132
109 stub VarBstrFromI2 109 stdcall VarBstrFromI2(long long long ptr) VarBstrFromI232
110 stub VarBstrFromI4 110 stdcall VarBstrFromI4(long long long ptr) VarBstrFromI432
111 stub VarBstrFromR4 111 stdcall VarBstrFromR4(long long long ptr) VarBstrFromR432
112 stub VarBstrFromR8 112 stdcall VarBstrFromR8(double long long ptr) VarBstrFromR832
113 stub VarBstrFromCy 113 stub VarBstrFromCy
114 stub VarBstrFromDate 114 stdcall VarBstrFromDate(long long long ptr) VarBstrFromDate32
115 stub VarBstrFromDisp 115 stub VarBstrFromDisp
116 stub VarBstrFromBool 116 stdcall VarBstrFromBool(long long long ptr) VarBstrFromBool32
118 stub VarBoolFromUI1 118 stdcall VarBoolFromUI1(long ptr) VarBoolFromUI132
119 stub VarBoolFromI2 119 stdcall VarBoolFromI2(long ptr) VarBoolFromI232
120 stub VarBoolFromI4 120 stdcall VarBoolFromI4(long ptr) VarBoolFromI432
121 stub VarBoolFromR4 121 stdcall VarBoolFromR4(long ptr) VarBoolFromR432
122 stub VarBoolFromR8 122 stdcall VarBoolFromR8(double ptr) VarBoolFromR832
123 stub VarBoolFromDate 123 stdcall VarBoolFromDate(long ptr) VarBoolFromDate32
124 stub VarBoolFromCy 124 stub VarBoolFromCy
125 stub VarBoolFromStr 125 stdcall VarBoolFromStr(wstr long long ptr) VarBoolFromStr32
126 stub VarBoolFromDisp 126 stub VarBoolFromDisp
130 stub VarUI1FromI2 130 stdcall VarUI1FromI2(long ptr) VarUI1FromI232
131 stub VarUI1FromI4 131 stdcall VarUI1FromI4(long ptr) VarUI1FromI432
132 stub VarUI1FromR4 132 stdcall VarUI1FromR4(long ptr) VarUI1FromR432
133 stub VarUI1FromR8 133 stdcall VarUI1FromR8(double ptr) VarUI1FromR832
134 stub VarUI1FromCy 134 stub VarUI1FromCy
135 stub VarUI1FromDate 135 stdcall VarUI1FromDate(long ptr) VarUI1FromDate32
136 stub VarUI1FromStr 136 stdcall VarUI1FromStr(wstr long long ptr) VarUI1FromStr32
137 stub VarUI1FromDisp 137 stub VarUI1FromDisp
138 stub VarUI1FromBool 138 stdcall VarUI1FromBool(long ptr) VarUI1FromBool32
146 stub DispCallFunc 146 stub DispCallFunc
147 stub VariantChangeTypeEx 147 stdcall VariantChangeTypeEx(ptr ptr) VariantChangeTypeEx32
148 stub SafeArrayPtrOfIndex 148 stub SafeArrayPtrOfIndex
149 stub SysStringByteLen 149 stub SysStringByteLen
150 stub SysAllocStringByteLen 150 stub SysAllocStringByteLen
@ -158,82 +158,82 @@ type win32
201 stub SetErrorInfo 201 stub SetErrorInfo
202 stub CreateErrorInfo 202 stub CreateErrorInfo
205 stub VarI2FromI1 205 stub VarI2FromI1
206 stub VarI2FromUI2 206 stdcall VarI2FromUI2(long ptr) VarI2FromUI232
207 stub VarI2FromUI4 207 stdcall VarI2FromUI4(long ptr) VarI2FromUI432
208 stub VarI2FromDec 208 stub VarI2FromDec
209 stub VarI4FromI1 209 stdcall VarI4FromI1(long ptr) VarI4FromI132
210 stub VarI4FromUI2 210 stdcall VarI4FromUI2(long ptr) VarI4FromUI232
211 stub VarI4FromUI4 211 stdcall VarI4FromUI4(long ptr) VarI4FromUI432
212 stub VarI4FromDec 212 stub VarI4FromDec
213 stub VarR4FromI1 213 stdcall VarR4FromI1(long ptr) VarR4FromI132
214 stub VarR4FromUI2 214 stdcall VarR4FromUI2(long ptr) VarR4FromUI232
215 stub VarR4FromUI4 215 stdcall VarR4FromUI4(long ptr) VarR4FromUI432
216 stub VarR4FromDec 216 stub VarR4FromDec
217 stub VarR8FromI1 217 stdcall VarR8FromI1(long ptr) VarR8FromI132
218 stub VarR8FromUI2 218 stdcall VarR8FromUI2(long ptr) VarR8FromUI232
219 stub VarR8FromUI4 219 stdcall VarR8FromUI4(long ptr) VarR8FromUI432
220 stub VarR8FromDec 220 stub VarR8FromDec
221 stub VarDateFromI1 221 stdcall VarDateFromI1(long ptr) VarDateFromI132
222 stub VarDateFromUI2 222 stdcall VarDateFromUI2(long ptr) VarDateFromUI232
223 stub VarDateFromUI4 223 stdcall VarDateFromUI4(long ptr) VarDateFromUI432
224 stub VarDateFromDec 224 stub VarDateFromDec
225 stub VarCyFromI1 225 stub VarCyFromI1
226 stub VarCyFromUI2 226 stub VarCyFromUI2
227 stub VarCyFromUI4 227 stub VarCyFromUI4
228 stub VarCyFromDec 228 stub VarCyFromDec
229 stub VarBstrFromI1 229 stdcall VarBstrFromI1(long long long ptr) VarBstrFromI132
230 stub VarBstrFromUI2 230 stdcall VarBstrFromUI2(long long long ptr) VarBstrFromUI232
231 stub VarBstrFromUI4 231 stdcall VarBstrFromUI4(long long long ptr) VarBstrFromUI432
232 stub VarBstrFromDec 232 stub VarBstrFromDec
233 stub VarBoolFromI1 233 stdcall VarBoolFromI1(long ptr) VarBoolFromI132
234 stub VarBoolFromUI2 234 stdcall VarBoolFromUI2(long ptr) VarBoolFromUI232
235 stub VarBoolFromUI4 235 stdcall VarBoolFromUI4(long ptr) VarBoolFromUI432
236 stub VarBoolFromDec 236 stub VarBoolFromDec
237 stub VarUI1FromI1 237 stdcall VarUI1FromI1(long ptr) VarUI1FromI132
238 stub VarUI1FromUI2 238 stdcall VarUI1FromUI2(long ptr) VarUI1FromUI232
239 stub VarUI1FromUI4 239 stdcall VarUI1FromUI4(long ptr) VarUI1FromUI432
240 stub VarUI1FromDec 240 stub VarUI1FromDec
241 stub VarDecFromI1 241 stub VarDecFromI1
242 stub VarDecFromUI2 242 stub VarDecFromUI2
243 stub VarDecFromUI4 243 stub VarDecFromUI4
244 stub VarI1FromUI1 244 stdcall VarI1FromUI1(long ptr) VarI1FromUI132
245 stub VarI1FromI2 245 stdcall VarI1FromI2(long ptr) VarI1FromI232
246 stub VarI1FromI4 246 stdcall VarI1FromI4(long ptr) VarI1FromI432
247 stub VarI1FromR4 247 stdcall VarI1FromR4(long ptr) VarI1FromR432
248 stub VarI1FromR8 248 stdcall VarI1FromR8(double ptr) VarI1FromR832
249 stub VarI1FromDate 249 stdcall VarI1FromDate(long ptr) VarI1FromDate32
250 stub VarI1FromCy 250 stub VarI1FromCy
251 stub VarI1FromStr 251 stdcall VarI1FromStr(wstr long long ptr) VarI1FromStr32
252 stub VarI1FromDisp 252 stub VarI1FromDisp
253 stub VarI1FromBool 253 stdcall VarI1FromBool(long ptr) VarI1FromBool32
254 stub VarI1FromUI2 254 stdcall VarI1FromUI2(long ptr) VarI1FromUI232
255 stub VarI1FromUI4 255 stdcall VarI1FromUI4(long ptr) VarI1FromUI432
256 stub VarI1FromDec 256 stub VarI1FromDec
257 stub VarUI2FromUI1 257 stdcall VarUI2FromUI1(long ptr) VarUI2FromUI132
258 stub VarUI2FromI2 258 stdcall VarUI2FromI2(long ptr) VarUI2FromI232
259 stub VarUI2FromI4 259 stdcall VarUI2FromI4(long ptr) VarUI2FromI432
260 stub VarUI2FromR4 260 stdcall VarUI2FromR4(long ptr) VarUI2FromR432
261 stub VarUI2FromR8 261 stdcall VarUI2FromR8(double ptr) VarUI2FromR832
262 stub VarUI2FromDate 262 stdcall VarUI2FromDate(long ptr) VarUI2FromDate32
263 stub VarUI2FromCy 263 stub VarUI2FromCy
264 stub VarUI2FromStr 264 stdcall VarUI2FromStr(wstr long long ptr) VarUI2FromStr32
265 stub VarUI2FromDisp 265 stub VarUI2FromDisp
266 stub VarUI2FromBool 266 stdcall VarUI2FromBool(long ptr) VarUI2FromBool32
267 stub VarUI2FromI1 267 stdcall VarUI2FromI1(long ptr) VarUI2FromI132
268 stub VarUI2FromUI4 268 stdcall VarUI2FromUI4(long ptr) VarUI2FromUI432
269 stub VarUI2FromDec 269 stub VarUI2FromDec
270 stub VarUI4FromUI1 270 stdcall VarUI4FromUI1(long ptr) VarUI4FromUI132
271 stub VarUI4FromI2 271 stdcall VarUI4FromI2(long ptr) VarUI4FromI232
272 stub VarUI4FromI4 272 stdcall VarUI4FromI4(long ptr) VarUI4FromI432
273 stub VarUI4FromR4 273 stdcall VarUI4FromR4(long ptr) VarUI4FromR432
274 stub VarUI4FromR8 274 stdcall VarUI4FromR8(double ptr) VarUI4FromR832
275 stub VarUI4FromDate 275 stdcall VarUI4FromDate(long ptr) VarUI4FromDate32
276 stub VarUI4FromCy 276 stub VarUI4FromCy
277 stub VarUI4FromStr 277 stdcall VarUI4FromStr(wstr long long ptr) VarUI4FromStr32
278 stub VarUI4FromDisp 278 stub VarUI4FromDisp
279 stub VarUI4FromBool 279 stdcall VarUI4FromBool(long ptr) VarUI4FromBool32
280 stub VarUI4FromI1 280 stdcall VarUI4FromI1(long ptr) VarUI4FromI132
281 stub VarUI4FromUI2 281 stdcall VarUI4FromUI2(long ptr) VarUI4FromUI232
282 stub VarUI4FromDec 282 stub VarUI4FromDec
283 stub BSTR_UserSize 283 stub BSTR_UserSize
284 stub BSTR_UserMarshal 284 stub BSTR_UserMarshal