[PATCH] ole2disp: Implement VariantInit()
Nikolay Sivov
nsivov at codeweavers.com
Mon Nov 30 15:35:35 CST 2015
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
For https://bugs.winehq.org/show_bug.cgi?id=22581
dlls/ole2disp.dll16/ole2disp.c | 9 ++++++++
dlls/ole2disp.dll16/ole2disp.dll16.spec | 2 +-
dlls/ole2disp.dll16/ole2disp.h | 39 +++++++++++++++++++++++++++++++++
3 files changed, 49 insertions(+), 1 deletion(-)
diff --git a/dlls/ole2disp.dll16/ole2disp.c b/dlls/ole2disp.dll16/ole2disp.c
index 1850346..43336c4 100644
--- a/dlls/ole2disp.dll16/ole2disp.c
+++ b/dlls/ole2disp.dll16/ole2disp.c
@@ -276,3 +276,12 @@ HRESULT WINAPI SetErrorInfo16(ULONG dwReserved, IErrorInfo *perrinfo)
FIXME("stub: (%d, %p)\n", dwReserved, perrinfo);
return E_INVALIDARG;
}
+
+/******************************************************************************
+ * VariantInit [OLE2DISP.8]
+ */
+void WINAPI VariantInit16(VARIANTARG16 *v)
+{
+ TRACE("(%p)\n", v);
+ v->vt = VT_EMPTY;
+}
diff --git a/dlls/ole2disp.dll16/ole2disp.dll16.spec b/dlls/ole2disp.dll16/ole2disp.dll16.spec
index 2cf6784..e4655f0 100644
--- a/dlls/ole2disp.dll16/ole2disp.dll16.spec
+++ b/dlls/ole2disp.dll16/ole2disp.dll16.spec
@@ -5,7 +5,7 @@
5 pascal SysReAllocStringLen(ptr str word) SysReAllocStringLen16
6 pascal SysFreeString(segstr) SysFreeString16
7 pascal SysStringLen(segstr) SysStringLen16
-8 stub VARIANTINIT
+8 pascal VariantInit(ptr) VariantInit16
9 stub VARIANTCLEAR
10 stub VARIANTCOPY
11 stub VARIANTCOPYIND
diff --git a/dlls/ole2disp.dll16/ole2disp.h b/dlls/ole2disp.dll16/ole2disp.h
index 7804c82..76d09af 100644
--- a/dlls/ole2disp.dll16/ole2disp.h
+++ b/dlls/ole2disp.dll16/ole2disp.h
@@ -39,4 +39,43 @@ INT16 WINAPI SysReAllocString16(LPBSTR16,LPCOLESTR16);
int WINAPI SysReAllocStringLen16(BSTR16*, const char*, int);
int WINAPI SysStringLen16(BSTR16);
+typedef struct tagVARIANT16 {
+ VARTYPE vt;
+ WORD wReserved1;
+ WORD wReserved2;
+ WORD wReserved3;
+ union {
+ BYTE bVal;
+ SHORT iVal;
+ LONG lVal;
+ FLOAT fltVal;
+ DOUBLE dblVal;
+ VARIANT_BOOL boolVal;
+ SCODE scode;
+ DATE date;
+ BSTR16 bstrVal;
+ CY cyVal;
+ IUnknown *punkVal;
+ IDispatch *pdispVal;
+ SAFEARRAY *parray;
+ BYTE *pbVal;
+ SHORT *piVal;
+ LONG *plVal;
+ FLOAT *pfltVal;
+ DOUBLE *pdblVal;
+ VARIANT_BOOL *pboolVal;
+ SCODE *pscode;
+ DATE *pdate;
+ BSTR16 *pbstrVal;
+ struct tagVARIANT16 *pvarVal;
+ void *byref;
+ CY *pcyVal;
+ IUnknown **ppunkVal;
+ IDispatch **ppdispVal;
+ SAFEARRAY **pparray;
+ } u;
+} VARIANT16;
+
+typedef VARIANT16 VARIANTARG16;
+
#endif /* !defined(__WINE_OLEAUT32_OLE2DISP_H) */
--
2.6.2
More information about the wine-patches
mailing list