Commit bc93bc83 authored by Justin Bradford's avatar Justin Bradford Committed by Alexandre Julliard

Most of the currency variant conversion functions implemented.

Minor bugfixes and header tidying.
parent b6eda081
#ifndef __WINE_MAPIDEFS_H
#define __WINE_MAPIDEFS_H
#include "wintypes.h"
typedef union tagCY CY;
union tagCY{
struct {
unsigned long Lo;
long Hi;
} u;
LONGLONG int64;
};
#endif /*__WINE_MAPIDEFS_H*/
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#define __WINE_OLEAUTO_H #define __WINE_OLEAUTO_H
#include <ole.h> #include <ole.h>
#include "mapidefs.h"
BSTR16 WINAPI SysAllocString16(LPOLESTR16); BSTR16 WINAPI SysAllocString16(LPOLESTR16);
BSTR32 WINAPI SysAllocString32(LPOLESTR32); BSTR32 WINAPI SysAllocString32(LPOLESTR32);
...@@ -38,7 +39,6 @@ typedef short VARIANT_BOOL; ...@@ -38,7 +39,6 @@ typedef short VARIANT_BOOL;
#define VARIANT_TRUE 0xFFFF #define VARIANT_TRUE 0xFFFF
#define VARIANT_FALSE 0x0000 #define VARIANT_FALSE 0x0000
typedef double DATE;
typedef LONG SCODE; typedef LONG SCODE;
enum VARENUM { enum VARENUM {
...@@ -135,9 +135,9 @@ struct tagVARIANT { ...@@ -135,9 +135,9 @@ struct tagVARIANT {
SCODE scode; SCODE scode;
DATE date; DATE date;
BSTR32 bstrVal; BSTR32 bstrVal;
CY cyVal;
/* /*
DECIMAL decVal; DECIMAL decVal;
CY cyVal;
IUnknown* punkVal; IUnknown* punkVal;
IDispatch* pdispVal; IDispatch* pdispVal;
SAFEARRAY* parray; SAFEARRAY* parray;
...@@ -161,9 +161,9 @@ struct tagVARIANT { ...@@ -161,9 +161,9 @@ struct tagVARIANT {
BSTR32* pbstrVal; BSTR32* pbstrVal;
VARIANT* pvarVal; VARIANT* pvarVal;
PVOID byref; PVOID byref;
CY* pcyVal;
/* /*
DECIMAL* pdecVal; DECIMAL* pdecVal;
CY* pcyVal;
IUnknown** ppunkVal; IUnknown** ppunkVal;
IDispatch** ppdispVal; IDispatch** ppdispVal;
SAFEARRAY** pparray; SAFEARRAY** pparray;
...@@ -296,14 +296,14 @@ HRESULT WINAPI VarUI1FromUI432(ULONG ulIn, BYTE*pbOut); ...@@ -296,14 +296,14 @@ HRESULT WINAPI VarUI1FromUI432(ULONG ulIn, BYTE*pbOut);
#define VarUI1FromUI4 WINELIB_NAME(VarUI1FromUI4) #define VarUI1FromUI4 WINELIB_NAME(VarUI1FromUI4)
HRESULT WINAPI VarUI1FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, BYTE* pbOut); HRESULT WINAPI VarUI1FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, BYTE* pbOut);
#define VarUI1FromStr WINELIB_NAME(VarUI1FromStr) #define VarUI1FromStr WINELIB_NAME(VarUI1FromStr)
HRESULT WINAPI VarUI1FromCy32(CY cyIn, BYTE* pbOut);
#define VarUI1FromCy WINELIB_NAME(VarUI1FromCy)
/* /*
HRESULT WINAPI VarUI1FromDec32(DECIMAL*pdecIn, BYTE*pbOut); HRESULT WINAPI VarUI1FromDec32(DECIMAL*pdecIn, BYTE*pbOut);
#define VarUI1FromDec WINELIB_NAME(VarUI1FromDec) #define VarUI1FromDec WINELIB_NAME(VarUI1FromDec)
HRESULT WINAPI VarUI1FromDisp32(IDispatch* pdispIn, LCID lcid, BYTE* pbOut); HRESULT WINAPI VarUI1FromDisp32(IDispatch* pdispIn, LCID lcid, BYTE* pbOut);
#define VarUI1FromDisp WINELIB_NAME(VarUI1FromDisp) #define VarUI1FromDisp WINELIB_NAME(VarUI1FromDisp)
HRESULT WINAPI VarUI1FromCy32(CY cyIn, BYTE* pbOut);
#define VarUI1FromCy WINELIB_NAME(VarUI1FromCy)
*/ */
HRESULT WINAPI VarI2FromUI132(BYTE bIn, short* psOut); HRESULT WINAPI VarI2FromUI132(BYTE bIn, short* psOut);
...@@ -326,13 +326,13 @@ HRESULT WINAPI VarI2FromUI432(ULONG ulIn, short*psOut); ...@@ -326,13 +326,13 @@ HRESULT WINAPI VarI2FromUI432(ULONG ulIn, short*psOut);
#define VarI2FromUI4 WINELIB_NAME(VarI2FromUI4) #define VarI2FromUI4 WINELIB_NAME(VarI2FromUI4)
HRESULT WINAPI VarI2FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, short* psOut); HRESULT WINAPI VarI2FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, short* psOut);
#define VarI2FromStr WINELIB_NAME(VarI2FromStr) #define VarI2FromStr WINELIB_NAME(VarI2FromStr)
HRESULT WINAPI VarI2FromCy32(CY cyIn, short* psOut);
#define VarI2FromCy WINELIB_NAME(VarI2FromCy)
/* /*
HRESULT WINAPI VarI2FromDec32(DECIMAL*pdecIn, short*psOut); HRESULT WINAPI VarI2FromDec32(DECIMAL*pdecIn, short*psOut);
#define VarI2FromDec WINELIB_NAME(VarI2FromDec) #define VarI2FromDec WINELIB_NAME(VarI2FromDec)
HRESULT WINAPI VarI2FromDisp32(IDispatch* pdispIn, LCID lcid, short* psOut); HRESULT WINAPI VarI2FromDisp32(IDispatch* pdispIn, LCID lcid, short* psOut);
#define VarI2FromDisp WINELIB_NAME(VarI2FromDisp) #define VarI2FromDisp WINELIB_NAME(VarI2FromDisp)
HRESULT WINAPI VarI2FromCy32(CY cyIn, short* psOut);
#define VarI2FromCy WINELIB_NAME(VarI2FromCy)
*/ */
HRESULT WINAPI VarI4FromUI132(BYTE bIn, LONG* plOut); HRESULT WINAPI VarI4FromUI132(BYTE bIn, LONG* plOut);
...@@ -355,9 +355,9 @@ HRESULT WINAPI VarI4FromUI432(ULONG ulIn, LONG*plOut); ...@@ -355,9 +355,9 @@ HRESULT WINAPI VarI4FromUI432(ULONG ulIn, LONG*plOut);
#define VarI4FromUI4 WINELIB_NAME(VarI4FromUI4) #define VarI4FromUI4 WINELIB_NAME(VarI4FromUI4)
HRESULT WINAPI VarI4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, LONG* plOut); HRESULT WINAPI VarI4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, LONG* plOut);
#define VarI4FromStr WINELIB_NAME(VarI4FromStr) #define VarI4FromStr WINELIB_NAME(VarI4FromStr)
/*
HRESULT WINAPI VarI4FromCy32(CY cyIn, LONG* plOut); HRESULT WINAPI VarI4FromCy32(CY cyIn, LONG* plOut);
#define VarI4FromCy WINELIB_NAME(VarI4FromCy) #define VarI4FromCy WINELIB_NAME(VarI4FromCy)
/*
HRESULT WINAPI VarI4FromDec32(DECIMAL*pdecIn, LONG*plOut); HRESULT WINAPI VarI4FromDec32(DECIMAL*pdecIn, LONG*plOut);
#define VarI4FromDec WINELIB_NAME(VarI4FromDec) #define VarI4FromDec WINELIB_NAME(VarI4FromDec)
HRESULT WINAPI VarI4FromDisp32(IDispatch* pdispIn, LCID lcid, LONG* plOut); HRESULT WINAPI VarI4FromDisp32(IDispatch* pdispIn, LCID lcid, LONG* plOut);
...@@ -384,13 +384,13 @@ HRESULT WINAPI VarR4FromUI432(ULONG ulIn, FLOAT*pfltOut); ...@@ -384,13 +384,13 @@ HRESULT WINAPI VarR4FromUI432(ULONG ulIn, FLOAT*pfltOut);
#define VarR4FromUI4 WINELIB_NAME(VarR4FromUI4) #define VarR4FromUI4 WINELIB_NAME(VarR4FromUI4)
HRESULT WINAPI VarR4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, FLOAT*pfltOut); HRESULT WINAPI VarR4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, FLOAT*pfltOut);
#define VarR4FromStr WINELIB_NAME(VarR4FromStr) #define VarR4FromStr WINELIB_NAME(VarR4FromStr)
HRESULT WINAPI VarR4FromCy32(CY cyIn, FLOAT* pfltOut);
#define VarR4FromCy WINELIB_NAME(VarR4FromCy)
/* /*
HRESULT WINAPI VarR4FromDec32(DECIMAL*pdecIn, FLOAT*pfltOut); HRESULT WINAPI VarR4FromDec32(DECIMAL*pdecIn, FLOAT*pfltOut);
#define VarR4FromDec WINELIB_NAME(VarR4FromDec) #define VarR4FromDec WINELIB_NAME(VarR4FromDec)
HRESULT WINAPI VarR4FromDisp32(IDispatch* pdispIn, LCID lcid, FLOAT* pfltOut); HRESULT WINAPI VarR4FromDisp32(IDispatch* pdispIn, LCID lcid, FLOAT* pfltOut);
#define VarR4FromDisp WINELIB_NAME(VarR4FromDisp) #define VarR4FromDisp WINELIB_NAME(VarR4FromDisp)
HRESULT WINAPI VarR4FromCy32(CY cyIn, FLOAT* pfltOut);
#define VarR4FromCy WINELIB_NAME(VarR4FromCy)
*/ */
HRESULT WINAPI VarR8FromUI132(BYTE bIn, double* pdblOut); HRESULT WINAPI VarR8FromUI132(BYTE bIn, double* pdblOut);
...@@ -413,11 +413,11 @@ HRESULT WINAPI VarR8FromUI432(ULONG ulIn, double*pdblOut); ...@@ -413,11 +413,11 @@ HRESULT WINAPI VarR8FromUI432(ULONG ulIn, double*pdblOut);
#define VarR8FromUI4 WINELIB_NAME(VarR8FromUI4) #define VarR8FromUI4 WINELIB_NAME(VarR8FromUI4)
HRESULT WINAPI VarR8FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, double*pdblOut); HRESULT WINAPI VarR8FromStr32(OLECHAR32*strIn, LCID lcid, ULONG dwFlags, double*pdblOut);
#define VarR8FromStr WINELIB_NAME(VarR8FromStr) #define VarR8FromStr WINELIB_NAME(VarR8FromStr)
HRESULT WINAPI VarR8FromCy32(CY cyIn, double* pdblOut);
#define VarR8FromCy WINELIB_NAME(VarR8FromCy)
/* /*
HRESULT WINAPI VarR8FromDec32(DECIMAL*pdecIn, double*pdblOut); HRESULT WINAPI VarR8FromDec32(DECIMAL*pdecIn, double*pdblOut);
#define VarR8FromDec WINELIB_NAME(VarR8FromDec) #define VarR8FromDec WINELIB_NAME(VarR8FromDec)
HRESULT WINAPI VarR8FromCy32(CY cyIn, double* pdblOut);
#define VarR8FromCy WINELIB_NAME(VarR8FromCy)
HRESULT WINAPI VarR8FromDisp32(IDispatch* pdispIn, LCID lcid, double* pdblOut); HRESULT WINAPI VarR8FromDisp32(IDispatch* pdispIn, LCID lcid, double* pdblOut);
#define VarR8FromDisp WINELIB_NAME(VarR8FromDisp) #define VarR8FromDisp WINELIB_NAME(VarR8FromDisp)
*/ */
...@@ -442,14 +442,14 @@ HRESULT WINAPI VarDateFromUI432(ULONG ulIn, DATE*pdateOut); ...@@ -442,14 +442,14 @@ HRESULT WINAPI VarDateFromUI432(ULONG ulIn, DATE*pdateOut);
#define VarDateFromUI4 WINELIB_NAME(VarDateFromUI4) #define VarDateFromUI4 WINELIB_NAME(VarDateFromUI4)
HRESULT WINAPI VarDateFromBool32(VARIANT_BOOL boolIn, DATE* pdateOut); HRESULT WINAPI VarDateFromBool32(VARIANT_BOOL boolIn, DATE* pdateOut);
#define VarDateFromBool WINELIB_NAME(VarDateFromBool) #define VarDateFromBool WINELIB_NAME(VarDateFromBool)
HRESULT WINAPI VarDateFromCy32(CY cyIn, DATE* pdateOut);
#define VarDateFromCy WINELIB_NAME(VarDateFromCy)
/* /*
HRESULT WINAPI VarDateFromDec32(DECIMAL*pdecIn, DATE*pdateOut); HRESULT WINAPI VarDateFromDec32(DECIMAL*pdecIn, DATE*pdateOut);
#define VarDateFromDec WINELIB_NAME(VarDateFromDec) #define VarDateFromDec WINELIB_NAME(VarDateFromDec)
HRESULT WINAPI VarDateFromDisp32(IDispatch* pdispIn, LCID lcid, DATE* pdateOut); HRESULT WINAPI VarDateFromDisp32(IDispatch* pdispIn, LCID lcid, DATE* pdateOut);
#define VarDateFromDisp WINELIB_NAME(VarDateFromDisp) #define VarDateFromDisp WINELIB_NAME(VarDateFromDisp)
HRESULT WINAPI VarDateFromCy32(CY cyIn, DATE* pdateOut); */
#define VarDateFromCy WINELIB_NAME(VarDateFromCy)
HRESULT WINAPI VarCyFromUI132(BYTE bIn, CY* pcyOut); HRESULT WINAPI VarCyFromUI132(BYTE bIn, CY* pcyOut);
#define VarCyFromUI1 WINELIB_NAME(VarCyFromUI1) #define VarCyFromUI1 WINELIB_NAME(VarCyFromUI1)
HRESULT WINAPI VarCyFromI232(short sIn, CY* pcyOut); HRESULT WINAPI VarCyFromI232(short sIn, CY* pcyOut);
...@@ -462,10 +462,6 @@ HRESULT WINAPI VarCyFromR832(double dblIn, CY* pcyOut); ...@@ -462,10 +462,6 @@ HRESULT WINAPI VarCyFromR832(double dblIn, CY* pcyOut);
#define VarCyFromR8 WINELIB_NAME(VarCyFromR8) #define VarCyFromR8 WINELIB_NAME(VarCyFromR8)
HRESULT WINAPI VarCyFromDate32(DATE dateIn, CY* pcyOut); HRESULT WINAPI VarCyFromDate32(DATE dateIn, CY* pcyOut);
#define VarCyFromDate WINELIB_NAME(VarCyFromDate) #define VarCyFromDate WINELIB_NAME(VarCyFromDate)
HRESULT WINAPI VarCyFromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, CY* pcyOut);
#define VarCyFromStr WINELIB_NAME(VarCyFromStr)
HRESULT WINAPI VarCyFromDisp32(IDispatch* pdispIn, LCID lcid, CY* pcyOut);
#define VarCyFromDisp WINELIB_NAME(VarCyFromDisp)
HRESULT WINAPI VarCyFromBool32(VARIANT_BOOL boolIn, CY* pcyOut); HRESULT WINAPI VarCyFromBool32(VARIANT_BOOL boolIn, CY* pcyOut);
#define VarCyFromBool WINELIB_NAME(VarCyFromBool) #define VarCyFromBool WINELIB_NAME(VarCyFromBool)
HRESULT WINAPI VarCyFromI132(CHAR cIn, CY*pcyOut); HRESULT WINAPI VarCyFromI132(CHAR cIn, CY*pcyOut);
...@@ -474,8 +470,13 @@ HRESULT WINAPI VarCyFromUI232(USHORT uiIn, CY*pcyOut); ...@@ -474,8 +470,13 @@ HRESULT WINAPI VarCyFromUI232(USHORT uiIn, CY*pcyOut);
#define VarCyFromUI2 WINELIB_NAME(VarCyFromUI2) #define VarCyFromUI2 WINELIB_NAME(VarCyFromUI2)
HRESULT WINAPI VarCyFromUI432(ULONG ulIn, CY*pcyOut); HRESULT WINAPI VarCyFromUI432(ULONG ulIn, CY*pcyOut);
#define VarCyFromUI4 WINELIB_NAME(VarCyFromUI4) #define VarCyFromUI4 WINELIB_NAME(VarCyFromUI4)
/*
HRESULT WINAPI VarCyFromDec32(DECIMAL*pdecIn, CY*pcyOut); HRESULT WINAPI VarCyFromDec32(DECIMAL*pdecIn, CY*pcyOut);
#define VarCyFromDec WINELIB_NAME(VarCyFromDec) #define VarCyFromDec WINELIB_NAME(VarCyFromDec)
HRESULT WINAPI VarCyFromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, CY* pcyOut);
#define VarCyFromStr WINELIB_NAME(VarCyFromStr)
HRESULT WINAPI VarCyFromDisp32(IDispatch* pdispIn, LCID lcid, CY* pcyOut);
#define VarCyFromDisp WINELIB_NAME(VarCyFromDisp)
*/ */
HRESULT WINAPI VarBstrFromUI132(BYTE bVal, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut); HRESULT WINAPI VarBstrFromUI132(BYTE bVal, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
...@@ -498,11 +499,11 @@ HRESULT WINAPI VarBstrFromUI232(USHORT uiIn, LCID lcid, ULONG dwFlags, BSTR32*pb ...@@ -498,11 +499,11 @@ HRESULT WINAPI VarBstrFromUI232(USHORT uiIn, LCID lcid, ULONG dwFlags, BSTR32*pb
#define VarBstrFromUI2 WINELIB_NAME(VarBstrFromUI2) #define VarBstrFromUI2 WINELIB_NAME(VarBstrFromUI2)
HRESULT WINAPI VarBstrFromUI432(ULONG ulIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut); HRESULT WINAPI VarBstrFromUI432(ULONG ulIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
#define VarBstrFromUI4 WINELIB_NAME(VarBstrFromUI4) #define VarBstrFromUI4 WINELIB_NAME(VarBstrFromUI4)
HRESULT WINAPI VarBstrFromCy32(CY cyIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromCy WINELIB_NAME(VarBstrFromCy)
/* /*
HRESULT WINAPI VarBstrFromDec32(DECIMAL*pdecIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut); HRESULT WINAPI VarBstrFromDec32(DECIMAL*pdecIn, LCID lcid, ULONG dwFlags, BSTR32*pbstrOut);
#define VarBstrFromDec WINELIB_NAME(VarBstrFromDec) #define VarBstrFromDec WINELIB_NAME(VarBstrFromDec)
HRESULT WINAPI VarBstrFromCy32(CY cyIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromCy WINELIB_NAME(VarBstrFromCy)
HRESULT WINAPI VarBstrFromDisp32(IDispatch* pdispIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut); HRESULT WINAPI VarBstrFromDisp32(IDispatch* pdispIn, LCID lcid, ULONG dwFlags, BSTR32* pbstrOut);
#define VarBstrFromDisp WINELIB_NAME(VarBstrFromDisp) #define VarBstrFromDisp WINELIB_NAME(VarBstrFromDisp)
*/ */
...@@ -527,11 +528,11 @@ HRESULT WINAPI VarBoolFromUI232(USHORT uiIn, VARIANT_BOOL*pboolOut); ...@@ -527,11 +528,11 @@ HRESULT WINAPI VarBoolFromUI232(USHORT uiIn, VARIANT_BOOL*pboolOut);
#define VarBoolFromUI2 WINELIB_NAME(VarBoolFromUI2) #define VarBoolFromUI2 WINELIB_NAME(VarBoolFromUI2)
HRESULT WINAPI VarBoolFromUI432(ULONG ulIn, VARIANT_BOOL*pboolOut); HRESULT WINAPI VarBoolFromUI432(ULONG ulIn, VARIANT_BOOL*pboolOut);
#define VarBoolFromUI4 WINELIB_NAME(VarBoolFromUI4) #define VarBoolFromUI4 WINELIB_NAME(VarBoolFromUI4)
HRESULT WINAPI VarBoolFromCy32(CY cyIn, VARIANT_BOOL* pboolOut);
#define VarBoolFromCy WINELIB_NAME(VarBoolFromCy)
/* /*
HRESULT WINAPI VarBoolFromDec32(DECIMAL*pdecIn, VARIANT_BOOL*pboolOut); HRESULT WINAPI VarBoolFromDec32(DECIMAL*pdecIn, VARIANT_BOOL*pboolOut);
#define VarBoolFromDec WINELIB_NAME(VarBoolFromDec) #define VarBoolFromDec WINELIB_NAME(VarBoolFromDec)
HRESULT WINAPI VarBoolFromCy32(CY cyIn, VARIANT_BOOL* pboolOut);
#define VarBoolFromCy WINELIB_NAME(VarBoolFromCy)
HRESULT WINAPI VarBoolFromDisp32(IDispatch* pdispIn, LCID lcid, VARIANT_BOOL* pboolOut); HRESULT WINAPI VarBoolFromDisp32(IDispatch* pdispIn, LCID lcid, VARIANT_BOOL* pboolOut);
#define VarBoolFromDisp WINELIB_NAME(VarBoolFromDisp) #define VarBoolFromDisp WINELIB_NAME(VarBoolFromDisp)
*/ */
...@@ -556,13 +557,13 @@ HRESULT WINAPI VarI1FromUI232(USHORT uiIn, CHAR*pcOut); ...@@ -556,13 +557,13 @@ HRESULT WINAPI VarI1FromUI232(USHORT uiIn, CHAR*pcOut);
#define VarI1FromUI2 WINELIB_NAME(VarI1FromUI2) #define VarI1FromUI2 WINELIB_NAME(VarI1FromUI2)
HRESULT WINAPI VarI1FromUI432(ULONG ulIn, CHAR*pcOut); HRESULT WINAPI VarI1FromUI432(ULONG ulIn, CHAR*pcOut);
#define VarI1FromUI4 WINELIB_NAME(VarI1FromUI4) #define VarI1FromUI4 WINELIB_NAME(VarI1FromUI4)
HRESULT WINAPI VarI1FromCy32(CY cyIn, CHAR*pcOut);
#define VarI1FromCy WINELIB_NAME(VarI1FromCy)
/* /*
HRESULT WINAPI VarI1FromDec32(DECIMAL*pdecIn, CHAR*pcOut); HRESULT WINAPI VarI1FromDec32(DECIMAL*pdecIn, CHAR*pcOut);
#define VarI1FromDec WINELIB_NAME(VarI1FromDec) #define VarI1FromDec WINELIB_NAME(VarI1FromDec)
HRESULT WINAPI VarI1FromDisp32(IDispatch*pdispIn, LCID lcid, CHAR*pcOut); HRESULT WINAPI VarI1FromDisp32(IDispatch*pdispIn, LCID lcid, CHAR*pcOut);
#define VarI1FromDisp WINELIB_NAME(VarI1FromDisp) #define VarI1FromDisp WINELIB_NAME(VarI1FromDisp)
HRESULT WINAPI VarI1FromCy32(CY cyIn, CHAR*pcOut);
#define VarI1FromCy WINELIB_NAME(VarI1FromCy)
*/ */
HRESULT WINAPI VarUI2FromUI132(BYTE bIn, USHORT*puiOut); HRESULT WINAPI VarUI2FromUI132(BYTE bIn, USHORT*puiOut);
...@@ -585,11 +586,11 @@ HRESULT WINAPI VarUI2FromI132(CHAR cIn, USHORT*puiOut); ...@@ -585,11 +586,11 @@ HRESULT WINAPI VarUI2FromI132(CHAR cIn, USHORT*puiOut);
#define VarUI2FromI1 WINELIB_NAME(VarUI2FromI1) #define VarUI2FromI1 WINELIB_NAME(VarUI2FromI1)
HRESULT WINAPI VarUI2FromUI432(ULONG ulIn, USHORT*puiOut); HRESULT WINAPI VarUI2FromUI432(ULONG ulIn, USHORT*puiOut);
#define VarUI2FromUI4 WINELIB_NAME(VarUI2FromUI4) #define VarUI2FromUI4 WINELIB_NAME(VarUI2FromUI4)
HRESULT WINAPI VarUI2FromCy32(CY cyIn, USHORT*puiOut);
#define VarUI2FromCy WINELIB_NAME(VarUI2FromCy)
/* /*
HRESULT WINAPI VarUI2FromDec32(DECIMAL*pdecIn, USHORT*puiOut); HRESULT WINAPI VarUI2FromDec32(DECIMAL*pdecIn, USHORT*puiOut);
#define VarUI2FromDec WINELIB_NAME(VarUI2FromDec) #define VarUI2FromDec WINELIB_NAME(VarUI2FromDec)
HRESULT WINAPI VarUI2FromCy32(CY cyIn, USHORT*puiOut);
#define VarUI2FromCy WINELIB_NAME(VarUI2FromCy)
HRESULT WINAPI VarUI2FromDisp32(IDispatch*pdispIn, LCID lcid, USHORT*puiOut); HRESULT WINAPI VarUI2FromDisp32(IDispatch*pdispIn, LCID lcid, USHORT*puiOut);
#define VarUI2FromDisp WINELIB_NAME(VarUI2FromDisp) #define VarUI2FromDisp WINELIB_NAME(VarUI2FromDisp)
*/ */
...@@ -614,13 +615,13 @@ HRESULT WINAPI VarUI4FromI132(CHAR cIn, ULONG*pulOut); ...@@ -614,13 +615,13 @@ HRESULT WINAPI VarUI4FromI132(CHAR cIn, ULONG*pulOut);
#define VarUI4FromI1 WINELIB_NAME(VarUI4FromI1) #define VarUI4FromI1 WINELIB_NAME(VarUI4FromI1)
HRESULT WINAPI VarUI4FromUI232(USHORT uiIn, ULONG*pulOut); HRESULT WINAPI VarUI4FromUI232(USHORT uiIn, ULONG*pulOut);
#define VarUI4FromUI2 WINELIB_NAME(VarUI4FromUI2) #define VarUI4FromUI2 WINELIB_NAME(VarUI4FromUI2)
HRESULT WINAPI VarUI4FromCy32(CY cyIn, ULONG*pulOut);
#define VarUI4FromCy WINELIB_NAME(VarUI4FromCy)
/* /*
HRESULT WINAPI VarUI4FromDec32(DECIMAL*pdecIn, ULONG*pulOut); HRESULT WINAPI VarUI4FromDec32(DECIMAL*pdecIn, ULONG*pulOut);
#define VarUI4FromDec WINELIB_NAME(VarUI4FromDec) #define VarUI4FromDec WINELIB_NAME(VarUI4FromDec)
HRESULT WINAPI VarUI4FromDisp32(IDispatch*pdispIn, LCID lcid, ULONG*pulOut); HRESULT WINAPI VarUI4FromDisp32(IDispatch*pdispIn, LCID lcid, ULONG*pulOut);
#define VarUI4FromDisp WINELIB_NAME(VarUI4FromDisp) #define VarUI4FromDisp WINELIB_NAME(VarUI4FromDisp)
HRESULT WINAPI VarUI4FromCy32(CY cyIn, ULONG*pulOut);
#define VarUI4FromCy WINELIB_NAME(VarUI4FromCy)
HRESULT WINAPI VarDecFromUI132(BYTE bIn, DECIMAL*pdecOut); HRESULT WINAPI VarDecFromUI132(BYTE bIn, DECIMAL*pdecOut);
#define VarDecFromUI1 WINELIB_NAME(VarDecFromUI1) #define VarDecFromUI1 WINELIB_NAME(VarDecFromUI1)
......
...@@ -110,8 +110,6 @@ typedef struct PDEVICE_HEADER ...@@ -110,8 +110,6 @@ typedef struct PDEVICE_HEADER
LOADED_PRINTER_DRIVER *pLPD; /* Associated printer driver */ LOADED_PRINTER_DRIVER *pLPD; /* Associated printer driver */
} PDEVICE_HEADER; } PDEVICE_HEADER;
typedef short SHORT;
#pragma pack(1) #pragma pack(1)
#define PCOLOR DWORD #define PCOLOR DWORD
typedef struct DRAWMODE typedef struct DRAWMODE
......
...@@ -80,6 +80,7 @@ typedef unsigned long DWORD; ...@@ -80,6 +80,7 @@ typedef unsigned long DWORD;
typedef unsigned long ULONG; typedef unsigned long ULONG;
typedef unsigned char BYTE; typedef unsigned char BYTE;
typedef long LONG; typedef long LONG;
typedef short SHORT;
typedef unsigned short USHORT; typedef unsigned short USHORT;
typedef char CHAR; typedef char CHAR;
typedef unsigned char UCHAR; typedef unsigned char UCHAR;
...@@ -87,6 +88,11 @@ typedef unsigned char UCHAR; ...@@ -87,6 +88,11 @@ typedef unsigned char UCHAR;
typedef unsigned short WCHAR; typedef unsigned short WCHAR;
typedef unsigned short BOOL16; typedef unsigned short BOOL16;
typedef int BOOL32; typedef int BOOL32;
typedef double DATE;
#ifdef __i386__
typedef double LONGLONG;
typedef double ULONGLONG;
#endif /*__i386__*/
/* Integer types. These are the same for emulator and library. */ /* Integer types. These are the same for emulator and library. */
......
...@@ -448,7 +448,7 @@ sizeof((i).ifr_name)+(i).ifr_addr.sa_len) ...@@ -448,7 +448,7 @@ sizeof((i).ifr_name)+(i).ifr_addr.sa_len)
TRACE(ole, "%p", pguid); TRACE(ole, "%p", pguid);
return 1; return S_OK;
} }
/****************************************************************************** /******************************************************************************
......
...@@ -19,10 +19,12 @@ ...@@ -19,10 +19,12 @@
* working on this. * working on this.
*/ */
#include "wintypes.h"
#include "oleauto.h" #include "oleauto.h"
#include "heap.h" #include "heap.h"
#include "debug.h" #include "debug.h"
#include "winerror.h" #include "winerror.h"
#include "mapidefs.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
...@@ -41,7 +43,7 @@ static const short I2_MIN = -32768; ...@@ -41,7 +43,7 @@ static const short I2_MIN = -32768;
static const unsigned long UI4_MAX = 4294967295; static const unsigned long UI4_MAX = 4294967295;
static const unsigned long UI4_MIN = 0; static const unsigned long UI4_MIN = 0;
static const long I4_MAX = 2147483647; static const long I4_MAX = 2147483647;
static const long I4_MIN = -2147483648.0; static const long I4_MIN = -2147483648;
static const DATE DATE_MIN = -657434; static const DATE DATE_MIN = -657434;
static const DATE DATE_MAX = 2958465; static const DATE DATE_MAX = 2958465;
...@@ -138,20 +140,18 @@ static BSTR32 StringDupAtoBstr( char* strIn ) ...@@ -138,20 +140,18 @@ static BSTR32 StringDupAtoBstr( char* strIn )
*/ */
static double round( double d ) static double round( double d )
{ {
double decimals = 0.0; double decimals = 0.0, integerValue = 0.0, roundedValue = 0.0;
unsigned long integerValue = 0.0;
double roundedValue = 0.0;
BOOL32 bEvenNumber = FALSE; BOOL32 bEvenNumber = FALSE;
int nSign = 0; int nSign = 0;
/* Save the sign of the number /* Save the sign of the number
*/ */
nSign = d >= 0.0 ? 1 : -1; nSign = (d >= 0.0) ? 1 : -1;
d = fabs( d ); d = fabs( d );
/* Remove the decimals. /* Remove the decimals.
*/ */
integerValue = (unsigned long) d; integerValue = floor( d );
/* Set the Even flag. This is used to round the number when /* Set the Even flag. This is used to round the number when
* the decimals are exactly 1/2. If the integer part is * the decimals are exactly 1/2. If the integer part is
...@@ -159,7 +159,7 @@ static double round( double d ) ...@@ -159,7 +159,7 @@ static double round( double d )
* is even the number is rounded down. Using this method * is even the number is rounded down. Using this method
* numbers are rounded up|down half the time. * numbers are rounded up|down half the time.
*/ */
bEvenNumber = ((integerValue % 2) == 0) ? TRUE : FALSE; bEvenNumber = (((short)fmod(integerValue, 2)) == 0) ? TRUE : FALSE;
/* Remove the integral part of the number. /* Remove the integral part of the number.
*/ */
...@@ -198,7 +198,6 @@ static double round( double d ) ...@@ -198,7 +198,6 @@ static double round( double d )
return roundedValue * nSign; return roundedValue * nSign;
} }
/****************************************************************************** /******************************************************************************
* RemoveCharacterFromString [INTERNAL] * RemoveCharacterFromString [INTERNAL]
* *
...@@ -535,7 +534,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -535,7 +534,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarI1FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.cVal) ); res = VarI1FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.cVal) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarI1FromCY32( ps->u.cyVal, &(pd->u.cVal) );*/ res = VarI1FromCy32( ps->u.cyVal, &(pd->u.cVal) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarI1FromDisp32( ps->u.pdispVal, lcid, &(pd->u.cVal) );*/ /*res = VarI1FromDisp32( ps->u.pdispVal, lcid, &(pd->u.cVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -588,7 +587,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -588,7 +587,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarI2FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.iVal) ); res = VarI2FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.iVal) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarI2FromCY32( ps->u.cyVal, &(pd->u.iVal) );*/ res = VarI2FromCy32( ps->u.cyVal, &(pd->u.iVal) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarI2FromDisp32( ps->u.pdispVal, lcid, &(pd->u.iVal) );*/ /*res = VarI2FromDisp32( ps->u.pdispVal, lcid, &(pd->u.iVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -642,7 +641,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -642,7 +641,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarI4FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.lVal) ); res = VarI4FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.lVal) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarI4FromCY32( ps->u.cyVal, &(pd->u.lVal) );*/ res = VarI4FromCy32( ps->u.cyVal, &(pd->u.lVal) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarI4FromDisp32( ps->u.pdispVal, lcid, &(pd->u.lVal) );*/ /*res = VarI4FromDisp32( ps->u.pdispVal, lcid, &(pd->u.lVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -695,7 +694,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -695,7 +694,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarUI1FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.bVal) ); res = VarUI1FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.bVal) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarUI1FromCY32( ps->u.cyVal, &(pd->u.bVal) );*/ res = VarUI1FromCy32( ps->u.cyVal, &(pd->u.bVal) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarUI1FromDisp32( ps->u.pdispVal, lcid, &(pd->u.bVal) );*/ /*res = VarUI1FromDisp32( ps->u.pdispVal, lcid, &(pd->u.bVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -748,7 +747,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -748,7 +747,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarUI2FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.uiVal) ); res = VarUI2FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.uiVal) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarUI2FromCY32( ps->u.cyVal, &(pd->u.uiVal) );*/ res = VarUI2FromCy32( ps->u.cyVal, &(pd->u.uiVal) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarUI2FromDisp32( ps->u.pdispVal, lcid, &(pd->u.uiVal) );*/ /*res = VarUI2FromDisp32( ps->u.pdispVal, lcid, &(pd->u.uiVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -801,7 +800,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -801,7 +800,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarUI4FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.ulVal) ); res = VarUI4FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.ulVal) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarUI4FromCY32( ps->u.cyVal, &(pd->u.ulVal) );*/ res = VarUI4FromCy32( ps->u.cyVal, &(pd->u.ulVal) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarUI4FromDisp32( ps->u.pdispVal, lcid, &(pd->u.ulVal) );*/ /*res = VarUI4FromDisp32( ps->u.pdispVal, lcid, &(pd->u.ulVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -854,7 +853,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -854,7 +853,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarR4FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.fltVal) ); res = VarR4FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.fltVal) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarR4FromCY32( ps->u.cyVal, &(pd->u.fltVal) );*/ res = VarR4FromCy32( ps->u.cyVal, &(pd->u.fltVal) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarR4FromDisp32( ps->u.pdispVal, lcid, &(pd->u.fltVal) );*/ /*res = VarR4FromDisp32( ps->u.pdispVal, lcid, &(pd->u.fltVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -907,7 +906,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -907,7 +906,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarR8FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.dblVal) ); res = VarR8FromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.dblVal) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarR8FromCY32( ps->u.cyVal, &(pd->u.dblVal) );*/ res = VarR8FromCy32( ps->u.cyVal, &(pd->u.dblVal) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarR8FromDisp32( ps->u.pdispVal, lcid, &(pd->u.dblVal) );*/ /*res = VarR8FromDisp32( ps->u.pdispVal, lcid, &(pd->u.dblVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -964,7 +963,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -964,7 +963,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarDateFromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.date) ); res = VarDateFromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.date) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarDateFromCY32( ps->u.cyVal, &(pd->u.date) );*/ res = VarDateFromCy32( ps->u.cyVal, &(pd->u.date) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarDateFromDisp32( ps->u.pdispVal, lcid, &(pd->u.date) );*/ /*res = VarDateFromDisp32( ps->u.pdispVal, lcid, &(pd->u.date) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -1021,7 +1020,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -1021,7 +1020,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VarBoolFromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.boolVal) ); res = VarBoolFromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.boolVal) );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarBoolFromCY32( ps->u.cyVal, &(pd->u.boolVal) );*/ res = VarBoolFromCy32( ps->u.cyVal, &(pd->u.boolVal) );
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarBoolFromDisp32( ps->u.pdispVal, lcid, &(pd->u.boolVal) );*/ /*res = VarBoolFromDisp32( ps->u.pdispVal, lcid, &(pd->u.boolVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -1078,7 +1077,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -1078,7 +1077,7 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
res = VariantCopy32( pd, ps ); res = VariantCopy32( pd, ps );
break; break;
case( VT_CY ): case( VT_CY ):
/*res = VarBstrFromCY32( ps->u.cyVal, lcid, dwFlags, &(pd->u.bstrVal) );*/ /*res = VarBstrFromCy32( ps->u.cyVal, lcid, dwFlags, &(pd->u.bstrVal) );*/
case( VT_DISPATCH ): case( VT_DISPATCH ):
/*res = VarBstrFromDisp32( ps->u.pdispVal, lcid, lcid, dwFlags, &(pd->u.bstrVal) );*/ /*res = VarBstrFromDisp32( ps->u.pdispVal, lcid, lcid, dwFlags, &(pd->u.bstrVal) );*/
case( VT_UNKNOWN ): case( VT_UNKNOWN ):
...@@ -1092,6 +1091,63 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps, ...@@ -1092,6 +1091,63 @@ static HRESULT Coerce( VARIANTARG* pd, LCID lcid, ULONG dwFlags, VARIANTARG* ps,
} }
break; break;
case( VT_CY ):
switch( vtFrom )
{
case( VT_I1 ):
res = VarCyFromI132( ps->u.cVal, &(pd->u.cyVal) );
break;
case( VT_I2 ):
res = VarCyFromI232( ps->u.iVal, &(pd->u.cyVal) );
break;
case( VT_INT ):
res = VarCyFromInt32( ps->u.intVal, &(pd->u.cyVal) );
break;
case( VT_I4 ):
res = VarCyFromI432( ps->u.lVal, &(pd->u.cyVal) );
break;
case( VT_UI1 ):
res = VarCyFromUI132( ps->u.bVal, &(pd->u.cyVal) );
break;
case( VT_UI2 ):
res = VarCyFromUI232( ps->u.uiVal, &(pd->u.cyVal) );
break;
case( VT_UINT ):
res = VarCyFromUint32( ps->u.uintVal, &(pd->u.cyVal) );
break;
case( VT_UI4 ):
res = VarCyFromUI432( ps->u.ulVal, &(pd->u.cyVal) );
break;
case( VT_R4 ):
res = VarCyFromR432( ps->u.fltVal, &(pd->u.cyVal) );
break;
case( VT_R8 ):
res = VarCyFromR832( ps->u.dblVal, &(pd->u.cyVal) );
break;
case( VT_DATE ):
res = VarCyFromDate32( ps->u.date, &(pd->u.cyVal) );
break;
case( VT_BOOL ):
res = VarCyFromBool32( ps->u.date, &(pd->u.cyVal) );
break;
case( VT_CY ):
res = VariantCopy32( pd, ps );
break;
case( VT_BSTR ):
/*res = VarCyFromStr32( ps->u.bstrVal, lcid, dwFlags, &(pd->u.cyVal) );*/
case( VT_DISPATCH ):
/*res = VarCyFromDisp32( ps->u.pdispVal, lcid, &(pd->u.boolVal) );*/
case( VT_UNKNOWN ):
/*res = VarCyFrom32( ps->u.lVal, &(pd->u.boolVal) );*/
case( VT_DECIMAL ):
/*res = VarCyFromDec32( ps->u.deiVal, &(pd->u.boolVal) );*/
default:
res = DISP_E_TYPEMISMATCH;
FIXME(ole,"Coercion from %d to %d\n", vtFrom, vt );
break;
}
break;
default: default:
res = DISP_E_TYPEMISMATCH; res = DISP_E_TYPEMISMATCH;
FIXME(ole,"Coercion from %d to %d\n", vtFrom, vt ); FIXME(ole,"Coercion from %d to %d\n", vtFrom, vt );
...@@ -1367,7 +1423,7 @@ HRESULT WINAPI VariantCopyInd32(VARIANT* pvargDest, VARIANTARG* pvargSrc) ...@@ -1367,7 +1423,7 @@ HRESULT WINAPI VariantCopyInd32(VARIANT* pvargDest, VARIANTARG* pvargSrc)
{ {
/* Prevent from cycling. According to tests on /* Prevent from cycling. According to tests on
* VariantCopyInd in Windows and the documentation * VariantCopyInd in Windows and the documentation
* this API dereferences the inner Variants to only on depth. * this API dereferences the inner Variants to only one depth.
* If the inner Variant itself contains an * If the inner Variant itself contains an
* other inner variant the E_INVALIDARG error is * other inner variant the E_INVALIDARG error is
* returned. * returned.
...@@ -1707,6 +1763,19 @@ HRESULT WINAPI VarUI1FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, BYTE* ...@@ -1707,6 +1763,19 @@ HRESULT WINAPI VarUI1FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, BYTE*
return S_OK; return S_OK;
} }
/**********************************************************************
* VarUI1FromCy32 [OLEAUT32.134]
* Convert currency to unsigned char
*/
HRESULT WINAPI VarUI1FromCy32(CY cyIn, BYTE* pbOut) {
double t = round((((double)cyIn.u.Hi * 4294967296) + (double)cyIn.u.Lo) / 10000);
if (t > UI1_MAX || t < UI1_MIN) return DISP_E_OVERFLOW;
*pbOut = (BYTE)t;
return S_OK;
}
/****************************************************************************** /******************************************************************************
* VarI2FromUI132 [OLEAUT32.48] * VarI2FromUI132 [OLEAUT32.48]
*/ */
...@@ -1900,6 +1969,19 @@ HRESULT WINAPI VarI2FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, short* ...@@ -1900,6 +1969,19 @@ HRESULT WINAPI VarI2FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, short*
return S_OK; return S_OK;
} }
/**********************************************************************
* VarI2FromCy32 [OLEAUT32.52]
* Convert currency to signed short
*/
HRESULT WINAPI VarI2FromCy32(CY cyIn, short* psOut) {
double t = round((((double)cyIn.u.Hi * 4294967296) + (double)cyIn.u.Lo) / 10000);
if (t > I2_MAX || t < I2_MIN) return DISP_E_OVERFLOW;
*psOut = (SHORT)t;
return S_OK;
}
/****************************************************************************** /******************************************************************************
* VarI4FromUI132 [OLEAUT32.58] * VarI4FromUI132 [OLEAUT32.58]
*/ */
...@@ -2080,6 +2162,19 @@ HRESULT WINAPI VarI4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, LONG* ...@@ -2080,6 +2162,19 @@ HRESULT WINAPI VarI4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, LONG*
return S_OK; return S_OK;
} }
/**********************************************************************
* VarI4FromCy32 [OLEAUT32.62]
* Convert currency to signed long
*/
HRESULT WINAPI VarI4FromCy32(CY cyIn, LONG* plOut) {
double t = round((((double)cyIn.u.Hi * 4294967296) + (double)cyIn.u.Lo) / 10000);
if (t > I4_MAX || t < I4_MIN) return DISP_E_OVERFLOW;
*plOut = (LONG)t;
return S_OK;
}
/****************************************************************************** /******************************************************************************
* VarR4FromUI132 [OLEAUT32.68] * VarR4FromUI132 [OLEAUT32.68]
*/ */
...@@ -2241,6 +2336,16 @@ HRESULT WINAPI VarR4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, FLOAT* ...@@ -2241,6 +2336,16 @@ HRESULT WINAPI VarR4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, FLOAT*
return S_OK; return S_OK;
} }
/**********************************************************************
* VarR4FromCy32 [OLEAUT32.72]
* Convert currency to float
*/
HRESULT WINAPI VarR4FromCy32(CY cyIn, FLOAT* pfltOut) {
*pfltOut = (FLOAT)((((double)cyIn.u.Hi * 4294967296) + (double)cyIn.u.Lo) / 10000);
return S_OK;
}
/****************************************************************************** /******************************************************************************
* VarR8FromUI132 [OLEAUT32.68] * VarR8FromUI132 [OLEAUT32.68]
*/ */
...@@ -2381,6 +2486,16 @@ HRESULT WINAPI VarR8FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, double ...@@ -2381,6 +2486,16 @@ HRESULT WINAPI VarR8FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, double
return S_OK; return S_OK;
} }
/**********************************************************************
* VarR8FromCy32 [OLEAUT32.82]
* Convert currency to double
*/
HRESULT WINAPI VarR8FromCy32(CY cyIn, double* pdblOut) {
*pdblOut = (double)((((double)cyIn.u.Hi * 4294967296) + (double)cyIn.u.Lo) / 10000);
return S_OK;
}
/****************************************************************************** /******************************************************************************
* VarDateFromUI132 [OLEAUT32.] * VarDateFromUI132 [OLEAUT32.]
*/ */
...@@ -2554,6 +2669,16 @@ HRESULT WINAPI VarDateFromBool32(VARIANT_BOOL boolIn, DATE* pdateOut) ...@@ -2554,6 +2669,16 @@ HRESULT WINAPI VarDateFromBool32(VARIANT_BOOL boolIn, DATE* pdateOut)
return S_OK; return S_OK;
} }
/**********************************************************************
* VarDateFromCy32 [OLEAUT32.93]
* Convert currency to date
*/
HRESULT WINAPI VarDateFromCy32(CY cyIn, DATE* pdateOut) {
*pdateOut = (DATE)((((double)cyIn.u.Hi * 4294967296) + (double)cyIn.u.Lo) / 10000);
if (*pdateOut > DATE_MAX || *pdateOut < DATE_MIN) return DISP_E_TYPEMISMATCH;
return S_OK;
}
/****************************************************************************** /******************************************************************************
* VarBstrFromUI132 [OLEAUT32.108] * VarBstrFromUI132 [OLEAUT32.108]
...@@ -3050,6 +3175,17 @@ HRESULT WINAPI VarBoolFromUI432(ULONG ulIn, VARIANT_BOOL* pboolOut) ...@@ -3050,6 +3175,17 @@ HRESULT WINAPI VarBoolFromUI432(ULONG ulIn, VARIANT_BOOL* pboolOut)
return S_OK; return S_OK;
} }
/**********************************************************************
* VarBoolFromCy32 [OLEAUT32.124]
* Convert currency to boolean
*/
HRESULT WINAPI VarBoolFromCy32(CY cyIn, VARIANT_BOOL* pboolOut) {
if (cyIn.u.Hi || cyIn.u.Lo) *pboolOut = -1;
else *pboolOut = 0;
return S_OK;
}
/****************************************************************************** /******************************************************************************
* VarI1FromUI132 [OLEAUT32.244] * VarI1FromUI132 [OLEAUT32.244]
*/ */
...@@ -3243,6 +3379,19 @@ HRESULT WINAPI VarI1FromUI432(ULONG ulIn, CHAR* pcOut) ...@@ -3243,6 +3379,19 @@ HRESULT WINAPI VarI1FromUI432(ULONG ulIn, CHAR* pcOut)
return S_OK; return S_OK;
} }
/**********************************************************************
* VarI1FromCy32 [OLEAUT32.250]
* Convert currency to signed char
*/
HRESULT WINAPI VarI1FromCy32(CY cyIn, CHAR* pcOut) {
double t = round((((double)cyIn.u.Hi * 4294967296) + (double)cyIn.u.Lo) / 10000);
if (t > CHAR_MAX || t < CHAR_MIN) return DISP_E_OVERFLOW;
*pcOut = (CHAR)t;
return S_OK;
}
/****************************************************************************** /******************************************************************************
* VarUI2FromUI132 [OLEAUT32.257] * VarUI2FromUI132 [OLEAUT32.257]
*/ */
...@@ -3464,6 +3613,20 @@ HRESULT WINAPI VarUI4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, ULONG ...@@ -3464,6 +3613,20 @@ HRESULT WINAPI VarUI4FromStr32(OLECHAR32* strIn, LCID lcid, ULONG dwFlags, ULONG
return S_OK; return S_OK;
} }
/**********************************************************************
* VarUI2FromCy32 [OLEAUT32.263]
* Convert currency to unsigned short
*/
HRESULT WINAPI VarUI2FromCy32(CY cyIn, USHORT* pusOut) {
double t = round((((double)cyIn.u.Hi * 4294967296) + (double)cyIn.u.Lo) / 10000);
if (t > UI2_MAX || t < UI2_MIN) return DISP_E_OVERFLOW;
*pusOut = (USHORT)t;
return S_OK;
}
/****************************************************************************** /******************************************************************************
* VarUI4FromUI132 [OLEAUT32.270] * VarUI4FromUI132 [OLEAUT32.270]
*/ */
...@@ -3598,3 +3761,138 @@ HRESULT WINAPI VarUI4FromUI232(USHORT uiIn, ULONG* pulOut) ...@@ -3598,3 +3761,138 @@ HRESULT WINAPI VarUI4FromUI232(USHORT uiIn, ULONG* pulOut)
return S_OK; return S_OK;
} }
/**********************************************************************
* VarUI4FromCy32 [OLEAUT32.276]
* Convert currency to unsigned long
*/
HRESULT WINAPI VarUI4FromCy32(CY cyIn, ULONG* pulOut) {
double t = round((((double)cyIn.u.Hi * 4294967296) + (double)cyIn.u.Lo) / 10000);
if (t > UI4_MAX || t < UI4_MIN) return DISP_E_OVERFLOW;
*pulOut = (ULONG)t;
return S_OK;
}
/**********************************************************************
* VarCyFromUI132 [OLEAUT32.98]
* Convert unsigned char to currency
*/
HRESULT WINAPI VarCyFromUI132(BYTE bIn, CY* pcyOut) {
pcyOut->u.Hi = 0;
pcyOut->u.Lo = ((ULONG)bIn) * 10000;
return S_OK;
}
/**********************************************************************
* VarCyFromI232 [OLEAUT32.99]
* Convert signed short to currency
*/
HRESULT WINAPI VarCyFromI232(short sIn, CY* pcyOut) {
if (sIn < 0) pcyOut->u.Hi = -1;
else pcyOut->u.Hi = 0;
pcyOut->u.Lo = ((ULONG)sIn) * 10000;
return S_OK;
}
/**********************************************************************
* VarCyFromI432 [OLEAUT32.100]
* Convert signed long to currency
*/
HRESULT WINAPI VarCyFromI432(LONG lIn, CY* pcyOut) {
double t = (double)lIn * (double)10000;
pcyOut->u.Hi = (LONG)(t / (double)4294967296);
pcyOut->u.Lo = (ULONG)fmod(t, (double)4294967296);
if (lIn < 0) pcyOut->u.Hi--;
return S_OK;
}
/**********************************************************************
* VarCyFromR432 [OLEAUT32.101]
* Convert float to currency
*/
HRESULT WINAPI VarCyFromR432(FLOAT fltIn, CY* pcyOut) {
double t = round((double)fltIn * (double)10000);
pcyOut->u.Hi = (LONG)(t / (double)4294967296);
pcyOut->u.Lo = (ULONG)fmod(t, (double)4294967296);
if (fltIn < 0) pcyOut->u.Hi--;
return S_OK;
}
/**********************************************************************
* VarCyFromR832 [OLEAUT32.102]
* Convert double to currency
*/
HRESULT WINAPI VarCyFromR832(double dblIn, CY* pcyOut) {
double t = round(dblIn * (double)10000);
pcyOut->u.Hi = (LONG)(t / (double)4294967296);
pcyOut->u.Lo = (ULONG)fmod(t, (double)4294967296);
if (dblIn < 0) pcyOut->u.Hi--;
return S_OK;
}
/**********************************************************************
* VarCyFromDate32 [OLEAUT32.103]
* Convert date to currency
*/
HRESULT WINAPI VarCyFromDate32(DATE dateIn, CY* pcyOut) {
double t = round((double)dateIn * (double)10000);
pcyOut->u.Hi = (LONG)(t / (double)4294967296);
pcyOut->u.Lo = (ULONG)fmod(t, (double)4294967296);
if (dateIn < 0) pcyOut->u.Hi--;
return S_OK;
}
/**********************************************************************
* VarCyFromBool32 [OLEAUT32.106]
* Convert boolean to currency
*/
HRESULT WINAPI VarCyFromBool32(VARIANT_BOOL boolIn, CY* pcyOut) {
if (boolIn < 0) pcyOut->u.Hi = -1;
else pcyOut->u.Hi = 0;
pcyOut->u.Lo = (ULONG)boolIn * (ULONG)10000;
return S_OK;
}
/**********************************************************************
* VarCyFromI132 [OLEAUT32.225]
* Convert signed char to currency
*/
HRESULT WINAPI VarCyFromI132(CHAR cIn, CY* pcyOut) {
if (cIn < 0) pcyOut->u.Hi = -1;
else pcyOut->u.Hi = 0;
pcyOut->u.Lo = (ULONG)cIn * (ULONG)10000;
return S_OK;
}
/**********************************************************************
* VarCyFromUI232 [OLEAUT32.226]
* Convert unsigned short to currency
*/
HRESULT WINAPI VarCyFromUI232(USHORT usIn, CY* pcyOut) {
pcyOut->u.Hi = 0;
pcyOut->u.Lo = (ULONG)usIn * (ULONG)10000;
return S_OK;
}
/**********************************************************************
* VarCyFromUI432 [OLEAUT32.227]
* Convert unsigned long to currency
*/
HRESULT WINAPI VarCyFromUI432(ULONG ulIn, CY* pcyOut) {
double t = (double)ulIn * (double)10000;
pcyOut->u.Hi = (LONG)(t / (double)4294967296);
pcyOut->u.Lo = (ULONG)fmod(t, (double)4294967296);
return S_OK;
}
...@@ -48,7 +48,7 @@ type win32 ...@@ -48,7 +48,7 @@ type win32
49 stdcall VarI2FromI4(long ptr) VarI2FromI432 49 stdcall VarI2FromI4(long ptr) VarI2FromI432
50 stdcall VarI2FromR4(long ptr) VarI2FromR432 50 stdcall VarI2FromR4(long ptr) VarI2FromR432
51 stdcall VarI2FromR8(double ptr) VarI2FromR832 51 stdcall VarI2FromR8(double ptr) VarI2FromR832
52 stub VarI2FromCy 52 stdcall VarI2FromCy(double ptr) VarI2FromCy32
53 stdcall VarI2FromDate(long ptr) VarI2FromDate32 53 stdcall VarI2FromDate(long ptr) VarI2FromDate32
54 stdcall VarI2FromStr(wstr long long ptr) VarI2FromStr32 54 stdcall VarI2FromStr(wstr long long ptr) VarI2FromStr32
55 stub VarI2FromDisp 55 stub VarI2FromDisp
...@@ -57,7 +57,7 @@ type win32 ...@@ -57,7 +57,7 @@ type win32
59 stdcall VarI4FromI2(long ptr) VarI4FromI232 59 stdcall VarI4FromI2(long ptr) VarI4FromI232
60 stdcall VarI4FromR4(long ptr) VarI4FromR432 60 stdcall VarI4FromR4(long ptr) VarI4FromR432
61 stdcall VarI4FromR8(double ptr) VarI4FromR832 61 stdcall VarI4FromR8(double ptr) VarI4FromR832
62 stub VarI4FromCy 62 stdcall VarI4FromCy(double ptr) VarI4FromCy32
63 stdcall VarI4FromDate(long ptr) VarI4FromDate32 63 stdcall VarI4FromDate(long ptr) VarI4FromDate32
64 stdcall VarI4FromStr(wstr long long ptr) VarI4FromStr32 64 stdcall VarI4FromStr(wstr long long ptr) VarI4FromStr32
65 stub VarI4FromDisp 65 stub VarI4FromDisp
...@@ -66,7 +66,7 @@ type win32 ...@@ -66,7 +66,7 @@ type win32
69 stdcall VarR4FromI2(long ptr) VarR4FromI232 69 stdcall VarR4FromI2(long ptr) VarR4FromI232
70 stdcall VarR4FromI4(long ptr) VarR4FromI432 70 stdcall VarR4FromI4(long ptr) VarR4FromI432
71 stdcall VarR4FromR8(double ptr) VarR4FromR832 71 stdcall VarR4FromR8(double ptr) VarR4FromR832
72 stub VarR4FromCy 72 stdcall VarR4FromCy(double ptr) VarR4FromCy32
73 stdcall VarR4FromDate(long ptr) VarR4FromDate32 73 stdcall VarR4FromDate(long ptr) VarR4FromDate32
74 stdcall VarR4FromStr(wstr long long ptr) VarR4FromStr32 74 stdcall VarR4FromStr(wstr long long ptr) VarR4FromStr32
75 stub VarR4FromDisp 75 stub VarR4FromDisp
...@@ -75,7 +75,7 @@ type win32 ...@@ -75,7 +75,7 @@ type win32
79 stdcall VarR8FromI2(long ptr) VarR8FromI232 79 stdcall VarR8FromI2(long ptr) VarR8FromI232
80 stdcall VarR8FromI4(long ptr) VarR8FromI432 80 stdcall VarR8FromI4(long ptr) VarR8FromI432
81 stdcall VarR8FromR4(long ptr) VarR8FromR432 81 stdcall VarR8FromR4(long ptr) VarR8FromR432
82 stub VarR8FromCy 82 stdcall VarR8FromCy(double ptr) VarR8FromCy32
83 stdcall VarR8FromDate(long ptr) VarR8FromDate32 83 stdcall VarR8FromDate(long ptr) VarR8FromDate32
84 stdcall VarR8FromStr(wstr long long ptr) VarR8FromStr32 84 stdcall VarR8FromStr(wstr long long ptr) VarR8FromStr32
85 stub VarR8FromDisp 85 stub VarR8FromDisp
...@@ -85,19 +85,19 @@ type win32 ...@@ -85,19 +85,19 @@ type win32
90 stdcall VarDateFromI4(long ptr) VarDateFromI432 90 stdcall VarDateFromI4(long ptr) VarDateFromI432
91 stdcall VarDateFromR4(long ptr) VarDateFromR432 91 stdcall VarDateFromR4(long ptr) VarDateFromR432
92 stdcall VarDateFromR8(double ptr) VarDateFromR832 92 stdcall VarDateFromR8(double ptr) VarDateFromR832
93 stub VarDateFromCy 93 stdcall VarDateFromCy(double ptr) VarDateFromCy32
94 stdcall VarDateFromStr(wstr long long ptr) VarDateFromStr32 94 stdcall VarDateFromStr(wstr long long ptr) VarDateFromStr32
95 stub VarDateFromDisp 95 stub VarDateFromDisp
96 stdcall VarDateFromBool(long ptr) VarDateFromBool32 96 stdcall VarDateFromBool(long ptr) VarDateFromBool32
98 stub VarCyFromUI1 98 stdcall VarCyFromUI1(long ptr) VarCyFromUI132
99 stub VarCyFromI2 99 stdcall VarCyFromI2(long ptr) VarCyFromI232
100 stub VarCyFromI4 100 stdcall VarCyFromI4(long ptr) VarCyFromI432
101 stub VarCyFromR4 101 stdcall VarCyFromR4(long ptr) VarCyFromR432
102 stub VarCyFromR8 102 stdcall VarCyFromR8(double ptr) VarCyFromR832
103 stub VarCyFromDate 103 stdcall VarCyFromDate(double ptr) VarCyFromDate32
104 stub VarCyFromStr 104 stub VarCyFromStr
105 stub VarCyFromDisp 105 stub VarCyFromDisp
106 stub VarCyFromBool 106 stdcall VarCyFromBool(long ptr) VarCyFromBool32
108 stdcall VarBstrFromUI1(long long long ptr) VarBstrFromUI132 108 stdcall VarBstrFromUI1(long long long ptr) VarBstrFromUI132
109 stdcall VarBstrFromI2(long long long ptr) VarBstrFromI232 109 stdcall VarBstrFromI2(long long long ptr) VarBstrFromI232
110 stdcall VarBstrFromI4(long long long ptr) VarBstrFromI432 110 stdcall VarBstrFromI4(long long long ptr) VarBstrFromI432
...@@ -113,14 +113,14 @@ type win32 ...@@ -113,14 +113,14 @@ type win32
121 stdcall VarBoolFromR4(long ptr) VarBoolFromR432 121 stdcall VarBoolFromR4(long ptr) VarBoolFromR432
122 stdcall VarBoolFromR8(double ptr) VarBoolFromR832 122 stdcall VarBoolFromR8(double ptr) VarBoolFromR832
123 stdcall VarBoolFromDate(long ptr) VarBoolFromDate32 123 stdcall VarBoolFromDate(long ptr) VarBoolFromDate32
124 stub VarBoolFromCy 124 stdcall VarBoolFromCy(double ptr) VarBoolFromCy32
125 stdcall VarBoolFromStr(wstr long long ptr) VarBoolFromStr32 125 stdcall VarBoolFromStr(wstr long long ptr) VarBoolFromStr32
126 stub VarBoolFromDisp 126 stub VarBoolFromDisp
130 stdcall VarUI1FromI2(long ptr) VarUI1FromI232 130 stdcall VarUI1FromI2(long ptr) VarUI1FromI232
131 stdcall VarUI1FromI4(long ptr) VarUI1FromI432 131 stdcall VarUI1FromI4(long ptr) VarUI1FromI432
132 stdcall VarUI1FromR4(long ptr) VarUI1FromR432 132 stdcall VarUI1FromR4(long ptr) VarUI1FromR432
133 stdcall VarUI1FromR8(double ptr) VarUI1FromR832 133 stdcall VarUI1FromR8(double ptr) VarUI1FromR832
134 stub VarUI1FromCy 134 stdcall VarUI1FromCy(double ptr) VarUI1FromCy32
135 stdcall VarUI1FromDate(long ptr) VarUI1FromDate32 135 stdcall VarUI1FromDate(long ptr) VarUI1FromDate32
136 stdcall VarUI1FromStr(wstr long long ptr) VarUI1FromStr32 136 stdcall VarUI1FromStr(wstr long long ptr) VarUI1FromStr32
137 stub VarUI1FromDisp 137 stub VarUI1FromDisp
...@@ -177,9 +177,9 @@ type win32 ...@@ -177,9 +177,9 @@ type win32
222 stdcall VarDateFromUI2(long ptr) VarDateFromUI232 222 stdcall VarDateFromUI2(long ptr) VarDateFromUI232
223 stdcall VarDateFromUI4(long ptr) VarDateFromUI432 223 stdcall VarDateFromUI4(long ptr) VarDateFromUI432
224 stub VarDateFromDec 224 stub VarDateFromDec
225 stub VarCyFromI1 225 stdcall VarCyFromI1(long ptr) VarCyFromI132
226 stub VarCyFromUI2 226 stdcall VarCyFromUI2(long ptr) VarCyFromUI232
227 stub VarCyFromUI4 227 stdcall VarCyFromUI4(long ptr) VarCyFromUI432
228 stub VarCyFromDec 228 stub VarCyFromDec
229 stdcall VarBstrFromI1(long long long ptr) VarBstrFromI132 229 stdcall VarBstrFromI1(long long long ptr) VarBstrFromI132
230 stdcall VarBstrFromUI2(long long long ptr) VarBstrFromUI232 230 stdcall VarBstrFromUI2(long long long ptr) VarBstrFromUI232
...@@ -202,7 +202,7 @@ type win32 ...@@ -202,7 +202,7 @@ type win32
247 stdcall VarI1FromR4(long ptr) VarI1FromR432 247 stdcall VarI1FromR4(long ptr) VarI1FromR432
248 stdcall VarI1FromR8(double ptr) VarI1FromR832 248 stdcall VarI1FromR8(double ptr) VarI1FromR832
249 stdcall VarI1FromDate(long ptr) VarI1FromDate32 249 stdcall VarI1FromDate(long ptr) VarI1FromDate32
250 stub VarI1FromCy 250 stdcall VarI1FromCy(double ptr) VarI1FromCy32
251 stdcall VarI1FromStr(wstr long long ptr) VarI1FromStr32 251 stdcall VarI1FromStr(wstr long long ptr) VarI1FromStr32
252 stub VarI1FromDisp 252 stub VarI1FromDisp
253 stdcall VarI1FromBool(long ptr) VarI1FromBool32 253 stdcall VarI1FromBool(long ptr) VarI1FromBool32
...@@ -215,7 +215,7 @@ type win32 ...@@ -215,7 +215,7 @@ type win32
260 stdcall VarUI2FromR4(long ptr) VarUI2FromR432 260 stdcall VarUI2FromR4(long ptr) VarUI2FromR432
261 stdcall VarUI2FromR8(double ptr) VarUI2FromR832 261 stdcall VarUI2FromR8(double ptr) VarUI2FromR832
262 stdcall VarUI2FromDate(long ptr) VarUI2FromDate32 262 stdcall VarUI2FromDate(long ptr) VarUI2FromDate32
263 stub VarUI2FromCy 263 stdcall VarUI2FromCy(double ptr) VarUI2FromCy32
264 stdcall VarUI2FromStr(wstr long long ptr) VarUI2FromStr32 264 stdcall VarUI2FromStr(wstr long long ptr) VarUI2FromStr32
265 stub VarUI2FromDisp 265 stub VarUI2FromDisp
266 stdcall VarUI2FromBool(long ptr) VarUI2FromBool32 266 stdcall VarUI2FromBool(long ptr) VarUI2FromBool32
...@@ -228,7 +228,7 @@ type win32 ...@@ -228,7 +228,7 @@ type win32
273 stdcall VarUI4FromR4(long ptr) VarUI4FromR432 273 stdcall VarUI4FromR4(long ptr) VarUI4FromR432
274 stdcall VarUI4FromR8(double ptr) VarUI4FromR832 274 stdcall VarUI4FromR8(double ptr) VarUI4FromR832
275 stdcall VarUI4FromDate(long ptr) VarUI4FromDate32 275 stdcall VarUI4FromDate(long ptr) VarUI4FromDate32
276 stub VarUI4FromCy 276 stdcall VarUI4FromCy(double ptr) VarUI4FromCy32
277 stdcall VarUI4FromStr(wstr long long ptr) VarUI4FromStr32 277 stdcall VarUI4FromStr(wstr long long ptr) VarUI4FromStr32
278 stub VarUI4FromDisp 278 stub VarUI4FromDisp
279 stdcall VarUI4FromBool(long ptr) VarUI4FromBool32 279 stdcall VarUI4FromBool(long ptr) VarUI4FromBool32
......
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