[PATCH] ole2disp: Implement VariantInit()
Alexandre Julliard
julliard at winehq.org
Mon Nov 30 21:55:56 CST 2015
Nikolay Sivov <nsivov at codeweavers.com> writes:
> @@ -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;
The pointers should all be SEGPTR. Some of the existing definitions like
BSTR16 probably need to be fixed too.
In any case this will have to wait until after code freeze.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list