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