home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / cwin / c.exe / $INSTDIR / include / oleauto.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-12-15  |  10.9 KB  |  259 lines

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