Release 2.9.
[wine.git] / dlls / ole2disp.dll16 / ole2disp.h
blobd8ad6d13f781082b4235d934882265d1b240deeb
1 /*
2 * Copyright 1995 Martin von Loewis
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_OLEAUT32_OLE2DISP_H
20 #define __WINE_OLEAUT32_OLE2DISP_H
22 #include <stdarg.h>
24 #include "windef.h"
25 #include "winbase.h"
26 #include "wtypes.h"
27 #include "wine/windef16.h"
29 typedef CHAR OLECHAR16;
30 typedef LPSTR LPOLESTR16;
31 typedef LPCSTR LPCOLESTR16;
32 typedef OLECHAR16 *BSTR16;
33 typedef BSTR16 *LPBSTR16;
35 BSTR16 WINAPI SysAllocString16(LPCOLESTR16);
36 BSTR16 WINAPI SysAllocStringLen16(const char*, int);
37 VOID WINAPI SysFreeString16(BSTR16);
38 INT16 WINAPI SysReAllocString16(LPBSTR16,LPCOLESTR16);
39 int WINAPI SysReAllocStringLen16(BSTR16*, const char*, int);
40 int WINAPI SysStringLen16(BSTR16);
42 typedef struct tagVARIANT16 {
43 VARTYPE vt;
44 WORD wReserved1;
45 WORD wReserved2;
46 WORD wReserved3;
47 union {
48 BYTE bVal;
49 SHORT iVal;
50 LONG lVal;
51 FLOAT fltVal;
52 DOUBLE dblVal;
53 VARIANT_BOOL boolVal;
54 SCODE scode;
55 DATE date;
56 /* BSTR16 */ SEGPTR bstrVal;
57 CY cyVal;
58 /* IUnknown* */ SEGPTR punkVal;
59 /* IDispatch* */ SEGPTR pdispVal;
60 /* SAFEARRAY* */ SEGPTR parray;
61 /* BYTE* */ SEGPTR pbVal;
62 /* SHORT* */ SEGPTR piVal;
63 /* LONG* */ SEGPTR plVal;
64 /* FLOAT* */ SEGPTR pfltVal;
65 /* DOUBLE* */ SEGPTR pdblVal;
66 /* VARIANT_BOOL* */ SEGPTR pboolVal;
67 /* SCODE* */ SEGPTR pscode;
68 /* DATE* */ SEGPTR pdate;
69 /* BSTR16* */ SEGPTR pbstrVal;
70 /* VARIANT16* */ SEGPTR pvarVal;
71 /* void* */ SEGPTR byref;
72 /* CY* */ SEGPTR pcyVal;
73 /* IUnknown** */ SEGPTR ppunkVal;
74 /* IDispatch** */ SEGPTR ppdispVal;
75 /* SAFEARRAY** */ SEGPTR pparray;
76 } u;
77 } VARIANT16;
79 typedef VARIANT16 VARIANTARG16;
81 #endif /* !defined(__WINE_OLEAUT32_OLE2DISP_H) */