/* * oleauto.h OLE automation functions * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #ifndef _OLEAUTO_H_ #define _OLEAUTO_H_ #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #include #ifdef __cplusplus extern "C" { #endif /* Macros to specify OLE automation functions */ #define WINOLEAUTAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE #define WINOLEAUTAPI_( x ) EXTERN_C DECLSPEC_IMPORT x STDAPICALLTYPE /* Version numbers for STDOLE.TLB */ #define STDOLE_MAJORVERNUM 1 #define STDOLE_MINORVERNUM 0 #define STDOLE_LCID 0x0000 /* Version numbers for STDOLE2.TLB */ #define STDOLE2_MAJORVERNUM 2 #define STDOLE2_MINORVERNUM 0 #define STDOLE2_LCID 0x0000 /* VariantChangeType() flags */ #define VARIANT_NOVALUEPROP 0x0001 #define VARIANT_ALPHABOOL 0x0002 #define VARIANT_NOUSEROVERRIDE 0x0004 #define VARIANT_CALENDAR_HIJRI 0x0008 #define VARIANT_LOCALBOOL 0x0010 #define VARIANT_CALENDAR_THAI 0x0020 #define VARIANT_CALENDAR_GREGORIAN 0x0040 #define VARIANT_USE_NLS 0x0080 /* Variant date conversion flags */ #define VAR_TIMEVALUEONLY 0x00000001L #define VAR_DATEVALUEONLY 0x00000002L #define VAR_VALIDDATE 0x00000004L #define VAR_CALENDAR_HIJRI 0x00000008L #define VAR_LOCALBOOL 0x00000010L #define VAR_FORMAT_SUBSTITUTE 0x00000020L #define VAR_FOURDIGITYEARS 0x00000040L #define VAR_CALENDAR_THAI 0x00000080L #define VAR_CALENDAR_GREGORIAN 0x00000100L /* Minimum and maximum date values */ #define VTDATEGRE_MAX 2958465 #define VTDATEGRE_MIN (-657434) /* Number parsing flags */ #define NUMPRS_LEADING_WHITE 0x00000001L #define NUMPRS_TRAILING_WHITE 0x00000002L #define NUMPRS_LEADING_PLUS 0x00000004L #define NUMPRS_TRAILING_PLUS 0x00000008L #define NUMPRS_LEADING_MINUS 0x00000010L #define NUMPRS_TRAILING_MINUS 0x00000020L #define NUMPRS_HEX_OCT 0x00000040L #define NUMPRS_PARENS 0x00000080L #define NUMPRS_DECIMAL 0x00000100L #define NUMPRS_THOUSANDS 0x00000200L #define NUMPRS_CURRENCY 0x00000400L #define NUMPRS_EXPONENT 0x00000800L #define NUMPRS_USE_ALL 0x00001000L #define NUMPRS_STD 0x00001FFFL #define NUMPRS_NEG 0x00010000L #define NUMPRS_INEXACT 0x00020000L /* VarNumFromParseNum() flags */ #define VTBIT_I1 (1 << VT_I1) #define VTBIT_UI1 (1 << VT_UI1) #define VTBIT_I2 (1 << VT_I2) #define VTBIT_UI2 (1 << VT_UI2) #define VTBIT_I4 (1 << VT_I4) #define VTBIT_UI4 (1 << VT_UI4) #define VTBIT_I8 (1 << VT_I8) #define VTBIT_UI8 (1 << VT_UI8) #define VTBIT_R4 (1 << VT_R4) #define VTBIT_R8 (1 << VT_R8) #define VTBIT_CY (1 << VT_CY) #define VTBIT_DECIMAL (1 << VT_DECIMAL) /* Comparison return values */ #define VARCMP_LT 0 #define VARCMP_EQ 1 #define VARCMP_GT 2 #define VARCMP_NULL 3 /* Variant type special value */ #define VT_HARDTYPE VT_RESERVED /* Member identifier special value */ #define MEMBERID_NIL DISPID_UNKNOWN /* IDispatch::Invoke() flags */ #define DISPATCH_METHOD 0x00000001L #define DISPATCH_PROPERTYGET 0x00000002L #define DISPATCH_PROPERTYPUT 0x00000004L #define DISPATCH_PROPERTYPUTREF 0x00000008L /* LoadTypeLibEx() flags */ #define LOAD_TLB_AS_32BIT 0x00000020 #define LOAD_TLB_AS_64BIT 0x00000040 /* RegisterActiveObject() flags */ #define ACTIVEOBJECT_STRONG 0x00000000L #define ACTIVEOBJECT_WEAK 0x00000001L /* Variant access macros */ #ifdef NONAMELESSUNION #define V_UNION( x, p ) ((x)->n1.n2.n3.p) #define V_VT( x ) ((x)->n1.n2.vt) #define V_RECORDINFO( x ) ((x)->n1.n2.n3.brecVal.pRecInfo) #define V_RECORD( x ) ((x)->n1.n2.n3.brecVal.pvRecord) #else #define V_UNION( x, p ) ((x)->p) #define V_VT( x ) ((x)->vt) #define V_RECORDINFO( x ) ((x)->pRecInfo) #define V_RECORD( x ) ((x)->pvRecord) #endif #define V_UI1( x ) V_UNION( x, bVal ) #define V_UI1REF( x ) V_UNION( x, pbVal ) #define V_I2( x ) V_UNION( x, iVal ) #define V_I2REF( x ) V_UNION( x, piVal ) #define V_I4( x ) V_UNION( x, lVal ) #define V_I4REF( x ) V_UNION( x, plVal ) #define V_I8( x ) V_UNION( x, llVal ) #define V_I8REF( x ) V_UNION( x, pllVal ) #define V_R4( x ) V_UNION( x, fltVal ) #define V_R4REF( x ) V_UNION( x, pfltVal ) #define V_R8( x ) V_UNION( x, dblVal ) #define V_R8REF( x ) V_UNION( x, pdblVal ) #define V_I1( x ) V_UNION( x, cVal ) #define V_I1REF( x ) V_UNION( x, pcVal ) #define V_UI2( x ) V_UNION( x, uiVal ) #define V_UI2REF( x ) V_UNION( x, puiVal ) #define V_UI4( x ) V_UNION( x, ulVal ) #define V_UI4REF( x ) V_UNION( x, pulVal ) #define V_UI8( x ) V_UNION( x, ullVal ) #define V_UI8REF( x ) V_UNION( x, pullVal ) #define V_INT( x ) V_UNION( x, intVal ) #define V_INTREF( x ) V_UNION( x, pintVal ) #define V_UINT( x ) V_UNION( x, uintVal ) #define V_UINTREF( x ) V_UNION( x, puintVal ) #define V_INT_PTR( x ) V_UNION( x, lVal ) #define V_UINT_PTR( x ) V_UNION( x, ulVal ) #define V_INT_PTRREF( x ) V_UNION( x, plVal ) #define V_UINT_PTRREF( x ) V_UNION( x, pulVal ) #define V_CY( x ) V_UNION( x, cyVal ) #define V_CYREF( x ) V_UNION( x, pcyVal ) #define V_DATE( x ) V_UNION( x, date ) #define V_DATEREF( x ) V_UNION( x, pdate ) #define V_BSTR( x ) V_UNION( x, bstrVal ) #define V_BSTRREF( x ) V_UNION( x, pbstrVal ) #define V_DISPATCH( x ) V_UNION( x, pdispVal ) #define V_DISPATCHREF( x ) V_UNION( x, ppdispVal ) #define V_ERROR( x ) V_UNION( x, scode ) #define V_ERRORREF( x ) V_UNION( x, pscode ) #define V_BOOL( x ) V_UNION( x, boolVal ) #define V_BOOLREF( x ) V_UNION( x, pboolVal ) #define V_UNKNOWN( x ) V_UNION( x, punkVal ) #define V_UNKNOWNREF( x ) V_UNION( x, ppunkVal ) #define V_VARIANTREF( x ) V_UNION( x, pvarVal ) #define V_ARRAY( x ) V_UNION( x, parray ) #define V_ARRAYREF( x ) V_UNION( x, pparray ) #define V_BYREF( x ) V_UNION( x, byref ) #define V_DECIMAL( x ) V_UNION( x, decVal ) #define V_DECIMALREF( x ) V_UNION( x, pdecVal ) #define V_ISBYREF( x ) (V_VT( x ) & VT_BYREF) #define V_ISARRAY( x ) (V_VT( x ) & VT_ARRAY) #define V_ISVECTOR( x ) (V_VT( x ) & VT_VECTOR) #define V_NONE( x ) V_I2( x ) /* Number parsing information */ typedef struct { INT cDig; ULONG dwInFlags; ULONG dwOutFlags; INT cchUsed; INT nBaseShif; INT nPwr10; } NUMPARSE; /* Unpacked date */ typedef struct { SYSTEMTIME st; USHORT wDayOfYear; } UDATE; /* Registration kinds */ typedef enum tagREGKIND { REGKIND_DEFAULT = 0, REGKIND_REGISTER = 1, REGKIND_NONE = 2 } REGKIND; /* Parameter data */ typedef struct tagPARAMDATA { OLECHAR *szName; VARTYPE vt; } PARAMDATA; typedef PARAMDATA *LPPARAMDATA; /* Method data */ typedef struct tagMETHODDATA { OLECHAR *szName; PARAMDATA *ppdata; DISPID dispid; UINT iMeth; CALLCONV cc; UINT cArgs; WORD wFlags; VARTYPE vtReturn; } METHODDATA; typedef METHODDATA *LPMETHODDATA; /* Interface data */ typedef struct tagINTERFACEDATA { METHODDATA *pmethdata; UINT cMembers; } INTERFACEDATA; typedef INTERFACEDATA *LPINTERFACEDATA; /* Functions in OLEAUT32.DLL */ WINOLEAUTAPI BstrFromVector( SAFEARRAY *, BSTR * ); WINOLEAUTAPI_( void ) ClearCustData( LPCUSTDATA ); WINOLEAUTAPI CreateDispTypeInfo( INTERFACEDATA *, LCID, ITypeInfo ** ); WINOLEAUTAPI CreateErrorInfo( ICreateErrorInfo ** ); WINOLEAUTAPI CreateStdDispatch( IUnknown *, void *, ITypeInfo *, IUnknown ** ); WINOLEAUTAPI CreateTypeLib( SYSKIND, LPCOLESTR, ICreateTypeLib ** ); WINOLEAUTAPI CreateTypeLib2( SYSKIND, LPCOLESTR, ICreateTypeLib2 ** ); WINOLEAUTAPI DispCallFunc( void *, ULONG_PTR, CALLCONV, VARTYPE, UINT, VARTYPE *, VARIANTARG **, VARIANT * ); WINOLEAUTAPI DispGetIDsOfNames( ITypeInfo *, OLECHAR **, UINT, DISPID * ); WINOLEAUTAPI DispGetParam( DISPPARAMS *, UINT, VARTYPE, VARIANT *, UINT * ); WINOLEAUTAPI DispInvoke( void *, ITypeInfo *, DISPID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ); WINOLEAUTAPI_( INT ) DosDateTimeToVariantTime( USHORT, USHORT, DOUBLE * ); WINOLEAUTAPI GetActiveObject( REFCLSID, void *, IUnknown ** ); WINOLEAUTAPI GetAltMonthNames( LCID, LPOLESTR ** ); WINOLEAUTAPI GetErrorInfo( ULONG, IErrorInfo ** ); WINOLEAUTAPI GetRecordInfoFromGuids( REFGUID, ULONG, ULONG, LCID, REFGUID, IRecordInfo ** ); WINOLEAUTAPI GetRecordInfoFromTypeInfo( ITypeInfo *, IRecordInfo ** ); WINOLEAUTAPI_( ULONG ) LHashValOfNameSys( SYSKIND, LCID, const OLECHAR * ); WINOLEAUTAPI_( ULONG ) LHashValOfNameSysA( SYSKIND, LCID, LPCSTR ); WINOLEAUTAPI LoadRegTypeLib( REFGUID, WORD, WORD, LCID, ITypeLib ** ); WINOLEAUTAPI LoadTypeLib( LPCOLESTR, ITypeLib ** ); WINOLEAUTAPI LoadTypeLibEx( LPCOLESTR, REGKIND, ITypeLib ** ); WINOLEAUTAPI_( ULONG ) OaBuildVersion( void ); WINOLEAUTAPI QueryPathOfRegTypeLib( REFGUID, USHORT, USHORT, LCID, LPBSTR ); WINOLEAUTAPI RegisterActiveObject( IUnknown *, REFCLSID, DWORD, DWORD * ); WINOLEAUTAPI RegisterTypeLib( ITypeLib *, LPCOLESTR, LPCOLESTR ); WINOLEAUTAPI RegisterTypeLibForUser( ITypeLib *, OLECHAR *, OLECHAR * ); WINOLEAUTAPI RevokeActiveObject( DWORD, void * ); WINOLEAUTAPI SafeArrayAccessData( SAFEARRAY *, void ** ); WINOLEAUTAPI SafeArrayAllocData( SAFEARRAY * ); WINOLEAUTAPI SafeArrayAllocDescriptor( UINT, SAFEARRAY ** ); WINOLEAUTAPI SafeArrayAllocDescriptorEx( VARTYPE, UINT, SAFEARRAY ** ); WINOLEAUTAPI SafeArrayCopy( SAFEARRAY *, SAFEARRAY ** ); WINOLEAUTAPI SafeArrayCopyData( SAFEARRAY *, SAFEARRAY * ); WINOLEAUTAPI_( SAFEARRAY * ) SafeArrayCreate( VARTYPE, UINT, SAFEARRAYBOUND * ); WINOLEAUTAPI_( SAFEARRAY * ) SafeArrayCreateEx( VARTYPE, UINT, SAFEARRAYBOUND *, PVOID ); WINOLEAUTAPI_( SAFEARRAY * ) SafeArrayCreateVector( VARTYPE, LONG, ULONG ); WINOLEAUTAPI_( SAFEARRAY * ) SafeArrayCreateVectorEx( VARTYPE, LONG, ULONG, PVOID ); WINOLEAUTAPI SafeArrayDestroy( SAFEARRAY * ); WINOLEAUTAPI SafeArrayDestroyData( SAFEARRAY * ); WINOLEAUTAPI SafeArrayDestroyDescriptor( SAFEARRAY * ); WINOLEAUTAPI_( UINT ) SafeArrayGetDim( SAFEARRAY * ); WINOLEAUTAPI SafeArrayGetElement( SAFEARRAY *, LONG *, void * ); WINOLEAUTAPI_( UINT ) SafeArrayGetElemsize( SAFEARRAY * ); WINOLEAUTAPI SafeArrayGetIID( SAFEARRAY *, GUID * ); WINOLEAUTAPI SafeArrayGetLBound( SAFEARRAY *, UINT, LONG * ); WINOLEAUTAPI SafeArrayGetRecordInfo( SAFEARRAY *, IRecordInfo ** ); WINOLEAUTAPI SafeArrayGetUBound( SAFEARRAY *, UINT, LONG * ); WINOLEAUTAPI SafeArrayGetVartype( SAFEARRAY *, VARTYPE * ); WINOLEAUTAPI SafeArrayLock( SAFEARRAY * ); WINOLEAUTAPI SafeArrayPtrOfIndex( SAFEARRAY *, LONG *, void ** ); WINOLEAUTAPI SafeArrayPutElement( SAFEARRAY *, LONG *, void * ); WINOLEAUTAPI SafeArrayRedim( SAFEARRAY *, SAFEARRAYBOUND * ); WINOLEAUTAPI SafeArraySetIID( SAFEARRAY *, REFGUID ); WINOLEAUTAPI SafeArraySetRecordInfo( SAFEARRAY *, IRecordInfo * ); WINOLEAUTAPI SafeArrayUnaccessData( SAFEARRAY * ); WINOLEAUTAPI SafeArrayUnlock( SAFEARRAY * ); WINOLEAUTAPI SetErrorInfo( ULONG, IErrorInfo * ); WINOLEAUTAPI_( BSTR ) SysAllocString( const OLECHAR * ); WINOLEAUTAPI_( BSTR ) SysAllocStringByteLen( LPCSTR, UINT ); WINOLEAUTAPI_( BSTR ) SysAllocStringLen( const OLECHAR *, UINT ); WINOLEAUTAPI_( void ) SysFreeString( BSTR ); WINOLEAUTAPI_( INT ) SysReAllocString( BSTR *, const OLECHAR * ); WINOLEAUTAPI_( INT ) SysReAllocStringLen( BSTR *, const OLECHAR *, unsigned int ); WINOLEAUTAPI_( UINT ) SysStringByteLen( BSTR ); WINOLEAUTAPI_( UINT ) SysStringLen( BSTR ); WINOLEAUTAPI_( INT ) SystemTimeToVariantTime( LPSYSTEMTIME, DOUBLE * ); WINOLEAUTAPI UnRegisterTypeLib( REFGUID, WORD, WORD, LCID, SYSKIND ); WINOLEAUTAPI UnRegisterTypeLibForUser( REFGUID, WORD, WORD, LCID, SYSKIND ); WINOLEAUTAPI VarAbs( LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarAdd( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarAnd( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarBoolFromCy( CY, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromDate( DATE, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromDec( const DECIMAL *, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromDisp( IDispatch *, LCID, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromI1( CHAR, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromI2( SHORT, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromI4( LONG, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromI8( LONG64, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromR4( FLOAT, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromR8( DOUBLE, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromStr( LPCOLESTR, LCID, ULONG, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromUI1( BYTE, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromUI2( USHORT, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromUI4( ULONG, VARIANT_BOOL * ); WINOLEAUTAPI VarBoolFromUI8( ULONG64, VARIANT_BOOL * ); WINOLEAUTAPI VarBstrCat( BSTR, BSTR, LPBSTR ); WINOLEAUTAPI VarBstrCmp( BSTR, BSTR, LCID, ULONG ); WINOLEAUTAPI VarBstrFromBool( VARIANT_BOOL, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromCy( CY, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromDate( DATE, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromDec( const DECIMAL *, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromDisp( IDispatch *, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromI1( CHAR, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromI2( SHORT, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromI4( LONG, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromI8( LONG64, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromR4( FLOAT, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromR8( DOUBLE, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromUI1( BYTE, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromUI2( USHORT, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromUI4( ULONG, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarBstrFromUI8( ULONG64, LCID, ULONG, BSTR * ); WINOLEAUTAPI VarCat( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarCmp( LPVARIANT, LPVARIANT, LCID, ULONG ); WINOLEAUTAPI VarCyAbs( CY, LPCY ); WINOLEAUTAPI VarCyAdd( CY, CY, LPCY ); WINOLEAUTAPI VarCyCmp( CY, CY ); WINOLEAUTAPI VarCyCmpR8( CY, double ); WINOLEAUTAPI VarCyFix( CY, LPCY ); WINOLEAUTAPI VarCyFromBool( VARIANT_BOOL, CY * ); WINOLEAUTAPI VarCyFromDate( DATE, CY * ); WINOLEAUTAPI VarCyFromDec( const DECIMAL *, CY * ); WINOLEAUTAPI VarCyFromDisp( IDispatch *, LCID, CY * ); WINOLEAUTAPI VarCyFromI1( CHAR, CY * ); WINOLEAUTAPI VarCyFromI2( SHORT, CY * ); WINOLEAUTAPI VarCyFromI4( LONG, CY * ); WINOLEAUTAPI VarCyFromI8( LONG64, CY * ); WINOLEAUTAPI VarCyFromR4( FLOAT, CY * ); WINOLEAUTAPI VarCyFromR8( DOUBLE, CY * ); WINOLEAUTAPI VarCyFromStr( LPCOLESTR, LCID, ULONG, CY * ); WINOLEAUTAPI VarCyFromUI1( BYTE, CY * ); WINOLEAUTAPI VarCyFromUI2( USHORT, CY * ); WINOLEAUTAPI VarCyFromUI4( ULONG, CY * ); WINOLEAUTAPI VarCyFromUI8( ULONG64, CY * ); WINOLEAUTAPI VarCyInt( CY, LPCY ); WINOLEAUTAPI VarCyMul( CY, CY, LPCY ); WINOLEAUTAPI VarCyMulI4( CY, long, LPCY ); WINOLEAUTAPI VarCyMulI8( CY, LONG64, LPCY ); WINOLEAUTAPI VarCyNeg( CY, LPCY ); WINOLEAUTAPI VarCyRound( CY, int, LPCY ); WINOLEAUTAPI VarCySub( CY, CY, LPCY ); WINOLEAUTAPI VarDateFromBool( VARIANT_BOOL, DATE * ); WINOLEAUTAPI VarDateFromCy( CY, DATE * ); WINOLEAUTAPI VarDateFromDec( const DECIMAL *, DATE * ); WINOLEAUTAPI VarDateFromDisp( IDispatch *, LCID, DATE * ); WINOLEAUTAPI VarDateFromI1( CHAR, DATE * ); WINOLEAUTAPI VarDateFromI2( SHORT, DATE * ); WINOLEAUTAPI VarDateFromI4( LONG, DATE * ); WINOLEAUTAPI VarDateFromI8( LONG64, DATE * ); WINOLEAUTAPI VarDateFromR4( FLOAT, DATE * ); WINOLEAUTAPI VarDateFromR8( DOUBLE, DATE * ); WINOLEAUTAPI VarDateFromStr( LPCOLESTR, LCID, ULONG, DATE * ); WINOLEAUTAPI VarDateFromUI1( BYTE, DATE * ); WINOLEAUTAPI VarDateFromUI2( USHORT, DATE * ); WINOLEAUTAPI VarDateFromUI4( ULONG, DATE * ); WINOLEAUTAPI VarDateFromUI8( ULONG64, DATE * ); WINOLEAUTAPI VarDateFromUdate( UDATE *, ULONG, DATE * ); WINOLEAUTAPI VarDateFromUdateEx( UDATE *, LCID, ULONG, DATE * ); WINOLEAUTAPI VarDecAbs( LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDecAdd( LPDECIMAL, LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDecCmp( LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDecCmpR8( LPDECIMAL, double ); WINOLEAUTAPI VarDecDiv( LPDECIMAL, LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDecFix( LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDecFromBool( VARIANT_BOOL, DECIMAL * ); WINOLEAUTAPI VarDecFromCy( CY, DECIMAL * ); WINOLEAUTAPI VarDecFromDate( DATE, DECIMAL * ); WINOLEAUTAPI VarDecFromDisp( IDispatch *, LCID, DECIMAL * ); WINOLEAUTAPI VarDecFromI1( CHAR, DECIMAL * ); WINOLEAUTAPI VarDecFromI2( SHORT, DECIMAL * ); WINOLEAUTAPI VarDecFromI4( LONG, DECIMAL * ); WINOLEAUTAPI VarDecFromI8( LONG64, DECIMAL * ); WINOLEAUTAPI VarDecFromR4( FLOAT, DECIMAL * ); WINOLEAUTAPI VarDecFromR8( DOUBLE, DECIMAL * ); WINOLEAUTAPI VarDecFromStr( LPCOLESTR, LCID, ULONG, DECIMAL * ); WINOLEAUTAPI VarDecFromUI1( BYTE, DECIMAL * ); WINOLEAUTAPI VarDecFromUI2( USHORT, DECIMAL * ); WINOLEAUTAPI VarDecFromUI4( ULONG, DECIMAL * ); WINOLEAUTAPI VarDecFromUI8( ULONG64, DECIMAL * ); WINOLEAUTAPI VarDecInt( LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDecMul( LPDECIMAL, LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDecNeg( LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDecRound( LPDECIMAL, LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDecSub( LPDECIMAL, LPDECIMAL, LPDECIMAL ); WINOLEAUTAPI VarDiv( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarEqv( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarFix( LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarFormat( LPVARIANT, LPOLESTR, int, int, ULONG, BSTR * ); WINOLEAUTAPI VarFormatCurrency( LPVARIANT, int, int, int, int, ULONG, BSTR * ); WINOLEAUTAPI VarFormatDateTime( LPVARIANT, int, ULONG, BSTR * ); WINOLEAUTAPI VarFormatFromTokens( LPVARIANT, LPOLESTR, LPBYTE, ULONG, BSTR *, LCID ); WINOLEAUTAPI VarFormatNumber( LPVARIANT, int, int, int, int, ULONG, BSTR * ); WINOLEAUTAPI VarFormatPercent( LPVARIANT, int, int, int, int, ULONG, BSTR * ); WINOLEAUTAPI VarI1FromBool( VARIANT_BOOL, CHAR * ); WINOLEAUTAPI VarI1FromCy( CY, CHAR * ); WINOLEAUTAPI VarI1FromDate( DATE, CHAR * ); WINOLEAUTAPI VarI1FromDec( const DECIMAL *, CHAR * ); WINOLEAUTAPI VarI1FromDisp( IDispatch *, LCID, CHAR * ); WINOLEAUTAPI VarI1FromI2( SHORT, CHAR * ); WINOLEAUTAPI VarI1FromI4( LONG, CHAR * ); WINOLEAUTAPI VarI1FromI8( LONG64, CHAR * ); WINOLEAUTAPI VarI1FromR4( FLOAT, CHAR * ); WINOLEAUTAPI VarI1FromR8( DOUBLE, CHAR * ); WINOLEAUTAPI VarI1FromStr( LPCOLESTR, LCID, ULONG, CHAR * ); WINOLEAUTAPI VarI1FromUI1( BYTE, CHAR * ); WINOLEAUTAPI VarI1FromUI2( USHORT, CHAR * ); WINOLEAUTAPI VarI1FromUI4( ULONG, CHAR * ); WINOLEAUTAPI VarI1FromUI8( ULONG64, CHAR * ); WINOLEAUTAPI VarI2FromBool( VARIANT_BOOL, SHORT * ); WINOLEAUTAPI VarI2FromCy( CY, SHORT * ); WINOLEAUTAPI VarI2FromDate( DATE, SHORT * ); WINOLEAUTAPI VarI2FromDec( const DECIMAL *, SHORT * ); WINOLEAUTAPI VarI2FromDisp( IDispatch *, LCID, SHORT * ); WINOLEAUTAPI VarI2FromI1( CHAR, SHORT * ); WINOLEAUTAPI VarI2FromI4( LONG, SHORT * ); WINOLEAUTAPI VarI2FromI8( LONG64, SHORT * ); WINOLEAUTAPI VarI2FromR4( FLOAT, SHORT * ); WINOLEAUTAPI VarI2FromR8( DOUBLE, SHORT * ); WINOLEAUTAPI VarI2FromStr( LPCOLESTR, LCID, ULONG, SHORT * ); WINOLEAUTAPI VarI2FromUI1( BYTE, SHORT * ); WINOLEAUTAPI VarI2FromUI2( USHORT, SHORT * ); WINOLEAUTAPI VarI2FromUI4( ULONG, SHORT * ); WINOLEAUTAPI VarI2FromUI8( ULONG64, SHORT * ); WINOLEAUTAPI VarI4FromBool( VARIANT_BOOL, LONG * ); WINOLEAUTAPI VarI4FromCy( CY, LONG * ); WINOLEAUTAPI VarI4FromDate( DATE, LONG * ); WINOLEAUTAPI VarI4FromDec( const DECIMAL *, LONG * ); WINOLEAUTAPI VarI4FromDisp( IDispatch *, LCID, LONG * ); WINOLEAUTAPI VarI4FromI1( CHAR, LONG * ); WINOLEAUTAPI VarI4FromI2( SHORT, LONG * ); WINOLEAUTAPI VarI4FromI8( LONG64, LONG * ); WINOLEAUTAPI VarI4FromInt( INT, LONG * ); WINOLEAUTAPI VarI4FromR4( FLOAT, LONG * ); WINOLEAUTAPI VarI4FromR8( DOUBLE, LONG * ); WINOLEAUTAPI VarI4FromStr( LPCOLESTR, LCID, ULONG, LONG * ); WINOLEAUTAPI VarI4FromUI1( BYTE, LONG * ); WINOLEAUTAPI VarI4FromUI2( USHORT, LONG * ); WINOLEAUTAPI VarI4FromUI4( ULONG, LONG * ); WINOLEAUTAPI VarI4FromUI8( ULONG64, LONG * ); WINOLEAUTAPI VarI8FromBool( VARIANT_BOOL, LONG64 * ); WINOLEAUTAPI VarI8FromCy( CY, LONG64 * ); WINOLEAUTAPI VarI8FromDate( DATE, LONG64 * ); WINOLEAUTAPI VarI8FromDec( const DECIMAL *, LONG64 * ); WINOLEAUTAPI VarI8FromDisp( IDispatch *, LCID, LONG64 * ); WINOLEAUTAPI VarI8FromI1( CHAR, LONG64 * ); WINOLEAUTAPI VarI8FromI2( SHORT, LONG64 * ); WINOLEAUTAPI VarI8FromI4( LONG, LONG64 * ); WINOLEAUTAPI VarI8FromInt( INT, LONG64 * ); WINOLEAUTAPI VarI8FromR4( FLOAT, LONG64 * ); WINOLEAUTAPI VarI8FromR8( DOUBLE, LONG64 * ); WINOLEAUTAPI VarI8FromStr( LPCOLESTR, LCID, unsigned long, LONG64 * ); WINOLEAUTAPI VarI8FromUI1( BYTE, LONG64 * ); WINOLEAUTAPI VarI8FromUI2( USHORT, LONG64 * ); WINOLEAUTAPI VarI8FromUI4( ULONG, LONG64 * ); WINOLEAUTAPI VarI8FromUI8( ULONG64, LONG64 * ); WINOLEAUTAPI VarIdiv( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarImp( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarInt( LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarMod( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarMonthName( int, int, ULONG, BSTR * ); WINOLEAUTAPI VarMul( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarNeg( LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarNot( LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarNumFromParseNum( NUMPARSE *, BYTE *, ULONG, VARIANT * ); WINOLEAUTAPI VarOr( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarParseNumFromStr( LPCOLESTR, LCID, ULONG, NUMPARSE *, BYTE * ); WINOLEAUTAPI VarPow( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarR4CmpR8( float, double ); WINOLEAUTAPI VarR4FromBool( VARIANT_BOOL, FLOAT * ); WINOLEAUTAPI VarR4FromCy( CY, FLOAT * ); WINOLEAUTAPI VarR4FromDate( DATE, FLOAT * ); WINOLEAUTAPI VarR4FromDec( const DECIMAL *, FLOAT * ); WINOLEAUTAPI VarR4FromDisp( IDispatch *, LCID, FLOAT * ); WINOLEAUTAPI VarR4FromI1( CHAR, FLOAT * ); WINOLEAUTAPI VarR4FromI2( SHORT, FLOAT * ); WINOLEAUTAPI VarR4FromI4( LONG, FLOAT * ); WINOLEAUTAPI VarR4FromI8( LONG64, FLOAT * ); WINOLEAUTAPI VarR4FromR8( DOUBLE, FLOAT * ); WINOLEAUTAPI VarR4FromStr( LPCOLESTR, LCID, ULONG, FLOAT * ); WINOLEAUTAPI VarR4FromUI1( BYTE, FLOAT * ); WINOLEAUTAPI VarR4FromUI2( USHORT, FLOAT * ); WINOLEAUTAPI VarR4FromUI4( ULONG, FLOAT * ); WINOLEAUTAPI VarR4FromUI8( ULONG64, FLOAT * ); WINOLEAUTAPI VarR8FromBool( VARIANT_BOOL, DOUBLE * ); WINOLEAUTAPI VarR8FromCy( CY, DOUBLE * ); WINOLEAUTAPI VarR8FromDate( DATE, DOUBLE * ); WINOLEAUTAPI VarR8FromDec( const DECIMAL *, DOUBLE * ); WINOLEAUTAPI VarR8FromDisp( IDispatch *, LCID, DOUBLE * ); WINOLEAUTAPI VarR8FromI1( CHAR, DOUBLE * ); WINOLEAUTAPI VarR8FromI2( SHORT, DOUBLE * ); WINOLEAUTAPI VarR8FromI4( LONG, DOUBLE * ); WINOLEAUTAPI VarR8FromI8( LONG64, DOUBLE * ); WINOLEAUTAPI VarR8FromR4( FLOAT, DOUBLE * ); WINOLEAUTAPI VarR8FromStr( LPCOLESTR, LCID, ULONG, DOUBLE * ); WINOLEAUTAPI VarR8FromUI1( BYTE, DOUBLE * ); WINOLEAUTAPI VarR8FromUI2( USHORT, DOUBLE * ); WINOLEAUTAPI VarR8FromUI4( ULONG, DOUBLE * ); WINOLEAUTAPI VarR8FromUI8( ULONG64, DOUBLE * ); WINOLEAUTAPI VarR8Pow( double, double, double * ); WINOLEAUTAPI VarR8Round( double, int, double * ); WINOLEAUTAPI VarRound( LPVARIANT, int, LPVARIANT ); WINOLEAUTAPI VarSub( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VarTokenizeFormatString( LPOLESTR, LPBYTE, int, int, int, LCID, int * ); WINOLEAUTAPI VarUI1FromBool( VARIANT_BOOL, BYTE * ); WINOLEAUTAPI VarUI1FromCy( CY, BYTE * ); WINOLEAUTAPI VarUI1FromDate( DATE, BYTE * ); WINOLEAUTAPI VarUI1FromDec( const DECIMAL *, BYTE * ); WINOLEAUTAPI VarUI1FromDisp( IDispatch *, LCID, BYTE * ); WINOLEAUTAPI VarUI1FromI1( CHAR, BYTE * ); WINOLEAUTAPI VarUI1FromI2( SHORT, BYTE * ); WINOLEAUTAPI VarUI1FromI4( LONG, BYTE * ); WINOLEAUTAPI VarUI1FromI8( LONG64, BYTE * ); WINOLEAUTAPI VarUI1FromR4( FLOAT, BYTE * ); WINOLEAUTAPI VarUI1FromR8( DOUBLE, BYTE * ); WINOLEAUTAPI VarUI1FromStr( LPCOLESTR, LCID, ULONG, BYTE * ); WINOLEAUTAPI VarUI1FromUI2( USHORT, BYTE * ); WINOLEAUTAPI VarUI1FromUI4( ULONG, BYTE * ); WINOLEAUTAPI VarUI1FromUI8( ULONG64, BYTE * ); WINOLEAUTAPI VarUI2FromBool( VARIANT_BOOL, USHORT * ); WINOLEAUTAPI VarUI2FromCy( CY, USHORT * ); WINOLEAUTAPI VarUI2FromDate( DATE, USHORT * ); WINOLEAUTAPI VarUI2FromDec( const DECIMAL *, USHORT * ); WINOLEAUTAPI VarUI2FromDisp( IDispatch *, LCID, USHORT * ); WINOLEAUTAPI VarUI2FromI1( CHAR, USHORT * ); WINOLEAUTAPI VarUI2FromI2( SHORT, USHORT * ); WINOLEAUTAPI VarUI2FromI4( LONG, USHORT * ); WINOLEAUTAPI VarUI2FromI8( LONG64, USHORT * ); WINOLEAUTAPI VarUI2FromR4( FLOAT, USHORT * ); WINOLEAUTAPI VarUI2FromR8( DOUBLE, USHORT * ); WINOLEAUTAPI VarUI2FromStr( LPCOLESTR, LCID, ULONG, USHORT * ); WINOLEAUTAPI VarUI2FromUI1( BYTE, USHORT * ); WINOLEAUTAPI VarUI2FromUI4( ULONG, USHORT * ); WINOLEAUTAPI VarUI2FromUI8( ULONG64, USHORT * ); WINOLEAUTAPI VarUI4FromBool( VARIANT_BOOL, ULONG * ); WINOLEAUTAPI VarUI4FromCy( CY, ULONG * ); WINOLEAUTAPI VarUI4FromDate( DATE, ULONG * ); WINOLEAUTAPI VarUI4FromDec( const DECIMAL *, ULONG * ); WINOLEAUTAPI VarUI4FromDisp( IDispatch *, LCID, ULONG * ); WINOLEAUTAPI VarUI4FromI1( CHAR, ULONG * ); WINOLEAUTAPI VarUI4FromI2( SHORT, ULONG * ); WINOLEAUTAPI VarUI4FromI4( LONG, ULONG * ); WINOLEAUTAPI VarUI4FromI8( LONG64, ULONG * ); WINOLEAUTAPI VarUI4FromR4( FLOAT, ULONG * ); WINOLEAUTAPI VarUI4FromR8( DOUBLE, ULONG * ); WINOLEAUTAPI VarUI4FromStr( LPCOLESTR, LCID, ULONG, ULONG * ); WINOLEAUTAPI VarUI4FromUI1( BYTE, ULONG * ); WINOLEAUTAPI VarUI4FromUI2( USHORT, ULONG * ); WINOLEAUTAPI VarUI4FromUI8( ULONG64, ULONG * ); WINOLEAUTAPI VarUI8FromBool( VARIANT_BOOL, ULONG64 * ); WINOLEAUTAPI VarUI8FromCy( CY, ULONG64 * ); WINOLEAUTAPI VarUI8FromDate( DATE, ULONG64 * ); WINOLEAUTAPI VarUI8FromDec( const DECIMAL *, ULONG64 * ); WINOLEAUTAPI VarUI8FromDisp( IDispatch *, LCID, ULONG64 * ); WINOLEAUTAPI VarUI8FromI1( CHAR, ULONG64 * ); WINOLEAUTAPI VarUI8FromI2( SHORT, ULONG64 * ); WINOLEAUTAPI VarUI8FromI4( LONG, ULONG64 * ); WINOLEAUTAPI VarUI8FromI8( LONG64, ULONG64 * ); WINOLEAUTAPI VarUI8FromInt( INT, ULONG64 * ); WINOLEAUTAPI VarUI8FromR4( FLOAT, ULONG64 * ); WINOLEAUTAPI VarUI8FromR8( DOUBLE, ULONG64 * ); WINOLEAUTAPI VarUI8FromStr( LPCOLESTR, LCID, unsigned long, ULONG64 * ); WINOLEAUTAPI VarUI8FromUI1( BYTE, ULONG64 * ); WINOLEAUTAPI VarUI8FromUI2( USHORT, ULONG64 * ); WINOLEAUTAPI VarUI8FromUI4( ULONG, ULONG64 * ); WINOLEAUTAPI VarUdateFromDate( DATE, ULONG, UDATE * ); WINOLEAUTAPI VarWeekdayName( int, int, int, ULONG, BSTR * ); WINOLEAUTAPI VarXor( LPVARIANT, LPVARIANT, LPVARIANT ); WINOLEAUTAPI VariantChangeType( VARIANTARG *, const VARIANTARG *, USHORT, VARTYPE ); WINOLEAUTAPI VariantChangeTypeEx( VARIANTARG *, const VARIANTARG *, LCID, USHORT, VARTYPE ); WINOLEAUTAPI VariantClear( VARIANTARG * ); WINOLEAUTAPI VariantCopy( VARIANTARG *, const VARIANTARG * ); WINOLEAUTAPI VariantCopyInd( VARIANT *, const VARIANTARG * ); WINOLEAUTAPI_( void ) VariantInit( VARIANTARG * ); WINOLEAUTAPI_( INT ) VariantTimeToDosDateTime( DOUBLE, USHORT *, USHORT * ); WINOLEAUTAPI_( INT ) VariantTimeToSystemTime( DOUBLE, LPSYSTEMTIME ); WINOLEAUTAPI VectorFromBstr( BSTR, SAFEARRAY ** ); #if (NTDDI_VERSION >= 0x06000100) WINOLEAUTAPI_( void ) OaEnablePerUserTLibRegistration( void ); #endif /* Functions implemented as macros */ #define LHashValOfName( p1, p2 ) LHashValOfNameSys( SYS_WIN32, p1, p2 ) #define IsHashValCompatible( p1, p2 ) \ (BOOL)(((p1) & 0x00FF0000L) == ((p2) & 0x00FF0000L)) #define VarI4FromI4( p1, p2 ) (*(p2) = (p1)) #define VarI8FromI8( p1, p2 ) (*(p2) = (p1)) #define VarUI4FromUI4( p1, p2 ) (*(p2) = (p1)) #define VarUI8FromUI8( p1, p2 ) (*(p2) = (p1)) #define WHashValOfLHashVal( x ) ((USHORT)((x) & 0x0000FFFFL)) /* Aliases */ #define VarBoolFromInt VarBoolFromI4 #define VarBoolFromUint VarBoolFromUI4 #define VarBstrFromInt VarBstrFromI4 #define VarBstrFromUint VarBstrFromUI4 #define VarCyFromInt VarCyFromI4 #define VarCyFromUint VarCyFromUI4 #define VarDateFromInt VarDateFromI4 #define VarDateFromUint VarDateFromUI4 #define VarDecFromInt VarDecFromI4 #define VarDecFromUint VarDecFromUI4 #define VarI1FromInt VarI1FromI4 #define VarI1FromUint VarI1FromUI4 #define VarI2FromInt VarI2FromI4 #define VarI2FromUint VarI2FromUI4 #define VarI4FromInt VarI4FromI4 #define VarI4FromUint VarI4FromUI4 #define VarI8FromInt VarI8FromI4 #define VarI8FromUint VarI8FromUI4 #define VarIntFromBool VarI4FromBool #define VarIntFromCy VarI4FromCy #define VarIntFromDate VarI4FromDate #define VarIntFromDec VarI4FromDec #define VarIntFromDisp VarI4FromDisp #define VarIntFromI1 VarI4FromI1 #define VarIntFromI2 VarI4FromI2 #define VarIntFromI4 VarI4FromI4 #define VarIntFromI8 VarI4FromI8 #define VarIntFromR4 VarI4FromR4 #define VarIntFromR8 VarI4FromR8 #define VarIntFromStr VarI4FromStr #define VarIntFromUI1 VarI4FromUI1 #define VarIntFromUI2 VarI4FromUI2 #define VarIntFromUI4 VarI4FromUI4 #define VarIntFromUI8 VarI4FromUI8 #define VarIntFromUint VarI4FromUI4 #define VarR4FromInt VarR4FromI4 #define VarR4FromUint VarR4FromUI4 #define VarR8FromInt VarR8FromI4 #define VarR8FromUint VarR8FromUI4 #define VarUI1FromInt VarUI1FromI4 #define VarUI1FromUint VarUI1FromUI4 #define VarUI2FromInt VarUI2FromI4 #define VarUI2FromUint VarUI2FromUI4 #define VarUI4FromInt VarUI4FromI4 #define VarUI4FromUint VarUI4FromUI4 #define VarUintFromBool VarUI4FromBool #define VarUintFromCy VarUI4FromCy #define VarUintFromDate VarUI4FromDate #define VarUintFromDec VarUI4FromDec #define VarUintFromDisp VarUI4FromDisp #define VarUintFromI1 VarUI4FromI1 #define VarUintFromI2 VarUI4FromI2 #define VarUintFromI4 VarUI4FromI4 #define VarUintFromI8 VarUI4FromI8 #define VarUintFromInt VarUI4FromI4 #define VarUintFromR4 VarUI4FromR4 #define VarUintFromR8 VarUI4FromR8 #define VarUintFromStr VarUI4FromStr #define VarUintFromUI1 VarUI4FromUI1 #define VarUintFromUI2 VarUI4FromUI2 #define VarUintFromUI4 VarUI4FromUI4 #define VarUintFromUI8 VarUI4FromUI8 #ifdef __cplusplus } /* extern "C" */ #endif #endif /* _OLEAUTO_H_ */