mirror of
https://github.com/reactos/reactos.git
synced 2024-12-31 19:42:51 +00:00
enable SafeArray...() functions
svn path=/trunk/; revision=8487
This commit is contained in:
parent
3834b079e5
commit
ed3857e1b1
5 changed files with 57 additions and 45 deletions
|
@ -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 \
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue