enable SafeArray...() functions

svn path=/trunk/; revision=8487
This commit is contained in:
Martin Fuchs 2004-02-29 15:36:10 +00:00
parent 3834b079e5
commit ed3857e1b1
5 changed files with 57 additions and 45 deletions

View file

@ -13,16 +13,16 @@ SPEC_SRCS16 = $(ALTNAMES:.dll=.spec)
C_SRCS = \
connpt.c \
dispatch.c \
hash.c \
oleaut.c \
stubs.c \
safearray.c \
varformat.c \
variant.c \
vartype.c \
dispatch.c \
varformat.c
vartype.c
# regsvr.c \
# safearray.c \
# olefont.c \
# olepicture.c \
# tmarshal.c \

View file

@ -12,19 +12,19 @@
12 stdcall VariantChangeType(ptr ptr long long)
13 stdcall VariantTimeToDosDateTime(double ptr ptr)
14 stdcall DosDateTimeToVariantTime(long long ptr)
#15 stdcall SafeArrayCreate(long long ptr)
#16 stdcall SafeArrayDestroy(ptr)
#17 stdcall SafeArrayGetDim(ptr)
#18 stdcall SafeArrayGetElemsize(ptr)
#19 stdcall SafeArrayGetUBound(ptr long long)
#20 stdcall SafeArrayGetLBound(ptr long long)
#21 stdcall SafeArrayLock(ptr)
#22 stdcall SafeArrayUnlock(ptr)
#23 stdcall SafeArrayAccessData(ptr ptr)
#24 stdcall SafeArrayUnaccessData(ptr)
#25 stdcall SafeArrayGetElement(ptr ptr ptr)
#26 stdcall SafeArrayPutElement(ptr ptr ptr)
#27 stdcall SafeArrayCopy(ptr ptr)
15 stdcall SafeArrayCreate(long long ptr)
16 stdcall SafeArrayDestroy(ptr)
17 stdcall SafeArrayGetDim(ptr)
18 stdcall SafeArrayGetElemsize(ptr)
19 stdcall SafeArrayGetUBound(ptr long long)
20 stdcall SafeArrayGetLBound(ptr long long)
21 stdcall SafeArrayLock(ptr)
22 stdcall SafeArrayUnlock(ptr)
23 stdcall SafeArrayAccessData(ptr ptr)
24 stdcall SafeArrayUnaccessData(ptr)
25 stdcall SafeArrayGetElement(ptr ptr ptr)
26 stdcall SafeArrayPutElement(ptr ptr ptr)
27 stdcall SafeArrayCopy(ptr ptr)
28 stdcall DispGetParam(ptr long long ptr ptr)
29 stdcall DispGetIDsOfNames(ptr ptr long ptr)
30 stdcall DispInvoke(ptr ptr long long ptr ptr ptr ptr)
@ -33,16 +33,16 @@
33 stdcall RegisterActiveObject(ptr ptr long ptr)
34 stdcall RevokeActiveObject(long ptr)
35 stdcall GetActiveObject(ptr ptr ptr)
#36 stdcall SafeArrayAllocDescriptor(long ptr)
#37 stdcall SafeArrayAllocData(ptr)
#38 stdcall SafeArrayDestroyDescriptor(ptr)
#39 stdcall SafeArrayDestroyData(ptr)
#40 stdcall SafeArrayRedim(ptr ptr)
#41 stdcall SafeArrayAllocDescriptorEx(long long ptr)
#42 stdcall SafeArrayCreateEx(long long ptr ptr)
#43 stdcall SafeArrayCreateVectorEx(long long long ptr)
#44 stdcall SafeArraySetRecordInfo(ptr ptr)
#45 stdcall SafeArrayGetRecordInfo(ptr ptr)
36 stdcall SafeArrayAllocDescriptor(long ptr)
37 stdcall SafeArrayAllocData(ptr)
38 stdcall SafeArrayDestroyDescriptor(ptr)
39 stdcall SafeArrayDestroyData(ptr)
40 stdcall SafeArrayRedim(ptr ptr)
41 stdcall SafeArrayAllocDescriptorEx(long long ptr)
42 stdcall SafeArrayCreateEx(long long ptr ptr)
43 stdcall SafeArrayCreateVectorEx(long long long ptr)
44 stdcall SafeArraySetRecordInfo(ptr ptr)
45 stdcall SafeArrayGetRecordInfo(ptr ptr)
46 stdcall VarParseNumFromStr(wstr long long ptr ptr)
47 stdcall VarNumFromParseNum(ptr ptr long ptr)
48 stdcall VarI2FromUI1(long ptr)
@ -54,7 +54,7 @@
54 stdcall VarI2FromStr(wstr long long ptr)
55 stdcall VarI2FromDisp(ptr long ptr)
56 stdcall VarI2FromBool(long ptr)
#57 stdcall SafeArraySetIID(ptr ptr)
57 stdcall SafeArraySetIID(ptr ptr)
58 stdcall VarI4FromUI1(long ptr)
59 stdcall VarI4FromI2(long ptr)
60 stdcall VarI4FromR4(long ptr)
@ -64,7 +64,7 @@
64 stdcall VarI4FromStr(wstr long long ptr)
65 stdcall VarI4FromDisp(ptr long ptr)
66 stdcall VarI4FromBool(long ptr)
#67 stdcall SafeArrayGetIID(ptr ptr)
67 stdcall SafeArrayGetIID(ptr ptr)
68 stdcall VarR4FromUI1(long ptr)
69 stdcall VarR4FromI2(long ptr)
70 stdcall VarR4FromI4(long ptr)
@ -74,7 +74,7 @@
74 stdcall VarR4FromStr(wstr long long ptr)
75 stdcall VarR4FromDisp(ptr long ptr)
76 stdcall VarR4FromBool(long ptr)
#77 stdcall SafeArrayGetVartype(ptr ptr)
77 stdcall SafeArrayGetVartype(ptr ptr)
78 stdcall VarR8FromUI1(long ptr)
79 stdcall VarR8FromI2(long ptr)
80 stdcall VarR8FromI4(long ptr)
@ -144,7 +144,7 @@
144 stub OACreateTypeLib2
#146 stdcall DispCallFunc(ptr long long long long ptr ptr ptr)
147 stdcall VariantChangeTypeEx(ptr ptr long long long)
#148 stdcall SafeArrayPtrOfIndex(ptr ptr ptr)
148 stdcall SafeArrayPtrOfIndex(ptr ptr ptr)
149 stdcall SysStringByteLen(ptr)
150 stdcall SysAllocStringByteLen(ptr long)
152 stub VarEqv # stdcall (ptr ptr ptr)
@ -383,10 +383,10 @@
#401 stdcall OleLoadPictureEx(ptr long long long long long long ptr)
402 stub OleLoadPictureFileEx
410 stdcall -private DllCanUnloadNow() OLEAUT32_DllCanUnloadNow
#411 stdcall SafeArrayCreateVector(long long long)
#412 stdcall SafeArrayCopyData(ptr ptr)
#413 stdcall VectorFromBstr(ptr ptr)
#414 stdcall BstrFromVector(ptr ptr)
411 stdcall SafeArrayCreateVector(long long long)
412 stdcall SafeArrayCopyData(ptr ptr)
413 stdcall VectorFromBstr(ptr ptr)
414 stdcall BstrFromVector(ptr ptr)
415 stdcall OleIconToCursor(long long)
416 stdcall OleCreatePropertyFrameIndirect(ptr)
417 stdcall OleCreatePropertyFrame(ptr long long ptr long ptr long ptr ptr long ptr)

