Commit 58422dc8 authored by Jon Griffiths's avatar Jon Griffiths Committed by Alexandre Julliard

Add a bunch of missing stuff.

Use proper types for SafeArray/variant prototypes. Change I1 functions to take signed chars
parent 6a1e59a5
...@@ -2434,7 +2434,7 @@ HRESULT WINAPI VarUI1FromBool(VARIANT_BOOL boolIn, BYTE* pbOut) ...@@ -2434,7 +2434,7 @@ HRESULT WINAPI VarUI1FromBool(VARIANT_BOOL boolIn, BYTE* pbOut)
/****************************************************************************** /******************************************************************************
* VarUI1FromI1 [OLEAUT32.237] * VarUI1FromI1 [OLEAUT32.237]
*/ */
HRESULT WINAPI VarUI1FromI1(CHAR cIn, BYTE* pbOut) HRESULT WINAPI VarUI1FromI1(signed char cIn, BYTE* pbOut)
{ {
TRACE("( %c, %p ), stub\n", cIn, pbOut ); TRACE("( %c, %p ), stub\n", cIn, pbOut );
...@@ -2641,7 +2641,7 @@ HRESULT WINAPI VarI2FromBool(VARIANT_BOOL boolIn, short* psOut) ...@@ -2641,7 +2641,7 @@ HRESULT WINAPI VarI2FromBool(VARIANT_BOOL boolIn, short* psOut)
/****************************************************************************** /******************************************************************************
* VarI2FromI1 [OLEAUT32.205] * VarI2FromI1 [OLEAUT32.205]
*/ */
HRESULT WINAPI VarI2FromI1(CHAR cIn, short* psOut) HRESULT WINAPI VarI2FromI1(signed char cIn, short* psOut)
{ {
TRACE("( %c, %p ), stub\n", cIn, psOut ); TRACE("( %c, %p ), stub\n", cIn, psOut );
...@@ -2829,7 +2829,7 @@ HRESULT WINAPI VarI4FromBool(VARIANT_BOOL boolIn, LONG* plOut) ...@@ -2829,7 +2829,7 @@ HRESULT WINAPI VarI4FromBool(VARIANT_BOOL boolIn, LONG* plOut)
/****************************************************************************** /******************************************************************************
* VarI4FromI1 [OLEAUT32.209] * VarI4FromI1 [OLEAUT32.209]
*/ */
HRESULT WINAPI VarI4FromI1(CHAR cIn, LONG* plOut) HRESULT WINAPI VarI4FromI1(signed char cIn, LONG* plOut)
{ {
TRACE("( %c, %p ), stub\n", cIn, plOut ); TRACE("( %c, %p ), stub\n", cIn, plOut );
...@@ -3023,7 +3023,7 @@ HRESULT WINAPI VarR4FromBool(VARIANT_BOOL boolIn, FLOAT* pfltOut) ...@@ -3023,7 +3023,7 @@ HRESULT WINAPI VarR4FromBool(VARIANT_BOOL boolIn, FLOAT* pfltOut)
/****************************************************************************** /******************************************************************************
* VarR4FromI1 [OLEAUT32.213] * VarR4FromI1 [OLEAUT32.213]
*/ */
HRESULT WINAPI VarR4FromI1(CHAR cIn, FLOAT* pfltOut) HRESULT WINAPI VarR4FromI1(signed char cIn, FLOAT* pfltOut)
{ {
TRACE("( %c, %p ), stub\n", cIn, pfltOut ); TRACE("( %c, %p ), stub\n", cIn, pfltOut );
...@@ -3180,7 +3180,7 @@ HRESULT WINAPI VarR8FromBool(VARIANT_BOOL boolIn, double* pdblOut) ...@@ -3180,7 +3180,7 @@ HRESULT WINAPI VarR8FromBool(VARIANT_BOOL boolIn, double* pdblOut)
/****************************************************************************** /******************************************************************************
* VarR8FromI1 [OLEAUT32.217] * VarR8FromI1 [OLEAUT32.217]
*/ */
HRESULT WINAPI VarR8FromI1(CHAR cIn, double* pdblOut) HRESULT WINAPI VarR8FromI1(signed char cIn, double* pdblOut)
{ {
TRACE("( %c, %p ), stub\n", cIn, pdblOut ); TRACE("( %c, %p ), stub\n", cIn, pdblOut );
...@@ -3382,7 +3382,7 @@ HRESULT WINAPI VarDateFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, DATE* pd ...@@ -3382,7 +3382,7 @@ HRESULT WINAPI VarDateFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, DATE* pd
/****************************************************************************** /******************************************************************************
* VarDateFromI1 [OLEAUT32.221] * VarDateFromI1 [OLEAUT32.221]
*/ */
HRESULT WINAPI VarDateFromI1(CHAR cIn, DATE* pdateOut) HRESULT WINAPI VarDateFromI1(signed char cIn, DATE* pdateOut)
{ {
TRACE("( %c, %p ), stub\n", cIn, pdateOut ); TRACE("( %c, %p ), stub\n", cIn, pdateOut );
...@@ -3601,7 +3601,7 @@ HRESULT WINAPI VarBstrFromBool(VARIANT_BOOL boolIn, LCID lcid, ULONG dwFlags, BS ...@@ -3601,7 +3601,7 @@ HRESULT WINAPI VarBstrFromBool(VARIANT_BOOL boolIn, LCID lcid, ULONG dwFlags, BS
/****************************************************************************** /******************************************************************************
* VarBstrFromI1 [OLEAUT32.229] * VarBstrFromI1 [OLEAUT32.229]
*/ */
HRESULT WINAPI VarBstrFromI1(CHAR cIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut) HRESULT WINAPI VarBstrFromI1(signed char cIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut)
{ {
TRACE("( %c, %ld, %ld, %p ), stub\n", cIn, lcid, dwFlags, pbstrOut ); TRACE("( %c, %ld, %ld, %p ), stub\n", cIn, lcid, dwFlags, pbstrOut );
sprintf( pBuffer, "%d", cIn ); sprintf( pBuffer, "%d", cIn );
...@@ -3780,7 +3780,7 @@ HRESULT WINAPI VarBoolFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, VARIANT_ ...@@ -3780,7 +3780,7 @@ HRESULT WINAPI VarBoolFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, VARIANT_
/****************************************************************************** /******************************************************************************
* VarBoolFromI1 [OLEAUT32.233] * VarBoolFromI1 [OLEAUT32.233]
*/ */
HRESULT WINAPI VarBoolFromI1(CHAR cIn, VARIANT_BOOL* pboolOut) HRESULT WINAPI VarBoolFromI1(signed char cIn, VARIANT_BOOL* pboolOut)
{ {
TRACE("( %c, %p ), stub\n", cIn, pboolOut ); TRACE("( %c, %p ), stub\n", cIn, pboolOut );
...@@ -3827,7 +3827,7 @@ HRESULT WINAPI VarBoolFromCy(CY cyIn, VARIANT_BOOL* pboolOut) { ...@@ -3827,7 +3827,7 @@ HRESULT WINAPI VarBoolFromCy(CY cyIn, VARIANT_BOOL* pboolOut) {
/****************************************************************************** /******************************************************************************
* VarI1FromUI1 [OLEAUT32.244] * VarI1FromUI1 [OLEAUT32.244]
*/ */
HRESULT WINAPI VarI1FromUI1(BYTE bIn, CHAR* pcOut) HRESULT WINAPI VarI1FromUI1(BYTE bIn, signed char *pcOut)
{ {
TRACE("( %d, %p ), stub\n", bIn, pcOut ); TRACE("( %d, %p ), stub\n", bIn, pcOut );
...@@ -3846,7 +3846,7 @@ HRESULT WINAPI VarI1FromUI1(BYTE bIn, CHAR* pcOut) ...@@ -3846,7 +3846,7 @@ HRESULT WINAPI VarI1FromUI1(BYTE bIn, CHAR* pcOut)
/****************************************************************************** /******************************************************************************
* VarI1FromI2 [OLEAUT32.245] * VarI1FromI2 [OLEAUT32.245]
*/ */
HRESULT WINAPI VarI1FromI2(short uiIn, CHAR* pcOut) HRESULT WINAPI VarI1FromI2(short uiIn, signed char *pcOut)
{ {
TRACE("( %d, %p ), stub\n", uiIn, pcOut ); TRACE("( %d, %p ), stub\n", uiIn, pcOut );
...@@ -3863,7 +3863,7 @@ HRESULT WINAPI VarI1FromI2(short uiIn, CHAR* pcOut) ...@@ -3863,7 +3863,7 @@ HRESULT WINAPI VarI1FromI2(short uiIn, CHAR* pcOut)
/****************************************************************************** /******************************************************************************
* VarI1FromI4 [OLEAUT32.246] * VarI1FromI4 [OLEAUT32.246]
*/ */
HRESULT WINAPI VarI1FromI4(LONG lIn, CHAR* pcOut) HRESULT WINAPI VarI1FromI4(LONG lIn, signed char *pcOut)
{ {
TRACE("( %ld, %p ), stub\n", lIn, pcOut ); TRACE("( %ld, %p ), stub\n", lIn, pcOut );
...@@ -3880,7 +3880,7 @@ HRESULT WINAPI VarI1FromI4(LONG lIn, CHAR* pcOut) ...@@ -3880,7 +3880,7 @@ HRESULT WINAPI VarI1FromI4(LONG lIn, CHAR* pcOut)
/****************************************************************************** /******************************************************************************
* VarI1FromR4 [OLEAUT32.247] * VarI1FromR4 [OLEAUT32.247]
*/ */
HRESULT WINAPI VarI1FromR4(FLOAT fltIn, CHAR* pcOut) HRESULT WINAPI VarI1FromR4(FLOAT fltIn, signed char *pcOut)
{ {
TRACE("( %f, %p ), stub\n", fltIn, pcOut ); TRACE("( %f, %p ), stub\n", fltIn, pcOut );
...@@ -3898,7 +3898,7 @@ HRESULT WINAPI VarI1FromR4(FLOAT fltIn, CHAR* pcOut) ...@@ -3898,7 +3898,7 @@ HRESULT WINAPI VarI1FromR4(FLOAT fltIn, CHAR* pcOut)
/****************************************************************************** /******************************************************************************
* VarI1FromR8 [OLEAUT32.248] * VarI1FromR8 [OLEAUT32.248]
*/ */
HRESULT WINAPI VarI1FromR8(double dblIn, CHAR* pcOut) HRESULT WINAPI VarI1FromR8(double dblIn, signed char *pcOut)
{ {
TRACE("( %f, %p ), stub\n", dblIn, pcOut ); TRACE("( %f, %p ), stub\n", dblIn, pcOut );
...@@ -3916,7 +3916,7 @@ HRESULT WINAPI VarI1FromR8(double dblIn, CHAR* pcOut) ...@@ -3916,7 +3916,7 @@ HRESULT WINAPI VarI1FromR8(double dblIn, CHAR* pcOut)
/****************************************************************************** /******************************************************************************
* VarI1FromDate [OLEAUT32.249] * VarI1FromDate [OLEAUT32.249]
*/ */
HRESULT WINAPI VarI1FromDate(DATE dateIn, CHAR* pcOut) HRESULT WINAPI VarI1FromDate(DATE dateIn, signed char *pcOut)
{ {
TRACE("( %f, %p ), stub\n", dateIn, pcOut ); TRACE("( %f, %p ), stub\n", dateIn, pcOut );
...@@ -3934,7 +3934,7 @@ HRESULT WINAPI VarI1FromDate(DATE dateIn, CHAR* pcOut) ...@@ -3934,7 +3934,7 @@ HRESULT WINAPI VarI1FromDate(DATE dateIn, CHAR* pcOut)
/****************************************************************************** /******************************************************************************
* VarI1FromStr [OLEAUT32.251] * VarI1FromStr [OLEAUT32.251]
*/ */
HRESULT WINAPI VarI1FromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, CHAR* pcOut) HRESULT WINAPI VarI1FromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, signed char *pcOut)
{ {
double dValue = 0.0; double dValue = 0.0;
LPSTR pNewString = NULL; LPSTR pNewString = NULL;
...@@ -3974,7 +3974,7 @@ HRESULT WINAPI VarI1FromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, CHAR* pcOu ...@@ -3974,7 +3974,7 @@ HRESULT WINAPI VarI1FromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, CHAR* pcOu
/****************************************************************************** /******************************************************************************
* VarI1FromBool [OLEAUT32.253] * VarI1FromBool [OLEAUT32.253]
*/ */
HRESULT WINAPI VarI1FromBool(VARIANT_BOOL boolIn, CHAR* pcOut) HRESULT WINAPI VarI1FromBool(VARIANT_BOOL boolIn, signed char *pcOut)
{ {
TRACE("( %d, %p ), stub\n", boolIn, pcOut ); TRACE("( %d, %p ), stub\n", boolIn, pcOut );
...@@ -3986,7 +3986,7 @@ HRESULT WINAPI VarI1FromBool(VARIANT_BOOL boolIn, CHAR* pcOut) ...@@ -3986,7 +3986,7 @@ HRESULT WINAPI VarI1FromBool(VARIANT_BOOL boolIn, CHAR* pcOut)
/****************************************************************************** /******************************************************************************
* VarI1FromUI2 [OLEAUT32.254] * VarI1FromUI2 [OLEAUT32.254]
*/ */
HRESULT WINAPI VarI1FromUI2(USHORT uiIn, CHAR* pcOut) HRESULT WINAPI VarI1FromUI2(USHORT uiIn, signed char *pcOut)
{ {
TRACE("( %d, %p ), stub\n", uiIn, pcOut ); TRACE("( %d, %p ), stub\n", uiIn, pcOut );
...@@ -4003,7 +4003,7 @@ HRESULT WINAPI VarI1FromUI2(USHORT uiIn, CHAR* pcOut) ...@@ -4003,7 +4003,7 @@ HRESULT WINAPI VarI1FromUI2(USHORT uiIn, CHAR* pcOut)
/****************************************************************************** /******************************************************************************
* VarI1FromUI4 [OLEAUT32.255] * VarI1FromUI4 [OLEAUT32.255]
*/ */
HRESULT WINAPI VarI1FromUI4(ULONG ulIn, CHAR* pcOut) HRESULT WINAPI VarI1FromUI4(ULONG ulIn, signed char *pcOut)
{ {
TRACE("( %ld, %p ), stub\n", ulIn, pcOut ); TRACE("( %ld, %p ), stub\n", ulIn, pcOut );
...@@ -4021,7 +4021,7 @@ HRESULT WINAPI VarI1FromUI4(ULONG ulIn, CHAR* pcOut) ...@@ -4021,7 +4021,7 @@ HRESULT WINAPI VarI1FromUI4(ULONG ulIn, CHAR* pcOut)
* VarI1FromCy [OLEAUT32.250] * VarI1FromCy [OLEAUT32.250]
* Convert currency to signed char * Convert currency to signed char
*/ */
HRESULT WINAPI VarI1FromCy(CY cyIn, CHAR* pcOut) { HRESULT WINAPI VarI1FromCy(CY cyIn, signed char *pcOut) {
double t = round((((double)cyIn.s.Hi * 4294967296.0) + (double)cyIn.s.Lo) / 10000); double t = round((((double)cyIn.s.Hi * 4294967296.0) + (double)cyIn.s.Lo) / 10000);
if (t > CHAR_MAX || t < CHAR_MIN) return DISP_E_OVERFLOW; if (t > CHAR_MAX || t < CHAR_MIN) return DISP_E_OVERFLOW;
...@@ -4185,7 +4185,7 @@ HRESULT WINAPI VarUI2FromBool(VARIANT_BOOL boolIn, USHORT* puiOut) ...@@ -4185,7 +4185,7 @@ HRESULT WINAPI VarUI2FromBool(VARIANT_BOOL boolIn, USHORT* puiOut)
/****************************************************************************** /******************************************************************************
* VarUI2FromI1 [OLEAUT32.267] * VarUI2FromI1 [OLEAUT32.267]
*/ */
HRESULT WINAPI VarUI2FromI1(CHAR cIn, USHORT* puiOut) HRESULT WINAPI VarUI2FromI1(signed char cIn, USHORT* puiOut)
{ {
TRACE("( %c, %p ), stub\n", cIn, puiOut ); TRACE("( %c, %p ), stub\n", cIn, puiOut );
...@@ -4378,7 +4378,7 @@ HRESULT WINAPI VarUI4FromBool(VARIANT_BOOL boolIn, ULONG* pulOut) ...@@ -4378,7 +4378,7 @@ HRESULT WINAPI VarUI4FromBool(VARIANT_BOOL boolIn, ULONG* pulOut)
/****************************************************************************** /******************************************************************************
* VarUI4FromI1 [OLEAUT32.280] * VarUI4FromI1 [OLEAUT32.280]
*/ */
HRESULT WINAPI VarUI4FromI1(CHAR cIn, ULONG* pulOut) HRESULT WINAPI VarUI4FromI1(signed char cIn, ULONG* pulOut)
{ {
TRACE("( %c, %p ), stub\n", cIn, pulOut ); TRACE("( %c, %p ), stub\n", cIn, pulOut );
......
...@@ -30,10 +30,6 @@ extern "C" { ...@@ -30,10 +30,6 @@ extern "C" {
DEFINE_OLEGUID(IID_StdOle, 0x00020430,0,0); DEFINE_OLEGUID(IID_StdOle, 0x00020430,0,0);
struct tagSAFEARRAY;
struct tagSAFEARRAYBOUND;
struct tagVARIANT;
/* /*
* BSTR API * BSTR API
*/ */
...@@ -52,95 +48,44 @@ int WINAPI SysStringLen(BSTR); ...@@ -52,95 +48,44 @@ int WINAPI SysStringLen(BSTR);
* ErrorInfo API * ErrorInfo API
*/ */
HRESULT WINAPI SetErrorInfo(ULONG dwReserved, IErrorInfo *perrinfo); HRESULT WINAPI SetErrorInfo(ULONG,IErrorInfo*);
HRESULT WINAPI GetErrorInfo(ULONG dwReserved, IErrorInfo **pperrinfo); HRESULT WINAPI GetErrorInfo(ULONG,IErrorInfo**);
HRESULT WINAPI CreateErrorInfo(ICreateErrorInfo **pperrinfo); HRESULT WINAPI CreateErrorInfo(ICreateErrorInfo**);
/***************************************************************** /*****************************************************************
* SafeArray API * SafeArray API
*/ */
HRESULT WINAPI SAFEARRAY* WINAPI SafeArrayCreate(VARTYPE,UINT,SAFEARRAYBOUND*);
SafeArrayAllocDescriptor(UINT cDims, struct tagSAFEARRAY **ppsaOut); SAFEARRAY* WINAPI SafeArrayCreateEx(VARTYPE,UINT,SAFEARRAYBOUND*,LPVOID);
SAFEARRAY* WINAPI SafeArrayCreateVector(VARTYPE,LONG,ULONG);
HRESULT WINAPI SAFEARRAY* WINAPI SafeArrayCreateVectorEx(VARTYPE,LONG,ULONG,LPVOID);
SafeArrayAllocDescriptorEx(VARTYPE vt,UINT cDims,struct tagSAFEARRAY **ppsaOut);
HRESULT WINAPI SafeArrayAllocDescriptor(UINT,SAFEARRAY**);
HRESULT WINAPI HRESULT WINAPI SafeArrayAllocDescriptorEx(VARTYPE,UINT,SAFEARRAY**);
SafeArrayAllocData(struct tagSAFEARRAY *psa); HRESULT WINAPI SafeArrayAllocData(SAFEARRAY*);
HRESULT WINAPI SafeArrayDestroyDescriptor(SAFEARRAY*);
struct tagSAFEARRAY * WINAPI HRESULT WINAPI SafeArrayPutElement(SAFEARRAY*,LONG*,void*);
SafeArrayCreate(VARTYPE vt, UINT cDims, struct tagSAFEARRAYBOUND *rgsabound); HRESULT WINAPI SafeArrayGetElement(SAFEARRAY*,LONG*,void*);
HRESULT WINAPI SafeArrayLock(SAFEARRAY*);
HRESULT WINAPI HRESULT WINAPI SafeArrayUnlock(SAFEARRAY*);
SafeArrayDestroyDescriptor(struct tagSAFEARRAY *psa); HRESULT WINAPI SafeArrayGetUBound(SAFEARRAY*,UINT,LONG*);
HRESULT WINAPI SafeArrayGetLBound(SAFEARRAY*,UINT,LONG*);
HRESULT WINAPI UINT WINAPI SafeArrayGetDim(SAFEARRAY*);
SafeArrayPutElement(struct tagSAFEARRAY *psa, LONG *rgIndices, void *pv); UINT WINAPI SafeArrayGetElemsize(SAFEARRAY*);
HRESULT WINAPI SafeArrayGetVartype(SAFEARRAY*,VARTYPE*);
HRESULT WINAPI HRESULT WINAPI SafeArrayAccessData(SAFEARRAY*,void**);
SafeArrayGetElement(struct tagSAFEARRAY *psa, LONG *rgIndices, void *pv); HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY*);
HRESULT WINAPI SafeArrayPtrOfIndex(SAFEARRAY*,LONG*,void **);
HRESULT WINAPI HRESULT WINAPI SafeArrayCopyData(SAFEARRAY*,SAFEARRAY*);
SafeArrayLock(struct tagSAFEARRAY *psa); HRESULT WINAPI SafeArrayDestroyData(SAFEARRAY*);
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY*);
HRESULT WINAPI HRESULT WINAPI SafeArrayCopy(SAFEARRAY*,SAFEARRAY**);
SafeArrayUnlock(struct tagSAFEARRAY *psa); HRESULT WINAPI SafeArrayRedim(SAFEARRAY*,SAFEARRAYBOUND*);
HRESULT WINAPI SafeArraySetRecordInfo(SAFEARRAY*,IRecordInfo*);
HRESULT WINAPI HRESULT WINAPI SafeArrayGetRecordInfo(SAFEARRAY*,IRecordInfo**);
SafeArrayGetUBound(struct tagSAFEARRAY *psa, UINT nDim, LONG *plUbound); HRESULT WINAPI SafeArraySetIID(SAFEARRAY*,REFGUID);
HRESULT WINAPI SafeArrayGetIID(SAFEARRAY*,GUID*);
HRESULT WINAPI
SafeArrayGetLBound(struct tagSAFEARRAY *psa, UINT nDim, LONG *plLbound);
UINT WINAPI
SafeArrayGetDim(struct tagSAFEARRAY *psa);
UINT WINAPI
SafeArrayGetElemsize(struct tagSAFEARRAY *psa);
HRESULT WINAPI
SafeArrayAccessData(struct tagSAFEARRAY *psa, void **ppvData);
HRESULT WINAPI
SafeArrayUnaccessData(struct tagSAFEARRAY *psa);
HRESULT WINAPI
SafeArrayPtrOfIndex(struct tagSAFEARRAY *psa, LONG *rgIndices, void **ppvData);
HRESULT WINAPI
SafeArrayCopyData(struct tagSAFEARRAY *psaSource, struct tagSAFEARRAY *psaTarget);
HRESULT WINAPI
SafeArrayDestroyData(struct tagSAFEARRAY *psa);
HRESULT WINAPI
SafeArrayDestroy(struct tagSAFEARRAY *psa);
HRESULT WINAPI
SafeArrayCopy(struct tagSAFEARRAY *psa, struct tagSAFEARRAY **ppsaOut);
struct tagSAFEARRAY * WINAPI
SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements);
HRESULT WINAPI
SafeArrayRedim(struct tagSAFEARRAY *psa, struct tagSAFEARRAYBOUND *psaboundNew);
HRESULT WINAPI
SafeArraySetIID(struct tagSAFEARRAY *psa, REFGUID riid);
HRESULT WINAPI
SafeArrayGetIID(struct tagSAFEARRAY *psa, GUID *riid);
HRESULT WINAPI
SafeArrayGetVartype(struct tagSAFEARRAY *psa, VARTYPE *vt);
HRESULT WINAPI
SafeArrayGetRecordInfo(struct tagSAFEARRAY *psa, IRecordInfo **recordinfo);
HRESULT WINAPI
SafeArraySetRecordInfo(struct tagSAFEARRAY *psa, IRecordInfo *recordinfo);
/* These are macros that help accessing the VARIANT date type. /* These are macros that help accessing the VARIANT date type.
*/ */
...@@ -177,6 +122,10 @@ SafeArraySetRecordInfo(struct tagSAFEARRAY *psa, IRecordInfo *recordinfo); ...@@ -177,6 +122,10 @@ SafeArraySetRecordInfo(struct tagSAFEARRAY *psa, IRecordInfo *recordinfo);
#define V_INTREF(A) V_UNION(A, pintVal) #define V_INTREF(A) V_UNION(A, pintVal)
#define V_UINT(A) V_UNION(A, uintVal) #define V_UINT(A) V_UNION(A, uintVal)
#define V_UINTREF(A) V_UNION(A, puintVal) #define V_UINTREF(A) V_UNION(A, puintVal)
#define V_I8(A) V_UNION(A, llVal)
#define V_I8REF(A) V_UNION(A, pllVal)
#define V_UI8(A) V_UNION(A, ullVal)
#define V_UI8REF(A) V_UNION(A, pullVal)
#define V_CY(A) V_UNION(A, cyVal) #define V_CY(A) V_UNION(A, cyVal)
#define V_CYREF(A) V_UNION(A, pcyVal) #define V_CYREF(A) V_UNION(A, pcyVal)
#define V_DATE(A) V_UNION(A, date) #define V_DATE(A) V_UNION(A, date)
...@@ -206,14 +155,12 @@ SafeArraySetRecordInfo(struct tagSAFEARRAY *psa, IRecordInfo *recordinfo); ...@@ -206,14 +155,12 @@ SafeArraySetRecordInfo(struct tagSAFEARRAY *psa, IRecordInfo *recordinfo);
* VARIANT API * VARIANT API
*/ */
void WINAPI VariantInit(struct tagVARIANT* pvarg); void WINAPI VariantInit(VARIANT*);
HRESULT WINAPI VariantClear(struct tagVARIANT* pvarg); HRESULT WINAPI VariantClear(VARIANT*);
HRESULT WINAPI VariantCopy(struct tagVARIANT* pvargDest, struct tagVARIANT* pvargSrc); HRESULT WINAPI VariantCopy(VARIANT*,VARIANT*);
HRESULT WINAPI VariantCopyInd(struct tagVARIANT* pvargDest, struct tagVARIANT* pvargSrc); HRESULT WINAPI VariantCopyInd(VARIANT*,VARIANT*);
HRESULT WINAPI VariantChangeType(struct tagVARIANT* pvargDest, struct tagVARIANT* pvargSrc, HRESULT WINAPI VariantChangeType(VARIANT*,VARIANT*,USHORT,VARTYPE);
USHORT wFlags, VARTYPE vt); HRESULT WINAPI VariantChangeTypeEx(VARIANT*,VARIANT*,LCID,USHORT,VARTYPE);
HRESULT WINAPI VariantChangeTypeEx(struct tagVARIANT* pvargDest, struct tagVARIANT* pvargSrc,
LCID lcid, USHORT wFlags, VARTYPE vt);
/* /*
* These flags are used for the VariantChangeType and VariantChangeTypeEx APIs. * These flags are used for the VariantChangeType and VariantChangeTypeEx APIs.
...@@ -236,6 +183,29 @@ HRESULT WINAPI VariantChangeTypeEx(struct tagVARIANT* pvargDest, struct tagVARIA ...@@ -236,6 +183,29 @@ HRESULT WINAPI VariantChangeTypeEx(struct tagVARIANT* pvargDest, struct tagVARIA
*/ */
#define VARIANT_NOUSEROVERRIDE 0x4 #define VARIANT_NOUSEROVERRIDE 0x4
/*
* This one is used for conversions of VT_BOOL to VT_BSTR,
* Convert to the localised text of "True"|"False" instead of "-1"|"0".
*/
#define VARIANT_LOCALBOOL 0x10
/*
* Alternate calendar support.
*/
#define VARIANT_CALENDAR_HIJRI 0x08
#define VARIANT_CALENDAR_THAI 0x20
#define VARIANT_CALENDAR_GREGORIAN 0x40
/*
* Use NLS calls in conversion
*/
#define VARIANT_USE_NLS 0x80
/*
* Convert between SafeArray vectors and BSTR's
*/
HRESULT WINAPI VectorFromBstr(BSTR,SAFEARRAY**);
HRESULT WINAPI BstrFromVector(SAFEARRAY*,BSTR*);
/* /*
* VARTYPE Coercion API * VARTYPE Coercion API
...@@ -249,193 +219,251 @@ HRESULT WINAPI VariantChangeTypeEx(struct tagVARIANT* pvargDest, struct tagVARIA ...@@ -249,193 +219,251 @@ HRESULT WINAPI VariantChangeTypeEx(struct tagVARIANT* pvargDest, struct tagVARIA
#define VAR_DATEVALUEONLY ((DWORD)0x00000002) #define VAR_DATEVALUEONLY ((DWORD)0x00000002)
HRESULT WINAPI VarUI1FromI2(short sIn, BYTE* pbOut); HRESULT WINAPI VarUI1FromI2(SHORT,BYTE*);
HRESULT WINAPI VarUI1FromI4(LONG lIn, BYTE* pbOut); HRESULT WINAPI VarUI1FromI4(LONG,BYTE*);
HRESULT WINAPI VarUI1FromR4(FLOAT fltIn, BYTE* pbOut); HRESULT WINAPI VarUI1FromI8(LONG64,BYTE*);
HRESULT WINAPI VarUI1FromR8(double dblIn, BYTE* pbOut); HRESULT WINAPI VarUI1FromR4(FLOAT,BYTE*);
HRESULT WINAPI VarUI1FromDate(DATE dateIn, BYTE* pbOut); HRESULT WINAPI VarUI1FromR8(DOUBLE,BYTE*);
HRESULT WINAPI VarUI1FromBool(VARIANT_BOOL boolIn, BYTE* pbOut); HRESULT WINAPI VarUI1FromDate(DATE,BYTE*);
HRESULT WINAPI VarUI1FromI1(CHAR cIn, BYTE*pbOut); HRESULT WINAPI VarUI1FromBool(VARIANT_BOOL,BYTE*);
HRESULT WINAPI VarUI1FromUI2(USHORT uiIn, BYTE*pbOut); HRESULT WINAPI VarUI1FromI1(signed char,BYTE*);
HRESULT WINAPI VarUI1FromUI4(ULONG ulIn, BYTE*pbOut); HRESULT WINAPI VarUI1FromUI2(USHORT,BYTE*);
HRESULT WINAPI VarUI1FromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, BYTE* pbOut); HRESULT WINAPI VarUI1FromUI4(ULONG,BYTE*);
HRESULT WINAPI VarUI1FromCy(CY cyIn, BYTE* pbOut); HRESULT WINAPI VarUI1FromUI8(ULONG64,BYTE*);
HRESULT WINAPI VarUI1FromDec(DECIMAL* pdecIn, BYTE* pbOut); HRESULT WINAPI VarUI1FromStr(OLECHAR*,LCID,ULONG,BYTE*);
HRESULT WINAPI VarUI1FromDisp(IDispatch* pdispIn, LCID lcid, BYTE* pbOut); HRESULT WINAPI VarUI1FromCy(CY,BYTE*);
HRESULT WINAPI VarUI1FromDec(DECIMAL*,BYTE*);
HRESULT WINAPI VarI2FromUI1(BYTE bIn, short* psOut); HRESULT WINAPI VarUI1FromDisp(IDispatch*,LCID,BYTE*);
HRESULT WINAPI VarI2FromI4(LONG lIn, short* psOut);
HRESULT WINAPI VarI2FromR4(FLOAT fltIn, short* psOut); HRESULT WINAPI VarI2FromUI1(BYTE,SHORT*);
HRESULT WINAPI VarI2FromR8(double dblIn, short* psOut); HRESULT WINAPI VarI2FromI4(LONG,SHORT*);
HRESULT WINAPI VarI2FromDate(DATE dateIn, short* psOut); HRESULT WINAPI VarI2FromI8(LONG64,SHORT*);
HRESULT WINAPI VarI2FromBool(VARIANT_BOOL boolIn, short* psOut); HRESULT WINAPI VarI2FromR4(FLOAT,SHORT*);
HRESULT WINAPI VarI2FromI1(CHAR cIn, short*psOut); HRESULT WINAPI VarI2FromR8(DOUBLE,SHORT*);
HRESULT WINAPI VarI2FromUI2(USHORT uiIn, short*psOut); HRESULT WINAPI VarI2FromDate(DATE,SHORT*);
HRESULT WINAPI VarI2FromUI4(ULONG ulIn, short*psOut); HRESULT WINAPI VarI2FromBool(VARIANT_BOOL,SHORT*);
HRESULT WINAPI VarI2FromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, short* psOut); HRESULT WINAPI VarI2FromI1(signed char,SHORT*);
HRESULT WINAPI VarI2FromCy(CY cyIn, short* psOut); HRESULT WINAPI VarI2FromUI2(USHORT,SHORT*);
HRESULT WINAPI VarI2FromDec(DECIMAL* pdecIn, short* psOut); HRESULT WINAPI VarI2FromUI4(ULONG,SHORT*);
HRESULT WINAPI VarI2FromDisp(IDispatch* pdispIn, LCID lcid, short* psOut); HRESULT WINAPI VarI2FromUI8(ULONG64,SHORT*);
HRESULT WINAPI VarI2FromStr(OLECHAR*,LCID,ULONG,SHORT*);
HRESULT WINAPI VarI4FromUI1(BYTE bIn, LONG* plOut); HRESULT WINAPI VarI2FromCy(CY,SHORT*);
HRESULT WINAPI VarI4FromI2(short sIn, LONG* plOut); HRESULT WINAPI VarI2FromDec(DECIMAL*,SHORT*);
HRESULT WINAPI VarI4FromR4(FLOAT fltIn, LONG* plOut); HRESULT WINAPI VarI2FromDisp(IDispatch*,LCID,SHORT*);
HRESULT WINAPI VarI4FromR8(double dblIn, LONG* plOut);
HRESULT WINAPI VarI4FromDate(DATE dateIn, LONG* plOut); HRESULT WINAPI VarI4FromUI1(BYTE,LONG*);
HRESULT WINAPI VarI4FromBool(VARIANT_BOOL boolIn, LONG* plOut); HRESULT WINAPI VarI4FromI2(SHORT,LONG*);
HRESULT WINAPI VarI4FromI1(CHAR cIn, LONG* plOut); HRESULT WINAPI VarI4FromI8(LONG64,LONG*);
HRESULT WINAPI VarI4FromUI2(USHORT uiIn, LONG*plOut); HRESULT WINAPI VarI4FromR4(FLOAT,LONG*);
HRESULT WINAPI VarI4FromUI4(ULONG ulIn, LONG*plOut); HRESULT WINAPI VarI4FromR8(DOUBLE,LONG*);
HRESULT WINAPI VarI4FromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, LONG* plOut); HRESULT WINAPI VarI4FromDate(DATE,LONG*);
HRESULT WINAPI VarI4FromCy(CY cyIn, LONG* plOut); HRESULT WINAPI VarI4FromBool(VARIANT_BOOL,LONG*);
HRESULT WINAPI VarI4FromDec(DECIMAL* pdecIn, LONG* plOut); HRESULT WINAPI VarI4FromI1(signed char,LONG*);
HRESULT WINAPI VarI4FromDisp(IDispatch* pdispIn, LCID lcid, LONG* plOut); HRESULT WINAPI VarI4FromUI2(USHORT,LONG*);
HRESULT WINAPI VarI4FromUI4(ULONG,LONG*);
HRESULT WINAPI VarR4FromUI1(BYTE bIn, FLOAT* pfltOut); HRESULT WINAPI VarI4FromUI8(ULONG64,LONG*);
HRESULT WINAPI VarR4FromI2(short sIn, FLOAT* pfltOut); HRESULT WINAPI VarI4FromStr(OLECHAR*,LCID,ULONG,LONG*);
HRESULT WINAPI VarR4FromI4(LONG lIn, FLOAT* pfltOut); HRESULT WINAPI VarI4FromCy(CY,LONG*);
HRESULT WINAPI VarR4FromR8(double dblIn, FLOAT* pfltOut); HRESULT WINAPI VarI4FromDec(DECIMAL*,LONG*);
HRESULT WINAPI VarR4FromDate(DATE dateIn, FLOAT* pfltOut); HRESULT WINAPI VarI4FromDisp(IDispatch*,LCID,LONG*);
HRESULT WINAPI VarR4FromBool(VARIANT_BOOL boolIn, FLOAT* pfltOut);
HRESULT WINAPI VarR4FromI1(CHAR cIn, FLOAT*pfltOut); HRESULT WINAPI VarI8FromUI1(BYTE,LONG64*);
HRESULT WINAPI VarR4FromUI2(USHORT uiIn, FLOAT*pfltOut); HRESULT WINAPI VarI8FromI2(SHORT,LONG64*);
HRESULT WINAPI VarR4FromUI4(ULONG ulIn, FLOAT*pfltOut); HRESULT WINAPI VarI8FromI4(LONG,LONG64*);
HRESULT WINAPI VarR4FromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, FLOAT*pfltOut); HRESULT WINAPI VarI8FromR4(FLOAT,LONG64*);
HRESULT WINAPI VarR4FromCy(CY cyIn, FLOAT* pfltOut); HRESULT WINAPI VarI8FromR8(DOUBLE,LONG64*);
HRESULT WINAPI VarR4FromDec(DECIMAL* pdecIn, FLOAT* pfltOut); HRESULT WINAPI VarI8FromDate(DATE,LONG64*);
HRESULT WINAPI VarR4FromDisp(IDispatch* pdispIn, LCID lcid, FLOAT* pfltOut); HRESULT WINAPI VarI8FromStr(OLECHAR*,LCID,ULONG,LONG64*);
HRESULT WINAPI VarI8FromBool(VARIANT_BOOL,LONG64*);
HRESULT WINAPI VarR8FromUI1(BYTE bIn, double* pdblOut); HRESULT WINAPI VarI8FromI1(signed char,LONG64*);
HRESULT WINAPI VarR8FromI2(short sIn, double* pdblOut); HRESULT WINAPI VarI8FromUI2(USHORT,LONG64*);
HRESULT WINAPI VarR8FromI4(LONG lIn, double* pdblOut); HRESULT WINAPI VarI8FromUI4(ULONG,LONG64*);
HRESULT WINAPI VarR8FromR4(FLOAT fltIn, double* pdblOut); HRESULT WINAPI VarI8FromUI8(ULONG64,LONG64*);
HRESULT WINAPI VarR8FromDate(DATE dateIn, double* pdblOut); HRESULT WINAPI VarI8FromDec(DECIMAL *pdecIn,LONG64*);
HRESULT WINAPI VarR8FromBool(VARIANT_BOOL boolIn, double* pdblOut); HRESULT WINAPI VarI8FromInt(INT intIn,LONG64*);
HRESULT WINAPI VarR8FromI1(CHAR cIn, double*pdblOut); HRESULT WINAPI VarI8FromCy(CY,LONG64*);
HRESULT WINAPI VarR8FromUI2(USHORT uiIn, double*pdblOut); HRESULT WINAPI VarI8FromDisp(IDispatch*,LCID,LONG64*);
HRESULT WINAPI VarR8FromUI4(ULONG ulIn, double*pdblOut);
HRESULT WINAPI VarR8FromStr(OLECHAR*strIn, LCID lcid, ULONG dwFlags, double*pdblOut); HRESULT WINAPI VarR4FromUI1(BYTE,FLOAT*);
HRESULT WINAPI VarR8FromCy(CY cyIn, double* pdblOut); HRESULT WINAPI VarR4FromI2(SHORT,FLOAT*);
HRESULT WINAPI VarR8FromDec(DECIMAL* pdecIn, double* pdblOut); HRESULT WINAPI VarR4FromI4(LONG,FLOAT*);
HRESULT WINAPI VarR8FromDisp(IDispatch* pdispIn, LCID lcid, double* pdblOut); HRESULT WINAPI VarR4FromI8(LONG64,FLOAT*);
HRESULT WINAPI VarR4FromR8(DOUBLE,FLOAT*);
HRESULT WINAPI VarDateFromUI1(BYTE bIn, DATE* pdateOut); HRESULT WINAPI VarR4FromDate(DATE,FLOAT*);
HRESULT WINAPI VarDateFromI2(short sIn, DATE* pdateOut); HRESULT WINAPI VarR4FromBool(VARIANT_BOOL,FLOAT*);
HRESULT WINAPI VarDateFromI4(LONG lIn, DATE* pdateOut); HRESULT WINAPI VarR4FromI1(signed char,FLOAT*);
HRESULT WINAPI VarDateFromR4(FLOAT fltIn, DATE* pdateOut); HRESULT WINAPI VarR4FromUI2(USHORT,FLOAT*);
HRESULT WINAPI VarDateFromR8(double dblIn, DATE* pdateOut); HRESULT WINAPI VarR4FromUI4(ULONG,FLOAT*);
HRESULT WINAPI VarDateFromStr(OLECHAR*strIn, LCID lcid, ULONG dwFlags, DATE*pdateOut); HRESULT WINAPI VarR4FromUI8(ULONG64,FLOAT*);
HRESULT WINAPI VarDateFromI1(CHAR cIn, DATE*pdateOut); HRESULT WINAPI VarR4FromStr(OLECHAR*,LCID,ULONG,FLOAT*);
HRESULT WINAPI VarDateFromUI2(USHORT uiIn, DATE*pdateOut); HRESULT WINAPI VarR4FromCy(CY,FLOAT*);
HRESULT WINAPI VarDateFromUI4(ULONG ulIn, DATE*pdateOut); HRESULT WINAPI VarR4FromDec(DECIMAL*,FLOAT*);
HRESULT WINAPI VarDateFromBool(VARIANT_BOOL boolIn, DATE* pdateOut); HRESULT WINAPI VarR4FromDisp(IDispatch*,LCID,FLOAT*);
HRESULT WINAPI VarDateFromCy(CY cyIn, DATE* pdateOut);
HRESULT WINAPI VarDateFromDec(DECIMAL* pdecIn, DATE* pdateOut); HRESULT WINAPI VarR8FromUI1(BYTE,double*);
HRESULT WINAPI VarDateFromDisp(IDispatch* pdispIn, LCID lcid, DATE* pdateOut); HRESULT WINAPI VarR8FromI2(SHORT,double*);
HRESULT WINAPI VarR8FromI4(LONG,double*);
HRESULT WINAPI VarCyFromUI1(BYTE bIn, CY* pcyOut); HRESULT WINAPI VarR8FromI8(LONG64,double*);
HRESULT WINAPI VarCyFromI2(short sIn, CY* pcyOut); HRESULT WINAPI VarR8FromR4(FLOAT,double*);
HRESULT WINAPI VarCyFromI4(LONG lIn, CY* pcyOut); HRESULT WINAPI VarR8FromDate(DATE,double*);
HRESULT WINAPI VarCyFromR4(FLOAT fltIn, CY* pcyOut); HRESULT WINAPI VarR8FromBool(VARIANT_BOOL,double*);
HRESULT WINAPI VarCyFromR8(double dblIn, CY* pcyOut); HRESULT WINAPI VarR8FromI1(signed char,double*);
HRESULT WINAPI VarCyFromDate(DATE dateIn, CY* pcyOut); HRESULT WINAPI VarR8FromUI2(USHORT,double*);
HRESULT WINAPI VarCyFromStr(OLECHAR *strIn, LCID lcid, ULONG dwFlags, CY *pcyOut); HRESULT WINAPI VarR8FromUI4(ULONG,double*);
HRESULT WINAPI VarCyFromBool(VARIANT_BOOL boolIn, CY* pcyOut); HRESULT WINAPI VarR8FromUI8(ULONG64,double*);
HRESULT WINAPI VarCyFromI1(signed char cIn, CY*pcyOut); HRESULT WINAPI VarR8FromStr(OLECHAR*,LCID,ULONG,double*);
HRESULT WINAPI VarCyFromUI2(USHORT uiIn, CY*pcyOut); HRESULT WINAPI VarR8FromCy(CY,double*);
HRESULT WINAPI VarCyFromUI4(ULONG ulIn, CY*pcyOut); HRESULT WINAPI VarR8FromDec(DECIMAL*,double*);
HRESULT WINAPI VarCyFromDec(DECIMAL*pdecIn, CY*pcyOut); HRESULT WINAPI VarR8FromDisp(IDispatch*,LCID,double*);
HRESULT WINAPI VarCyFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, CY* pcyOut);
HRESULT WINAPI VarCyFromDisp(IDispatch* pdispIn, LCID lcid, CY* pcyOut); HRESULT WINAPI VarDateFromUI1(BYTE,DATE*);
HRESULT WINAPI VarDateFromI2(SHORT,DATE*);
HRESULT WINAPI VarBstrFromUI1(BYTE bVal, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromI4(LONG,DATE*);
HRESULT WINAPI VarBstrFromI2(short iVal, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromI8(LONG64,DATE*);
HRESULT WINAPI VarBstrFromI4(LONG lIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromR4(FLOAT,DATE*);
HRESULT WINAPI VarBstrFromR4(FLOAT fltIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromR8(DOUBLE,DATE*);
HRESULT WINAPI VarBstrFromR8(double dblIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromStr(OLECHAR*,LCID,ULONG,DATE*);
HRESULT WINAPI VarBstrFromDate(DATE dateIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromI1(signed char,DATE*);
HRESULT WINAPI VarBstrFromBool(VARIANT_BOOL boolIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromUI2(USHORT,DATE*);
HRESULT WINAPI VarBstrFromI1(CHAR cIn, LCID lcid, ULONG dwFlags, BSTR*pbstrOut); HRESULT WINAPI VarDateFromUI4(ULONG,DATE*);
HRESULT WINAPI VarBstrFromUI2(USHORT uiIn, LCID lcid, ULONG dwFlags, BSTR*pbstrOut); HRESULT WINAPI VarDateFromUI8(ULONG64,DATE*);
HRESULT WINAPI VarBstrFromUI4(ULONG ulIn, LCID lcid, ULONG dwFlags, BSTR*pbstrOut); HRESULT WINAPI VarDateFromBool(VARIANT_BOOL,DATE*);
HRESULT WINAPI VarBstrFromCy(CY cyIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromCy(CY,DATE*);
HRESULT WINAPI VarBstrFromDec(DECIMAL* pdecIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromDec(DECIMAL*,DATE*);
HRESULT WINAPI VarBstrFromDisp(IDispatch* pdispIn, LCID lcid, ULONG dwFlags, BSTR* pbstrOut); HRESULT WINAPI VarDateFromDisp(IDispatch*,LCID,DATE*);
HRESULT WINAPI VarBoolFromUI1(BYTE bIn, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromUI1(BYTE,CY*);
HRESULT WINAPI VarBoolFromI2(short sIn, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromI2(SHORT sIn,CY*);
HRESULT WINAPI VarBoolFromI4(LONG lIn, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromI4(LONG,CY*);
HRESULT WINAPI VarBoolFromR4(FLOAT fltIn, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromI8(LONG64,CY*);
HRESULT WINAPI VarBoolFromR8(double dblIn, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromR4(FLOAT,CY*);
HRESULT WINAPI VarBoolFromDate(DATE dateIn, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromR8(DOUBLE,CY*);
HRESULT WINAPI VarBoolFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromDate(DATE,CY*);
HRESULT WINAPI VarBoolFromI1(CHAR cIn, VARIANT_BOOL*pboolOut); HRESULT WINAPI VarCyFromStr(OLECHAR*,LCID,ULONG,CY*);
HRESULT WINAPI VarBoolFromUI2(USHORT uiIn, VARIANT_BOOL*pboolOut); HRESULT WINAPI VarCyFromBool(VARIANT_BOOL,CY*);
HRESULT WINAPI VarBoolFromUI4(ULONG ulIn, VARIANT_BOOL*pboolOut); HRESULT WINAPI VarCyFromI1(signed char,CY*);
HRESULT WINAPI VarBoolFromCy(CY cyIn, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromUI2(USHORT,CY*);
HRESULT WINAPI VarBoolFromDec(DECIMAL* pdecIn, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromUI4(ULONG,CY*);
HRESULT WINAPI VarBoolFromDisp(IDispatch* pdispIn, LCID lcid, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarCyFromUI8(ULONG64,CY*);
HRESULT WINAPI VarCyFromDec(DECIMAL*,CY*);
HRESULT WINAPI VarI1FromUI1(BYTE bIn, CHAR*pcOut); HRESULT WINAPI VarCyFromStr(OLECHAR*,LCID,ULONG,CY*);
HRESULT WINAPI VarI1FromI2(short uiIn, CHAR*pcOut); HRESULT WINAPI VarCyFromDisp(IDispatch*,LCID,CY*);
HRESULT WINAPI VarI1FromI4(LONG lIn, CHAR*pcOut);
HRESULT WINAPI VarI1FromR4(FLOAT fltIn, CHAR*pcOut); HRESULT WINAPI VarBstrFromUI1(BYTE,LCID,ULONG,BSTR*);
HRESULT WINAPI VarI1FromR8(double dblIn, CHAR*pcOut); HRESULT WINAPI VarBstrFromI2(SHORT,LCID,ULONG,BSTR*);
HRESULT WINAPI VarI1FromDate(DATE dateIn, CHAR*pcOut); HRESULT WINAPI VarBstrFromI4(LONG,LCID,ULONG,BSTR*);
HRESULT WINAPI VarI1FromStr(OLECHAR*strIn, LCID lcid, ULONG dwFlags, CHAR*pcOut); HRESULT WINAPI VarBstrFromI8(LONG64,LCID,ULONG,BSTR*);
HRESULT WINAPI VarI1FromBool(VARIANT_BOOL boolIn, CHAR*pcOut); HRESULT WINAPI VarBstrFromR4(FLOAT,LCID,ULONG,BSTR*);
HRESULT WINAPI VarI1FromUI2(USHORT uiIn, CHAR*pcOut); HRESULT WINAPI VarBstrFromR8(DOUBLE,LCID,ULONG,BSTR*);
HRESULT WINAPI VarI1FromUI4(ULONG ulIn, CHAR*pcOut); HRESULT WINAPI VarBstrFromDate(DATE,LCID,ULONG,BSTR*);
HRESULT WINAPI VarI1FromCy(CY cyIn, CHAR*pcOut); HRESULT WINAPI VarBstrFromBool(VARIANT_BOOL,LCID,ULONG,BSTR*);
HRESULT WINAPI VarI1FromDec(DECIMAL* pdecIn, CHAR* pcOut); HRESULT WINAPI VarBstrFromI1(signed char,LCID,ULONG,BSTR*);
HRESULT WINAPI VarI1FromDisp(IDispatch* pdispIn, LCID lcid, CHAR* pcOut); HRESULT WINAPI VarBstrFromUI2(USHORT,LCID,ULONG,BSTR*);
HRESULT WINAPI VarBstrFromUI8(ULONG64,LCID,ULONG,BSTR*);
HRESULT WINAPI VarUI2FromUI1(BYTE bIn, USHORT*puiOut); HRESULT WINAPI VarBstrFromUI4(ULONG,LCID,ULONG,BSTR*);
HRESULT WINAPI VarUI2FromI2(short uiIn, USHORT*puiOut); HRESULT WINAPI VarBstrFromCy(CY,LCID,ULONG,BSTR*);
HRESULT WINAPI VarUI2FromI4(LONG lIn, USHORT*puiOut); HRESULT WINAPI VarBstrFromDec(DECIMAL*,LCID,ULONG,BSTR*);
HRESULT WINAPI VarUI2FromR4(FLOAT fltIn, USHORT*puiOut); HRESULT WINAPI VarBstrFromDisp(IDispatch*,LCID,ULONG,BSTR*);
HRESULT WINAPI VarUI2FromR8(double dblIn, USHORT*puiOut);
HRESULT WINAPI VarUI2FromDate(DATE dateIn, USHORT*puiOut); HRESULT WINAPI VarBoolFromUI1(BYTE,VARIANT_BOOL*);
HRESULT WINAPI VarUI2FromStr(OLECHAR*strIn, LCID lcid, ULONG dwFlags, USHORT*puiOut); HRESULT WINAPI VarBoolFromI2(SHORT,VARIANT_BOOL*);
HRESULT WINAPI VarUI2FromBool(VARIANT_BOOL boolIn, USHORT*puiOut); HRESULT WINAPI VarBoolFromI4(LONG,VARIANT_BOOL*);
HRESULT WINAPI VarUI2FromI1(CHAR cIn, USHORT*puiOut); HRESULT WINAPI VarBoolFromI8(LONG64,VARIANT_BOOL*);
HRESULT WINAPI VarUI2FromUI4(ULONG ulIn, USHORT*puiOut); HRESULT WINAPI VarBoolFromR4(FLOAT,VARIANT_BOOL*);
HRESULT WINAPI VarUI2FromCy(CY cyIn, USHORT*puiOut); HRESULT WINAPI VarBoolFromR8(DOUBLE,VARIANT_BOOL*);
HRESULT WINAPI VarUI2FromDec(DECIMAL* pdecIn, USHORT* puiOut); HRESULT WINAPI VarBoolFromDate(DATE,VARIANT_BOOL*);
HRESULT WINAPI VarUI2FromDisp(IDispatch* pdispIn, LCID lcid, USHORT* puiOut); HRESULT WINAPI VarBoolFromStr(OLECHAR*,LCID,ULONG,VARIANT_BOOL*);
HRESULT WINAPI VarBoolFromI1(signed char,VARIANT_BOOL*);
HRESULT WINAPI VarUI4FromStr(OLECHAR*strIn, LCID lcid, ULONG dwFlags, ULONG*pulOut); HRESULT WINAPI VarBoolFromUI2(USHORT,VARIANT_BOOL*);
HRESULT WINAPI VarUI4FromUI1(BYTE bIn, ULONG*pulOut); HRESULT WINAPI VarBoolFromUI4(ULONG,VARIANT_BOOL*);
HRESULT WINAPI VarUI4FromI2(short uiIn, ULONG*pulOut); HRESULT WINAPI VarBoolFromUI8(ULONG64,VARIANT_BOOL*);
HRESULT WINAPI VarUI4FromI4(LONG lIn, ULONG*pulOut); HRESULT WINAPI VarBoolFromCy(CY,VARIANT_BOOL*);
HRESULT WINAPI VarUI4FromR4(FLOAT fltIn, ULONG*pulOut); HRESULT WINAPI VarBoolFromDec(DECIMAL*,VARIANT_BOOL*);
HRESULT WINAPI VarUI4FromR8(double dblIn, ULONG*pulOut); HRESULT WINAPI VarBoolFromDisp(IDispatch*,LCID,VARIANT_BOOL*);
HRESULT WINAPI VarUI4FromDate(DATE dateIn, ULONG*pulOut);
HRESULT WINAPI VarUI4FromBool(VARIANT_BOOL boolIn, ULONG*pulOut); HRESULT WINAPI VarI1FromUI1(BYTE,signed char*);
HRESULT WINAPI VarUI4FromI1(CHAR cIn, ULONG*pulOut); HRESULT WINAPI VarI1FromI2(SHORT,signed char*);
HRESULT WINAPI VarUI4FromUI2(USHORT uiIn, ULONG*pulOut); HRESULT WINAPI VarI1FromI4(LONG,signed char*);
HRESULT WINAPI VarUI4FromCy(CY cyIn, ULONG*pulOut); HRESULT WINAPI VarI1FromI8(LONG64,signed char*);
HRESULT WINAPI VarUI4FromDec(DECIMAL* pdecIn, ULONG* pulOut); HRESULT WINAPI VarI1FromR4(FLOAT,signed char*);
HRESULT WINAPI VarUI4FromDisp(IDispatch* pdispIn, LCID lcid, ULONG* pulOut); HRESULT WINAPI VarI1FromR8(DOUBLE,signed char*);
HRESULT WINAPI VarI1FromDate(DATE,signed char*);
HRESULT WINAPI VarDecFromUI1(BYTE bIn, DECIMAL*pdecOut); HRESULT WINAPI VarI1FromStr(OLECHAR*,LCID,ULONG,signed char*);
HRESULT WINAPI VarDecFromI2(short uiIn, DECIMAL*pdecOut); HRESULT WINAPI VarI1FromBool(VARIANT_BOOL,signed char*);
HRESULT WINAPI VarDecFromI4(LONG lIn, DECIMAL*pdecOut); HRESULT WINAPI VarI1FromUI2(USHORT,signed char*);
HRESULT WINAPI VarDecFromR4(FLOAT fltIn, DECIMAL*pdecOut); HRESULT WINAPI VarI1FromUI4(ULONG,signed char*);
HRESULT WINAPI VarDecFromR8(double dblIn, DECIMAL*pdecOut); HRESULT WINAPI VarI1FromUI8(ULONG64,signed char*);
HRESULT WINAPI VarDecFromDate(DATE dateIn, DECIMAL*pdecOut); HRESULT WINAPI VarI1FromCy(CY,signed char*);
HRESULT WINAPI VarDecFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, DECIMAL* pdecOut); HRESULT WINAPI VarI1FromDec(DECIMAL*,signed char*);
HRESULT WINAPI VarDecFromBool(VARIANT_BOOL boolIn, DECIMAL* pdecOut); HRESULT WINAPI VarI1FromDisp(IDispatch*,LCID,signed char*);
HRESULT WINAPI VarDecFromI1(CHAR cIn, DECIMAL* pdecOut);
HRESULT WINAPI VarDecFromUI2(USHORT uiIn, DECIMAL* pdecOut); HRESULT WINAPI VarUI2FromUI1(BYTE,USHORT*);
HRESULT WINAPI VarDecFromUI4(ULONG ulIn, DECIMAL* pdecOut); HRESULT WINAPI VarUI2FromI2(SHORT,USHORT*);
HRESULT WINAPI VarDecFromCy(CY cyIn, DECIMAL* pdecOut); HRESULT WINAPI VarUI2FromI4(LONG,USHORT*);
HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut); HRESULT WINAPI VarUI2FromI8(LONG64,USHORT*);
HRESULT WINAPI VarUI2FromR4(FLOAT,USHORT*);
HRESULT WINAPI VarUI2FromR8(DOUBLE,USHORT*);
HRESULT WINAPI VarUI2FromDate(DATE,USHORT*);
#define VarUI4FromUI4( in, pOut ) ( *(pOut) = (in) ) HRESULT WINAPI VarUI2FromStr(OLECHAR*,LCID,ULONG,USHORT*);
#define VarI4FromI4( in, pOut ) ( *(pOut) = (in) ) HRESULT WINAPI VarUI2FromBool(VARIANT_BOOL,USHORT*);
HRESULT WINAPI VarUI2FromI1(signed char,USHORT*);
HRESULT WINAPI VarUI2FromUI4(ULONG,USHORT*);
HRESULT WINAPI VarUI2FromUI8(ULONG64,USHORT*);
HRESULT WINAPI VarUI2FromCy(CY,USHORT*);
HRESULT WINAPI VarUI2FromDec(DECIMAL*,USHORT*);
HRESULT WINAPI VarUI2FromDisp(IDispatch*,LCID,USHORT*);
HRESULT WINAPI VarUI4FromStr(OLECHAR*,LCID,ULONG,ULONG*);
HRESULT WINAPI VarUI4FromUI1(BYTE,ULONG*);
HRESULT WINAPI VarUI4FromI2(SHORT,ULONG*);
HRESULT WINAPI VarUI4FromI4(LONG,ULONG*);
HRESULT WINAPI VarUI4FromI8(LONG64,ULONG*);
HRESULT WINAPI VarUI4FromR4(FLOAT,ULONG*);
HRESULT WINAPI VarUI4FromR8(DOUBLE,ULONG*);
HRESULT WINAPI VarUI4FromDate(DATE,ULONG*);
HRESULT WINAPI VarUI4FromBool(VARIANT_BOOL,ULONG*);
HRESULT WINAPI VarUI4FromI1(signed char,ULONG*);
HRESULT WINAPI VarUI4FromUI2(USHORT,ULONG*);
HRESULT WINAPI VarUI4FromUI8(ULONG64,ULONG*);
HRESULT WINAPI VarUI4FromCy(CY,ULONG*);
HRESULT WINAPI VarUI4FromDec(DECIMAL*,ULONG*);
HRESULT WINAPI VarUI4FromDisp(IDispatch*,LCID,ULONG*);
HRESULT WINAPI VarUI8FromUI1(BYTE,ULONG64*);
HRESULT WINAPI VarUI8FromI2(SHORT,ULONG64*);
HRESULT WINAPI VarUI8FromI4(LONG,ULONG64*);
HRESULT WINAPI VarUI8FromI8(LONG64,ULONG64*);
HRESULT WINAPI VarUI8FromR4(FLOAT,ULONG64*);
HRESULT WINAPI VarUI8FromR8(DOUBLE,ULONG64*);
HRESULT WINAPI VarUI8FromDate(DATE,ULONG64*);
HRESULT WINAPI VarUI8FromStr(OLECHAR*,LCID,ULONG,ULONG64*);
HRESULT WINAPI VarUI8FromBool(VARIANT_BOOL,ULONG64*);
HRESULT WINAPI VarUI8FromI1(signed char,ULONG64*);
HRESULT WINAPI VarUI8FromUI2(USHORT,ULONG64*);
HRESULT WINAPI VarUI8FromUI4(ULONG,ULONG64*);
HRESULT WINAPI VarUI8FromDec(DECIMAL*,ULONG64*);
HRESULT WINAPI VarUI8FromInt(INT,ULONG64*);
HRESULT WINAPI VarUI8FromCy(CY,ULONG64*);
HRESULT WINAPI VarUI8FromDisp(IDispatch*,LCID,ULONG64*);
HRESULT WINAPI VarDecFromUI1(BYTE,DECIMAL*);
HRESULT WINAPI VarDecFromI2(SHORT,DECIMAL*);
HRESULT WINAPI VarDecFromI4(LONG,DECIMAL*);
HRESULT WINAPI VarDecFromI8(LONG64,DECIMAL*);
HRESULT WINAPI VarDecFromR4(FLOAT,DECIMAL*);
HRESULT WINAPI VarDecFromR8(DOUBLE,DECIMAL*);
HRESULT WINAPI VarDecFromDate(DATE,DECIMAL*);
HRESULT WINAPI VarDecFromStr(OLECHAR*,LCID,ULONG,DECIMAL*);
HRESULT WINAPI VarDecFromBool(VARIANT_BOOL,DECIMAL*);
HRESULT WINAPI VarDecFromI1(signed char,DECIMAL*);
HRESULT WINAPI VarDecFromUI2(USHORT,DECIMAL*);
HRESULT WINAPI VarDecFromUI4(ULONG,DECIMAL*);
HRESULT WINAPI VarDecFromUI8(ULONG64,DECIMAL*);
HRESULT WINAPI VarDecFromCy(CY,DECIMAL*);
HRESULT WINAPI VarDecFromDisp(IDispatch*,LCID,DECIMAL*);
#define VarUI4FromUI4( in,pOut ) ( *(pOut) = (in) )
#define VarI4FromI4( in,pOut ) ( *(pOut) = (in) )
#define VarUI1FromInt VarUI1FromI4 #define VarUI1FromInt VarUI1FromI4
#define VarUI1FromUint VarUI1FromUI4 #define VarUI1FromUint VarUI1FromUI4
...@@ -443,6 +471,8 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut); ...@@ -443,6 +471,8 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut);
#define VarI2FromUint VarI2FromUI4 #define VarI2FromUint VarI2FromUI4
#define VarI4FromInt VarI4FromI4 #define VarI4FromInt VarI4FromI4
#define VarI4FromUint VarI4FromUI4 #define VarI4FromUint VarI4FromUI4
#define VarI8FromInt VarI8FromI4
#define VarI8FromUint VarI8FromUI4
#define VarR4FromInt VarR4FromI4 #define VarR4FromInt VarR4FromI4
#define VarR4FromUint VarR4FromUI4 #define VarR4FromUint VarR4FromUI4
#define VarR8FromInt VarR8FromI4 #define VarR8FromInt VarR8FromI4
...@@ -461,11 +491,14 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut); ...@@ -461,11 +491,14 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut);
#define VarUI2FromUint VarUI2FromUI4 #define VarUI2FromUint VarUI2FromUI4
#define VarUI4FromInt VarUI4FromI4 #define VarUI4FromInt VarUI4FromI4
#define VarUI4FromUint VarUI4FromUI4 #define VarUI4FromUint VarUI4FromUI4
#define VarUI8FromInt VarUI8FromI4
#define VarUI8FromUint VarUI8FromUI4
#define VarDecFromInt VarDecFromI4 #define VarDecFromInt VarDecFromI4
#define VarDecFromUint VarDecFromUI4 #define VarDecFromUint VarDecFromUI4
#define VarIntFromUI1 VarI4FromUI1 #define VarIntFromUI1 VarI4FromUI1
#define VarIntFromI2 VarI4FromI2 #define VarIntFromI2 VarI4FromI2
#define VarIntFromI4 VarI4FromI4 #define VarIntFromI4 VarI4FromI4
#define VarIntFromI8 VarI4FromI8
#define VarIntFromR4 VarI4FromR4 #define VarIntFromR4 VarI4FromR4
#define VarIntFromR8 VarI4FromR8 #define VarIntFromR8 VarI4FromR8
#define VarIntFromDate VarI4FromDate #define VarIntFromDate VarI4FromDate
...@@ -476,11 +509,13 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut); ...@@ -476,11 +509,13 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut);
#define VarIntFromI1 VarI4FromI1 #define VarIntFromI1 VarI4FromI1
#define VarIntFromUI2 VarI4FromUI2 #define VarIntFromUI2 VarI4FromUI2
#define VarIntFromUI4 VarI4FromUI4 #define VarIntFromUI4 VarI4FromUI4
#define VarIntFromUI8 VarI4FromUI8
#define VarIntFromDec VarI4FromDec #define VarIntFromDec VarI4FromDec
#define VarIntFromUint VarI4FromUI4 #define VarIntFromUint VarI4FromUI4
#define VarUintFromUI1 VarUI4FromUI1 #define VarUintFromUI1 VarUI4FromUI1
#define VarUintFromI2 VarUI4FromI2 #define VarUintFromI2 VarUI4FromI2
#define VarUintFromI4 VarUI4FromI4 #define VarUintFromI4 VarUI4FromI4
#define VarUintFromI8 VarUI4FromI8
#define VarUintFromR4 VarUI4FromR4 #define VarUintFromR4 VarUI4FromR4
#define VarUintFromR8 VarUI4FromR8 #define VarUintFromR8 VarUI4FromR8
#define VarUintFromDate VarUI4FromDate #define VarUintFromDate VarUI4FromDate
...@@ -491,6 +526,7 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut); ...@@ -491,6 +526,7 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut);
#define VarUintFromI1 VarUI4FromI1 #define VarUintFromI1 VarUI4FromI1
#define VarUintFromUI2 VarUI4FromUI2 #define VarUintFromUI2 VarUI4FromUI2
#define VarUintFromUI4 VarUI4FromUI4 #define VarUintFromUI4 VarUI4FromUI4
#define VarUintFromUI8 VarUI4FromUI8
#define VarUintFromDec VarUI4FromDec #define VarUintFromDec VarUI4FromDec
#define VarUintFromInt VarUI4FromI4 #define VarUintFromInt VarUI4FromI4
...@@ -502,6 +538,31 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut); ...@@ -502,6 +538,31 @@ HRESULT WINAPI VarDecFromDisp(IDispatch* pdispIn, LCID lcid, DECIMAL* pdecOut);
#define VARCMP_GT 2 #define VARCMP_GT 2
#define VARCMP_NULL 3 #define VARCMP_NULL 3
HRESULT WINAPI VarDecAbs(const DECIMAL*,DECIMAL*);
HRESULT WINAPI VarDecAdd(const DECIMAL*,const DECIMAL*,DECIMAL*);
HRESULT WINAPI VarDecCmp(const DECIMAL*,const DECIMAL*);
HRESULT WINAPI VarDecCmpR8(const DECIMAL*,DOUBLE);
HRESULT WINAPI VarDecDiv(const DECIMAL*,const DECIMAL*,DECIMAL*);
HRESULT WINAPI VarDecFix(const DECIMAL*,DECIMAL*);
HRESULT WINAPI VarDecInt(const DECIMAL*,DECIMAL*);
HRESULT WINAPI VarDecMul(const DECIMAL*,const DECIMAL*,DECIMAL*);
HRESULT WINAPI VarDecNeg(const DECIMAL*,DECIMAL*);
HRESULT WINAPI VarDecRound(const DECIMAL*,int,DECIMAL*);
HRESULT WINAPI VarDecSub(const DECIMAL*,const DECIMAL*,DECIMAL*);
HRESULT WINAPI VarCyAbs(const CY,CY*);
HRESULT WINAPI VarCyAdd(const CY,const CY,CY*);
HRESULT WINAPI VarCyCmp(const CY,const CY);
HRESULT WINAPI VarCyCmpR8(const CY,DOUBLE);
HRESULT WINAPI VarCyFix(const CY,CY*);
HRESULT WINAPI VarCyInt(const CY,CY*);
HRESULT WINAPI VarCyMul(const CY,CY,CY*);
HRESULT WINAPI VarCyMulI4(const CY,LONG,CY*);
HRESULT WINAPI VarCyMulI8(const CY,LONG64,CY*);
HRESULT WINAPI VarCyNeg(const CY,CY*);
HRESULT WINAPI VarCyRound(const CY,INT,CY*);
HRESULT WINAPI VarCySub(const CY,const CY,CY*);
HRESULT WINAPI VarAdd(LPVARIANT,LPVARIANT,LPVARIANT); HRESULT WINAPI VarAdd(LPVARIANT,LPVARIANT,LPVARIANT);
HRESULT WINAPI VarAnd(LPVARIANT,LPVARIANT,LPVARIANT); HRESULT WINAPI VarAnd(LPVARIANT,LPVARIANT,LPVARIANT);
HRESULT WINAPI VarCat(LPVARIANT,LPVARIANT,LPVARIANT); HRESULT WINAPI VarCat(LPVARIANT,LPVARIANT,LPVARIANT);
...@@ -594,6 +655,8 @@ typedef struct { ...@@ -594,6 +655,8 @@ typedef struct {
#define VTBIT_UI2 (1 << VT_UI2) #define VTBIT_UI2 (1 << VT_UI2)
#define VTBIT_I4 (1 << VT_I4) #define VTBIT_I4 (1 << VT_I4)
#define VTBIT_UI4 (1 << VT_UI4) #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_R4 (1 << VT_R4)
#define VTBIT_R8 (1 << VT_R8) #define VTBIT_R8 (1 << VT_R8)
#define VTBIT_CY (1 << VT_CY) #define VTBIT_CY (1 << VT_CY)
...@@ -603,32 +666,26 @@ HRESULT WINAPI VarParseNumFromStr(OLECHAR*,LCID,ULONG,NUMPARSE*,BYTE*); ...@@ -603,32 +666,26 @@ HRESULT WINAPI VarParseNumFromStr(OLECHAR*,LCID,ULONG,NUMPARSE*,BYTE*);
HRESULT WINAPI VarNumFromParseNum(NUMPARSE*,BYTE*,ULONG,VARIANT*); HRESULT WINAPI VarNumFromParseNum(NUMPARSE*,BYTE*,ULONG,VARIANT*);
INT WINAPI DosDateTimeToVariantTime(USHORT,USHORT,DATE*); INT WINAPI DosDateTimeToVariantTime(USHORT,USHORT,DATE*);
INT WINAPI VariantTimeToDosDateTime(DATE, USHORT *, USHORT *); INT WINAPI VariantTimeToDosDateTime(DATE,USHORT*,USHORT*);
HRESULT WINAPI VariantTimeToSystemTime(double,LPSYSTEMTIME); HRESULT WINAPI VariantTimeToSystemTime(DOUBLE,LPSYSTEMTIME);
HRESULT WINAPI SystemTimeToVariantTime(LPSYSTEMTIME,double*); HRESULT WINAPI SystemTimeToVariantTime(LPSYSTEMTIME,double*);
HRESULT WINAPI VarDateFromUdate(UDATE*,ULONG, DATE*); HRESULT WINAPI VarDateFromUdate(UDATE*,ULONG,DATE*);
HRESULT WINAPI VarUdateFromDate(DATE, ULONG, UDATE *); HRESULT WINAPI VarUdateFromDate(DATE,ULONG,UDATE*);
ULONG WINAPI LHashValOfNameSysA(SYSKIND syskind,LCID lcid,LPCSTR szName); ULONG WINAPI LHashValOfNameSysA(SYSKIND,LCID,LPCSTR);
ULONG WINAPI LHashValOfNameSys (SYSKIND syskind,LCID lcid,LPCOLESTR szName); ULONG WINAPI LHashValOfNameSys (SYSKIND,LCID,LPCOLESTR);
HRESULT WINAPI DispGetParam(DISPPARAMS* pdispparams, UINT position, HRESULT WINAPI DispGetParam(DISPPARAMS*,UINT,VARTYPE,VARIANT*,UINT*);
VARTYPE vtTarg, VARIANT* pvarResult, UINT* puArgErr); HRESULT WINAPI DispGetIDsOfNames(ITypeInfo*,OLECHAR**,UINT,DISPID*);
HRESULT WINAPI DispGetIDsOfNames(ITypeInfo* ptinfo, OLECHAR** rgszNames, HRESULT WINAPI DispInvoke(void*,ITypeInfo*,DISPID,WORD,DISPPARAMS*,VARIANT*,
UINT cNames, DISPID* rgdispid); EXCEPINFO*,UINT*);
HRESULT WINAPI DispInvoke(void* _this, ITypeInfo* ptinfo, DISPID dispidMember, HRESULT WINAPI CreateDispTypeInfo(INTERFACEDATA*,LCID,ITypeInfo**);
WORD wFlags, DISPPARAMS* pparams, VARIANT* pvarResult, HRESULT WINAPI CreateStdDispatch(IUnknown*,void*,ITypeInfo*,IUnknown**);
EXCEPINFO* pexcepinfo, UINT* puArgErr); HRESULT WINAPI DispCallFunc(void*,ULONG,CALLCONV,VARTYPE,UINT,VARTYPE*,
HRESULT WINAPI CreateDispTypeInfo(INTERFACEDATA* pidata, LCID lcid, VARIANTARG**,VARIANT*);
ITypeInfo** pptinfo); HRESULT WINAPI GetActiveObject(REFCLSID,void*,IUnknown**);
HRESULT WINAPI CreateStdDispatch(IUnknown* punkOuter, void* pvThis,
ITypeInfo* ptinfo, IUnknown** ppunkStdDisp);
HRESULT WINAPI DispCallFunc(void* pvInstance, ULONG oVft, CALLCONV cc,
VARTYPE vtReturn, UINT cActuals, VARTYPE* prgvt,
VARIANTARG** prgpvarg, VARIANT* pvargResult);
HRESULT WINAPI GetActiveObject(REFCLSID, void*, IUnknown**);
/* /*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment