Merge pull request #297 from t-b/upgrade_msys_openssl_101m
[msysgit.git] / include / oleauto.h
blob0e5d8f7b4ae8171d53f3fdf43aa839fdfa5a5de5
1 #ifndef _OLEAUTO_H
2 #define _OLEAUTO_H
3 #pragma pack(push,8)
4 #define WINOLEAUTAPI STDAPI
5 #define WINOLEAUTAPI_(type) STDAPI_(type)
6 #define STDOLE_MAJORVERNUM 1
7 #define STDOLE_MINORVERNUM 0
8 #define STDOLE_LCID 0
9 #define VARIANT_NOVALUEPROP 0x01
10 #define VARIANT_ALPHABOOL 0x02
11 #define VARIANT_NOUSEOVERRIDE 0x04
12 #define VARIANT_LOCALBOOL 0x08
13 #define VAR_TIMEVALUEONLY 0x0001
14 #define VAR_DATEVALUEONLY 0x0002
15 #define MEMBERID_NIL DISPID_UNKNOWN
16 #define ID_DEFAULTINST (-2)
17 #define DISPATCH_METHOD 1
18 #define DISPATCH_PROPERTYGET 2
19 #define DISPATCH_PROPERTYPUT 4
20 #define DISPATCH_PROPERTYPUTREF 8
21 #define LHashValOfName(l,n) LHashValOfNameSys(SYS_WIN32,l,n)
22 #define WHashValOfLHashVal(h) ((unsigned short)(0x0000ffff&(h)))
23 #define IsHashValCompatible(h1,h2) ((BOOL)((0x00ff0000&(h1))==(0x00ff0000&(h2))))
24 #define ACTIVEOBJECT_STRONG 0
25 #define ACTIVEOBJECT_WEAK 1
26 #ifdef NONAMELESSUNION
27 #define V_UNION(X,Y) ((X)->u.Y)
28 #else
29 #define V_UNION(X,Y) ((X)->Y)
30 #endif
31 #ifdef __cplusplus
32 #define V_BOOL(X) V_UNION(X,boolVal)
33 #else
34 #define V_BOOL(X) V_UNION(X,bool)
35 #endif
36 #define V_VT(X) ((X)->vt)
37 #define V_ISBYREF(X) (V_VT(X)&VT_BYREF)
38 #define V_ISARRAY(X) (V_VT(X)&VT_ARRAY)
39 #define V_ISVECTOR(X) (V_VT(X)&VT_VECTOR)
40 #define V_NONE(X) V_I2(X)
41 #define V_UI1(X) V_UNION(X,bVal)
42 #define V_UI1REF(X) V_UNION(X,pbVal)
43 #define V_I2(X) V_UNION(X,iVal)
44 #define V_I2REF(X) V_UNION(X,piVal)
45 #define V_I4(X) V_UNION(X,lVal)
46 #define V_I4REF(X) V_UNION(X,plVal)
47 #define V_I8(X) V_UNION(X,hVal)
48 #define V_I8REF(X) V_UNION(X,phVal)
49 #define V_R4(X) V_UNION(X,fltVal)
50 #define V_R4REF(X) V_UNION(X,pfltVal)
51 #define V_R8(X) V_UNION(X,dblVal)
52 #define V_R8REF(X) V_UNION(X,pdblVal)
53 #define V_CY(X) V_UNION(X,cyVal)
54 #define V_CYREF(X) V_UNION(X,pcyVal)
55 #define V_DATE(X) V_UNION(X,date)
56 #define V_DATEREF(X) V_UNION(X,pdate)
57 #define V_BSTR(X) V_UNION(X,bstrVal)
58 #define V_BSTRREF(X) V_UNION(X,pbstrVal)
59 #define V_DISPATCH(X) V_UNION(X,pdispVal)
60 #define V_DISPATCHREF(X) V_UNION(X,ppdispVal)
61 #define V_ERROR(X) V_UNION(X,scode)
62 #define V_ERRORREF(X) V_UNION(X,pscode)
63 #define V_BOOLREF(X) V_UNION(X,pboolVal)
64 #define V_UNKNOWN(X) V_UNION(X,punkVal)
65 #define V_UNKNOWNREF(X) V_UNION(X,ppunkVal)
66 #define V_VARIANTREF(X) V_UNION(X,pvarVal)
67 #define V_LPSTR(X) V_UNION(X,pszVal)
68 #define V_LPSTRREF(X) V_UNION(X,ppszVal)
69 #define V_LPWSTR(X) V_UNION(X,pwszVal)
70 #define V_LPWSTRREF(X) V_UNION(X,ppwszVal)
71 #define V_FILETIME(X) V_UNION(X,filetime)
72 #define V_FILETIMEREF(X) V_UNION(X,pfiletime)
73 #define V_BLOB(X) V_UNION(X,blob)
74 #define V_UUID(X) V_UNION(X,puuid)
75 #define V_CLSID(X) V_UNION(X,puuid)
76 #define V_ARRAY(X) V_UNION(X,parray)
77 #define V_ARRAYREF(X) V_UNION(X,pparray)
78 #define V_BYREF(X) V_UNION(X,byref)
79 #define V_DECIMAL(X) V_UNION(X,decVal)
80 #define V_DECIMALREF(X) V_UNION(X,pdecVal)
82 #include <oaidl.h>
84 typedef enum tagREGKIND {
85 REGKIND_DEFAULT,
86 REGKIND_REGISTER,
87 REGKIND_NONE
88 } REGKIND;
89 typedef struct tagPARAMDATA {
90 OLECHAR *szName;
91 VARTYPE vt;
92 } PARAMDATA,*LPPARAMDATA;
93 typedef struct tagMETHODDATA {
94 OLECHAR *szName;
95 PARAMDATA *ppdata;
96 DISPID dispid;
97 UINT iMeth;
98 CALLCONV cc;
99 UINT cArgs;
100 WORD wFlags;
101 VARTYPE vtReturn;
102 } METHODDATA,*LPMETHODDATA;
103 typedef struct tagINTERFACEDATA {
104 METHODDATA *pmethdata;
105 UINT cMembers;
106 } INTERFACEDATA,*LPINTERFACEDATA;
108 WINOLEAUTAPI_(BSTR) SysAllocString(const OLECHAR*);
109 WINOLEAUTAPI_(int) SysReAllocString(BSTR*,const OLECHAR*);
110 WINOLEAUTAPI_(BSTR) SysAllocStringLen(const OLECHAR*,unsigned int);
111 WINOLEAUTAPI_(int) SysReAllocStringLen(BSTR*,const OLECHAR*,unsigned int);
112 WINOLEAUTAPI_(void) SysFreeString(BSTR);
113 WINOLEAUTAPI_(unsigned int) SysStringLen(BSTR);
114 WINOLEAUTAPI_(unsigned int) SysStringByteLen(BSTR);
115 WINOLEAUTAPI_(BSTR) SysAllocStringByteLen(const char*,unsigned int);
116 WINOLEAUTAPI_(int) DosDateTimeToVariantTime(unsigned short,unsigned short,double*);
117 WINOLEAUTAPI_(int) VariantTimeToDosDateTime(double,unsigned short*,unsigned short*);
118 WINOLEAUTAPI_(int) VariantTimeToSystemTime(double,LPSYSTEMTIME);
119 WINOLEAUTAPI_(int) SystemTimeToVariantTime(LPSYSTEMTIME, double*);
120 WINOLEAUTAPI SafeArrayAllocDescriptor(unsigned int,SAFEARRAY**);
121 WINOLEAUTAPI SafeArrayAllocData(SAFEARRAY*);
122 WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreate(VARTYPE,unsigned int,SAFEARRAYBOUND*);
123 WINOLEAUTAPI SafeArrayDestroyDescriptor(SAFEARRAY*);
124 WINOLEAUTAPI SafeArrayDestroyData(SAFEARRAY*);
125 WINOLEAUTAPI SafeArrayDestroy(SAFEARRAY*);
126 WINOLEAUTAPI SafeArrayRedim(SAFEARRAY*,SAFEARRAYBOUND*);
127 WINOLEAUTAPI_(unsigned int) SafeArrayGetDim(SAFEARRAY*);
128 WINOLEAUTAPI_(unsigned int) SafeArrayGetElemsize(SAFEARRAY*);
129 WINOLEAUTAPI SafeArrayGetUBound(SAFEARRAY*,unsigned int,long*);
130 WINOLEAUTAPI SafeArrayGetLBound(SAFEARRAY*,unsigned int,long*);
131 WINOLEAUTAPI SafeArrayLock(SAFEARRAY*);
132 WINOLEAUTAPI SafeArrayUnlock(SAFEARRAY*);
133 WINOLEAUTAPI SafeArrayAccessData(SAFEARRAY*,void**);
134 WINOLEAUTAPI SafeArrayUnaccessData(SAFEARRAY*);
135 WINOLEAUTAPI SafeArrayGetElement(SAFEARRAY*,long*,void*);
136 WINOLEAUTAPI SafeArrayPutElement(SAFEARRAY*,long*,void*);
137 WINOLEAUTAPI SafeArrayCopy(SAFEARRAY*,SAFEARRAY**);
138 WINOLEAUTAPI SafeArrayPtrOfIndex(SAFEARRAY*,long*,void**);
139 WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreateVector(VARTYPE,LONG,UINT);
140 WINOLEAUTAPI_(void) VariantInit(VARIANTARG*);
141 WINOLEAUTAPI VariantClear(VARIANTARG*);
142 WINOLEAUTAPI VariantCopy(VARIANTARG*,VARIANTARG*);
143 WINOLEAUTAPI VariantCopyInd(VARIANT*,VARIANTARG*);
144 WINOLEAUTAPI VariantChangeType(VARIANTARG*,VARIANTARG*,unsigned short,VARTYPE);
145 WINOLEAUTAPI VariantChangeTypeEx(VARIANTARG*,VARIANTARG*,LCID,unsigned short,VARTYPE);
146 WINOLEAUTAPI VarUI1FromI2(short,unsigned char*);
147 WINOLEAUTAPI VarUI1FromI4(long,unsigned char*);
148 WINOLEAUTAPI VarUI1FromR4(float,unsigned char*);
149 WINOLEAUTAPI VarUI1FromR8(double,unsigned char*);
150 WINOLEAUTAPI VarUI1FromCy(CY,unsigned char*);
151 WINOLEAUTAPI VarUI1FromDate(DATE,unsigned char*);
152 WINOLEAUTAPI VarUI1FromStr(OLECHAR*,LCID,unsigned long,unsigned char*);
153 WINOLEAUTAPI VarUI1FromDisp(LPDISPATCH*,LCID,unsigned char*);
154 WINOLEAUTAPI VarUI1FromBool(VARIANT_BOOL,unsigned char*);
155 WINOLEAUTAPI VarI2FromUI1(unsigned char,short*);
156 WINOLEAUTAPI VarI2FromI4(long,short*);
157 WINOLEAUTAPI VarI2FromR4(float,short*);
158 WINOLEAUTAPI VarI2FromR8(double,short*);
159 WINOLEAUTAPI VarI2FromCy(CY cyIn,short*);
160 WINOLEAUTAPI VarI2FromDate(DATE,short*);
161 WINOLEAUTAPI VarI2FromStr(OLECHAR*,LCID,unsigned long,short*);
162 WINOLEAUTAPI VarI2FromDisp(LPDISPATCH*,LCID,short*);
163 WINOLEAUTAPI VarI2FromBool(VARIANT_BOOL,short*);
164 WINOLEAUTAPI VarI4FromUI1(unsigned char,long*);
165 WINOLEAUTAPI VarI4FromI2(short,long*);
166 WINOLEAUTAPI VarI4FromR4(float,long*);
167 WINOLEAUTAPI VarI4FromR8(double,long*);
168 WINOLEAUTAPI VarI4FromCy(CY,long*);
169 WINOLEAUTAPI VarI4FromDate(DATE,long*);
170 WINOLEAUTAPI VarI4FromStr(OLECHAR*,LCID,unsigned long,long*);
171 WINOLEAUTAPI VarI4FromDisp(LPDISPATCH*,LCID,long*);
172 WINOLEAUTAPI VarI4FromBool(VARIANT_BOOL,long*);
173 WINOLEAUTAPI VarR4FromUI1(unsigned char,float*);
174 WINOLEAUTAPI VarR4FromI2(short,float*);
175 WINOLEAUTAPI VarR4FromI4(long,float*);
176 WINOLEAUTAPI VarR4FromR8(double,float*);
177 WINOLEAUTAPI VarR4FromCy(CY,float*);
178 WINOLEAUTAPI VarR4FromDate(DATE,float*);
179 WINOLEAUTAPI VarR4FromStr(OLECHAR*,LCID,unsigned long,float*);
180 WINOLEAUTAPI VarR4FromDisp(LPDISPATCH*,LCID,float*);
181 WINOLEAUTAPI VarR4FromBool(VARIANT_BOOL,float*);
182 WINOLEAUTAPI VarR8FromUI1(unsigned char,double*);
183 WINOLEAUTAPI VarR8FromI2(short,double*);
184 WINOLEAUTAPI VarR8FromI4(long,double*);
185 WINOLEAUTAPI VarR8FromR4(float,double*);
186 WINOLEAUTAPI VarR8FromCy(CY,double*);
187 WINOLEAUTAPI VarR8FromDate(DATE,double*);
188 WINOLEAUTAPI VarR8FromStr(OLECHAR*,LCID,unsigned long,double*);
189 WINOLEAUTAPI VarR8FromDisp(LPDISPATCH*,LCID,double*);
190 WINOLEAUTAPI VarR8FromBool(VARIANT_BOOL,double*);
191 WINOLEAUTAPI VarDateFromUI1(unsigned char,DATE*);
192 WINOLEAUTAPI VarDateFromI2(short,DATE*);
193 WINOLEAUTAPI VarDateFromI4(long,DATE*);
194 WINOLEAUTAPI VarDateFromR4(float,DATE*);
195 WINOLEAUTAPI VarDateFromR8(double,DATE*);
196 WINOLEAUTAPI VarDateFromCy(CY,DATE*);
197 WINOLEAUTAPI VarDateFromStr(OLECHAR*,LCID,unsigned long,DATE*);
198 WINOLEAUTAPI VarDateFromDisp(LPDISPATCH*,LCID,DATE*);
199 WINOLEAUTAPI VarDateFromBool(VARIANT_BOOL,DATE*);
200 WINOLEAUTAPI VarCyFromUI1(unsigned char,CY*);
201 WINOLEAUTAPI VarCyFromI2(short,CY*);
202 WINOLEAUTAPI VarCyFromI4(long,CY*);
203 WINOLEAUTAPI VarCyFromR4(float,CY*);
204 WINOLEAUTAPI VarCyFromR8(double,CY*);
205 WINOLEAUTAPI VarCyFromDate(DATE,CY*);
206 WINOLEAUTAPI VarCyFromStr(OLECHAR*,LCID,unsigned long,CY*);
207 WINOLEAUTAPI VarCyFromDisp(LPDISPATCH*,LCID,CY*);
208 WINOLEAUTAPI VarCyFromBool(VARIANT_BOOL,CY*);
209 WINOLEAUTAPI VarBstrFromUI1(unsigned char,LCID,unsigned long,BSTR*);
210 WINOLEAUTAPI VarBstrFromI2(short,LCID,unsigned long,BSTR*);
211 WINOLEAUTAPI VarBstrFromI4(long,LCID,unsigned long,BSTR*);
212 WINOLEAUTAPI VarBstrFromR4(float,LCID,unsigned long,BSTR*);
213 WINOLEAUTAPI VarBstrFromR8(double,LCID,unsigned long,BSTR*);
214 WINOLEAUTAPI VarBstrFromCy(CY,LCID,unsigned long,BSTR*);
215 WINOLEAUTAPI VarBstrFromDate(DATE,LCID,unsigned long,BSTR*);
216 WINOLEAUTAPI VarBstrFromDisp(LPDISPATCH*,LCID,unsigned long,BSTR*);
217 WINOLEAUTAPI VarBstrFromBool(VARIANT_BOOL,LCID,unsigned long,BSTR*);
218 WINOLEAUTAPI VarBoolFromUI1(unsigned char,VARIANT_BOOL*);
219 WINOLEAUTAPI VarBoolFromI2(short,VARIANT_BOOL*);
220 WINOLEAUTAPI VarBoolFromI4(long,VARIANT_BOOL*);
221 WINOLEAUTAPI VarBoolFromR4(float,VARIANT_BOOL*);
222 WINOLEAUTAPI VarBoolFromR8(double,VARIANT_BOOL*);
223 WINOLEAUTAPI VarBoolFromDate(DATE,VARIANT_BOOL*);
224 WINOLEAUTAPI VarBoolFromCy(CY,VARIANT_BOOL*);
225 WINOLEAUTAPI VarBoolFromStr(OLECHAR*,LCID,unsigned long,VARIANT_BOOL*);
226 WINOLEAUTAPI VarBoolFromDisp(LPDISPATCH*,LCID,VARIANT_BOOL*);
227 WINOLEAUTAPI_(ULONG) LHashValOfNameSysA(SYSKIND,LCID,const char*);
228 WINOLEAUTAPI_(ULONG) LHashValOfNameSys(SYSKIND,LCID,const OLECHAR*);
229 WINOLEAUTAPI LoadTypeLib(const OLECHAR*,LPTYPELIB*);
230 WINOLEAUTAPI LoadTypeLibEx(LPCOLESTR,REGKIND,LPTYPELIB*);
231 WINOLEAUTAPI LoadRegTypeLib(REFGUID,WORD,WORD,LCID,LPTYPELIB*);
232 WINOLEAUTAPI QueryPathOfRegTypeLib(REFGUID,unsigned short,unsigned short,LCID,LPBSTR);
233 WINOLEAUTAPI RegisterTypeLib(LPTYPELIB,OLECHAR*,OLECHAR*);
234 WINOLEAUTAPI DeregisterTypeLib(REFGUID,WORD,WORD,LCID);
235 WINOLEAUTAPI CreateTypeLib(SYSKIND,const OLECHAR*,LPCREATETYPELIB*);
236 WINOLEAUTAPI DispGetParam(DISPPARAMS*,UINT,VARTYPE,VARIANT*,UINT*);
237 WINOLEAUTAPI DispGetIDsOfNames(LPTYPEINFO,OLECHAR**,UINT,DISPID*);
238 WINOLEAUTAPI DispInvoke(void*,LPTYPEINFO,DISPID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*);
239 WINOLEAUTAPI CreateDispTypeInfo(INTERFACEDATA*,LCID,LPTYPEINFO*);
240 WINOLEAUTAPI CreateStdDispatch(IUnknown*,void*,LPTYPEINFO,IUnknown**);
241 WINOLEAUTAPI RegisterActiveObject(IUnknown*,REFCLSID,DWORD,DWORD*);
242 WINOLEAUTAPI RevokeActiveObject(DWORD,void*);
243 WINOLEAUTAPI GetActiveObject(REFCLSID,void*,IUnknown**);
244 WINOLEAUTAPI SetErrorInfo(unsigned long,LPERRORINFO);
245 WINOLEAUTAPI GetErrorInfo(unsigned long,LPERRORINFO*);
246 WINOLEAUTAPI CreateErrorInfo(LPCREATEERRORINFO*);
247 WINOLEAUTAPI_(unsigned long) OaBuildVersion(void);
248 WINOLEAUTAPI VectorFromBstr (BSTR, SAFEARRAY **);
249 WINOLEAUTAPI BstrFromVector (SAFEARRAY *, BSTR *);
251 WINOLEAUTAPI VarAdd(LPVARIANT, LPVARIANT, LPVARIANT);
252 WINOLEAUTAPI VarSub(LPVARIANT, LPVARIANT, LPVARIANT);
253 WINOLEAUTAPI VarMul(LPVARIANT, LPVARIANT, LPVARIANT);
254 WINOLEAUTAPI VarDiv(LPVARIANT, LPVARIANT, LPVARIANT);
255 #pragma pack(pop)
256 #endif