View file

@ -413,9 +413,7 @@ static inline HRESULT VARIANT_Coerce(VARIANTARG* pd, LCID lcid, USHORT wFlags,
case VT_DECIMAL: return VarDateFromDec(&V_DECIMAL(ps), &V_DATE(pd));
#endif
case VT_DISPATCH: return VarDateFromDisp(V_DISPATCH(ps), lcid, &V_DATE(pd));
#ifndef __REACTOS__ /*FIXME: no date funtions yet */
case VT_BSTR: return VarDateFromStr(V_BSTR(ps), lcid, dwFlags, &V_DATE(pd));
#endif
}
break;
@ -559,7 +557,6 @@ static inline HRESULT VARIANT_Coerce(VARIANTARG* pd, LCID lcid, USHORT wFlags,
return res;
}
#ifndef __REACTOS__ /*FIXME: no safearray yet */
/* Coerce to/from an array */
static inline HRESULT VARIANT_CoerceArray(VARIANTARG* pd, VARIANTARG* ps, VARTYPE vt)
{
@ -574,7 +571,6 @@ static inline HRESULT VARIANT_CoerceArray(VARIANTARG* pd, VARIANTARG* ps, VARTYP
return DISP_E_TYPEMISMATCH;
}
#endif
/******************************************************************************
* Check if a variants type is valid.
@ -1044,11 +1040,9 @@ HRESULT WINAPI VariantChangeTypeEx(VARIANTARG* pvargDest, VARIANTARG* pvargSrc,
if (SUCCEEDED(res))
{
#ifndef __REACTOS__ /*FIXME: no safearray yet */
if (V_ISARRAY(&vTmp) || (vt & VT_ARRAY))
res = VARIANT_CoerceArray(pvargDest, &vTmp, vt);
else
#endif
res = VARIANT_Coerce(pvargDest, lcid, wFlags, &vTmp, vt);
if (SUCCEEDED(res))

View file

@ -5444,11 +5444,7 @@ HRESULT WINAPI VarBstrFromDate(DATE dateIn, LCID lcid, ULONG dwFlags, BSTR* pbst
TRACE("(%g,0x%08lx,0x%08lx,%p)\n", dateIn, lcid, dwFlags, pbstrOut);
#ifndef __REACTOS__ /*FIXME: no VariantTimeToSystemTime() yet */
if (!pbstrOut || !VariantTimeToSystemTime(dateIn, &st))
#else
if (!pbstrOut)
#endif
return E_INVALIDARG;
*pbstrOut = NULL;

View file

@ -729,6 +729,28 @@ DECLARE_INTERFACE_(IRecordInfo, IUnknown)
};
#undef INTERFACE
#ifdef COBJMACROS
#define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
#define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
#define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
#define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
#define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
#define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
#define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
#define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
#define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
#define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
#define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
#define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
#define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
#define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
#define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
#define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
#define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
#endif
EXTERN_C const IID IID_ITypeMarshal;
#define INTERFACE ITypeMarshal
DECLARE_INTERFACE_(ITypeMarshal, IUnknown)