1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_oleauto.d) 8 */ 9 /// Automatically imported and edited from the druntime module 10 /// core.sys.windows.oleauto for the auto-generated win32 package. 11 module win32.oleauto; 12 //version (Windows): 13 @system: 14 version (Win32_UseLib) pragma(lib, "oleaut32"); 15 16 import win32.oaidl; 17 import win32.basetyps, win32.unknwn, win32.windef, win32.wtypes; 18 import win32.winbase; // for SYSTEMTIME 19 20 align(8): 21 enum STDOLE_MAJORVERNUM = 1; 22 enum STDOLE_MINORVERNUM = 0; 23 enum STDOLE_LCID = 0; 24 25 enum VARIANT_NOVALUEPROP = 0x01; 26 enum VARIANT_ALPHABOOL = 0x02; 27 enum VARIANT_NOUSEOVERRIDE = 0x04; 28 enum VARIANT_LOCALBOOL = 0x08; 29 30 enum VAR_TIMEVALUEONLY = 0x0001; 31 enum VAR_DATEVALUEONLY = 0x0002; 32 enum VAR_VALIDDATE = 0x0004; 33 enum VAR_CALENDAR_HIJRI = 0x0008; 34 enum VAR_LOCALBOOL = 0x0010; 35 enum VAR_FORMAT_NOSUBSTITUTE = 0x0020; 36 enum VAR_FOURDIGITYEARS = 0x0040; 37 enum VAR_CALENDAR_THAI = 0x0080; 38 enum VAR_CALENDAR_GREGORIAN = 0x0100; 39 40 enum MEMBERID_NIL = DISPID_UNKNOWN; 41 enum ID_DEFAULTINST = -2; 42 enum DISPATCH_METHOD = 1; 43 enum DISPATCH_PROPERTYGET = 2; 44 enum DISPATCH_PROPERTYPUT = 4; 45 enum DISPATCH_PROPERTYPUTREF = 8; 46 47 //ULONG LHashValOfName(LCID l, OLECHAR* n) { return LHashValOfNameSys(SYSKIND.SYS_WIN32, l, n); } 48 49 // DAC: These aren't in the 2003 SDK. 50 //MACRO #define WHashValOfLHashVal(h) ((unsigned short)(0x0000ffff&(h))) 51 //MACRO #define IsHashValCompatible(h1, h2) ((BOOL)((0x00ff0000&(h1))==(0x00ff0000&(h2)))) 52 53 enum { 54 ACTIVEOBJECT_STRONG = 0, 55 ACTIVEOBJECT_WEAK = 1 56 } 57 58 // DAC: These seem to be irrelevant for D. 59 //#define V_UNION(X, Y) ((X)->Y) 60 //#define V_VT(X) ((X)->vt) 61 //#define V_BOOL(X) V_UNION(X, boolVal) 62 //#define V_ISBYREF(X) (V_VT(X)&VT_BYREF) 63 //#define V_ISARRAY(X) (V_VT(X)&VT_ARRAY) 64 //#define V_ISVECTOR(X) (V_VT(X)&VT_VECTOR) 65 //#define V_NONE(X) V_I2(X) 66 //#define V_UI1(X) V_UNION(X, bVal) 67 //#define V_UI1REF(X) V_UNION(X, pbVal) 68 //#define V_I2(X) V_UNION(X, iVal) 69 //#define V_UI2(X) V_UNION(X, uiVal) 70 //#define V_I2REF(X) V_UNION(X, piVal) 71 //#define V_I4(X) V_UNION(X, lVal) 72 //#define V_UI4(X) V_UNION(X, ulVal) 73 //#define V_I4REF(X) V_UNION(X, plVal) 74 //#define V_UI4REF(X) V_UNION(X, pulVal) 75 //#define V_I8(X) V_UNION(X, llVal) 76 //#define V_UI8(X) V_UNION(X, ullVal) 77 //#define V_I8REF(X) V_UNION(X, pllVal) 78 //#define V_UI8REF(X) V_UNION(X, pullVal) 79 //#define V_R4(X) V_UNION(X, fltVal) 80 //#define V_R4REF(X) V_UNION(X, pfltVal) 81 //#define V_R8(X) V_UNION(X, dblVal) 82 //#define V_R8REF(X) V_UNION(X, pdblVal) 83 //#define V_CY(X) V_UNION(X, cyVal) 84 //#define V_CYREF(X) V_UNION(X, pcyVal) 85 //#define V_DATE(X) V_UNION(X, date) 86 //#define V_DATEREF(X) V_UNION(X, pdate) 87 //#define V_BSTR(X) V_UNION(X, bstrVal) 88 //#define V_BSTRREF(X) V_UNION(X, pbstrVal) 89 //#define V_DISPATCH(X) V_UNION(X, pdispVal) 90 //#define V_DISPATCHREF(X) V_UNION(X, ppdispVal) 91 //#define V_ERROR(X) V_UNION(X, scode) 92 //#define V_ERRORREF(X) V_UNION(X, pscode) 93 //#define V_BOOLREF(X) V_UNION(X, pboolVal) 94 //#define V_UNKNOWN(X) V_UNION(X, punkVal) 95 //#define V_UNKNOWNREF(X) V_UNION(X, ppunkVal) 96 //#define V_VARIANTREF(X) V_UNION(X, pvarVal) 97 //#define V_LPSTR(X) V_UNION(X, pszVal) 98 //#define V_LPSTRREF(X) V_UNION(X, ppszVal) 99 //#define V_LPWSTR(X) V_UNION(X, pwszVal) 100 //#define V_LPWSTRREF(X) V_UNION(X, ppwszVal) 101 //#define V_FILETIME(X) V_UNION(X, filetime) 102 //#define V_FILETIMEREF(X) V_UNION(X, pfiletime) 103 //#define V_BLOB(X) V_UNION(X, blob) 104 //#define V_UUID(X) V_UNION(X, puuid) 105 //#define V_CLSID(X) V_UNION(X, puuid) 106 //#define V_ARRAY(X) V_UNION(X, parray) 107 //#define V_ARRAYREF(X) V_UNION(X, pparray) 108 //#define V_BYREF(X) V_UNION(X, byref) 109 //#define V_DECIMAL(X) ((X)->decVal) 110 //#define V_DECIMALREF(X) V_UNION(X, pdecVal) 111 //#define V_I1(X) V_UNION(X, cVal) 112 113 //#ifdef _WIN64 114 //#define V_INT_PTR(X) V_I8(X) 115 //#define V_UINT_PTR(X) V_UI8(X) 116 //#define V_INT_PTRREF(X) V_I8REF(X) 117 //#define V_UINT_PTRREF(X) V_UI8REF(X) 118 //#else 119 //#define V_INT_PTR(X) V_I4(X) 120 //#define V_UINT_PTR(X) V_UI4(X) 121 //#define V_INT_PTRREF(X) V_I4REF(X) 122 //#define V_UINT_PTRREF(X) V_UI4REF(X) 123 //#endif 124 125 enum { 126 VARCMP_LT = 0, 127 VARCMP_EQ, 128 VARCMP_GT, 129 VARCMP_NULL // = 3 130 } 131 132 enum LOCALE_USE_NLS = 0x10000000; 133 134 enum VARIANT_NOUSEROVERRIDE = 0x04; 135 enum VARIANT_CALENDAR_HIJRI = 0x08; 136 enum VARIANT_CALENDAR_THAI = 0x20; 137 enum VARIANT_CALENDAR_GREGORIAN = 0x40; 138 enum VARIANT_USE_NLS = 0x80; 139 140 enum NUMPRS_LEADING_WHITE = 0x00001; 141 enum NUMPRS_TRAILING_WHITE = 0x00002; 142 enum NUMPRS_LEADING_PLUS = 0x00004; 143 enum NUMPRS_TRAILING_PLUS = 0x00008; 144 enum NUMPRS_LEADING_MINUS = 0x00010; 145 enum NUMPRS_TRAILING_MINUS = 0x00020; 146 enum NUMPRS_HEX_OCT = 0x00040; 147 enum NUMPRS_PARENS = 0x00080; 148 enum NUMPRS_DECIMAL = 0x00100; 149 enum NUMPRS_THOUSANDS = 0x00200; 150 enum NUMPRS_CURRENCY = 0x00400; 151 enum NUMPRS_EXPONENT = 0x00800; 152 enum NUMPRS_USE_ALL = 0x01000; 153 enum NUMPRS_STD = 0x01FFF; 154 enum NUMPRS_NEG = 0x10000; 155 enum NUMPRS_INEXACT = 0x20000; 156 157 enum VTBIT_I1 = 1 << VARENUM.VT_I1; 158 enum VTBIT_UI1 = 1 << VARENUM.VT_UI1; 159 enum VTBIT_I2 = 1 << VARENUM.VT_I2; 160 enum VTBIT_UI2 = 1 << VARENUM.VT_UI2; 161 enum VTBIT_I4 = 1 << VARENUM.VT_I4; 162 enum VTBIT_UI4 = 1 << VARENUM.VT_UI4; 163 enum VTBIT_I8 = 1 << VARENUM.VT_I8; 164 enum VTBIT_UI8 = 1 << VARENUM.VT_UI8; 165 enum VTBIT_R4 = 1 << VARENUM.VT_R4; 166 enum VTBIT_R8 = 1 << VARENUM.VT_R8; 167 enum VTBIT_CY = 1 << VARENUM.VT_CY; 168 enum VTBIT_DECIMAL = 1 << VARENUM.VT_DECIMAL; 169 170 171 enum REGKIND{ 172 REGKIND_DEFAULT, 173 REGKIND_REGISTER, 174 REGKIND_NONE 175 } 176 177 struct PARAMDATA{ 178 OLECHAR* szName; 179 VARTYPE vt; 180 } 181 alias PARAMDATA* LPPARAMDATA; 182 183 struct METHODDATA{ 184 OLECHAR* szName; 185 PARAMDATA* ppdata; 186 DISPID dispid; 187 UINT iMeth; 188 CALLCONV cc; 189 UINT cArgs; 190 WORD wFlags; 191 VARTYPE vtReturn; 192 } 193 alias METHODDATA* LPMETHODDATA; 194 195 struct INTERFACEDATA{ 196 METHODDATA* pmethdata; 197 UINT cMembers; 198 } 199 alias INTERFACEDATA* LPINTERFACEDATA; 200 201 struct UDATE { 202 SYSTEMTIME st; 203 USHORT wDayOfYear; 204 } 205 206 struct NUMPARSE { 207 int cDig; 208 uint dwInFlags; 209 uint dwOutFlags; 210 int cchUsed; 211 int nBaseShift; 212 int nPwr10; 213 } 214 215 216 // DAC: In MinGW, these were declared but not defined in oaidl. 217 // The SDK docs suggest they belong in this file instead. 218 219 deprecated { // not actually deprecated, but they aren't converted yet. 220 // (will need to reinstate CreateTypeLib as well) 221 interface ICreateTypeInfo {} 222 interface ICreateTypeInfo2 {} 223 interface ICreateTypeLib {} 224 interface ICreateTypeLib2 {} 225 226 alias ICreateTypeInfo LPCREATETYPEINFO; 227 alias ICreateTypeInfo2 LPCREATETYPEINFO2; 228 alias ICreateTypeLib LPCREATETYPELIB; 229 alias ICreateTypeLib2 LPCREATETYPELIB2; 230 } 231 232 extern (Windows) { 233 BSTR SysAllocString(const(OLECHAR)*); 234 int SysReAllocString(BSTR*, const(OLECHAR)*); 235 BSTR SysAllocStringLen(const(OLECHAR)*, uint); 236 int SysReAllocStringLen(BSTR*, const(OLECHAR)*, uint); 237 void SysFreeString(BSTR); 238 uint SysStringLen(BSTR); 239 uint SysStringByteLen(BSTR); 240 BSTR SysAllocStringByteLen(const(char)*, uint); 241 int DosDateTimeToVariantTime(ushort, ushort, double*); 242 int VariantTimeToDosDateTime(double, ushort*, ushort*); 243 int VariantTimeToSystemTime(double, LPSYSTEMTIME); 244 int SystemTimeToVariantTime(LPSYSTEMTIME, double*); 245 HRESULT VarDateFromUdate(UDATE*, ULONG, DATE*); 246 HRESULT VarDateFromUdateEx(UDATE*, LCID, ULONG, DATE*); 247 HRESULT VarUdateFromDate(DATE, ULONG, UDATE*); 248 HRESULT SafeArrayAllocDescriptor(uint, SAFEARRAY**); 249 HRESULT SafeArrayAllocData(SAFEARRAY*); 250 SAFEARRAY* SafeArrayCreate(VARTYPE, uint, SAFEARRAYBOUND*); 251 HRESULT SafeArrayDestroyDescriptor(SAFEARRAY*); 252 HRESULT SafeArrayDestroyData(SAFEARRAY*); 253 HRESULT SafeArrayDestroy(SAFEARRAY*); 254 HRESULT SafeArrayRedim(SAFEARRAY*, SAFEARRAYBOUND*); 255 uint SafeArrayGetDim(SAFEARRAY*); 256 uint SafeArrayGetElemsize(SAFEARRAY*); 257 HRESULT SafeArrayGetUBound(SAFEARRAY*, uint, int*); 258 HRESULT SafeArrayGetLBound(SAFEARRAY*, uint, int*); 259 HRESULT SafeArrayLock(SAFEARRAY*); 260 HRESULT SafeArrayUnlock(SAFEARRAY*); 261 HRESULT SafeArrayAccessData(SAFEARRAY*, void**); 262 HRESULT SafeArrayUnaccessData(SAFEARRAY*); 263 HRESULT SafeArrayGetElement(SAFEARRAY*, int*, void*); 264 HRESULT SafeArrayPutElement(SAFEARRAY*, int*, void*); 265 HRESULT SafeArrayCopy(SAFEARRAY*, SAFEARRAY**); 266 HRESULT SafeArrayPtrOfIndex(SAFEARRAY*, int*, void**); 267 SAFEARRAY* SafeArrayCreateVector(VARTYPE, LONG, ULONG); 268 SAFEARRAY* SafeArrayCreateVectorEx(VARTYPE, LONG, ULONG, LPVOID); 269 HRESULT SafeArrayAllocDescriptorEx(VARTYPE, UINT, SAFEARRAY**); 270 HRESULT SafeArrayGetVartype(SAFEARRAY*, VARTYPE*); 271 HRESULT SafeArraySetRecordInfo(SAFEARRAY*, IRecordInfo); 272 HRESULT SafeArrayGetRecordInfo(SAFEARRAY*, IRecordInfo*); 273 HRESULT SafeArraySetIID(SAFEARRAY*, REFGUID); 274 HRESULT SafeArrayGetIID(SAFEARRAY*, GUID*); 275 void VariantInit(VARIANTARG*); 276 HRESULT VariantClear(VARIANTARG*); 277 HRESULT VariantCopy(VARIANTARG*, VARIANTARG*); 278 HRESULT VariantCopyInd(VARIANT*, VARIANTARG*); 279 HRESULT VariantChangeType(VARIANTARG*, VARIANTARG*, ushort, VARTYPE); 280 HRESULT VariantChangeTypeEx(VARIANTARG*, VARIANTARG*, LCID, ushort, VARTYPE); 281 HRESULT VarUI1FromI2(short, ubyte*); 282 HRESULT VarUI1FromI4(int, ubyte*); 283 HRESULT VarUI1FromR4(float, ubyte*); 284 HRESULT VarUI1FromR8(double, ubyte*); 285 HRESULT VarUI1FromCy(CY, ubyte*); 286 HRESULT VarUI1FromDate(DATE, ubyte*); 287 HRESULT VarUI1FromStr(OLECHAR*, LCID, uint, ubyte*); 288 HRESULT VarUI1FromDisp(LPDISPATCH, LCID, ubyte*); 289 HRESULT VarUI1FromBool(VARIANT_BOOL, ubyte*); 290 HRESULT VarI2FromUI1(ubyte, short*); 291 HRESULT VarI2FromI4(int, short*); 292 HRESULT VarI2FromR4(float, short*); 293 HRESULT VarI2FromR8(double, short*); 294 HRESULT VarI2FromCy(CY cyIn, short*); 295 HRESULT VarI2FromDate(DATE, short*); 296 HRESULT VarI2FromStr(OLECHAR*, LCID, uint, short*); 297 HRESULT VarI2FromDisp(LPDISPATCH, LCID, short*); 298 HRESULT VarI2FromBool(VARIANT_BOOL, short*); 299 HRESULT VarI4FromUI1(ubyte, int*); 300 HRESULT VarI4FromI2(short, int*); 301 HRESULT VarI4FromR4(float, int*); 302 HRESULT VarI4FromR8(double, int*); 303 HRESULT VarI4FromCy(CY, int*); 304 HRESULT VarI4FromDate(DATE, int*); 305 HRESULT VarI4FromStr(OLECHAR*, LCID, uint, int*); 306 HRESULT VarI4FromDisp(LPDISPATCH, LCID, int*); 307 HRESULT VarI4FromBool(VARIANT_BOOL, int*); 308 HRESULT VarR4FromUI1(ubyte, float*); 309 HRESULT VarR4FromI2(short, float*); 310 HRESULT VarR4FromI4(int, float*); 311 HRESULT VarR4FromR8(double, float*); 312 HRESULT VarR4FromCy(CY, float*); 313 HRESULT VarR4FromDate(DATE, float*); 314 HRESULT VarR4FromStr(OLECHAR*, LCID, uint, float*); 315 HRESULT VarR4FromDisp(LPDISPATCH, LCID, float*); 316 HRESULT VarR4FromBool(VARIANT_BOOL, float*); 317 HRESULT VarR8FromUI1(ubyte, double*); 318 HRESULT VarR8FromI2(short, double*); 319 HRESULT VarR8FromI4(int, double*); 320 HRESULT VarR8FromR4(float, double*); 321 HRESULT VarR8FromCy(CY, double*); 322 HRESULT VarR8FromDate(DATE, double*); 323 HRESULT VarR8FromStr(OLECHAR*, LCID, uint, double*); 324 HRESULT VarR8FromDisp(LPDISPATCH, LCID, double*); 325 HRESULT VarR8FromBool(VARIANT_BOOL, double*); 326 HRESULT VarR8FromDec(DECIMAL*, double*); 327 HRESULT VarDateFromUI1(ubyte, DATE*); 328 HRESULT VarDateFromI2(short, DATE*); 329 HRESULT VarDateFromI4(int, DATE*); 330 HRESULT VarDateFromR4(float, DATE*); 331 HRESULT VarDateFromR8(double, DATE*); 332 HRESULT VarDateFromCy(CY, DATE*); 333 HRESULT VarDateFromStr(OLECHAR*, LCID, uint, DATE*); 334 HRESULT VarDateFromDisp(LPDISPATCH, LCID, DATE*); 335 HRESULT VarDateFromBool(VARIANT_BOOL, DATE*); 336 HRESULT VarCyFromUI1(ubyte, CY*); 337 HRESULT VarCyFromI2(short, CY*); 338 HRESULT VarCyFromI4(int, CY*); 339 HRESULT VarCyFromR4(float, CY*); 340 HRESULT VarCyFromR8(double, CY*); 341 HRESULT VarCyFromDate(DATE, CY*); 342 HRESULT VarCyFromStr(OLECHAR*, LCID, uint, CY*); 343 HRESULT VarCyFromDisp(LPDISPATCH, LCID, CY*); 344 HRESULT VarCyFromBool(VARIANT_BOOL, CY*); 345 HRESULT VarBstrFromUI1(ubyte, LCID, uint, BSTR*); 346 HRESULT VarBstrFromI2(short, LCID, uint, BSTR*); 347 HRESULT VarBstrFromI4(int, LCID, uint, BSTR*); 348 HRESULT VarBstrFromR4(float, LCID, uint, BSTR*); 349 HRESULT VarBstrFromR8(double, LCID, uint, BSTR*); 350 HRESULT VarBstrFromCy(CY, LCID, uint, BSTR*); 351 HRESULT VarBstrFromDate(DATE, LCID, uint, BSTR*); 352 HRESULT VarBstrFromDisp(LPDISPATCH, LCID, uint, BSTR*); 353 HRESULT VarBstrFromBool(VARIANT_BOOL, LCID, uint, BSTR*); 354 HRESULT VarBoolFromUI1(ubyte, VARIANT_BOOL*); 355 HRESULT VarBoolFromI2(short, VARIANT_BOOL*); 356 HRESULT VarBoolFromI4(int, VARIANT_BOOL*); 357 HRESULT VarBoolFromR4(float, VARIANT_BOOL*); 358 HRESULT VarBoolFromR8(double, VARIANT_BOOL*); 359 HRESULT VarBoolFromDate(DATE, VARIANT_BOOL*); 360 HRESULT VarBoolFromCy(CY, VARIANT_BOOL*); 361 HRESULT VarBoolFromStr(OLECHAR*, LCID, uint, VARIANT_BOOL*); 362 HRESULT VarBoolFromDisp(LPDISPATCH, LCID, VARIANT_BOOL*); 363 HRESULT VarDecFromR8(double, DECIMAL*); 364 ULONG LHashValOfNameSysA(SYSKIND, LCID, const(char)*); 365 ULONG LHashValOfNameSys(SYSKIND, LCID, const(OLECHAR)*); 366 HRESULT LoadTypeLib(const(OLECHAR)*, LPTYPELIB*); 367 HRESULT LoadTypeLibEx(LPCOLESTR, REGKIND, LPTYPELIB*); 368 HRESULT LoadRegTypeLib(REFGUID, WORD, WORD, LCID, LPTYPELIB*); 369 HRESULT QueryPathOfRegTypeLib(REFGUID, ushort, ushort, LCID, LPBSTR); 370 HRESULT RegisterTypeLib(LPTYPELIB, OLECHAR*, OLECHAR*); 371 HRESULT UnRegisterTypeLib(REFGUID, WORD, WORD, LCID, SYSKIND); 372 // not actually deprecated, but depends on unconverted ICreateTypeLib 373 deprecated HRESULT CreateTypeLib(SYSKIND, const(OLECHAR)*, LPCREATETYPELIB*); 374 HRESULT DispGetParam(DISPPARAMS*, UINT, VARTYPE, VARIANT*, UINT*); 375 HRESULT DispGetIDsOfNames(LPTYPEINFO, OLECHAR**, UINT, DISPID*); 376 HRESULT DispInvoke(void*, LPTYPEINFO, DISPID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*); 377 HRESULT CreateDispTypeInfo(INTERFACEDATA*, LCID, LPTYPEINFO*); 378 HRESULT CreateStdDispatch(IUnknown, void*, LPTYPEINFO, IUnknown*); 379 HRESULT RegisterActiveObject(IUnknown, REFCLSID, DWORD, DWORD*); 380 HRESULT RevokeActiveObject(DWORD, void*); 381 HRESULT GetActiveObject(REFCLSID, void*, IUnknown*); 382 HRESULT SetErrorInfo(uint, LPERRORINFO); 383 HRESULT GetErrorInfo(uint, LPERRORINFO*); 384 HRESULT CreateErrorInfo(LPCREATEERRORINFO*); 385 uint OaBuildVersion(); 386 HRESULT VectorFromBstr (BSTR, SAFEARRAY**); 387 HRESULT BstrFromVector (SAFEARRAY*, BSTR*); 388 HRESULT VarParseNumFromStr(OLECHAR*, LCID, ULONG, NUMPARSE*, BYTE*); 389 HRESULT VarNumFromParseNum(NUMPARSE*, BYTE*, ULONG, VARIANT*); 390 391 HRESULT VarAdd(LPVARIANT, LPVARIANT, LPVARIANT); 392 HRESULT VarSub(LPVARIANT, LPVARIANT, LPVARIANT); 393 HRESULT VarMul(LPVARIANT, LPVARIANT, LPVARIANT); 394 HRESULT VarDiv(LPVARIANT, LPVARIANT, LPVARIANT); 395 396 HRESULT VarUI1FromI2(SHORT, BYTE*); 397 HRESULT VarUI1FromI4(LONG, BYTE*); 398 HRESULT VarUI1FromI8(LONG64, BYTE*); 399 HRESULT VarUI1FromR4(FLOAT, BYTE*); 400 HRESULT VarUI1FromR8(DOUBLE, BYTE*); 401 HRESULT VarUI1FromDate(DATE, BYTE*); 402 HRESULT VarUI1FromBool(VARIANT_BOOL, BYTE*); 403 HRESULT VarUI1FromI1(byte, BYTE*); 404 HRESULT VarUI1FromUI2(USHORT, BYTE*); 405 HRESULT VarUI1FromUI4(ULONG, BYTE*); 406 HRESULT VarUI1FromUI8(ULONG64, BYTE*); 407 HRESULT VarUI1FromStr(OLECHAR*, LCID, ULONG, BYTE*); 408 HRESULT VarUI1FromCy(CY, BYTE*); 409 HRESULT VarUI1FromDec(DECIMAL*, BYTE*); 410 HRESULT VarUI1FromDisp(IDispatch, LCID, BYTE*); 411 412 HRESULT VarI2FromUI1(BYTE, SHORT*); 413 HRESULT VarI2FromI4(LONG, SHORT*); 414 HRESULT VarI2FromI8(LONG64, SHORT*); 415 HRESULT VarI2FromR4(FLOAT, SHORT*); 416 HRESULT VarI2FromR8(DOUBLE, SHORT*); 417 HRESULT VarI2FromDate(DATE, SHORT*); 418 HRESULT VarI2FromBool(VARIANT_BOOL, SHORT*); 419 HRESULT VarI2FromI1(byte, SHORT*); 420 HRESULT VarI2FromUI2(USHORT, SHORT*); 421 HRESULT VarI2FromUI4(ULONG, SHORT*); 422 HRESULT VarI2FromUI8(ULONG64, SHORT*); 423 HRESULT VarI2FromStr(OLECHAR*, LCID, ULONG, SHORT*); 424 HRESULT VarI2FromCy(CY, SHORT*); 425 HRESULT VarI2FromDec(DECIMAL*, SHORT*); 426 HRESULT VarI2FromDisp(IDispatch, LCID, SHORT*); 427 428 HRESULT VarI4FromUI1(BYTE, LONG*); 429 HRESULT VarI4FromI2(SHORT, LONG*); 430 HRESULT VarI4FromI8(LONG64, LONG*); 431 HRESULT VarI4FromR4(FLOAT, LONG*); 432 HRESULT VarI4FromR8(DOUBLE, LONG*); 433 HRESULT VarI4FromDate(DATE, LONG*); 434 HRESULT VarI4FromBool(VARIANT_BOOL, LONG*); 435 HRESULT VarI4FromI1(byte, LONG*); 436 HRESULT VarI4FromUI2(USHORT, LONG*); 437 HRESULT VarI4FromUI4(ULONG, LONG*); 438 HRESULT VarI4FromUI8(ULONG64, LONG*); 439 HRESULT VarI4FromStr(OLECHAR*, LCID, ULONG, LONG*); 440 HRESULT VarI4FromCy(CY, LONG*); 441 HRESULT VarI4FromDec(DECIMAL*, LONG*); 442 HRESULT VarI4FromDisp(IDispatch, LCID, LONG*); 443 444 HRESULT VarI8FromUI1(BYTE, LONG64*); 445 HRESULT VarI8FromI2(SHORT, LONG64*); 446 HRESULT VarI8FromI4(LONG, LONG64*); 447 HRESULT VarI8FromR4(FLOAT, LONG64*); 448 HRESULT VarI8FromR8(DOUBLE, LONG64*); 449 HRESULT VarI8FromDate(DATE, LONG64*); 450 HRESULT VarI8FromStr(OLECHAR*, LCID, ULONG, LONG64*); 451 HRESULT VarI8FromBool(VARIANT_BOOL, LONG64*); 452 HRESULT VarI8FromI1(byte, LONG64*); 453 HRESULT VarI8FromUI2(USHORT, LONG64*); 454 HRESULT VarI8FromUI4(ULONG, LONG64*); 455 HRESULT VarI8FromUI8(ULONG64, LONG64*); 456 HRESULT VarI8FromDec(DECIMAL* pdecIn, LONG64*); 457 HRESULT VarI8FromInt(INT intIn, LONG64*); 458 HRESULT VarI8FromCy(CY, LONG64*); 459 HRESULT VarI8FromDisp(IDispatch, LCID, LONG64*); 460 461 HRESULT VarR4FromUI1(BYTE, FLOAT*); 462 HRESULT VarR4FromI2(SHORT, FLOAT*); 463 HRESULT VarR4FromI4(LONG, FLOAT*); 464 HRESULT VarR4FromI8(LONG64, FLOAT*); 465 HRESULT VarR4FromR8(DOUBLE, FLOAT*); 466 HRESULT VarR4FromDate(DATE, FLOAT*); 467 HRESULT VarR4FromBool(VARIANT_BOOL, FLOAT*); 468 HRESULT VarR4FromI1(byte, FLOAT*); 469 HRESULT VarR4FromUI2(USHORT, FLOAT*); 470 HRESULT VarR4FromUI4(ULONG, FLOAT*); 471 HRESULT VarR4FromUI8(ULONG64, FLOAT*); 472 HRESULT VarR4FromStr(OLECHAR*, LCID, ULONG, FLOAT*); 473 HRESULT VarR4FromCy(CY, FLOAT*); 474 HRESULT VarR4FromDec(DECIMAL*, FLOAT*); 475 HRESULT VarR4FromDisp(IDispatch, LCID, FLOAT*); 476 477 HRESULT VarR8FromUI1(BYTE, double*); 478 HRESULT VarR8FromI2(SHORT, double*); 479 HRESULT VarR8FromI4(LONG, double*); 480 HRESULT VarR8FromI8(LONG64, double*); 481 HRESULT VarR8FromR4(FLOAT, double*); 482 HRESULT VarR8FromDate(DATE, double*); 483 HRESULT VarR8FromBool(VARIANT_BOOL, double*); 484 HRESULT VarR8FromI1(byte, double*); 485 HRESULT VarR8FromUI2(USHORT, double*); 486 HRESULT VarR8FromUI4(ULONG, double*); 487 HRESULT VarR8FromUI8(ULONG64, double*); 488 HRESULT VarR8FromStr(OLECHAR*, LCID, ULONG, double*); 489 HRESULT VarR8FromCy(CY, double*); 490 HRESULT VarR8FromDec(DECIMAL*, double*); 491 HRESULT VarR8FromDisp(IDispatch, LCID, double*); 492 493 HRESULT VarDateFromUI1(BYTE, DATE*); 494 HRESULT VarDateFromI2(SHORT, DATE*); 495 HRESULT VarDateFromI4(LONG, DATE*); 496 HRESULT VarDateFromI8(LONG64, DATE*); 497 HRESULT VarDateFromR4(FLOAT, DATE*); 498 HRESULT VarDateFromR8(DOUBLE, DATE*); 499 HRESULT VarDateFromStr(OLECHAR*, LCID, ULONG, DATE*); 500 HRESULT VarDateFromI1(byte, DATE*); 501 HRESULT VarDateFromUI2(USHORT, DATE*); 502 HRESULT VarDateFromUI4(ULONG, DATE*); 503 HRESULT VarDateFromUI8(ULONG64, DATE*); 504 HRESULT VarDateFromBool(VARIANT_BOOL, DATE*); 505 HRESULT VarDateFromCy(CY, DATE*); 506 HRESULT VarDateFromDec(DECIMAL*, DATE*); 507 HRESULT VarDateFromDisp(IDispatch, LCID, DATE*); 508 509 HRESULT VarCyFromUI1(BYTE, CY*); 510 HRESULT VarCyFromI2(SHORT sIn, CY*); 511 HRESULT VarCyFromI4(LONG, CY*); 512 HRESULT VarCyFromI8(LONG64, CY*); 513 HRESULT VarCyFromR4(FLOAT, CY*); 514 HRESULT VarCyFromR8(DOUBLE, CY*); 515 HRESULT VarCyFromDate(DATE, CY*); 516 HRESULT VarCyFromStr(OLECHAR*, LCID, ULONG, CY*); 517 HRESULT VarCyFromBool(VARIANT_BOOL, CY*); 518 HRESULT VarCyFromI1(byte, CY*); 519 HRESULT VarCyFromUI2(USHORT, CY*); 520 HRESULT VarCyFromUI4(ULONG, CY*); 521 HRESULT VarCyFromUI8(ULONG64, CY*); 522 HRESULT VarCyFromDec(DECIMAL*, CY*); 523 HRESULT VarCyFromStr(OLECHAR*, LCID, ULONG, CY*); 524 HRESULT VarCyFromDisp(IDispatch, LCID, CY*); 525 526 HRESULT VarBstrFromUI1(BYTE, LCID, ULONG, BSTR*); 527 HRESULT VarBstrFromI2(SHORT, LCID, ULONG, BSTR*); 528 HRESULT VarBstrFromI4(LONG, LCID, ULONG, BSTR*); 529 HRESULT VarBstrFromI8(LONG64, LCID, ULONG, BSTR*); 530 HRESULT VarBstrFromR4(FLOAT, LCID, ULONG, BSTR*); 531 HRESULT VarBstrFromR8(DOUBLE, LCID, ULONG, BSTR*); 532 HRESULT VarBstrFromDate(DATE, LCID, ULONG, BSTR*); 533 HRESULT VarBstrFromBool(VARIANT_BOOL, LCID, ULONG, BSTR*); 534 HRESULT VarBstrFromI1(byte, LCID, ULONG, BSTR*); 535 HRESULT VarBstrFromUI2(USHORT, LCID, ULONG, BSTR*); 536 HRESULT VarBstrFromUI8(ULONG64, LCID, ULONG, BSTR*); 537 HRESULT VarBstrFromUI4(ULONG, LCID, ULONG, BSTR*); 538 HRESULT VarBstrFromCy(CY, LCID, ULONG, BSTR*); 539 HRESULT VarBstrFromDec(DECIMAL*, LCID, ULONG, BSTR*); 540 HRESULT VarBstrFromDisp(IDispatch, LCID, ULONG, BSTR*); 541 542 HRESULT VarBoolFromUI1(BYTE, VARIANT_BOOL*); 543 HRESULT VarBoolFromI2(SHORT, VARIANT_BOOL*); 544 HRESULT VarBoolFromI4(LONG, VARIANT_BOOL*); 545 HRESULT VarBoolFromI8(LONG64, VARIANT_BOOL*); 546 HRESULT VarBoolFromR4(FLOAT, VARIANT_BOOL*); 547 HRESULT VarBoolFromR8(DOUBLE, VARIANT_BOOL*); 548 HRESULT VarBoolFromDate(DATE, VARIANT_BOOL*); 549 HRESULT VarBoolFromStr(OLECHAR*, LCID, ULONG, VARIANT_BOOL*); 550 HRESULT VarBoolFromI1(byte, VARIANT_BOOL*); 551 HRESULT VarBoolFromUI2(USHORT, VARIANT_BOOL*); 552 HRESULT VarBoolFromUI4(ULONG, VARIANT_BOOL*); 553 HRESULT VarBoolFromUI8(ULONG64, VARIANT_BOOL*); 554 HRESULT VarBoolFromCy(CY, VARIANT_BOOL*); 555 HRESULT VarBoolFromDec(DECIMAL*, VARIANT_BOOL*); 556 HRESULT VarBoolFromDisp(IDispatch, LCID, VARIANT_BOOL*); 557 558 HRESULT VarI1FromUI1(BYTE, byte*); 559 HRESULT VarI1FromI2(SHORT, byte*); 560 HRESULT VarI1FromI4(LONG, byte*); 561 HRESULT VarI1FromI8(LONG64, byte*); 562 HRESULT VarI1FromR4(FLOAT, byte*); 563 HRESULT VarI1FromR8(DOUBLE, byte*); 564 HRESULT VarI1FromDate(DATE, byte*); 565 HRESULT VarI1FromStr(OLECHAR*, LCID, ULONG, byte*); 566 HRESULT VarI1FromBool(VARIANT_BOOL, byte*); 567 HRESULT VarI1FromUI2(USHORT, byte*); 568 HRESULT VarI1FromUI4(ULONG, byte*); 569 HRESULT VarI1FromUI8(ULONG64, byte*); 570 HRESULT VarI1FromCy(CY, byte*); 571 HRESULT VarI1FromDec(DECIMAL*, byte*); 572 HRESULT VarI1FromDisp(IDispatch, LCID, byte*); 573 574 HRESULT VarUI2FromUI1(BYTE, USHORT*); 575 HRESULT VarUI2FromI2(SHORT, USHORT*); 576 HRESULT VarUI2FromI4(LONG, USHORT*); 577 HRESULT VarUI2FromI8(LONG64, USHORT*); 578 HRESULT VarUI2FromR4(FLOAT, USHORT*); 579 HRESULT VarUI2FromR8(DOUBLE, USHORT*); 580 HRESULT VarUI2FromDate(DATE, USHORT*); 581 HRESULT VarUI2FromStr(OLECHAR*, LCID, ULONG, USHORT*); 582 HRESULT VarUI2FromBool(VARIANT_BOOL, USHORT*); 583 HRESULT VarUI2FromI1(byte, USHORT*); 584 HRESULT VarUI2FromUI4(ULONG, USHORT*); 585 HRESULT VarUI2FromUI8(ULONG64, USHORT*); 586 HRESULT VarUI2FromCy(CY, USHORT*); 587 HRESULT VarUI2FromDec(DECIMAL*, USHORT*); 588 HRESULT VarUI2FromDisp(IDispatch, LCID, USHORT*); 589 590 HRESULT VarUI4FromStr(OLECHAR*, LCID, ULONG, ULONG*); 591 HRESULT VarUI4FromUI1(BYTE, ULONG*); 592 HRESULT VarUI4FromI2(SHORT, ULONG*); 593 HRESULT VarUI4FromI4(LONG, ULONG*); 594 HRESULT VarUI4FromI8(LONG64, ULONG*); 595 HRESULT VarUI4FromR4(FLOAT, ULONG*); 596 HRESULT VarUI4FromR8(DOUBLE, ULONG*); 597 HRESULT VarUI4FromDate(DATE, ULONG*); 598 HRESULT VarUI4FromBool(VARIANT_BOOL, ULONG*); 599 HRESULT VarUI4FromI1(byte, ULONG*); 600 HRESULT VarUI4FromUI2(USHORT, ULONG*); 601 HRESULT VarUI4FromUI8(ULONG64, ULONG*); 602 HRESULT VarUI4FromCy(CY, ULONG*); 603 HRESULT VarUI4FromDec(DECIMAL*, ULONG*); 604 HRESULT VarUI4FromDisp(IDispatch, LCID, ULONG*); 605 606 HRESULT VarUI8FromUI1(BYTE, ULONG64*); 607 HRESULT VarUI8FromI2(SHORT, ULONG64*); 608 HRESULT VarUI8FromI4(LONG, ULONG64*); 609 HRESULT VarUI8FromI8(LONG64, ULONG64*); 610 HRESULT VarUI8FromR4(FLOAT, ULONG64*); 611 HRESULT VarUI8FromR8(DOUBLE, ULONG64*); 612 HRESULT VarUI8FromDate(DATE, ULONG64*); 613 HRESULT VarUI8FromStr(OLECHAR*, LCID, ULONG, ULONG64*); 614 HRESULT VarUI8FromBool(VARIANT_BOOL, ULONG64*); 615 HRESULT VarUI8FromI1(byte, ULONG64*); 616 HRESULT VarUI8FromUI2(USHORT, ULONG64*); 617 HRESULT VarUI8FromUI4(ULONG, ULONG64*); 618 HRESULT VarUI8FromDec(DECIMAL*, ULONG64*); 619 HRESULT VarUI8FromInt(INT, ULONG64*); 620 HRESULT VarUI8FromCy(CY, ULONG64*); 621 HRESULT VarUI8FromDisp(IDispatch, LCID, ULONG64*); 622 623 HRESULT VarDecFromUI1(BYTE, DECIMAL*); 624 HRESULT VarDecFromI2(SHORT, DECIMAL*); 625 HRESULT VarDecFromI4(LONG, DECIMAL*); 626 HRESULT VarDecFromI8(LONG64, DECIMAL*); 627 HRESULT VarDecFromR4(FLOAT, DECIMAL*); 628 HRESULT VarDecFromR8(DOUBLE, DECIMAL*); 629 HRESULT VarDecFromDate(DATE, DECIMAL*); 630 HRESULT VarDecFromStr(OLECHAR*, LCID, ULONG, DECIMAL*); 631 HRESULT VarDecFromBool(VARIANT_BOOL, DECIMAL*); 632 HRESULT VarDecFromI1(byte, DECIMAL*); 633 HRESULT VarDecFromUI2(USHORT, DECIMAL*); 634 HRESULT VarDecFromUI4(ULONG, DECIMAL*); 635 HRESULT VarDecFromUI8(ULONG64, DECIMAL*); 636 HRESULT VarDecFromCy(CY, DECIMAL*); 637 HRESULT VarDecFromDisp(IDispatch, LCID, DECIMAL*); 638 639 HRESULT VarDecNeg(const(DECIMAL)*, DECIMAL*); 640 HRESULT VarR4CmpR8(float, double); 641 HRESULT VarR8Pow(double, double, double*); 642 HRESULT VarR8Round(double, int, double*); 643 HRESULT VarDecAbs(const(DECIMAL)*, DECIMAL*); 644 HRESULT VarDecAdd(const(DECIMAL)*, const(DECIMAL)*, DECIMAL*); 645 HRESULT VarDecCmp(const(DECIMAL)*, const(DECIMAL)*); 646 HRESULT VarDecCmpR8(const(DECIMAL)*, DOUBLE); 647 HRESULT VarDecDiv(const(DECIMAL)*, const(DECIMAL)*, DECIMAL*); 648 HRESULT VarDecFix(const(DECIMAL)*, DECIMAL*); 649 HRESULT VarDecInt(const(DECIMAL)*, DECIMAL*); 650 HRESULT VarDecMul(const(DECIMAL)*, const(DECIMAL)*, DECIMAL*); 651 HRESULT VarDecRound(const(DECIMAL)*, int, DECIMAL*); 652 HRESULT VarDecSub(const(DECIMAL)*, const(DECIMAL)*, DECIMAL*); 653 HRESULT VarCyAbs(CY, CY*); 654 HRESULT VarCyAdd(CY, CY, CY*); 655 HRESULT VarCyCmp(CY, CY); 656 HRESULT VarCyCmpR8(CY, DOUBLE); 657 HRESULT VarCyFix(CY, CY*); 658 HRESULT VarCyInt(CY, CY*); 659 HRESULT VarCyMul(CY, CY, CY*); 660 HRESULT VarCyMulI4(CY, LONG, CY*); 661 HRESULT VarCyMulI8(CY, LONG64, CY*); 662 HRESULT VarCyNeg(CY, CY*); 663 HRESULT VarCyRound(CY, INT, CY*); 664 HRESULT VarCySub(CY, CY, CY*); 665 HRESULT VarAdd(LPVARIANT, LPVARIANT, LPVARIANT); 666 HRESULT VarAnd(LPVARIANT, LPVARIANT, LPVARIANT); 667 HRESULT VarCat(LPVARIANT, LPVARIANT, LPVARIANT); 668 HRESULT VarDiv(LPVARIANT, LPVARIANT, LPVARIANT); 669 HRESULT VarEqv(LPVARIANT, LPVARIANT, LPVARIANT); 670 HRESULT VarIdiv(LPVARIANT, LPVARIANT, LPVARIANT); 671 HRESULT VarImp(LPVARIANT, LPVARIANT, LPVARIANT); 672 HRESULT VarMod(LPVARIANT, LPVARIANT, LPVARIANT); 673 HRESULT VarMul(LPVARIANT, LPVARIANT, LPVARIANT); 674 HRESULT VarOr(LPVARIANT, LPVARIANT, LPVARIANT); 675 HRESULT VarPow(LPVARIANT, LPVARIANT, LPVARIANT); 676 HRESULT VarSub(LPVARIANT, LPVARIANT, LPVARIANT); 677 HRESULT VarXor(LPVARIANT, LPVARIANT, LPVARIANT); 678 HRESULT VarAbs(LPVARIANT, LPVARIANT); 679 HRESULT VarFix(LPVARIANT, LPVARIANT); 680 HRESULT VarInt(LPVARIANT, LPVARIANT); 681 HRESULT VarNeg(LPVARIANT, LPVARIANT); 682 HRESULT VarNot(LPVARIANT, LPVARIANT); 683 HRESULT VarRound(LPVARIANT, int, LPVARIANT); 684 HRESULT VarCmp(LPVARIANT, LPVARIANT, LCID, ULONG); 685 HRESULT VarBstrCmp(BSTR, BSTR, LCID, ULONG); 686 HRESULT VarBstrCat(BSTR, BSTR, BSTR*); 687 }