Hex Artifact Content

Not logged in

Artifact 6e0e0dc09137eaf352f633d4af685d0159d6c521:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20  ********\.*     
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 6f 6c 65 61 75 74            oleaut
0070: 6f 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20  o.d             
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20    *.*           
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20        *.*       
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c                Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63  aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20   domain         
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65  ********/.module
02a0: 20 77 69 6e 33 32 2e 6f 6c 65 61 75 74 6f 3b 0a   win32.oleauto;.
02b0: 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 6f 6c 65  pragma(lib, "ole
02c0: 61 75 74 33 32 2e 6c 69 62 22 29 3b 0a 0a 69 6d  aut32.lib");..im
02d0: 70 6f 72 74 20 77 69 6e 33 32 2e 6f 61 69 64 6c  port win32.oaidl
02e0: 3b 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74  ;.private import
02f0: 20 77 69 6e 33 32 2e 62 61 73 65 74 79 70 73 2c   win32.basetyps,
0300: 20 77 69 6e 33 32 2e 75 6e 6b 6e 77 6e 2c 20 77   win32.unknwn, w
0310: 69 6e 33 32 2e 77 69 6e 64 65 66 2c 20 77 69 6e  in32.windef, win
0320: 33 32 2e 77 74 79 70 65 73 3b 0a 70 72 69 76 61  32.wtypes;.priva
0330: 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e  te import win32.
0340: 77 69 6e 62 61 73 65 3b 20 2f 2f 20 66 6f 72 20  winbase; // for 
0350: 53 59 53 54 45 4d 54 49 4d 45 0a 0a 61 6c 69 67  SYSTEMTIME..alig
0360: 6e 28 38 29 3a 0a 63 6f 6e 73 74 20 53 54 44 4f  n(8):.const STDO
0370: 4c 45 5f 4d 41 4a 4f 52 56 45 52 4e 55 4d 20 3d  LE_MAJORVERNUM =
0380: 20 31 3b 0a 63 6f 6e 73 74 20 53 54 44 4f 4c 45   1;.const STDOLE
0390: 5f 4d 49 4e 4f 52 56 45 52 4e 55 4d 20 3d 20 30  _MINORVERNUM = 0
03a0: 3b 0a 63 6f 6e 73 74 20 53 54 44 4f 4c 45 5f 4c  ;.const STDOLE_L
03b0: 43 49 44 20 3d 20 30 3b 0a 0a 63 6f 6e 73 74 20  CID = 0;..const 
03c0: 56 41 52 49 41 4e 54 5f 4e 4f 56 41 4c 55 45 50  VARIANT_NOVALUEP
03d0: 52 4f 50 20 3d 20 30 78 30 31 3b 0a 63 6f 6e 73  ROP = 0x01;.cons
03e0: 74 20 56 41 52 49 41 4e 54 5f 41 4c 50 48 41 42  t VARIANT_ALPHAB
03f0: 4f 4f 4c 20 3d 20 30 78 30 32 3b 0a 63 6f 6e 73  OOL = 0x02;.cons
0400: 74 20 56 41 52 49 41 4e 54 5f 4e 4f 55 53 45 4f  t VARIANT_NOUSEO
0410: 56 45 52 52 49 44 45 20 3d 20 30 78 30 34 3b 0a  VERRIDE = 0x04;.
0420: 63 6f 6e 73 74 20 56 41 52 49 41 4e 54 5f 4c 4f  const VARIANT_LO
0430: 43 41 4c 42 4f 4f 4c 20 3d 20 30 78 30 38 3b 0a  CALBOOL = 0x08;.
0440: 0a 63 6f 6e 73 74 20 56 41 52 5f 54 49 4d 45 56  .const VAR_TIMEV
0450: 41 4c 55 45 4f 4e 4c 59 20 3d 20 30 78 30 30 30  ALUEONLY = 0x000
0460: 31 3b 0a 63 6f 6e 73 74 20 56 41 52 5f 44 41 54  1;.const VAR_DAT
0470: 45 56 41 4c 55 45 4f 4e 4c 59 20 3d 20 30 78 30  EVALUEONLY = 0x0
0480: 30 30 32 3b 0a 63 6f 6e 73 74 20 56 41 52 5f 56  002;.const VAR_V
0490: 41 4c 49 44 44 41 54 45 20 3d 20 30 78 30 30 30  ALIDDATE = 0x000
04a0: 34 3b 0a 63 6f 6e 73 74 20 56 41 52 5f 43 41 4c  4;.const VAR_CAL
04b0: 45 4e 44 41 52 5f 48 49 4a 52 49 20 3d 20 30 78  ENDAR_HIJRI = 0x
04c0: 30 30 30 38 3b 0a 63 6f 6e 73 74 20 56 41 52 5f  0008;.const VAR_
04d0: 4c 4f 43 41 4c 42 4f 4f 4c 20 3d 20 30 78 30 30  LOCALBOOL = 0x00
04e0: 31 30 3b 0a 63 6f 6e 73 74 20 56 41 52 5f 46 4f  10;.const VAR_FO
04f0: 52 4d 41 54 5f 4e 4f 53 55 42 53 54 49 54 55 54  RMAT_NOSUBSTITUT
0500: 45 20 3d 20 30 78 30 30 32 30 3b 0a 63 6f 6e 73  E = 0x0020;.cons
0510: 74 20 56 41 52 5f 46 4f 55 52 44 49 47 49 54 59  t VAR_FOURDIGITY
0520: 45 41 52 53 20 3d 20 30 78 30 30 34 30 3b 0a 63  EARS = 0x0040;.c
0530: 6f 6e 73 74 20 56 41 52 5f 43 41 4c 45 4e 44 41  onst VAR_CALENDA
0540: 52 5f 54 48 41 49 20 3d 20 30 78 30 30 38 30 3b  R_THAI = 0x0080;
0550: 0a 63 6f 6e 73 74 20 56 41 52 5f 43 41 4c 45 4e  .const VAR_CALEN
0560: 44 41 52 5f 47 52 45 47 4f 52 49 41 4e 20 3d 20  DAR_GREGORIAN = 
0570: 30 78 30 31 30 30 3b 0a 0a 63 6f 6e 73 74 20 4d  0x0100;..const M
0580: 45 4d 42 45 52 49 44 5f 4e 49 4c 20 3d 20 44 49  EMBERID_NIL = DI
0590: 53 50 49 44 5f 55 4e 4b 4e 4f 57 4e 3b 0a 63 6f  SPID_UNKNOWN;.co
05a0: 6e 73 74 20 49 44 5f 44 45 46 41 55 4c 54 49 4e  nst ID_DEFAULTIN
05b0: 53 54 20 3d 20 20 2d 32 3b 0a 63 6f 6e 73 74 20  ST =  -2;.const 
05c0: 44 49 53 50 41 54 43 48 5f 4d 45 54 48 4f 44 20  DISPATCH_METHOD 
05d0: 3d 20 31 3b 0a 63 6f 6e 73 74 20 44 49 53 50 41  = 1;.const DISPA
05e0: 54 43 48 5f 50 52 4f 50 45 52 54 59 47 45 54 20  TCH_PROPERTYGET 
05f0: 3d 20 32 3b 0a 63 6f 6e 73 74 20 44 49 53 50 41  = 2;.const DISPA
0600: 54 43 48 5f 50 52 4f 50 45 52 54 59 50 55 54 20  TCH_PROPERTYPUT 
0610: 3d 20 34 3b 0a 63 6f 6e 73 74 20 44 49 53 50 41  = 4;.const DISPA
0620: 54 43 48 5f 50 52 4f 50 45 52 54 59 50 55 54 52  TCH_PROPERTYPUTR
0630: 45 46 20 3d 20 38 3b 0a 0a 2f 2f 55 4c 4f 4e 47  EF = 8;..//ULONG
0640: 20 4c 48 61 73 68 56 61 6c 4f 66 4e 61 6d 65 28   LHashValOfName(
0650: 4c 43 49 44 20 6c 2c 20 4f 4c 45 43 48 41 52 2a  LCID l, OLECHAR*
0660: 20 6e 29 20 7b 20 72 65 74 75 72 6e 20 4c 48 61   n) { return LHa
0670: 73 68 56 61 6c 4f 66 4e 61 6d 65 53 79 73 28 53  shValOfNameSys(S
0680: 59 53 4b 49 4e 44 2e 53 59 53 5f 57 49 4e 33 32  YSKIND.SYS_WIN32
0690: 2c 20 6c 2c 20 6e 29 3b 20 7d 0a 0a 2f 2f 20 44  , l, n); }..// D
06a0: 41 43 3a 20 54 68 65 73 65 20 61 72 65 6e 27 74  AC: These aren't
06b0: 20 69 6e 20 74 68 65 20 32 30 30 33 20 53 44 4b   in the 2003 SDK
06c0: 2e 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e  ..//MACRO #defin
06d0: 65 20 57 48 61 73 68 56 61 6c 4f 66 4c 48 61 73  e WHashValOfLHas
06e0: 68 56 61 6c 28 68 29 20 28 28 75 6e 73 69 67 6e  hVal(h) ((unsign
06f0: 65 64 20 73 68 6f 72 74 29 28 30 78 30 30 30 30  ed short)(0x0000
0700: 66 66 66 66 26 28 68 29 29 29 0a 2f 2f 4d 41 43  ffff&(h))).//MAC
0710: 52 4f 20 23 64 65 66 69 6e 65 20 49 73 48 61 73  RO #define IsHas
0720: 68 56 61 6c 43 6f 6d 70 61 74 69 62 6c 65 28 68  hValCompatible(h
0730: 31 2c 20 68 32 29 20 28 28 42 4f 4f 4c 29 28 28  1, h2) ((BOOL)((
0740: 30 78 30 30 66 66 30 30 30 30 26 28 68 31 29 29  0x00ff0000&(h1))
0750: 3d 3d 28 30 78 30 30 66 66 30 30 30 30 26 28 68  ==(0x00ff0000&(h
0760: 32 29 29 29 29 0a 0a 65 6e 75 6d 20 7b 0a 09 41  2))))..enum {..A
0770: 43 54 49 56 45 4f 42 4a 45 43 54 5f 53 54 52 4f  CTIVEOBJECT_STRO
0780: 4e 47 20 3d 20 30 2c 0a 09 41 43 54 49 56 45 4f  NG = 0,..ACTIVEO
0790: 42 4a 45 43 54 5f 57 45 41 4b 20 20 20 3d 20 31  BJECT_WEAK   = 1
07a0: 0a 7d 0a 0a 2f 2f 20 44 41 43 3a 20 54 68 65 73  .}..// DAC: Thes
07b0: 65 20 73 65 65 6d 20 74 6f 20 62 65 20 69 72 72  e seem to be irr
07c0: 65 6c 65 76 61 6e 74 20 66 6f 72 20 44 2e 0a 2f  elevant for D../
07d0: 2f 23 64 65 66 69 6e 65 20 56 5f 55 4e 49 4f 4e  /#define V_UNION
07e0: 28 58 2c 20 59 29 20 28 28 58 29 2d 3e 59 29 0a  (X, Y) ((X)->Y).
07f0: 2f 2f 23 64 65 66 69 6e 65 20 56 5f 56 54 28 58  //#define V_VT(X
0800: 29 20 28 28 58 29 2d 3e 76 74 29 0a 2f 2f 23 64  ) ((X)->vt).//#d
0810: 65 66 69 6e 65 20 56 5f 42 4f 4f 4c 28 58 29 20  efine V_BOOL(X) 
0820: 56 5f 55 4e 49 4f 4e 28 58 2c 20 62 6f 6f 6c 56  V_UNION(X, boolV
0830: 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  al).//#define V_
0840: 49 53 42 59 52 45 46 28 58 29 20 28 56 5f 56 54  ISBYREF(X) (V_VT
0850: 28 58 29 26 56 54 5f 42 59 52 45 46 29 0a 2f 2f  (X)&VT_BYREF).//
0860: 23 64 65 66 69 6e 65 20 56 5f 49 53 41 52 52 41  #define V_ISARRA
0870: 59 28 58 29 20 28 56 5f 56 54 28 58 29 26 56 54  Y(X) (V_VT(X)&VT
0880: 5f 41 52 52 41 59 29 0a 2f 2f 23 64 65 66 69 6e  _ARRAY).//#defin
0890: 65 20 56 5f 49 53 56 45 43 54 4f 52 28 58 29 20  e V_ISVECTOR(X) 
08a0: 28 56 5f 56 54 28 58 29 26 56 54 5f 56 45 43 54  (V_VT(X)&VT_VECT
08b0: 4f 52 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  OR).//#define V_
08c0: 4e 4f 4e 45 28 58 29 20 56 5f 49 32 28 58 29 0a  NONE(X) V_I2(X).
08d0: 2f 2f 23 64 65 66 69 6e 65 20 56 5f 55 49 31 28  //#define V_UI1(
08e0: 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 62 56  X) V_UNION(X, bV
08f0: 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  al).//#define V_
0900: 55 49 31 52 45 46 28 58 29 20 56 5f 55 4e 49 4f  UI1REF(X) V_UNIO
0910: 4e 28 58 2c 20 70 62 56 61 6c 29 0a 2f 2f 23 64  N(X, pbVal).//#d
0920: 65 66 69 6e 65 20 56 5f 49 32 28 58 29 20 56 5f  efine V_I2(X) V_
0930: 55 4e 49 4f 4e 28 58 2c 20 69 56 61 6c 29 0a 2f  UNION(X, iVal)./
0940: 2f 23 64 65 66 69 6e 65 20 56 5f 55 49 32 28 58  /#define V_UI2(X
0950: 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 75 69 56  ) V_UNION(X, uiV
0960: 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  al).//#define V_
0970: 49 32 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e  I2REF(X) V_UNION
0980: 28 58 2c 20 70 69 56 61 6c 29 0a 2f 2f 23 64 65  (X, piVal).//#de
0990: 66 69 6e 65 20 56 5f 49 34 28 58 29 20 56 5f 55  fine V_I4(X) V_U
09a0: 4e 49 4f 4e 28 58 2c 20 6c 56 61 6c 29 0a 2f 2f  NION(X, lVal).//
09b0: 23 64 65 66 69 6e 65 20 56 5f 55 49 34 28 58 29  #define V_UI4(X)
09c0: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 75 6c 56 61   V_UNION(X, ulVa
09d0: 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 49  l).//#define V_I
09e0: 34 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e 28  4REF(X) V_UNION(
09f0: 58 2c 20 70 6c 56 61 6c 29 0a 2f 2f 23 64 65 66  X, plVal).//#def
0a00: 69 6e 65 20 56 5f 55 49 34 52 45 46 28 58 29 20  ine V_UI4REF(X) 
0a10: 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 75 6c 56 61  V_UNION(X, pulVa
0a20: 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 49  l).//#define V_I
0a30: 38 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20  8(X) V_UNION(X, 
0a40: 6c 6c 56 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65  llVal).//#define
0a50: 20 56 5f 55 49 38 28 58 29 20 56 5f 55 4e 49 4f   V_UI8(X) V_UNIO
0a60: 4e 28 58 2c 20 75 6c 6c 56 61 6c 29 0a 2f 2f 23  N(X, ullVal).//#
0a70: 64 65 66 69 6e 65 20 56 5f 49 38 52 45 46 28 58  define V_I8REF(X
0a80: 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 6c 6c  ) V_UNION(X, pll
0a90: 56 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56  Val).//#define V
0aa0: 5f 55 49 38 52 45 46 28 58 29 20 56 5f 55 4e 49  _UI8REF(X) V_UNI
0ab0: 4f 4e 28 58 2c 20 70 75 6c 6c 56 61 6c 29 0a 2f  ON(X, pullVal)./
0ac0: 2f 23 64 65 66 69 6e 65 20 56 5f 52 34 28 58 29  /#define V_R4(X)
0ad0: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 66 6c 74 56   V_UNION(X, fltV
0ae0: 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  al).//#define V_
0af0: 52 34 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e  R4REF(X) V_UNION
0b00: 28 58 2c 20 70 66 6c 74 56 61 6c 29 0a 2f 2f 23  (X, pfltVal).//#
0b10: 64 65 66 69 6e 65 20 56 5f 52 38 28 58 29 20 56  define V_R8(X) V
0b20: 5f 55 4e 49 4f 4e 28 58 2c 20 64 62 6c 56 61 6c  _UNION(X, dblVal
0b30: 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 52 38  ).//#define V_R8
0b40: 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58  REF(X) V_UNION(X
0b50: 2c 20 70 64 62 6c 56 61 6c 29 0a 2f 2f 23 64 65  , pdblVal).//#de
0b60: 66 69 6e 65 20 56 5f 43 59 28 58 29 20 56 5f 55  fine V_CY(X) V_U
0b70: 4e 49 4f 4e 28 58 2c 20 63 79 56 61 6c 29 0a 2f  NION(X, cyVal)./
0b80: 2f 23 64 65 66 69 6e 65 20 56 5f 43 59 52 45 46  /#define V_CYREF
0b90: 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70  (X) V_UNION(X, p
0ba0: 63 79 56 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65  cyVal).//#define
0bb0: 20 56 5f 44 41 54 45 28 58 29 20 56 5f 55 4e 49   V_DATE(X) V_UNI
0bc0: 4f 4e 28 58 2c 20 64 61 74 65 29 0a 2f 2f 23 64  ON(X, date).//#d
0bd0: 65 66 69 6e 65 20 56 5f 44 41 54 45 52 45 46 28  efine V_DATEREF(
0be0: 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 64  X) V_UNION(X, pd
0bf0: 61 74 65 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56  ate).//#define V
0c00: 5f 42 53 54 52 28 58 29 20 56 5f 55 4e 49 4f 4e  _BSTR(X) V_UNION
0c10: 28 58 2c 20 62 73 74 72 56 61 6c 29 0a 2f 2f 23  (X, bstrVal).//#
0c20: 64 65 66 69 6e 65 20 56 5f 42 53 54 52 52 45 46  define V_BSTRREF
0c30: 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70  (X) V_UNION(X, p
0c40: 62 73 74 72 56 61 6c 29 0a 2f 2f 23 64 65 66 69  bstrVal).//#defi
0c50: 6e 65 20 56 5f 44 49 53 50 41 54 43 48 28 58 29  ne V_DISPATCH(X)
0c60: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 64 69 73   V_UNION(X, pdis
0c70: 70 56 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20  pVal).//#define 
0c80: 56 5f 44 49 53 50 41 54 43 48 52 45 46 28 58 29  V_DISPATCHREF(X)
0c90: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 70 64 69   V_UNION(X, ppdi
0ca0: 73 70 56 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65  spVal).//#define
0cb0: 20 56 5f 45 52 52 4f 52 28 58 29 20 56 5f 55 4e   V_ERROR(X) V_UN
0cc0: 49 4f 4e 28 58 2c 20 73 63 6f 64 65 29 0a 2f 2f  ION(X, scode).//
0cd0: 23 64 65 66 69 6e 65 20 56 5f 45 52 52 4f 52 52  #define V_ERRORR
0ce0: 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c  EF(X) V_UNION(X,
0cf0: 20 70 73 63 6f 64 65 29 0a 2f 2f 23 64 65 66 69   pscode).//#defi
0d00: 6e 65 20 56 5f 42 4f 4f 4c 52 45 46 28 58 29 20  ne V_BOOLREF(X) 
0d10: 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 62 6f 6f 6c  V_UNION(X, pbool
0d20: 56 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56  Val).//#define V
0d30: 5f 55 4e 4b 4e 4f 57 4e 28 58 29 20 56 5f 55 4e  _UNKNOWN(X) V_UN
0d40: 49 4f 4e 28 58 2c 20 70 75 6e 6b 56 61 6c 29 0a  ION(X, punkVal).
0d50: 2f 2f 23 64 65 66 69 6e 65 20 56 5f 55 4e 4b 4e  //#define V_UNKN
0d60: 4f 57 4e 52 45 46 28 58 29 20 56 5f 55 4e 49 4f  OWNREF(X) V_UNIO
0d70: 4e 28 58 2c 20 70 70 75 6e 6b 56 61 6c 29 0a 2f  N(X, ppunkVal)./
0d80: 2f 23 64 65 66 69 6e 65 20 56 5f 56 41 52 49 41  /#define V_VARIA
0d90: 4e 54 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e  NTREF(X) V_UNION
0da0: 28 58 2c 20 70 76 61 72 56 61 6c 29 0a 2f 2f 23  (X, pvarVal).//#
0db0: 64 65 66 69 6e 65 20 56 5f 4c 50 53 54 52 28 58  define V_LPSTR(X
0dc0: 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 73 7a  ) V_UNION(X, psz
0dd0: 56 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56  Val).//#define V
0de0: 5f 4c 50 53 54 52 52 45 46 28 58 29 20 56 5f 55  _LPSTRREF(X) V_U
0df0: 4e 49 4f 4e 28 58 2c 20 70 70 73 7a 56 61 6c 29  NION(X, ppszVal)
0e00: 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 4c 50 57  .//#define V_LPW
0e10: 53 54 52 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58  STR(X) V_UNION(X
0e20: 2c 20 70 77 73 7a 56 61 6c 29 0a 2f 2f 23 64 65  , pwszVal).//#de
0e30: 66 69 6e 65 20 56 5f 4c 50 57 53 54 52 52 45 46  fine V_LPWSTRREF
0e40: 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70  (X) V_UNION(X, p
0e50: 70 77 73 7a 56 61 6c 29 0a 2f 2f 23 64 65 66 69  pwszVal).//#defi
0e60: 6e 65 20 56 5f 46 49 4c 45 54 49 4d 45 28 58 29  ne V_FILETIME(X)
0e70: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 66 69 6c 65   V_UNION(X, file
0e80: 74 69 6d 65 29 0a 2f 2f 23 64 65 66 69 6e 65 20  time).//#define 
0e90: 56 5f 46 49 4c 45 54 49 4d 45 52 45 46 28 58 29  V_FILETIMEREF(X)
0ea0: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 66 69 6c   V_UNION(X, pfil
0eb0: 65 74 69 6d 65 29 0a 2f 2f 23 64 65 66 69 6e 65  etime).//#define
0ec0: 20 56 5f 42 4c 4f 42 28 58 29 20 56 5f 55 4e 49   V_BLOB(X) V_UNI
0ed0: 4f 4e 28 58 2c 20 62 6c 6f 62 29 0a 2f 2f 23 64  ON(X, blob).//#d
0ee0: 65 66 69 6e 65 20 56 5f 55 55 49 44 28 58 29 20  efine V_UUID(X) 
0ef0: 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 75 75 69 64  V_UNION(X, puuid
0f00: 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 43 4c  ).//#define V_CL
0f10: 53 49 44 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58  SID(X) V_UNION(X
0f20: 2c 20 70 75 75 69 64 29 0a 2f 2f 23 64 65 66 69  , puuid).//#defi
0f30: 6e 65 20 56 5f 41 52 52 41 59 28 58 29 20 56 5f  ne V_ARRAY(X) V_
0f40: 55 4e 49 4f 4e 28 58 2c 20 70 61 72 72 61 79 29  UNION(X, parray)
0f50: 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 41 52 52  .//#define V_ARR
0f60: 41 59 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e  AYREF(X) V_UNION
0f70: 28 58 2c 20 70 70 61 72 72 61 79 29 0a 2f 2f 23  (X, pparray).//#
0f80: 64 65 66 69 6e 65 20 56 5f 42 59 52 45 46 28 58  define V_BYREF(X
0f90: 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 62 79 72  ) V_UNION(X, byr
0fa0: 65 66 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  ef).//#define V_
0fb0: 44 45 43 49 4d 41 4c 28 58 29 20 28 28 58 29 2d  DECIMAL(X) ((X)-
0fc0: 3e 64 65 63 56 61 6c 29 0a 2f 2f 23 64 65 66 69  >decVal).//#defi
0fd0: 6e 65 20 56 5f 44 45 43 49 4d 41 4c 52 45 46 28  ne V_DECIMALREF(
0fe0: 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 64  X) V_UNION(X, pd
0ff0: 65 63 56 61 6c 29 0a 2f 2f 23 64 65 66 69 6e 65  ecVal).//#define
1000: 20 56 5f 49 31 28 58 29 20 56 5f 55 4e 49 4f 4e   V_I1(X) V_UNION
1010: 28 58 2c 20 63 56 61 6c 29 0a 0a 2f 2f 23 69 66  (X, cVal)..//#if
1020: 64 65 66 20 5f 57 49 4e 36 34 0a 2f 2f 23 64 65  def _WIN64.//#de
1030: 66 69 6e 65 20 56 5f 49 4e 54 5f 50 54 52 28 58  fine V_INT_PTR(X
1040: 29 20 56 5f 49 38 28 58 29 0a 2f 2f 23 64 65 66  ) V_I8(X).//#def
1050: 69 6e 65 20 56 5f 55 49 4e 54 5f 50 54 52 28 58  ine V_UINT_PTR(X
1060: 29 20 56 5f 55 49 38 28 58 29 0a 2f 2f 23 64 65  ) V_UI8(X).//#de
1070: 66 69 6e 65 20 56 5f 49 4e 54 5f 50 54 52 52 45  fine V_INT_PTRRE
1080: 46 28 58 29 20 56 5f 49 38 52 45 46 28 58 29 0a  F(X) V_I8REF(X).
1090: 2f 2f 23 64 65 66 69 6e 65 20 56 5f 55 49 4e 54  //#define V_UINT
10a0: 5f 50 54 52 52 45 46 28 58 29 20 56 5f 55 49 38  _PTRREF(X) V_UI8
10b0: 52 45 46 28 58 29 0a 2f 2f 23 65 6c 73 65 0a 2f  REF(X).//#else./
10c0: 2f 23 64 65 66 69 6e 65 20 56 5f 49 4e 54 5f 50  /#define V_INT_P
10d0: 54 52 28 58 29 20 56 5f 49 34 28 58 29 0a 2f 2f  TR(X) V_I4(X).//
10e0: 23 64 65 66 69 6e 65 20 56 5f 55 49 4e 54 5f 50  #define V_UINT_P
10f0: 54 52 28 58 29 20 56 5f 55 49 34 28 58 29 0a 2f  TR(X) V_UI4(X)./
1100: 2f 23 64 65 66 69 6e 65 20 56 5f 49 4e 54 5f 50  /#define V_INT_P
1110: 54 52 52 45 46 28 58 29 20 56 5f 49 34 52 45 46  TRREF(X) V_I4REF
1120: 28 58 29 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  (X).//#define V_
1130: 55 49 4e 54 5f 50 54 52 52 45 46 28 58 29 20 56  UINT_PTRREF(X) V
1140: 5f 55 49 34 52 45 46 28 58 29 0a 2f 2f 23 65 6e  _UI4REF(X).//#en
1150: 64 69 66 0a 0a 65 6e 75 6d 20 7b 0a 09 56 41 52  dif..enum {..VAR
1160: 43 4d 50 5f 4c 54 20 3d 20 30 2c 0a 09 56 41 52  CMP_LT = 0,..VAR
1170: 43 4d 50 5f 45 51 2c 0a 09 56 41 52 43 4d 50 5f  CMP_EQ,..VARCMP_
1180: 47 54 2c 0a 09 56 41 52 43 4d 50 5f 4e 55 4c 4c  GT,..VARCMP_NULL
1190: 20 2f 2f 20 3d 20 33 0a 7d 0a 0a 63 6f 6e 73 74   // = 3.}..const
11a0: 20 4c 4f 43 41 4c 45 5f 55 53 45 5f 4e 4c 53 20   LOCALE_USE_NLS 
11b0: 3d 20 30 78 31 30 30 30 30 30 30 30 3b 0a 0a 63  = 0x10000000;..c
11c0: 6f 6e 73 74 20 56 41 52 49 41 4e 54 5f 4e 4f 55  onst VARIANT_NOU
11d0: 53 45 52 4f 56 45 52 52 49 44 45 20 20 20 20 20  SEROVERRIDE     
11e0: 3d 20 30 78 30 34 3b 0a 63 6f 6e 73 74 20 56 41  = 0x04;.const VA
11f0: 52 49 41 4e 54 5f 43 41 4c 45 4e 44 41 52 5f 48  RIANT_CALENDAR_H
1200: 49 4a 52 49 20 20 20 20 20 3d 20 30 78 30 38 3b  IJRI     = 0x08;
1210: 0a 63 6f 6e 73 74 20 56 41 52 49 41 4e 54 5f 43  .const VARIANT_C
1220: 41 4c 45 4e 44 41 52 5f 54 48 41 49 20 20 20 20  ALENDAR_THAI    
1230: 20 20 3d 20 30 78 32 30 3b 0a 63 6f 6e 73 74 20    = 0x20;.const 
1240: 56 41 52 49 41 4e 54 5f 43 41 4c 45 4e 44 41 52  VARIANT_CALENDAR
1250: 5f 47 52 45 47 4f 52 49 41 4e 20 3d 20 30 78 34  _GREGORIAN = 0x4
1260: 30 3b 0a 63 6f 6e 73 74 20 56 41 52 49 41 4e 54  0;.const VARIANT
1270: 5f 55 53 45 5f 4e 4c 53 20 20 20 20 20 20 20 20  _USE_NLS        
1280: 20 20 20 20 3d 20 30 78 38 30 3b 0a 0a 63 6f 6e      = 0x80;..con
1290: 73 74 20 4e 55 4d 50 52 53 5f 4c 45 41 44 49 4e  st NUMPRS_LEADIN
12a0: 47 5f 57 48 49 54 45 20 20 3d 20 30 78 30 30 30  G_WHITE  = 0x000
12b0: 30 31 3b 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53  01;.const NUMPRS
12c0: 5f 54 52 41 49 4c 49 4e 47 5f 57 48 49 54 45 20  _TRAILING_WHITE 
12d0: 3d 20 30 78 30 30 30 30 32 3b 0a 63 6f 6e 73 74  = 0x00002;.const
12e0: 20 4e 55 4d 50 52 53 5f 4c 45 41 44 49 4e 47 5f   NUMPRS_LEADING_
12f0: 50 4c 55 53 20 20 20 3d 20 30 78 30 30 30 30 34  PLUS   = 0x00004
1300: 3b 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 54  ;.const NUMPRS_T
1310: 52 41 49 4c 49 4e 47 5f 50 4c 55 53 20 20 3d 20  RAILING_PLUS  = 
1320: 30 78 30 30 30 30 38 3b 0a 63 6f 6e 73 74 20 4e  0x00008;.const N
1330: 55 4d 50 52 53 5f 4c 45 41 44 49 4e 47 5f 4d 49  UMPRS_LEADING_MI
1340: 4e 55 53 20 20 3d 20 30 78 30 30 30 31 30 3b 0a  NUS  = 0x00010;.
1350: 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 54 52 41  const NUMPRS_TRA
1360: 49 4c 49 4e 47 5f 4d 49 4e 55 53 20 3d 20 30 78  ILING_MINUS = 0x
1370: 30 30 30 32 30 3b 0a 63 6f 6e 73 74 20 4e 55 4d  00020;.const NUM
1380: 50 52 53 5f 48 45 58 5f 4f 43 54 20 20 20 20 20  PRS_HEX_OCT     
1390: 20 20 20 3d 20 30 78 30 30 30 34 30 3b 0a 63 6f     = 0x00040;.co
13a0: 6e 73 74 20 4e 55 4d 50 52 53 5f 50 41 52 45 4e  nst NUMPRS_PAREN
13b0: 53 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  S         = 0x00
13c0: 30 38 30 3b 0a 63 6f 6e 73 74 20 4e 55 4d 50 52  080;.const NUMPR
13d0: 53 5f 44 45 43 49 4d 41 4c 20 20 20 20 20 20 20  S_DECIMAL       
13e0: 20 3d 20 30 78 30 30 31 30 30 3b 0a 63 6f 6e 73   = 0x00100;.cons
13f0: 74 20 4e 55 4d 50 52 53 5f 54 48 4f 55 53 41 4e  t NUMPRS_THOUSAN
1400: 44 53 20 20 20 20 20 20 3d 20 30 78 30 30 32 30  DS      = 0x0020
1410: 30 3b 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f  0;.const NUMPRS_
1420: 43 55 52 52 45 4e 43 59 20 20 20 20 20 20 20 3d  CURRENCY       =
1430: 20 30 78 30 30 34 30 30 3b 0a 63 6f 6e 73 74 20   0x00400;.const 
1440: 4e 55 4d 50 52 53 5f 45 58 50 4f 4e 45 4e 54 20  NUMPRS_EXPONENT 
1450: 20 20 20 20 20 20 3d 20 30 78 30 30 38 30 30 3b        = 0x00800;
1460: 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 55 53  .const NUMPRS_US
1470: 45 5f 41 4c 4c 20 20 20 20 20 20 20 20 3d 20 30  E_ALL        = 0
1480: 78 30 31 30 30 30 3b 0a 63 6f 6e 73 74 20 4e 55  x01000;.const NU
1490: 4d 50 52 53 5f 53 54 44 20 20 20 20 20 20 20 20  MPRS_STD        
14a0: 20 20 20 20 3d 20 30 78 30 31 46 46 46 3b 0a 63      = 0x01FFF;.c
14b0: 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 4e 45 47 20  onst NUMPRS_NEG 
14c0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 31             = 0x1
14d0: 30 30 30 30 3b 0a 63 6f 6e 73 74 20 4e 55 4d 50  0000;.const NUMP
14e0: 52 53 5f 49 4e 45 58 41 43 54 20 20 20 20 20 20  RS_INEXACT      
14f0: 20 20 3d 20 30 78 32 30 30 30 30 3b 0a 0a 63 6f    = 0x20000;..co
1500: 6e 73 74 20 56 54 42 49 54 5f 49 31 20 3d 20 31  nst VTBIT_I1 = 1
1510: 20 3c 3c 20 56 41 52 45 4e 55 4d 2e 56 54 5f 49   << VARENUM.VT_I
1520: 31 3b 0a 63 6f 6e 73 74 20 56 54 42 49 54 5f 55  1;.const VTBIT_U
1530: 49 31 20 3d 20 31 20 3c 3c 20 56 41 52 45 4e 55  I1 = 1 << VARENU
1540: 4d 2e 56 54 5f 55 49 31 3b 0a 63 6f 6e 73 74 20  M.VT_UI1;.const 
1550: 56 54 42 49 54 5f 49 32 20 3d 20 31 20 3c 3c 20  VTBIT_I2 = 1 << 
1560: 56 41 52 45 4e 55 4d 2e 56 54 5f 49 32 3b 0a 63  VARENUM.VT_I2;.c
1570: 6f 6e 73 74 20 56 54 42 49 54 5f 55 49 32 20 3d  onst VTBIT_UI2 =
1580: 20 31 20 3c 3c 20 56 41 52 45 4e 55 4d 2e 56 54   1 << VARENUM.VT
1590: 5f 55 49 32 3b 0a 63 6f 6e 73 74 20 56 54 42 49  _UI2;.const VTBI
15a0: 54 5f 49 34 20 3d 20 31 20 3c 3c 20 56 41 52 45  T_I4 = 1 << VARE
15b0: 4e 55 4d 2e 56 54 5f 49 34 3b 0a 63 6f 6e 73 74  NUM.VT_I4;.const
15c0: 20 56 54 42 49 54 5f 55 49 34 20 3d 20 31 20 3c   VTBIT_UI4 = 1 <
15d0: 3c 20 56 41 52 45 4e 55 4d 2e 56 54 5f 55 49 34  < VARENUM.VT_UI4
15e0: 3b 0a 63 6f 6e 73 74 20 56 54 42 49 54 5f 49 38  ;.const VTBIT_I8
15f0: 20 3d 20 31 20 3c 3c 20 56 41 52 45 4e 55 4d 2e   = 1 << VARENUM.
1600: 56 54 5f 49 38 3b 0a 63 6f 6e 73 74 20 56 54 42  VT_I8;.const VTB
1610: 49 54 5f 55 49 38 20 3d 20 31 20 3c 3c 20 56 41  IT_UI8 = 1 << VA
1620: 52 45 4e 55 4d 2e 56 54 5f 55 49 38 3b 0a 63 6f  RENUM.VT_UI8;.co
1630: 6e 73 74 20 56 54 42 49 54 5f 52 34 20 3d 20 31  nst VTBIT_R4 = 1
1640: 20 3c 3c 20 56 41 52 45 4e 55 4d 2e 56 54 5f 52   << VARENUM.VT_R
1650: 34 3b 0a 63 6f 6e 73 74 20 56 54 42 49 54 5f 52  4;.const VTBIT_R
1660: 38 20 3d 20 31 20 3c 3c 20 56 41 52 45 4e 55 4d  8 = 1 << VARENUM
1670: 2e 56 54 5f 52 38 3b 0a 63 6f 6e 73 74 20 56 54  .VT_R8;.const VT
1680: 42 49 54 5f 43 59 20 3d 20 31 20 3c 3c 20 56 41  BIT_CY = 1 << VA
1690: 52 45 4e 55 4d 2e 56 54 5f 43 59 3b 0a 63 6f 6e  RENUM.VT_CY;.con
16a0: 73 74 20 56 54 42 49 54 5f 44 45 43 49 4d 41 4c  st VTBIT_DECIMAL
16b0: 20 3d 20 31 20 3c 3c 20 56 41 52 45 4e 55 4d 2e   = 1 << VARENUM.
16c0: 56 54 5f 44 45 43 49 4d 41 4c 3b 0a 0a 0a 65 6e  VT_DECIMAL;...en
16d0: 75 6d 20 52 45 47 4b 49 4e 44 7b 0a 09 52 45 47  um REGKIND{..REG
16e0: 4b 49 4e 44 5f 44 45 46 41 55 4c 54 2c 0a 09 52  KIND_DEFAULT,..R
16f0: 45 47 4b 49 4e 44 5f 52 45 47 49 53 54 45 52 2c  EGKIND_REGISTER,
1700: 0a 09 52 45 47 4b 49 4e 44 5f 4e 4f 4e 45 0a 7d  ..REGKIND_NONE.}
1710: 0a 0a 73 74 72 75 63 74 20 50 41 52 41 4d 44 41  ..struct PARAMDA
1720: 54 41 7b 0a 09 4f 4c 45 43 48 41 52 2a 20 73 7a  TA{..OLECHAR* sz
1730: 4e 61 6d 65 3b 0a 09 56 41 52 54 59 50 45 20 76  Name;..VARTYPE v
1740: 74 3b 0a 7d 0a 61 6c 69 61 73 20 50 41 52 41 4d  t;.}.alias PARAM
1750: 44 41 54 41 2a 20 4c 50 50 41 52 41 4d 44 41 54  DATA* LPPARAMDAT
1760: 41 3b 0a 0a 73 74 72 75 63 74 20 4d 45 54 48 4f  A;..struct METHO
1770: 44 44 41 54 41 7b 0a 09 4f 4c 45 43 48 41 52 2a  DDATA{..OLECHAR*
1780: 20 73 7a 4e 61 6d 65 3b 0a 09 50 41 52 41 4d 44   szName;..PARAMD
1790: 41 54 41 2a 20 70 70 64 61 74 61 3b 0a 09 44 49  ATA* ppdata;..DI
17a0: 53 50 49 44 20 64 69 73 70 69 64 3b 0a 09 55 49  SPID dispid;..UI
17b0: 4e 54 20 69 4d 65 74 68 3b 0a 09 43 41 4c 4c 43  NT iMeth;..CALLC
17c0: 4f 4e 56 20 63 63 3b 0a 09 55 49 4e 54 20 63 41  ONV cc;..UINT cA
17d0: 72 67 73 3b 0a 09 57 4f 52 44 20 77 46 6c 61 67  rgs;..WORD wFlag
17e0: 73 3b 0a 09 56 41 52 54 59 50 45 20 76 74 52 65  s;..VARTYPE vtRe
17f0: 74 75 72 6e 3b 0a 7d 0a 61 6c 69 61 73 20 4d 45  turn;.}.alias ME
1800: 54 48 4f 44 44 41 54 41 2a 20 4c 50 4d 45 54 48  THODDATA* LPMETH
1810: 4f 44 44 41 54 41 3b 0a 0a 73 74 72 75 63 74 20  ODDATA;..struct 
1820: 49 4e 54 45 52 46 41 43 45 44 41 54 41 7b 0a 09  INTERFACEDATA{..
1830: 4d 45 54 48 4f 44 44 41 54 41 2a 20 70 6d 65 74  METHODDATA* pmet
1840: 68 64 61 74 61 3b 0a 09 55 49 4e 54 20 63 4d 65  hdata;..UINT cMe
1850: 6d 62 65 72 73 3b 0a 7d 0a 61 6c 69 61 73 20 49  mbers;.}.alias I
1860: 4e 54 45 52 46 41 43 45 44 41 54 41 2a 20 4c 50  NTERFACEDATA* LP
1870: 49 4e 54 45 52 46 41 43 45 44 41 54 41 3b 0a 0a  INTERFACEDATA;..
1880: 73 74 72 75 63 74 20 55 44 41 54 45 20 7b 0a 09  struct UDATE {..
1890: 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b 0a 09  SYSTEMTIME st;..
18a0: 55 53 48 4f 52 54 20 77 44 61 79 4f 66 59 65 61  USHORT wDayOfYea
18b0: 72 3b 0a 7d 0a 0a 73 74 72 75 63 74 20 4e 55 4d  r;.}..struct NUM
18c0: 50 41 52 53 45 20 7b 0a 09 69 6e 74 20 63 44 69  PARSE {..int cDi
18d0: 67 3b 0a 09 75 69 6e 74 20 64 77 49 6e 46 6c 61  g;..uint dwInFla
18e0: 67 73 3b 0a 09 75 69 6e 74 20 64 77 4f 75 74 46  gs;..uint dwOutF
18f0: 6c 61 67 73 3b 0a 09 69 6e 74 20 63 63 68 55 73  lags;..int cchUs
1900: 65 64 3b 0a 09 69 6e 74 20 6e 42 61 73 65 53 68  ed;..int nBaseSh
1910: 69 66 74 3b 0a 09 69 6e 74 20 6e 50 77 72 31 30  ift;..int nPwr10
1920: 3b 0a 7d 0a 0a 0a 2f 2f 20 44 41 43 3a 20 49 6e  ;.}...// DAC: In
1930: 20 4d 69 6e 47 57 2c 20 74 68 65 73 65 20 77 65   MinGW, these we
1940: 72 65 20 64 65 63 6c 61 72 65 64 20 62 75 74 20  re declared but 
1950: 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 6f  not defined in o
1960: 61 69 64 6c 2e 0a 2f 2f 20 54 68 65 20 53 44 4b  aidl..// The SDK
1970: 20 64 6f 63 73 20 73 75 67 67 65 73 74 20 74 68   docs suggest th
1980: 65 79 20 62 65 6c 6f 6e 67 20 69 6e 20 74 68 69  ey belong in thi
1990: 73 20 66 69 6c 65 20 69 6e 73 74 65 61 64 2e 0a  s file instead..
19a0: 0a 64 65 70 72 65 63 61 74 65 64 20 7b 20 20 2f  .deprecated {  /
19b0: 2f 20 6e 6f 74 20 61 63 74 75 61 6c 6c 79 20 64  / not actually d
19c0: 65 70 72 65 63 61 74 65 64 2c 20 62 75 74 20 74  eprecated, but t
19d0: 68 65 79 20 61 72 65 6e 27 74 20 63 6f 6e 76 65  hey aren't conve
19e0: 72 74 65 64 20 79 65 74 2e 0a 20 20 20 20 20 20  rted yet..      
19f0: 20 20 20 20 20 20 20 20 2f 2f 20 28 77 69 6c 6c          // (will
1a00: 20 6e 65 65 64 20 74 6f 20 72 65 69 6e 73 74 61   need to reinsta
1a10: 74 65 20 43 72 65 61 74 65 54 79 70 65 4c 69 62  te CreateTypeLib
1a20: 20 61 73 20 77 65 6c 6c 29 0a 09 69 6e 74 65 72   as well)..inter
1a30: 66 61 63 65 20 49 43 72 65 61 74 65 54 79 70 65  face ICreateType
1a40: 49 6e 66 6f 20 7b 7d 3b 0a 09 69 6e 74 65 72 66  Info {};..interf
1a50: 61 63 65 20 49 43 72 65 61 74 65 54 79 70 65 49  ace ICreateTypeI
1a60: 6e 66 6f 32 20 7b 7d 3b 0a 09 69 6e 74 65 72 66  nfo2 {};..interf
1a70: 61 63 65 20 49 43 72 65 61 74 65 54 79 70 65 4c  ace ICreateTypeL
1a80: 69 62 20 7b 7d 3b 0a 09 69 6e 74 65 72 66 61 63  ib {};..interfac
1a90: 65 20 49 43 72 65 61 74 65 54 79 70 65 4c 69 62  e ICreateTypeLib
1aa0: 32 20 7b 7d 3b 0a 0a 09 61 6c 69 61 73 20 49 43  2 {};...alias IC
1ab0: 72 65 61 74 65 54 79 70 65 49 6e 66 6f 2a 20 4c  reateTypeInfo* L
1ac0: 50 43 52 45 41 54 45 54 59 50 45 49 4e 46 4f 3b  PCREATETYPEINFO;
1ad0: 0a 09 61 6c 69 61 73 20 49 43 72 65 61 74 65 54  ..alias ICreateT
1ae0: 79 70 65 49 6e 66 6f 32 2a 20 4c 50 43 52 45 41  ypeInfo2* LPCREA
1af0: 54 45 54 59 50 45 49 4e 46 4f 32 3b 0a 09 61 6c  TETYPEINFO2;..al
1b00: 69 61 73 20 49 43 72 65 61 74 65 54 79 70 65 4c  ias ICreateTypeL
1b10: 69 62 2a 20 4c 50 43 52 45 41 54 45 54 59 50 45  ib* LPCREATETYPE
1b20: 4c 49 42 3b 0a 09 61 6c 69 61 73 20 49 43 72 65  LIB;..alias ICre
1b30: 61 74 65 54 79 70 65 4c 69 62 32 2a 20 4c 50 43  ateTypeLib2* LPC
1b40: 52 45 41 54 45 54 59 50 45 4c 49 42 32 3b 0a 7d  REATETYPELIB2;.}
1b50: 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77  ..extern (Window
1b60: 73 29 20 7b 0a 09 42 53 54 52 20 53 79 73 41 6c  s) {..BSTR SysAl
1b70: 6c 6f 63 53 74 72 69 6e 67 28 43 50 74 72 21 28  locString(CPtr!(
1b80: 4f 4c 45 43 48 41 52 29 29 3b 0a 09 69 6e 74 20  OLECHAR));..int 
1b90: 53 79 73 52 65 41 6c 6c 6f 63 53 74 72 69 6e 67  SysReAllocString
1ba0: 28 42 53 54 52 2a 2c 20 43 50 74 72 21 28 4f 4c  (BSTR*, CPtr!(OL
1bb0: 45 43 48 41 52 29 29 3b 0a 09 42 53 54 52 20 53  ECHAR));..BSTR S
1bc0: 79 73 41 6c 6c 6f 63 53 74 72 69 6e 67 4c 65 6e  ysAllocStringLen
1bd0: 28 43 50 74 72 21 28 4f 4c 45 43 48 41 52 29 2c  (CPtr!(OLECHAR),
1be0: 20 75 69 6e 74 29 3b 0a 09 69 6e 74 20 53 79 73   uint);..int Sys
1bf0: 52 65 41 6c 6c 6f 63 53 74 72 69 6e 67 4c 65 6e  ReAllocStringLen
1c00: 28 42 53 54 52 2a 2c 20 43 50 74 72 21 28 4f 4c  (BSTR*, CPtr!(OL
1c10: 45 43 48 41 52 29 2c 20 75 69 6e 74 29 3b 0a 09  ECHAR), uint);..
1c20: 76 6f 69 64 20 53 79 73 46 72 65 65 53 74 72 69  void SysFreeStri
1c30: 6e 67 28 42 53 54 52 29 3b 0a 09 75 69 6e 74 20  ng(BSTR);..uint 
1c40: 53 79 73 53 74 72 69 6e 67 4c 65 6e 28 42 53 54  SysStringLen(BST
1c50: 52 29 3b 0a 09 75 69 6e 74 20 53 79 73 53 74 72  R);..uint SysStr
1c60: 69 6e 67 42 79 74 65 4c 65 6e 28 42 53 54 52 29  ingByteLen(BSTR)
1c70: 3b 0a 09 42 53 54 52 20 53 79 73 41 6c 6c 6f 63  ;..BSTR SysAlloc
1c80: 53 74 72 69 6e 67 42 79 74 65 4c 65 6e 28 43 50  StringByteLen(CP
1c90: 74 72 21 28 63 68 61 72 29 2c 20 75 69 6e 74 29  tr!(char), uint)
1ca0: 3b 0a 09 69 6e 74 20 44 6f 73 44 61 74 65 54 69  ;..int DosDateTi
1cb0: 6d 65 54 6f 56 61 72 69 61 6e 74 54 69 6d 65 28  meToVariantTime(
1cc0: 75 73 68 6f 72 74 2c 20 75 73 68 6f 72 74 2c 20  ushort, ushort, 
1cd0: 64 6f 75 62 6c 65 2a 29 3b 0a 09 69 6e 74 20 56  double*);..int V
1ce0: 61 72 69 61 6e 74 54 69 6d 65 54 6f 44 6f 73 44  ariantTimeToDosD
1cf0: 61 74 65 54 69 6d 65 28 64 6f 75 62 6c 65 2c 20  ateTime(double, 
1d00: 75 73 68 6f 72 74 2a 2c 20 75 73 68 6f 72 74 2a  ushort*, ushort*
1d10: 29 3b 0a 09 69 6e 74 20 56 61 72 69 61 6e 74 54  );..int VariantT
1d20: 69 6d 65 54 6f 53 79 73 74 65 6d 54 69 6d 65 28  imeToSystemTime(
1d30: 64 6f 75 62 6c 65 2c 20 4c 50 53 59 53 54 45 4d  double, LPSYSTEM
1d40: 54 49 4d 45 29 3b 0a 09 69 6e 74 20 53 79 73 74  TIME);..int Syst
1d50: 65 6d 54 69 6d 65 54 6f 56 61 72 69 61 6e 74 54  emTimeToVariantT
1d60: 69 6d 65 28 4c 50 53 59 53 54 45 4d 54 49 4d 45  ime(LPSYSTEMTIME
1d70: 2c 20 64 6f 75 62 6c 65 2a 29 3b 0a 09 48 52 45  , double*);..HRE
1d80: 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d  SULT VarDateFrom
1d90: 55 64 61 74 65 28 55 44 41 54 45 2a 2c 20 55 4c  Udate(UDATE*, UL
1da0: 4f 4e 47 2c 20 44 41 54 45 2a 29 3b 0a 09 48 52  ONG, DATE*);..HR
1db0: 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f  ESULT VarDateFro
1dc0: 6d 55 64 61 74 65 45 78 28 55 44 41 54 45 2a 2c  mUdateEx(UDATE*,
1dd0: 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 44 41   LCID, ULONG, DA
1de0: 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  TE*);..HRESULT V
1df0: 61 72 55 64 61 74 65 46 72 6f 6d 44 61 74 65 28  arUdateFromDate(
1e00: 44 41 54 45 2c 20 55 4c 4f 4e 47 2c 20 55 44 41  DATE, ULONG, UDA
1e10: 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 53  TE*);..HRESULT S
1e20: 61 66 65 41 72 72 61 79 41 6c 6c 6f 63 44 65 73  afeArrayAllocDes
1e30: 63 72 69 70 74 6f 72 28 75 69 6e 74 2c 20 53 41  criptor(uint, SA
1e40: 46 45 41 52 52 41 59 2a 2a 29 3b 0a 09 48 52 45  FEARRAY**);..HRE
1e50: 53 55 4c 54 20 53 61 66 65 41 72 72 61 79 41 6c  SULT SafeArrayAl
1e60: 6c 6f 63 44 61 74 61 28 53 41 46 45 41 52 52 41  locData(SAFEARRA
1e70: 59 2a 29 3b 0a 09 53 41 46 45 41 52 52 41 59 2a  Y*);..SAFEARRAY*
1e80: 20 53 61 66 65 41 72 72 61 79 43 72 65 61 74 65   SafeArrayCreate
1e90: 28 56 41 52 54 59 50 45 2c 20 75 69 6e 74 2c 20  (VARTYPE, uint, 
1ea0: 53 41 46 45 41 52 52 41 59 42 4f 55 4e 44 2a 29  SAFEARRAYBOUND*)
1eb0: 3b 0a 09 48 52 45 53 55 4c 54 20 53 61 66 65 41  ;..HRESULT SafeA
1ec0: 72 72 61 79 44 65 73 74 72 6f 79 44 65 73 63 72  rrayDestroyDescr
1ed0: 69 70 74 6f 72 28 53 41 46 45 41 52 52 41 59 2a  iptor(SAFEARRAY*
1ee0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 53 61 66 65  );..HRESULT Safe
1ef0: 41 72 72 61 79 44 65 73 74 72 6f 79 44 61 74 61  ArrayDestroyData
1f00: 28 53 41 46 45 41 52 52 41 59 2a 29 3b 0a 09 48  (SAFEARRAY*);..H
1f10: 52 45 53 55 4c 54 20 53 61 66 65 41 72 72 61 79  RESULT SafeArray
1f20: 44 65 73 74 72 6f 79 28 53 41 46 45 41 52 52 41  Destroy(SAFEARRA
1f30: 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 53 61  Y*);..HRESULT Sa
1f40: 66 65 41 72 72 61 79 52 65 64 69 6d 28 53 41 46  feArrayRedim(SAF
1f50: 45 41 52 52 41 59 2a 2c 20 53 41 46 45 41 52 52  EARRAY*, SAFEARR
1f60: 41 59 42 4f 55 4e 44 2a 29 3b 0a 09 75 69 6e 74  AYBOUND*);..uint
1f70: 20 53 61 66 65 41 72 72 61 79 47 65 74 44 69 6d   SafeArrayGetDim
1f80: 28 53 41 46 45 41 52 52 41 59 2a 29 3b 0a 09 75  (SAFEARRAY*);..u
1f90: 69 6e 74 20 53 61 66 65 41 72 72 61 79 47 65 74  int SafeArrayGet
1fa0: 45 6c 65 6d 73 69 7a 65 28 53 41 46 45 41 52 52  Elemsize(SAFEARR
1fb0: 41 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 53  AY*);..HRESULT S
1fc0: 61 66 65 41 72 72 61 79 47 65 74 55 42 6f 75 6e  afeArrayGetUBoun
1fd0: 64 28 53 41 46 45 41 52 52 41 59 2a 2c 20 75 69  d(SAFEARRAY*, ui
1fe0: 6e 74 2c 20 69 6e 74 2a 29 3b 0a 09 48 52 45 53  nt, int*);..HRES
1ff0: 55 4c 54 20 53 61 66 65 41 72 72 61 79 47 65 74  ULT SafeArrayGet
2000: 4c 42 6f 75 6e 64 28 53 41 46 45 41 52 52 41 59  LBound(SAFEARRAY
2010: 2a 2c 20 75 69 6e 74 2c 20 69 6e 74 2a 29 3b 0a  *, uint, int*);.
2020: 09 48 52 45 53 55 4c 54 20 53 61 66 65 41 72 72  .HRESULT SafeArr
2030: 61 79 4c 6f 63 6b 28 53 41 46 45 41 52 52 41 59  ayLock(SAFEARRAY
2040: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 53 61 66  *);..HRESULT Saf
2050: 65 41 72 72 61 79 55 6e 6c 6f 63 6b 28 53 41 46  eArrayUnlock(SAF
2060: 45 41 52 52 41 59 2a 29 3b 0a 09 48 52 45 53 55  EARRAY*);..HRESU
2070: 4c 54 20 53 61 66 65 41 72 72 61 79 41 63 63 65  LT SafeArrayAcce
2080: 73 73 44 61 74 61 28 53 41 46 45 41 52 52 41 59  ssData(SAFEARRAY
2090: 2a 2c 20 76 6f 69 64 2a 2a 29 3b 0a 09 48 52 45  *, void**);..HRE
20a0: 53 55 4c 54 20 53 61 66 65 41 72 72 61 79 55 6e  SULT SafeArrayUn
20b0: 61 63 63 65 73 73 44 61 74 61 28 53 41 46 45 41  accessData(SAFEA
20c0: 52 52 41 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54  RRAY*);..HRESULT
20d0: 20 53 61 66 65 41 72 72 61 79 47 65 74 45 6c 65   SafeArrayGetEle
20e0: 6d 65 6e 74 28 53 41 46 45 41 52 52 41 59 2a 2c  ment(SAFEARRAY*,
20f0: 20 69 6e 74 2a 2c 20 76 6f 69 64 2a 29 3b 0a 09   int*, void*);..
2100: 48 52 45 53 55 4c 54 20 53 61 66 65 41 72 72 61  HRESULT SafeArra
2110: 79 50 75 74 45 6c 65 6d 65 6e 74 28 53 41 46 45  yPutElement(SAFE
2120: 41 52 52 41 59 2a 2c 20 69 6e 74 2a 2c 20 76 6f  ARRAY*, int*, vo
2130: 69 64 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 53  id*);..HRESULT S
2140: 61 66 65 41 72 72 61 79 43 6f 70 79 28 53 41 46  afeArrayCopy(SAF
2150: 45 41 52 52 41 59 2a 2c 20 53 41 46 45 41 52 52  EARRAY*, SAFEARR
2160: 41 59 2a 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  AY**);..HRESULT 
2170: 53 61 66 65 41 72 72 61 79 50 74 72 4f 66 49 6e  SafeArrayPtrOfIn
2180: 64 65 78 28 53 41 46 45 41 52 52 41 59 2a 2c 20  dex(SAFEARRAY*, 
2190: 69 6e 74 2a 2c 20 76 6f 69 64 2a 2a 29 3b 0a 09  int*, void**);..
21a0: 53 41 46 45 41 52 52 41 59 2a 20 53 61 66 65 41  SAFEARRAY* SafeA
21b0: 72 72 61 79 43 72 65 61 74 65 56 65 63 74 6f 72  rrayCreateVector
21c0: 28 56 41 52 54 59 50 45 2c 20 4c 4f 4e 47 2c 20  (VARTYPE, LONG, 
21d0: 55 4c 4f 4e 47 29 3b 0a 09 53 41 46 45 41 52 52  ULONG);..SAFEARR
21e0: 41 59 2a 20 53 61 66 65 41 72 72 61 79 43 72 65  AY* SafeArrayCre
21f0: 61 74 65 56 65 63 74 6f 72 45 78 28 56 41 52 54  ateVectorEx(VART
2200: 59 50 45 2c 20 4c 4f 4e 47 2c 20 55 4c 4f 4e 47  YPE, LONG, ULONG
2210: 2c 20 4c 50 56 4f 49 44 29 3b 0a 09 48 52 45 53  , LPVOID);..HRES
2220: 55 4c 54 20 53 61 66 65 41 72 72 61 79 41 6c 6c  ULT SafeArrayAll
2230: 6f 63 44 65 73 63 72 69 70 74 6f 72 45 78 28 56  ocDescriptorEx(V
2240: 41 52 54 59 50 45 2c 20 55 49 4e 54 2c 20 53 41  ARTYPE, UINT, SA
2250: 46 45 41 52 52 41 59 2a 2a 29 3b 0a 09 48 52 45  FEARRAY**);..HRE
2260: 53 55 4c 54 20 53 61 66 65 41 72 72 61 79 47 65  SULT SafeArrayGe
2270: 74 56 61 72 74 79 70 65 28 53 41 46 45 41 52 52  tVartype(SAFEARR
2280: 41 59 2a 2c 20 56 41 52 54 59 50 45 2a 29 3b 0a  AY*, VARTYPE*);.
2290: 09 48 52 45 53 55 4c 54 20 53 61 66 65 41 72 72  .HRESULT SafeArr
22a0: 61 79 53 65 74 52 65 63 6f 72 64 49 6e 66 6f 28  aySetRecordInfo(
22b0: 53 41 46 45 41 52 52 41 59 2a 2c 20 49 52 65 63  SAFEARRAY*, IRec
22c0: 6f 72 64 49 6e 66 6f 2a 29 3b 0a 09 48 52 45 53  ordInfo*);..HRES
22d0: 55 4c 54 20 53 61 66 65 41 72 72 61 79 47 65 74  ULT SafeArrayGet
22e0: 52 65 63 6f 72 64 49 6e 66 6f 28 53 41 46 45 41  RecordInfo(SAFEA
22f0: 52 52 41 59 2a 2c 20 49 52 65 63 6f 72 64 49 6e  RRAY*, IRecordIn
2300: 66 6f 2a 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  fo**);..HRESULT 
2310: 53 61 66 65 41 72 72 61 79 53 65 74 49 49 44 28  SafeArraySetIID(
2320: 53 41 46 45 41 52 52 41 59 2a 2c 20 52 45 46 47  SAFEARRAY*, REFG
2330: 55 49 44 29 3b 0a 09 48 52 45 53 55 4c 54 20 53  UID);..HRESULT S
2340: 61 66 65 41 72 72 61 79 47 65 74 49 49 44 28 53  afeArrayGetIID(S
2350: 41 46 45 41 52 52 41 59 2a 2c 20 47 55 49 44 2a  AFEARRAY*, GUID*
2360: 29 3b 0a 09 76 6f 69 64 20 56 61 72 69 61 6e 74  );..void Variant
2370: 49 6e 69 74 28 56 41 52 49 41 4e 54 41 52 47 2a  Init(VARIANTARG*
2380: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 69  );..HRESULT Vari
2390: 61 6e 74 43 6c 65 61 72 28 56 41 52 49 41 4e 54  antClear(VARIANT
23a0: 41 52 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ARG*);..HRESULT 
23b0: 56 61 72 69 61 6e 74 43 6f 70 79 28 56 41 52 49  VariantCopy(VARI
23c0: 41 4e 54 41 52 47 2a 2c 20 56 41 52 49 41 4e 54  ANTARG*, VARIANT
23d0: 41 52 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ARG*);..HRESULT 
23e0: 56 61 72 69 61 6e 74 43 6f 70 79 49 6e 64 28 56  VariantCopyInd(V
23f0: 41 52 49 41 4e 54 2a 2c 20 56 41 52 49 41 4e 54  ARIANT*, VARIANT
2400: 41 52 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ARG*);..HRESULT 
2410: 56 61 72 69 61 6e 74 43 68 61 6e 67 65 54 79 70  VariantChangeTyp
2420: 65 28 56 41 52 49 41 4e 54 41 52 47 2a 2c 20 56  e(VARIANTARG*, V
2430: 41 52 49 41 4e 54 41 52 47 2a 2c 20 75 73 68 6f  ARIANTARG*, usho
2440: 72 74 2c 20 56 41 52 54 59 50 45 29 3b 0a 09 48  rt, VARTYPE);..H
2450: 52 45 53 55 4c 54 20 56 61 72 69 61 6e 74 43 68  RESULT VariantCh
2460: 61 6e 67 65 54 79 70 65 45 78 28 56 41 52 49 41  angeTypeEx(VARIA
2470: 4e 54 41 52 47 2a 2c 20 56 41 52 49 41 4e 54 41  NTARG*, VARIANTA
2480: 52 47 2a 2c 20 4c 43 49 44 2c 20 75 73 68 6f 72  RG*, LCID, ushor
2490: 74 2c 20 56 41 52 54 59 50 45 29 3b 0a 09 48 52  t, VARTYPE);..HR
24a0: 45 53 55 4c 54 20 56 61 72 55 49 31 46 72 6f 6d  ESULT VarUI1From
24b0: 49 32 28 73 68 6f 72 74 2c 20 75 62 79 74 65 2a  I2(short, ubyte*
24c0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  );..HRESULT VarU
24d0: 49 31 46 72 6f 6d 49 34 28 69 6e 74 2c 20 75 62  I1FromI4(int, ub
24e0: 79 74 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  yte*);..HRESULT 
24f0: 56 61 72 55 49 31 46 72 6f 6d 52 34 28 66 6c 6f  VarUI1FromR4(flo
2500: 61 74 2c 20 75 62 79 74 65 2a 29 3b 0a 09 48 52  at, ubyte*);..HR
2510: 45 53 55 4c 54 20 56 61 72 55 49 31 46 72 6f 6d  ESULT VarUI1From
2520: 52 38 28 64 6f 75 62 6c 65 2c 20 75 62 79 74 65  R8(double, ubyte
2530: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
2540: 55 49 31 46 72 6f 6d 43 79 28 43 59 2c 20 75 62  UI1FromCy(CY, ub
2550: 79 74 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  yte*);..HRESULT 
2560: 56 61 72 55 49 31 46 72 6f 6d 44 61 74 65 28 44  VarUI1FromDate(D
2570: 41 54 45 2c 20 75 62 79 74 65 2a 29 3b 0a 09 48  ATE, ubyte*);..H
2580: 52 45 53 55 4c 54 20 56 61 72 55 49 31 46 72 6f  RESULT VarUI1Fro
2590: 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c  mStr(OLECHAR*, L
25a0: 43 49 44 2c 20 75 69 6e 74 2c 20 75 62 79 74 65  CID, uint, ubyte
25b0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
25c0: 55 49 31 46 72 6f 6d 44 69 73 70 28 4c 50 44 49  UI1FromDisp(LPDI
25d0: 53 50 41 54 43 48 2c 20 4c 43 49 44 2c 20 75 62  SPATCH, LCID, ub
25e0: 79 74 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  yte*);..HRESULT 
25f0: 56 61 72 55 49 31 46 72 6f 6d 42 6f 6f 6c 28 56  VarUI1FromBool(V
2600: 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 75 62 79  ARIANT_BOOL, uby
2610: 74 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  te*);..HRESULT V
2620: 61 72 49 32 46 72 6f 6d 55 49 31 28 75 62 79 74  arI2FromUI1(ubyt
2630: 65 2c 20 73 68 6f 72 74 2a 29 3b 0a 09 48 52 45  e, short*);..HRE
2640: 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d 49 34  SULT VarI2FromI4
2650: 28 69 6e 74 2c 20 73 68 6f 72 74 2a 29 3b 0a 09  (int, short*);..
2660: 48 52 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f  HRESULT VarI2Fro
2670: 6d 52 34 28 66 6c 6f 61 74 2c 20 73 68 6f 72 74  mR4(float, short
2680: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
2690: 49 32 46 72 6f 6d 52 38 28 64 6f 75 62 6c 65 2c  I2FromR8(double,
26a0: 20 73 68 6f 72 74 2a 29 3b 0a 09 48 52 45 53 55   short*);..HRESU
26b0: 4c 54 20 56 61 72 49 32 46 72 6f 6d 43 79 28 43  LT VarI2FromCy(C
26c0: 59 20 63 79 49 6e 2c 20 73 68 6f 72 74 2a 29 3b  Y cyIn, short*);
26d0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 32 46  ..HRESULT VarI2F
26e0: 72 6f 6d 44 61 74 65 28 44 41 54 45 2c 20 73 68  romDate(DATE, sh
26f0: 6f 72 74 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ort*);..HRESULT 
2700: 56 61 72 49 32 46 72 6f 6d 53 74 72 28 4f 4c 45  VarI2FromStr(OLE
2710: 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 75 69 6e  CHAR*, LCID, uin
2720: 74 2c 20 73 68 6f 72 74 2a 29 3b 0a 09 48 52 45  t, short*);..HRE
2730: 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d 44 69  SULT VarI2FromDi
2740: 73 70 28 4c 50 44 49 53 50 41 54 43 48 2c 20 4c  sp(LPDISPATCH, L
2750: 43 49 44 2c 20 73 68 6f 72 74 2a 29 3b 0a 09 48  CID, short*);..H
2760: 52 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d  RESULT VarI2From
2770: 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f  Bool(VARIANT_BOO
2780: 4c 2c 20 73 68 6f 72 74 2a 29 3b 0a 09 48 52 45  L, short*);..HRE
2790: 53 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 55 49  SULT VarI4FromUI
27a0: 31 28 75 62 79 74 65 2c 20 69 6e 74 2a 29 3b 0a  1(ubyte, int*);.
27b0: 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46 72  .HRESULT VarI4Fr
27c0: 6f 6d 49 32 28 73 68 6f 72 74 2c 20 69 6e 74 2a  omI2(short, int*
27d0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49  );..HRESULT VarI
27e0: 34 46 72 6f 6d 52 34 28 66 6c 6f 61 74 2c 20 69  4FromR4(float, i
27f0: 6e 74 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  nt*);..HRESULT V
2800: 61 72 49 34 46 72 6f 6d 52 38 28 64 6f 75 62 6c  arI4FromR8(doubl
2810: 65 2c 20 69 6e 74 2a 29 3b 0a 09 48 52 45 53 55  e, int*);..HRESU
2820: 4c 54 20 56 61 72 49 34 46 72 6f 6d 43 79 28 43  LT VarI4FromCy(C
2830: 59 2c 20 69 6e 74 2a 29 3b 0a 09 48 52 45 53 55  Y, int*);..HRESU
2840: 4c 54 20 56 61 72 49 34 46 72 6f 6d 44 61 74 65  LT VarI4FromDate
2850: 28 44 41 54 45 2c 20 69 6e 74 2a 29 3b 0a 09 48  (DATE, int*);..H
2860: 52 45 53 55 4c 54 20 56 61 72 49 34 46 72 6f 6d  RESULT VarI4From
2870: 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43  Str(OLECHAR*, LC
2880: 49 44 2c 20 75 69 6e 74 2c 20 69 6e 74 2a 29 3b  ID, uint, int*);
2890: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46  ..HRESULT VarI4F
28a0: 72 6f 6d 44 69 73 70 28 4c 50 44 49 53 50 41 54  romDisp(LPDISPAT
28b0: 43 48 2c 20 4c 43 49 44 2c 20 69 6e 74 2a 29 3b  CH, LCID, int*);
28c0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46  ..HRESULT VarI4F
28d0: 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f  romBool(VARIANT_
28e0: 42 4f 4f 4c 2c 20 69 6e 74 2a 29 3b 0a 09 48 52  BOOL, int*);..HR
28f0: 45 53 55 4c 54 20 56 61 72 52 34 46 72 6f 6d 55  ESULT VarR4FromU
2900: 49 31 28 75 62 79 74 65 2c 20 66 6c 6f 61 74 2a  I1(ubyte, float*
2910: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52  );..HRESULT VarR
2920: 34 46 72 6f 6d 49 32 28 73 68 6f 72 74 2c 20 66  4FromI2(short, f
2930: 6c 6f 61 74 2a 29 3b 0a 09 48 52 45 53 55 4c 54  loat*);..HRESULT
2940: 20 56 61 72 52 34 46 72 6f 6d 49 34 28 69 6e 74   VarR4FromI4(int
2950: 2c 20 66 6c 6f 61 74 2a 29 3b 0a 09 48 52 45 53  , float*);..HRES
2960: 55 4c 54 20 56 61 72 52 34 46 72 6f 6d 52 38 28  ULT VarR4FromR8(
2970: 64 6f 75 62 6c 65 2c 20 66 6c 6f 61 74 2a 29 3b  double, float*);
2980: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 46  ..HRESULT VarR4F
2990: 72 6f 6d 43 79 28 43 59 2c 20 66 6c 6f 61 74 2a  romCy(CY, float*
29a0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52  );..HRESULT VarR
29b0: 34 46 72 6f 6d 44 61 74 65 28 44 41 54 45 2c 20  4FromDate(DATE, 
29c0: 66 6c 6f 61 74 2a 29 3b 0a 09 48 52 45 53 55 4c  float*);..HRESUL
29d0: 54 20 56 61 72 52 34 46 72 6f 6d 53 74 72 28 4f  T VarR4FromStr(O
29e0: 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 75  LECHAR*, LCID, u
29f0: 69 6e 74 2c 20 66 6c 6f 61 74 2a 29 3b 0a 09 48  int, float*);..H
2a00: 52 45 53 55 4c 54 20 56 61 72 52 34 46 72 6f 6d  RESULT VarR4From
2a10: 44 69 73 70 28 4c 50 44 49 53 50 41 54 43 48 2c  Disp(LPDISPATCH,
2a20: 20 4c 43 49 44 2c 20 66 6c 6f 61 74 2a 29 3b 0a   LCID, float*);.
2a30: 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 46 72  .HRESULT VarR4Fr
2a40: 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42  omBool(VARIANT_B
2a50: 4f 4f 4c 2c 20 66 6c 6f 61 74 2a 29 3b 0a 09 48  OOL, float*);..H
2a60: 52 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f 6d  RESULT VarR8From
2a70: 55 49 31 28 75 62 79 74 65 2c 20 64 6f 75 62 6c  UI1(ubyte, doubl
2a80: 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  e*);..HRESULT Va
2a90: 72 52 38 46 72 6f 6d 49 32 28 73 68 6f 72 74 2c  rR8FromI2(short,
2aa0: 20 64 6f 75 62 6c 65 2a 29 3b 0a 09 48 52 45 53   double*);..HRES
2ab0: 55 4c 54 20 56 61 72 52 38 46 72 6f 6d 49 34 28  ULT VarR8FromI4(
2ac0: 69 6e 74 2c 20 64 6f 75 62 6c 65 2a 29 3b 0a 09  int, double*);..
2ad0: 48 52 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f  HRESULT VarR8Fro
2ae0: 6d 52 34 28 66 6c 6f 61 74 2c 20 64 6f 75 62 6c  mR4(float, doubl
2af0: 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  e*);..HRESULT Va
2b00: 72 52 38 46 72 6f 6d 43 79 28 43 59 2c 20 64 6f  rR8FromCy(CY, do
2b10: 75 62 6c 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54  uble*);..HRESULT
2b20: 20 56 61 72 52 38 46 72 6f 6d 44 61 74 65 28 44   VarR8FromDate(D
2b30: 41 54 45 2c 20 64 6f 75 62 6c 65 2a 29 3b 0a 09  ATE, double*);..
2b40: 48 52 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f  HRESULT VarR8Fro
2b50: 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c  mStr(OLECHAR*, L
2b60: 43 49 44 2c 20 75 69 6e 74 2c 20 64 6f 75 62 6c  CID, uint, doubl
2b70: 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  e*);..HRESULT Va
2b80: 72 52 38 46 72 6f 6d 44 69 73 70 28 4c 50 44 49  rR8FromDisp(LPDI
2b90: 53 50 41 54 43 48 2c 20 4c 43 49 44 2c 20 64 6f  SPATCH, LCID, do
2ba0: 75 62 6c 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54  uble*);..HRESULT
2bb0: 20 56 61 72 52 38 46 72 6f 6d 42 6f 6f 6c 28 56   VarR8FromBool(V
2bc0: 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 64 6f 75  ARIANT_BOOL, dou
2bd0: 62 6c 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ble*);..HRESULT 
2be0: 56 61 72 52 38 46 72 6f 6d 44 65 63 28 44 45 43  VarR8FromDec(DEC
2bf0: 49 4d 41 4c 2a 2c 20 64 6f 75 62 6c 65 2a 29 3b  IMAL*, double*);
2c00: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61 74  ..HRESULT VarDat
2c10: 65 46 72 6f 6d 55 49 31 28 75 62 79 74 65 2c 20  eFromUI1(ubyte, 
2c20: 44 41 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54  DATE*);..HRESULT
2c30: 20 56 61 72 44 61 74 65 46 72 6f 6d 49 32 28 73   VarDateFromI2(s
2c40: 68 6f 72 74 2c 20 44 41 54 45 2a 29 3b 0a 09 48  hort, DATE*);..H
2c50: 52 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72  RESULT VarDateFr
2c60: 6f 6d 49 34 28 69 6e 74 2c 20 44 41 54 45 2a 29  omI4(int, DATE*)
2c70: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61  ;..HRESULT VarDa
2c80: 74 65 46 72 6f 6d 52 34 28 66 6c 6f 61 74 2c 20  teFromR4(float, 
2c90: 44 41 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54  DATE*);..HRESULT
2ca0: 20 56 61 72 44 61 74 65 46 72 6f 6d 52 38 28 64   VarDateFromR8(d
2cb0: 6f 75 62 6c 65 2c 20 44 41 54 45 2a 29 3b 0a 09  ouble, DATE*);..
2cc0: 48 52 45 53 55 4c 54 20 56 61 72 44 61 74 65 46  HRESULT VarDateF
2cd0: 72 6f 6d 43 79 28 43 59 2c 20 44 41 54 45 2a 29  romCy(CY, DATE*)
2ce0: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61  ;..HRESULT VarDa
2cf0: 74 65 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48 41  teFromStr(OLECHA
2d00: 52 2a 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c 20  R*, LCID, uint, 
2d10: 44 41 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54  DATE*);..HRESULT
2d20: 20 56 61 72 44 61 74 65 46 72 6f 6d 44 69 73 70   VarDateFromDisp
2d30: 28 4c 50 44 49 53 50 41 54 43 48 2c 20 4c 43 49  (LPDISPATCH, LCI
2d40: 44 2c 20 44 41 54 45 2a 29 3b 0a 09 48 52 45 53  D, DATE*);..HRES
2d50: 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d 42  ULT VarDateFromB
2d60: 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c  ool(VARIANT_BOOL
2d70: 2c 20 44 41 54 45 2a 29 3b 0a 09 48 52 45 53 55  , DATE*);..HRESU
2d80: 4c 54 20 56 61 72 43 79 46 72 6f 6d 55 49 31 28  LT VarCyFromUI1(
2d90: 75 62 79 74 65 2c 20 43 59 2a 29 3b 0a 09 48 52  ubyte, CY*);..HR
2da0: 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d 49  ESULT VarCyFromI
2db0: 32 28 73 68 6f 72 74 2c 20 43 59 2a 29 3b 0a 09  2(short, CY*);..
2dc0: 48 52 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f  HRESULT VarCyFro
2dd0: 6d 49 34 28 69 6e 74 2c 20 43 59 2a 29 3b 0a 09  mI4(int, CY*);..
2de0: 48 52 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f  HRESULT VarCyFro
2df0: 6d 52 34 28 66 6c 6f 61 74 2c 20 43 59 2a 29 3b  mR4(float, CY*);
2e00: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43 79 46  ..HRESULT VarCyF
2e10: 72 6f 6d 52 38 28 64 6f 75 62 6c 65 2c 20 43 59  romR8(double, CY
2e20: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
2e30: 43 79 46 72 6f 6d 44 61 74 65 28 44 41 54 45 2c  CyFromDate(DATE,
2e40: 20 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20   CY*);..HRESULT 
2e50: 56 61 72 43 79 46 72 6f 6d 53 74 72 28 4f 4c 45  VarCyFromStr(OLE
2e60: 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 75 69 6e  CHAR*, LCID, uin
2e70: 74 2c 20 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c  t, CY*);..HRESUL
2e80: 54 20 56 61 72 43 79 46 72 6f 6d 44 69 73 70 28  T VarCyFromDisp(
2e90: 4c 50 44 49 53 50 41 54 43 48 2c 20 4c 43 49 44  LPDISPATCH, LCID
2ea0: 2c 20 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54  , CY*);..HRESULT
2eb0: 20 56 61 72 43 79 46 72 6f 6d 42 6f 6f 6c 28 56   VarCyFromBool(V
2ec0: 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 43 59 2a  ARIANT_BOOL, CY*
2ed0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  );..HRESULT VarB
2ee0: 73 74 72 46 72 6f 6d 55 49 31 28 75 62 79 74 65  strFromUI1(ubyte
2ef0: 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c 20 42 53  , LCID, uint, BS
2f00: 54 52 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  TR*);..HRESULT V
2f10: 61 72 42 73 74 72 46 72 6f 6d 49 32 28 73 68 6f  arBstrFromI2(sho
2f20: 72 74 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c 20  rt, LCID, uint, 
2f30: 42 53 54 52 2a 29 3b 0a 09 48 52 45 53 55 4c 54  BSTR*);..HRESULT
2f40: 20 56 61 72 42 73 74 72 46 72 6f 6d 49 34 28 69   VarBstrFromI4(i
2f50: 6e 74 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c 20  nt, LCID, uint, 
2f60: 42 53 54 52 2a 29 3b 0a 09 48 52 45 53 55 4c 54  BSTR*);..HRESULT
2f70: 20 56 61 72 42 73 74 72 46 72 6f 6d 52 34 28 66   VarBstrFromR4(f
2f80: 6c 6f 61 74 2c 20 4c 43 49 44 2c 20 75 69 6e 74  loat, LCID, uint
2f90: 2c 20 42 53 54 52 2a 29 3b 0a 09 48 52 45 53 55  , BSTR*);..HRESU
2fa0: 4c 54 20 56 61 72 42 73 74 72 46 72 6f 6d 52 38  LT VarBstrFromR8
2fb0: 28 64 6f 75 62 6c 65 2c 20 4c 43 49 44 2c 20 75  (double, LCID, u
2fc0: 69 6e 74 2c 20 42 53 54 52 2a 29 3b 0a 09 48 52  int, BSTR*);..HR
2fd0: 45 53 55 4c 54 20 56 61 72 42 73 74 72 46 72 6f  ESULT VarBstrFro
2fe0: 6d 43 79 28 43 59 2c 20 4c 43 49 44 2c 20 75 69  mCy(CY, LCID, ui
2ff0: 6e 74 2c 20 42 53 54 52 2a 29 3b 0a 09 48 52 45  nt, BSTR*);..HRE
3000: 53 55 4c 54 20 56 61 72 42 73 74 72 46 72 6f 6d  SULT VarBstrFrom
3010: 44 61 74 65 28 44 41 54 45 2c 20 4c 43 49 44 2c  Date(DATE, LCID,
3020: 20 75 69 6e 74 2c 20 42 53 54 52 2a 29 3b 0a 09   uint, BSTR*);..
3030: 48 52 45 53 55 4c 54 20 56 61 72 42 73 74 72 46  HRESULT VarBstrF
3040: 72 6f 6d 44 69 73 70 28 4c 50 44 49 53 50 41 54  romDisp(LPDISPAT
3050: 43 48 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c 20  CH, LCID, uint, 
3060: 42 53 54 52 2a 29 3b 0a 09 48 52 45 53 55 4c 54  BSTR*);..HRESULT
3070: 20 56 61 72 42 73 74 72 46 72 6f 6d 42 6f 6f 6c   VarBstrFromBool
3080: 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 4c  (VARIANT_BOOL, L
3090: 43 49 44 2c 20 75 69 6e 74 2c 20 42 53 54 52 2a  CID, uint, BSTR*
30a0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  );..HRESULT VarB
30b0: 6f 6f 6c 46 72 6f 6d 55 49 31 28 75 62 79 74 65  oolFromUI1(ubyte
30c0: 2c 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29  , VARIANT_BOOL*)
30d0: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 6f  ;..HRESULT VarBo
30e0: 6f 6c 46 72 6f 6d 49 32 28 73 68 6f 72 74 2c 20  olFromI2(short, 
30f0: 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0a  VARIANT_BOOL*);.
3100: 09 48 52 45 53 55 4c 54 20 56 61 72 42 6f 6f 6c  .HRESULT VarBool
3110: 46 72 6f 6d 49 34 28 69 6e 74 2c 20 56 41 52 49  FromI4(int, VARI
3120: 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0a 09 48 52 45  ANT_BOOL*);..HRE
3130: 53 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d  SULT VarBoolFrom
3140: 52 34 28 66 6c 6f 61 74 2c 20 56 41 52 49 41 4e  R4(float, VARIAN
3150: 54 5f 42 4f 4f 4c 2a 29 3b 0a 09 48 52 45 53 55  T_BOOL*);..HRESU
3160: 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 52 38  LT VarBoolFromR8
3170: 28 64 6f 75 62 6c 65 2c 20 56 41 52 49 41 4e 54  (double, VARIANT
3180: 5f 42 4f 4f 4c 2a 29 3b 0a 09 48 52 45 53 55 4c  _BOOL*);..HRESUL
3190: 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 44 61 74  T VarBoolFromDat
31a0: 65 28 44 41 54 45 2c 20 56 41 52 49 41 4e 54 5f  e(DATE, VARIANT_
31b0: 42 4f 4f 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54  BOOL*);..HRESULT
31c0: 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 43 79 28 43   VarBoolFromCy(C
31d0: 59 2c 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a  Y, VARIANT_BOOL*
31e0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  );..HRESULT VarB
31f0: 6f 6f 6c 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48  oolFromStr(OLECH
3200: 41 52 2a 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c  AR*, LCID, uint,
3210: 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b   VARIANT_BOOL*);
3220: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 6f 6f  ..HRESULT VarBoo
3230: 6c 46 72 6f 6d 44 69 73 70 28 4c 50 44 49 53 50  lFromDisp(LPDISP
3240: 41 54 43 48 2c 20 4c 43 49 44 2c 20 56 41 52 49  ATCH, LCID, VARI
3250: 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0a 09 48 52 45  ANT_BOOL*);..HRE
3260: 53 55 4c 54 20 56 61 72 44 65 63 46 72 6f 6d 52  SULT VarDecFromR
3270: 38 28 64 6f 75 62 6c 65 2c 20 44 45 43 49 4d 41  8(double, DECIMA
3280: 4c 2a 29 3b 0a 09 55 4c 4f 4e 47 20 4c 48 61 73  L*);..ULONG LHas
3290: 68 56 61 6c 4f 66 4e 61 6d 65 53 79 73 41 28 53  hValOfNameSysA(S
32a0: 59 53 4b 49 4e 44 2c 20 4c 43 49 44 2c 20 43 50  YSKIND, LCID, CP
32b0: 74 72 21 28 63 68 61 72 29 29 3b 0a 09 55 4c 4f  tr!(char));..ULO
32c0: 4e 47 20 4c 48 61 73 68 56 61 6c 4f 66 4e 61 6d  NG LHashValOfNam
32d0: 65 53 79 73 28 53 59 53 4b 49 4e 44 2c 20 4c 43  eSys(SYSKIND, LC
32e0: 49 44 2c 20 43 50 74 72 21 28 4f 4c 45 43 48 41  ID, CPtr!(OLECHA
32f0: 52 29 29 3b 0a 09 48 52 45 53 55 4c 54 20 4c 6f  R));..HRESULT Lo
3300: 61 64 54 79 70 65 4c 69 62 28 43 50 74 72 21 28  adTypeLib(CPtr!(
3310: 4f 4c 45 43 48 41 52 29 2c 20 4c 50 54 59 50 45  OLECHAR), LPTYPE
3320: 4c 49 42 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  LIB*);..HRESULT 
3330: 4c 6f 61 64 54 79 70 65 4c 69 62 45 78 28 4c 50  LoadTypeLibEx(LP
3340: 43 4f 4c 45 53 54 52 2c 20 52 45 47 4b 49 4e 44  COLESTR, REGKIND
3350: 2c 20 4c 50 54 59 50 45 4c 49 42 2a 29 3b 0a 09  , LPTYPELIB*);..
3360: 48 52 45 53 55 4c 54 20 4c 6f 61 64 52 65 67 54  HRESULT LoadRegT
3370: 79 70 65 4c 69 62 28 52 45 46 47 55 49 44 2c 20  ypeLib(REFGUID, 
3380: 57 4f 52 44 2c 20 57 4f 52 44 2c 20 4c 43 49 44  WORD, WORD, LCID
3390: 2c 20 4c 50 54 59 50 45 4c 49 42 2a 29 3b 0a 09  , LPTYPELIB*);..
33a0: 48 52 45 53 55 4c 54 20 51 75 65 72 79 50 61 74  HRESULT QueryPat
33b0: 68 4f 66 52 65 67 54 79 70 65 4c 69 62 28 52 45  hOfRegTypeLib(RE
33c0: 46 47 55 49 44 2c 20 75 73 68 6f 72 74 2c 20 75  FGUID, ushort, u
33d0: 73 68 6f 72 74 2c 20 4c 43 49 44 2c 20 4c 50 42  short, LCID, LPB
33e0: 53 54 52 29 3b 0a 09 48 52 45 53 55 4c 54 20 52  STR);..HRESULT R
33f0: 65 67 69 73 74 65 72 54 79 70 65 4c 69 62 28 4c  egisterTypeLib(L
3400: 50 54 59 50 45 4c 49 42 2c 20 4f 4c 45 43 48 41  PTYPELIB, OLECHA
3410: 52 2a 2c 20 4f 4c 45 43 48 41 52 2a 29 3b 0a 09  R*, OLECHAR*);..
3420: 48 52 45 53 55 4c 54 20 55 6e 52 65 67 69 73 74  HRESULT UnRegist
3430: 65 72 54 79 70 65 4c 69 62 28 52 45 46 47 55 49  erTypeLib(REFGUI
3440: 44 2c 20 57 4f 52 44 2c 20 57 4f 52 44 2c 20 4c  D, WORD, WORD, L
3450: 43 49 44 2c 20 53 59 53 4b 49 4e 44 29 3b 0a 09  CID, SYSKIND);..
3460: 2f 2f 20 6e 6f 74 20 61 63 74 75 61 6c 6c 79 20  // not actually 
3470: 64 65 70 72 65 63 61 74 65 64 2c 20 62 75 74 20  deprecated, but 
3480: 64 65 70 65 6e 64 73 20 6f 6e 20 75 6e 63 6f 6e  depends on uncon
3490: 76 65 72 74 65 64 20 49 43 72 65 61 74 65 54 79  verted ICreateTy
34a0: 70 65 4c 69 62 0a 09 64 65 70 72 65 63 61 74 65  peLib..deprecate
34b0: 64 20 48 52 45 53 55 4c 54 20 43 72 65 61 74 65  d HRESULT Create
34c0: 54 79 70 65 4c 69 62 28 53 59 53 4b 49 4e 44 2c  TypeLib(SYSKIND,
34d0: 20 43 50 74 72 21 28 4f 4c 45 43 48 41 52 29 2c   CPtr!(OLECHAR),
34e0: 20 4c 50 43 52 45 41 54 45 54 59 50 45 4c 49 42   LPCREATETYPELIB
34f0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 44 69 73  *);..HRESULT Dis
3500: 70 47 65 74 50 61 72 61 6d 28 44 49 53 50 50 41  pGetParam(DISPPA
3510: 52 41 4d 53 2a 2c 20 55 49 4e 54 2c 20 56 41 52  RAMS*, UINT, VAR
3520: 54 59 50 45 2c 20 56 41 52 49 41 4e 54 2a 2c 20  TYPE, VARIANT*, 
3530: 55 49 4e 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54  UINT*);..HRESULT
3540: 20 44 69 73 70 47 65 74 49 44 73 4f 66 4e 61 6d   DispGetIDsOfNam
3550: 65 73 28 4c 50 54 59 50 45 49 4e 46 4f 2c 20 4f  es(LPTYPEINFO, O
3560: 4c 45 43 48 41 52 2a 2a 2c 20 55 49 4e 54 2c 20  LECHAR**, UINT, 
3570: 44 49 53 50 49 44 2a 29 3b 0a 09 48 52 45 53 55  DISPID*);..HRESU
3580: 4c 54 20 44 69 73 70 49 6e 76 6f 6b 65 28 76 6f  LT DispInvoke(vo
3590: 69 64 2a 2c 20 4c 50 54 59 50 45 49 4e 46 4f 2c  id*, LPTYPEINFO,
35a0: 20 44 49 53 50 49 44 2c 20 57 4f 52 44 2c 20 44   DISPID, WORD, D
35b0: 49 53 50 50 41 52 41 4d 53 2a 2c 20 56 41 52 49  ISPPARAMS*, VARI
35c0: 41 4e 54 2a 2c 20 45 58 43 45 50 49 4e 46 4f 2a  ANT*, EXCEPINFO*
35d0: 2c 20 55 49 4e 54 2a 29 3b 0a 09 48 52 45 53 55  , UINT*);..HRESU
35e0: 4c 54 20 43 72 65 61 74 65 44 69 73 70 54 79 70  LT CreateDispTyp
35f0: 65 49 6e 66 6f 28 49 4e 54 45 52 46 41 43 45 44  eInfo(INTERFACED
3600: 41 54 41 2a 2c 20 4c 43 49 44 2c 20 4c 50 54 59  ATA*, LCID, LPTY
3610: 50 45 49 4e 46 4f 2a 29 3b 0a 09 48 52 45 53 55  PEINFO*);..HRESU
3620: 4c 54 20 43 72 65 61 74 65 53 74 64 44 69 73 70  LT CreateStdDisp
3630: 61 74 63 68 28 49 55 6e 6b 6e 6f 77 6e 2a 2c 20  atch(IUnknown*, 
3640: 76 6f 69 64 2a 2c 20 4c 50 54 59 50 45 49 4e 46  void*, LPTYPEINF
3650: 4f 2c 20 49 55 6e 6b 6e 6f 77 6e 2a 2a 29 3b 0a  O, IUnknown**);.
3660: 09 48 52 45 53 55 4c 54 20 52 65 67 69 73 74 65  .HRESULT Registe
3670: 72 41 63 74 69 76 65 4f 62 6a 65 63 74 28 49 55  rActiveObject(IU
3680: 6e 6b 6e 6f 77 6e 2a 2c 20 52 45 46 43 4c 53 49  nknown*, REFCLSI
3690: 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 2a  D, DWORD, DWORD*
36a0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 52 65 76 6f  );..HRESULT Revo
36b0: 6b 65 41 63 74 69 76 65 4f 62 6a 65 63 74 28 44  keActiveObject(D
36c0: 57 4f 52 44 2c 20 76 6f 69 64 2a 29 3b 0a 09 48  WORD, void*);..H
36d0: 52 45 53 55 4c 54 20 47 65 74 41 63 74 69 76 65  RESULT GetActive
36e0: 4f 62 6a 65 63 74 28 52 45 46 43 4c 53 49 44 2c  Object(REFCLSID,
36f0: 20 76 6f 69 64 2a 2c 20 49 55 6e 6b 6e 6f 77 6e   void*, IUnknown
3700: 2a 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 53 65  **);..HRESULT Se
3710: 74 45 72 72 6f 72 49 6e 66 6f 28 75 69 6e 74 2c  tErrorInfo(uint,
3720: 20 4c 50 45 52 52 4f 52 49 4e 46 4f 29 3b 0a 09   LPERRORINFO);..
3730: 48 52 45 53 55 4c 54 20 47 65 74 45 72 72 6f 72  HRESULT GetError
3740: 49 6e 66 6f 28 75 69 6e 74 2c 20 4c 50 45 52 52  Info(uint, LPERR
3750: 4f 52 49 4e 46 4f 2a 29 3b 0a 09 48 52 45 53 55  ORINFO*);..HRESU
3760: 4c 54 20 43 72 65 61 74 65 45 72 72 6f 72 49 6e  LT CreateErrorIn
3770: 66 6f 28 4c 50 43 52 45 41 54 45 45 52 52 4f 52  fo(LPCREATEERROR
3780: 49 4e 46 4f 2a 29 3b 0a 09 75 69 6e 74 20 4f 61  INFO*);..uint Oa
3790: 42 75 69 6c 64 56 65 72 73 69 6f 6e 28 29 3b 0a  BuildVersion();.
37a0: 09 48 52 45 53 55 4c 54 20 56 65 63 74 6f 72 46  .HRESULT VectorF
37b0: 72 6f 6d 42 73 74 72 20 28 42 53 54 52 2c 20 53  romBstr (BSTR, S
37c0: 41 46 45 41 52 52 41 59 2a 2a 29 3b 0a 09 48 52  AFEARRAY**);..HR
37d0: 45 53 55 4c 54 20 42 73 74 72 46 72 6f 6d 56 65  ESULT BstrFromVe
37e0: 63 74 6f 72 20 28 53 41 46 45 41 52 52 41 59 2a  ctor (SAFEARRAY*
37f0: 2c 20 42 53 54 52 2a 29 3b 0a 09 48 52 45 53 55  , BSTR*);..HRESU
3800: 4c 54 20 56 61 72 50 61 72 73 65 4e 75 6d 46 72  LT VarParseNumFr
3810: 6f 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20  omStr(OLECHAR*, 
3820: 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 4e 55 4d  LCID, ULONG, NUM
3830: 50 41 52 53 45 2a 2c 20 42 59 54 45 2a 29 3b 0a  PARSE*, BYTE*);.
3840: 09 48 52 45 53 55 4c 54 20 56 61 72 4e 75 6d 46  .HRESULT VarNumF
3850: 72 6f 6d 50 61 72 73 65 4e 75 6d 28 4e 55 4d 50  romParseNum(NUMP
3860: 41 52 53 45 2a 2c 20 42 59 54 45 2a 2c 20 55 4c  ARSE*, BYTE*, UL
3870: 4f 4e 47 2c 20 56 41 52 49 41 4e 54 2a 29 3b 0a  ONG, VARIANT*);.
3880: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 41 64 64  ..HRESULT VarAdd
3890: 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41  (LPVARIANT, LPVA
38a0: 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54  RIANT, LPVARIANT
38b0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 53  );..HRESULT VarS
38c0: 75 62 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  ub(LPVARIANT, LP
38d0: 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41  VARIANT, LPVARIA
38e0: 4e 54 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  NT);..HRESULT Va
38f0: 72 4d 75 6c 28 4c 50 56 41 52 49 41 4e 54 2c 20  rMul(LPVARIANT, 
3900: 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52  LPVARIANT, LPVAR
3910: 49 41 4e 54 29 3b 0a 09 48 52 45 53 55 4c 54 20  IANT);..HRESULT 
3920: 56 61 72 44 69 76 28 4c 50 56 41 52 49 41 4e 54  VarDiv(LPVARIANT
3930: 2c 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56  , LPVARIANT, LPV
3940: 41 52 49 41 4e 54 29 3b 0a 0a 09 48 52 45 53 55  ARIANT);...HRESU
3950: 4c 54 20 56 61 72 55 49 31 46 72 6f 6d 49 32 28  LT VarUI1FromI2(
3960: 53 48 4f 52 54 2c 20 42 59 54 45 2a 29 3b 0a 09  SHORT, BYTE*);..
3970: 48 52 45 53 55 4c 54 20 56 61 72 55 49 31 46 72  HRESULT VarUI1Fr
3980: 6f 6d 49 34 28 4c 4f 4e 47 2c 20 42 59 54 45 2a  omI4(LONG, BYTE*
3990: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  );..HRESULT VarU
39a0: 49 31 46 72 6f 6d 49 38 28 4c 4f 4e 47 36 34 2c  I1FromI8(LONG64,
39b0: 20 42 59 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c   BYTE*);..HRESUL
39c0: 54 20 56 61 72 55 49 31 46 72 6f 6d 52 34 28 46  T VarUI1FromR4(F
39d0: 4c 4f 41 54 2c 20 42 59 54 45 2a 29 3b 0a 09 48  LOAT, BYTE*);..H
39e0: 52 45 53 55 4c 54 20 56 61 72 55 49 31 46 72 6f  RESULT VarUI1Fro
39f0: 6d 52 38 28 44 4f 55 42 4c 45 2c 20 42 59 54 45  mR8(DOUBLE, BYTE
3a00: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
3a10: 55 49 31 46 72 6f 6d 44 61 74 65 28 44 41 54 45  UI1FromDate(DATE
3a20: 2c 20 42 59 54 45 2a 29 3b 0a 09 48 52 45 53 55  , BYTE*);..HRESU
3a30: 4c 54 20 56 61 72 55 49 31 46 72 6f 6d 42 6f 6f  LT VarUI1FromBoo
3a40: 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20  l(VARIANT_BOOL, 
3a50: 42 59 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54  BYTE*);..HRESULT
3a60: 20 56 61 72 55 49 31 46 72 6f 6d 49 31 28 62 79   VarUI1FromI1(by
3a70: 74 65 2c 20 42 59 54 45 2a 29 3b 0a 09 48 52 45  te, BYTE*);..HRE
3a80: 53 55 4c 54 20 56 61 72 55 49 31 46 72 6f 6d 55  SULT VarUI1FromU
3a90: 49 32 28 55 53 48 4f 52 54 2c 20 42 59 54 45 2a  I2(USHORT, BYTE*
3aa0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  );..HRESULT VarU
3ab0: 49 31 46 72 6f 6d 55 49 34 28 55 4c 4f 4e 47 2c  I1FromUI4(ULONG,
3ac0: 20 42 59 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c   BYTE*);..HRESUL
3ad0: 54 20 56 61 72 55 49 31 46 72 6f 6d 55 49 38 28  T VarUI1FromUI8(
3ae0: 55 4c 4f 4e 47 36 34 2c 20 42 59 54 45 2a 29 3b  ULONG64, BYTE*);
3af0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 31  ..HRESULT VarUI1
3b00: 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a  FromStr(OLECHAR*
3b10: 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42  , LCID, ULONG, B
3b20: 59 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  YTE*);..HRESULT 
3b30: 56 61 72 55 49 31 46 72 6f 6d 43 79 28 43 59 2c  VarUI1FromCy(CY,
3b40: 20 42 59 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c   BYTE*);..HRESUL
3b50: 54 20 56 61 72 55 49 31 46 72 6f 6d 44 65 63 28  T VarUI1FromDec(
3b60: 44 45 43 49 4d 41 4c 2a 2c 20 42 59 54 45 2a 29  DECIMAL*, BYTE*)
3b70: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49  ;..HRESULT VarUI
3b80: 31 46 72 6f 6d 44 69 73 70 28 49 44 69 73 70 61  1FromDisp(IDispa
3b90: 74 63 68 2a 2c 20 4c 43 49 44 2c 20 42 59 54 45  tch*, LCID, BYTE
3ba0: 2a 29 3b 0a 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
3bb0: 72 49 32 46 72 6f 6d 55 49 31 28 42 59 54 45 2c  rI2FromUI1(BYTE,
3bc0: 20 53 48 4f 52 54 2a 29 3b 0a 09 48 52 45 53 55   SHORT*);..HRESU
3bd0: 4c 54 20 56 61 72 49 32 46 72 6f 6d 49 34 28 4c  LT VarI2FromI4(L
3be0: 4f 4e 47 2c 20 53 48 4f 52 54 2a 29 3b 0a 09 48  ONG, SHORT*);..H
3bf0: 52 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d  RESULT VarI2From
3c00: 49 38 28 4c 4f 4e 47 36 34 2c 20 53 48 4f 52 54  I8(LONG64, SHORT
3c10: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
3c20: 49 32 46 72 6f 6d 52 34 28 46 4c 4f 41 54 2c 20  I2FromR4(FLOAT, 
3c30: 53 48 4f 52 54 2a 29 3b 0a 09 48 52 45 53 55 4c  SHORT*);..HRESUL
3c40: 54 20 56 61 72 49 32 46 72 6f 6d 52 38 28 44 4f  T VarI2FromR8(DO
3c50: 55 42 4c 45 2c 20 53 48 4f 52 54 2a 29 3b 0a 09  UBLE, SHORT*);..
3c60: 48 52 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f  HRESULT VarI2Fro
3c70: 6d 44 61 74 65 28 44 41 54 45 2c 20 53 48 4f 52  mDate(DATE, SHOR
3c80: 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  T*);..HRESULT Va
3c90: 72 49 32 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49  rI2FromBool(VARI
3ca0: 41 4e 54 5f 42 4f 4f 4c 2c 20 53 48 4f 52 54 2a  ANT_BOOL, SHORT*
3cb0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49  );..HRESULT VarI
3cc0: 32 46 72 6f 6d 49 31 28 62 79 74 65 2c 20 53 48  2FromI1(byte, SH
3cd0: 4f 52 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ORT*);..HRESULT 
3ce0: 56 61 72 49 32 46 72 6f 6d 55 49 32 28 55 53 48  VarI2FromUI2(USH
3cf0: 4f 52 54 2c 20 53 48 4f 52 54 2a 29 3b 0a 09 48  ORT, SHORT*);..H
3d00: 52 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d  RESULT VarI2From
3d10: 55 49 34 28 55 4c 4f 4e 47 2c 20 53 48 4f 52 54  UI4(ULONG, SHORT
3d20: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
3d30: 49 32 46 72 6f 6d 55 49 38 28 55 4c 4f 4e 47 36  I2FromUI8(ULONG6
3d40: 34 2c 20 53 48 4f 52 54 2a 29 3b 0a 09 48 52 45  4, SHORT*);..HRE
3d50: 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d 53 74  SULT VarI2FromSt
3d60: 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44  r(OLECHAR*, LCID
3d70: 2c 20 55 4c 4f 4e 47 2c 20 53 48 4f 52 54 2a 29  , ULONG, SHORT*)
3d80: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 32  ;..HRESULT VarI2
3d90: 46 72 6f 6d 43 79 28 43 59 2c 20 53 48 4f 52 54  FromCy(CY, SHORT
3da0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
3db0: 49 32 46 72 6f 6d 44 65 63 28 44 45 43 49 4d 41  I2FromDec(DECIMA
3dc0: 4c 2a 2c 20 53 48 4f 52 54 2a 29 3b 0a 09 48 52  L*, SHORT*);..HR
3dd0: 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d 44  ESULT VarI2FromD
3de0: 69 73 70 28 49 44 69 73 70 61 74 63 68 2a 2c 20  isp(IDispatch*, 
3df0: 4c 43 49 44 2c 20 53 48 4f 52 54 2a 29 3b 0a 0a  LCID, SHORT*);..
3e00: 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46 72  .HRESULT VarI4Fr
3e10: 6f 6d 55 49 31 28 42 59 54 45 2c 20 4c 4f 4e 47  omUI1(BYTE, LONG
3e20: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
3e30: 49 34 46 72 6f 6d 49 32 28 53 48 4f 52 54 2c 20  I4FromI2(SHORT, 
3e40: 4c 4f 4e 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54  LONG*);..HRESULT
3e50: 20 56 61 72 49 34 46 72 6f 6d 49 38 28 4c 4f 4e   VarI4FromI8(LON
3e60: 47 36 34 2c 20 4c 4f 4e 47 2a 29 3b 0a 09 48 52  G64, LONG*);..HR
3e70: 45 53 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 52  ESULT VarI4FromR
3e80: 34 28 46 4c 4f 41 54 2c 20 4c 4f 4e 47 2a 29 3b  4(FLOAT, LONG*);
3e90: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46  ..HRESULT VarI4F
3ea0: 72 6f 6d 52 38 28 44 4f 55 42 4c 45 2c 20 4c 4f  romR8(DOUBLE, LO
3eb0: 4e 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  NG*);..HRESULT V
3ec0: 61 72 49 34 46 72 6f 6d 44 61 74 65 28 44 41 54  arI4FromDate(DAT
3ed0: 45 2c 20 4c 4f 4e 47 2a 29 3b 0a 09 48 52 45 53  E, LONG*);..HRES
3ee0: 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 42 6f 6f  ULT VarI4FromBoo
3ef0: 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20  l(VARIANT_BOOL, 
3f00: 4c 4f 4e 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54  LONG*);..HRESULT
3f10: 20 56 61 72 49 34 46 72 6f 6d 49 31 28 62 79 74   VarI4FromI1(byt
3f20: 65 2c 20 4c 4f 4e 47 2a 29 3b 0a 09 48 52 45 53  e, LONG*);..HRES
3f30: 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 55 49 32  ULT VarI4FromUI2
3f40: 28 55 53 48 4f 52 54 2c 20 4c 4f 4e 47 2a 29 3b  (USHORT, LONG*);
3f50: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46  ..HRESULT VarI4F
3f60: 72 6f 6d 55 49 34 28 55 4c 4f 4e 47 2c 20 4c 4f  romUI4(ULONG, LO
3f70: 4e 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  NG*);..HRESULT V
3f80: 61 72 49 34 46 72 6f 6d 55 49 38 28 55 4c 4f 4e  arI4FromUI8(ULON
3f90: 47 36 34 2c 20 4c 4f 4e 47 2a 29 3b 0a 09 48 52  G64, LONG*);..HR
3fa0: 45 53 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 53  ESULT VarI4FromS
3fb0: 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49  tr(OLECHAR*, LCI
3fc0: 44 2c 20 55 4c 4f 4e 47 2c 20 4c 4f 4e 47 2a 29  D, ULONG, LONG*)
3fd0: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34  ;..HRESULT VarI4
3fe0: 46 72 6f 6d 43 79 28 43 59 2c 20 4c 4f 4e 47 2a  FromCy(CY, LONG*
3ff0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49  );..HRESULT VarI
4000: 34 46 72 6f 6d 44 65 63 28 44 45 43 49 4d 41 4c  4FromDec(DECIMAL
4010: 2a 2c 20 4c 4f 4e 47 2a 29 3b 0a 09 48 52 45 53  *, LONG*);..HRES
4020: 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 44 69 73  ULT VarI4FromDis
4030: 70 28 49 44 69 73 70 61 74 63 68 2a 2c 20 4c 43  p(IDispatch*, LC
4040: 49 44 2c 20 4c 4f 4e 47 2a 29 3b 0a 0a 09 48 52  ID, LONG*);...HR
4050: 45 53 55 4c 54 20 56 61 72 49 38 46 72 6f 6d 55  ESULT VarI8FromU
4060: 49 31 28 42 59 54 45 2c 20 4c 4f 4e 47 36 34 2a  I1(BYTE, LONG64*
4070: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49  );..HRESULT VarI
4080: 38 46 72 6f 6d 49 32 28 53 48 4f 52 54 2c 20 4c  8FromI2(SHORT, L
4090: 4f 4e 47 36 34 2a 29 3b 0a 09 48 52 45 53 55 4c  ONG64*);..HRESUL
40a0: 54 20 56 61 72 49 38 46 72 6f 6d 49 34 28 4c 4f  T VarI8FromI4(LO
40b0: 4e 47 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0a 09 48  NG, LONG64*);..H
40c0: 52 45 53 55 4c 54 20 56 61 72 49 38 46 72 6f 6d  RESULT VarI8From
40d0: 52 34 28 46 4c 4f 41 54 2c 20 4c 4f 4e 47 36 34  R4(FLOAT, LONG64
40e0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
40f0: 49 38 46 72 6f 6d 52 38 28 44 4f 55 42 4c 45 2c  I8FromR8(DOUBLE,
4100: 20 4c 4f 4e 47 36 34 2a 29 3b 0a 09 48 52 45 53   LONG64*);..HRES
4110: 55 4c 54 20 56 61 72 49 38 46 72 6f 6d 44 61 74  ULT VarI8FromDat
4120: 65 28 44 41 54 45 2c 20 4c 4f 4e 47 36 34 2a 29  e(DATE, LONG64*)
4130: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 38  ;..HRESULT VarI8
4140: 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a  FromStr(OLECHAR*
4150: 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 4c  , LCID, ULONG, L
4160: 4f 4e 47 36 34 2a 29 3b 0a 09 48 52 45 53 55 4c  ONG64*);..HRESUL
4170: 54 20 56 61 72 49 38 46 72 6f 6d 42 6f 6f 6c 28  T VarI8FromBool(
4180: 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 4c 4f  VARIANT_BOOL, LO
4190: 4e 47 36 34 2a 29 3b 0a 09 48 52 45 53 55 4c 54  NG64*);..HRESULT
41a0: 20 56 61 72 49 38 46 72 6f 6d 49 31 28 62 79 74   VarI8FromI1(byt
41b0: 65 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0a 09 48 52  e, LONG64*);..HR
41c0: 45 53 55 4c 54 20 56 61 72 49 38 46 72 6f 6d 55  ESULT VarI8FromU
41d0: 49 32 28 55 53 48 4f 52 54 2c 20 4c 4f 4e 47 36  I2(USHORT, LONG6
41e0: 34 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  4*);..HRESULT Va
41f0: 72 49 38 46 72 6f 6d 55 49 34 28 55 4c 4f 4e 47  rI8FromUI4(ULONG
4200: 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0a 09 48 52 45  , LONG64*);..HRE
4210: 53 55 4c 54 20 56 61 72 49 38 46 72 6f 6d 55 49  SULT VarI8FromUI
4220: 38 28 55 4c 4f 4e 47 36 34 2c 20 4c 4f 4e 47 36  8(ULONG64, LONG6
4230: 34 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  4*);..HRESULT Va
4240: 72 49 38 46 72 6f 6d 44 65 63 28 44 45 43 49 4d  rI8FromDec(DECIM
4250: 41 4c 2a 20 70 64 65 63 49 6e 2c 20 4c 4f 4e 47  AL* pdecIn, LONG
4260: 36 34 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  64*);..HRESULT V
4270: 61 72 49 38 46 72 6f 6d 49 6e 74 28 49 4e 54 20  arI8FromInt(INT 
4280: 69 6e 74 49 6e 2c 20 4c 4f 4e 47 36 34 2a 29 3b  intIn, LONG64*);
4290: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 38 46  ..HRESULT VarI8F
42a0: 72 6f 6d 43 79 28 43 59 2c 20 4c 4f 4e 47 36 34  romCy(CY, LONG64
42b0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
42c0: 49 38 46 72 6f 6d 44 69 73 70 28 49 44 69 73 70  I8FromDisp(IDisp
42d0: 61 74 63 68 2a 2c 20 4c 43 49 44 2c 20 4c 4f 4e  atch*, LCID, LON
42e0: 47 36 34 2a 29 3b 0a 0a 09 48 52 45 53 55 4c 54  G64*);...HRESULT
42f0: 20 56 61 72 52 34 46 72 6f 6d 55 49 31 28 42 59   VarR4FromUI1(BY
4300: 54 45 2c 20 46 4c 4f 41 54 2a 29 3b 0a 09 48 52  TE, FLOAT*);..HR
4310: 45 53 55 4c 54 20 56 61 72 52 34 46 72 6f 6d 49  ESULT VarR4FromI
4320: 32 28 53 48 4f 52 54 2c 20 46 4c 4f 41 54 2a 29  2(SHORT, FLOAT*)
4330: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 34  ;..HRESULT VarR4
4340: 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 46 4c 4f  FromI4(LONG, FLO
4350: 41 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  AT*);..HRESULT V
4360: 61 72 52 34 46 72 6f 6d 49 38 28 4c 4f 4e 47 36  arR4FromI8(LONG6
4370: 34 2c 20 46 4c 4f 41 54 2a 29 3b 0a 09 48 52 45  4, FLOAT*);..HRE
4380: 53 55 4c 54 20 56 61 72 52 34 46 72 6f 6d 52 38  SULT VarR4FromR8
4390: 28 44 4f 55 42 4c 45 2c 20 46 4c 4f 41 54 2a 29  (DOUBLE, FLOAT*)
43a0: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 34  ;..HRESULT VarR4
43b0: 46 72 6f 6d 44 61 74 65 28 44 41 54 45 2c 20 46  FromDate(DATE, F
43c0: 4c 4f 41 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54  LOAT*);..HRESULT
43d0: 20 56 61 72 52 34 46 72 6f 6d 42 6f 6f 6c 28 56   VarR4FromBool(V
43e0: 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 46 4c 4f  ARIANT_BOOL, FLO
43f0: 41 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  AT*);..HRESULT V
4400: 61 72 52 34 46 72 6f 6d 49 31 28 62 79 74 65 2c  arR4FromI1(byte,
4410: 20 46 4c 4f 41 54 2a 29 3b 0a 09 48 52 45 53 55   FLOAT*);..HRESU
4420: 4c 54 20 56 61 72 52 34 46 72 6f 6d 55 49 32 28  LT VarR4FromUI2(
4430: 55 53 48 4f 52 54 2c 20 46 4c 4f 41 54 2a 29 3b  USHORT, FLOAT*);
4440: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 46  ..HRESULT VarR4F
4450: 72 6f 6d 55 49 34 28 55 4c 4f 4e 47 2c 20 46 4c  romUI4(ULONG, FL
4460: 4f 41 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  OAT*);..HRESULT 
4470: 56 61 72 52 34 46 72 6f 6d 55 49 38 28 55 4c 4f  VarR4FromUI8(ULO
4480: 4e 47 36 34 2c 20 46 4c 4f 41 54 2a 29 3b 0a 09  NG64, FLOAT*);..
4490: 48 52 45 53 55 4c 54 20 56 61 72 52 34 46 72 6f  HRESULT VarR4Fro
44a0: 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c  mStr(OLECHAR*, L
44b0: 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 46 4c 4f 41  CID, ULONG, FLOA
44c0: 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  T*);..HRESULT Va
44d0: 72 52 34 46 72 6f 6d 43 79 28 43 59 2c 20 46 4c  rR4FromCy(CY, FL
44e0: 4f 41 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  OAT*);..HRESULT 
44f0: 56 61 72 52 34 46 72 6f 6d 44 65 63 28 44 45 43  VarR4FromDec(DEC
4500: 49 4d 41 4c 2a 2c 20 46 4c 4f 41 54 2a 29 3b 0a  IMAL*, FLOAT*);.
4510: 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 46 72  .HRESULT VarR4Fr
4520: 6f 6d 44 69 73 70 28 49 44 69 73 70 61 74 63 68  omDisp(IDispatch
4530: 2a 2c 20 4c 43 49 44 2c 20 46 4c 4f 41 54 2a 29  *, LCID, FLOAT*)
4540: 3b 0a 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52  ;...HRESULT VarR
4550: 38 46 72 6f 6d 55 49 31 28 42 59 54 45 2c 20 64  8FromUI1(BYTE, d
4560: 6f 75 62 6c 65 2a 29 3b 0a 09 48 52 45 53 55 4c  ouble*);..HRESUL
4570: 54 20 56 61 72 52 38 46 72 6f 6d 49 32 28 53 48  T VarR8FromI2(SH
4580: 4f 52 54 2c 20 64 6f 75 62 6c 65 2a 29 3b 0a 09  ORT, double*);..
4590: 48 52 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f  HRESULT VarR8Fro
45a0: 6d 49 34 28 4c 4f 4e 47 2c 20 64 6f 75 62 6c 65  mI4(LONG, double
45b0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
45c0: 52 38 46 72 6f 6d 49 38 28 4c 4f 4e 47 36 34 2c  R8FromI8(LONG64,
45d0: 20 64 6f 75 62 6c 65 2a 29 3b 0a 09 48 52 45 53   double*);..HRES
45e0: 55 4c 54 20 56 61 72 52 38 46 72 6f 6d 52 34 28  ULT VarR8FromR4(
45f0: 46 4c 4f 41 54 2c 20 64 6f 75 62 6c 65 2a 29 3b  FLOAT, double*);
4600: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 38 46  ..HRESULT VarR8F
4610: 72 6f 6d 44 61 74 65 28 44 41 54 45 2c 20 64 6f  romDate(DATE, do
4620: 75 62 6c 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54  uble*);..HRESULT
4630: 20 56 61 72 52 38 46 72 6f 6d 42 6f 6f 6c 28 56   VarR8FromBool(V
4640: 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 64 6f 75  ARIANT_BOOL, dou
4650: 62 6c 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ble*);..HRESULT 
4660: 56 61 72 52 38 46 72 6f 6d 49 31 28 62 79 74 65  VarR8FromI1(byte
4670: 2c 20 64 6f 75 62 6c 65 2a 29 3b 0a 09 48 52 45  , double*);..HRE
4680: 53 55 4c 54 20 56 61 72 52 38 46 72 6f 6d 55 49  SULT VarR8FromUI
4690: 32 28 55 53 48 4f 52 54 2c 20 64 6f 75 62 6c 65  2(USHORT, double
46a0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
46b0: 52 38 46 72 6f 6d 55 49 34 28 55 4c 4f 4e 47 2c  R8FromUI4(ULONG,
46c0: 20 64 6f 75 62 6c 65 2a 29 3b 0a 09 48 52 45 53   double*);..HRES
46d0: 55 4c 54 20 56 61 72 52 38 46 72 6f 6d 55 49 38  ULT VarR8FromUI8
46e0: 28 55 4c 4f 4e 47 36 34 2c 20 64 6f 75 62 6c 65  (ULONG64, double
46f0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
4700: 52 38 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48 41  R8FromStr(OLECHA
4710: 52 2a 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c  R*, LCID, ULONG,
4720: 20 64 6f 75 62 6c 65 2a 29 3b 0a 09 48 52 45 53   double*);..HRES
4730: 55 4c 54 20 56 61 72 52 38 46 72 6f 6d 43 79 28  ULT VarR8FromCy(
4740: 43 59 2c 20 64 6f 75 62 6c 65 2a 29 3b 0a 09 48  CY, double*);..H
4750: 52 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f 6d  RESULT VarR8From
4760: 44 65 63 28 44 45 43 49 4d 41 4c 2a 2c 20 64 6f  Dec(DECIMAL*, do
4770: 75 62 6c 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54  uble*);..HRESULT
4780: 20 56 61 72 52 38 46 72 6f 6d 44 69 73 70 28 49   VarR8FromDisp(I
4790: 44 69 73 70 61 74 63 68 2a 2c 20 4c 43 49 44 2c  Dispatch*, LCID,
47a0: 20 64 6f 75 62 6c 65 2a 29 3b 0a 0a 09 48 52 45   double*);...HRE
47b0: 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d  SULT VarDateFrom
47c0: 55 49 31 28 42 59 54 45 2c 20 44 41 54 45 2a 29  UI1(BYTE, DATE*)
47d0: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61  ;..HRESULT VarDa
47e0: 74 65 46 72 6f 6d 49 32 28 53 48 4f 52 54 2c 20  teFromI2(SHORT, 
47f0: 44 41 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54  DATE*);..HRESULT
4800: 20 56 61 72 44 61 74 65 46 72 6f 6d 49 34 28 4c   VarDateFromI4(L
4810: 4f 4e 47 2c 20 44 41 54 45 2a 29 3b 0a 09 48 52  ONG, DATE*);..HR
4820: 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f  ESULT VarDateFro
4830: 6d 49 38 28 4c 4f 4e 47 36 34 2c 20 44 41 54 45  mI8(LONG64, DATE
4840: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
4850: 44 61 74 65 46 72 6f 6d 52 34 28 46 4c 4f 41 54  DateFromR4(FLOAT
4860: 2c 20 44 41 54 45 2a 29 3b 0a 09 48 52 45 53 55  , DATE*);..HRESU
4870: 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d 52 38  LT VarDateFromR8
4880: 28 44 4f 55 42 4c 45 2c 20 44 41 54 45 2a 29 3b  (DOUBLE, DATE*);
4890: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61 74  ..HRESULT VarDat
48a0: 65 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48 41 52  eFromStr(OLECHAR
48b0: 2a 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20  *, LCID, ULONG, 
48c0: 44 41 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54  DATE*);..HRESULT
48d0: 20 56 61 72 44 61 74 65 46 72 6f 6d 49 31 28 62   VarDateFromI1(b
48e0: 79 74 65 2c 20 44 41 54 45 2a 29 3b 0a 09 48 52  yte, DATE*);..HR
48f0: 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f  ESULT VarDateFro
4900: 6d 55 49 32 28 55 53 48 4f 52 54 2c 20 44 41 54  mUI2(USHORT, DAT
4910: 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  E*);..HRESULT Va
4920: 72 44 61 74 65 46 72 6f 6d 55 49 34 28 55 4c 4f  rDateFromUI4(ULO
4930: 4e 47 2c 20 44 41 54 45 2a 29 3b 0a 09 48 52 45  NG, DATE*);..HRE
4940: 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d  SULT VarDateFrom
4950: 55 49 38 28 55 4c 4f 4e 47 36 34 2c 20 44 41 54  UI8(ULONG64, DAT
4960: 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  E*);..HRESULT Va
4970: 72 44 61 74 65 46 72 6f 6d 42 6f 6f 6c 28 56 41  rDateFromBool(VA
4980: 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 44 41 54 45  RIANT_BOOL, DATE
4990: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
49a0: 44 61 74 65 46 72 6f 6d 43 79 28 43 59 2c 20 44  DateFromCy(CY, D
49b0: 41 54 45 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ATE*);..HRESULT 
49c0: 56 61 72 44 61 74 65 46 72 6f 6d 44 65 63 28 44  VarDateFromDec(D
49d0: 45 43 49 4d 41 4c 2a 2c 20 44 41 54 45 2a 29 3b  ECIMAL*, DATE*);
49e0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61 74  ..HRESULT VarDat
49f0: 65 46 72 6f 6d 44 69 73 70 28 49 44 69 73 70 61  eFromDisp(IDispa
4a00: 74 63 68 2a 2c 20 4c 43 49 44 2c 20 44 41 54 45  tch*, LCID, DATE
4a10: 2a 29 3b 0a 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
4a20: 72 43 79 46 72 6f 6d 55 49 31 28 42 59 54 45 2c  rCyFromUI1(BYTE,
4a30: 20 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20   CY*);..HRESULT 
4a40: 56 61 72 43 79 46 72 6f 6d 49 32 28 53 48 4f 52  VarCyFromI2(SHOR
4a50: 54 20 73 49 6e 2c 20 43 59 2a 29 3b 0a 09 48 52  T sIn, CY*);..HR
4a60: 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d 49  ESULT VarCyFromI
4a70: 34 28 4c 4f 4e 47 2c 20 43 59 2a 29 3b 0a 09 48  4(LONG, CY*);..H
4a80: 52 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d  RESULT VarCyFrom
4a90: 49 38 28 4c 4f 4e 47 36 34 2c 20 43 59 2a 29 3b  I8(LONG64, CY*);
4aa0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43 79 46  ..HRESULT VarCyF
4ab0: 72 6f 6d 52 34 28 46 4c 4f 41 54 2c 20 43 59 2a  romR4(FLOAT, CY*
4ac0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43  );..HRESULT VarC
4ad0: 79 46 72 6f 6d 52 38 28 44 4f 55 42 4c 45 2c 20  yFromR8(DOUBLE, 
4ae0: 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  CY*);..HRESULT V
4af0: 61 72 43 79 46 72 6f 6d 44 61 74 65 28 44 41 54  arCyFromDate(DAT
4b00: 45 2c 20 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c  E, CY*);..HRESUL
4b10: 54 20 56 61 72 43 79 46 72 6f 6d 53 74 72 28 4f  T VarCyFromStr(O
4b20: 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 55  LECHAR*, LCID, U
4b30: 4c 4f 4e 47 2c 20 43 59 2a 29 3b 0a 09 48 52 45  LONG, CY*);..HRE
4b40: 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d 42 6f  SULT VarCyFromBo
4b50: 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c  ol(VARIANT_BOOL,
4b60: 20 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20   CY*);..HRESULT 
4b70: 56 61 72 43 79 46 72 6f 6d 49 31 28 62 79 74 65  VarCyFromI1(byte
4b80: 2c 20 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54  , CY*);..HRESULT
4b90: 20 56 61 72 43 79 46 72 6f 6d 55 49 32 28 55 53   VarCyFromUI2(US
4ba0: 48 4f 52 54 2c 20 43 59 2a 29 3b 0a 09 48 52 45  HORT, CY*);..HRE
4bb0: 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d 55 49  SULT VarCyFromUI
4bc0: 34 28 55 4c 4f 4e 47 2c 20 43 59 2a 29 3b 0a 09  4(ULONG, CY*);..
4bd0: 48 52 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f  HRESULT VarCyFro
4be0: 6d 55 49 38 28 55 4c 4f 4e 47 36 34 2c 20 43 59  mUI8(ULONG64, CY
4bf0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
4c00: 43 79 46 72 6f 6d 44 65 63 28 44 45 43 49 4d 41  CyFromDec(DECIMA
4c10: 4c 2a 2c 20 43 59 2a 29 3b 0a 09 48 52 45 53 55  L*, CY*);..HRESU
4c20: 4c 54 20 56 61 72 43 79 46 72 6f 6d 53 74 72 28  LT VarCyFromStr(
4c30: 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20  OLECHAR*, LCID, 
4c40: 55 4c 4f 4e 47 2c 20 43 59 2a 29 3b 0a 09 48 52  ULONG, CY*);..HR
4c50: 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d 44  ESULT VarCyFromD
4c60: 69 73 70 28 49 44 69 73 70 61 74 63 68 2a 2c 20  isp(IDispatch*, 
4c70: 4c 43 49 44 2c 20 43 59 2a 29 3b 0a 0a 09 48 52  LCID, CY*);...HR
4c80: 45 53 55 4c 54 20 56 61 72 42 73 74 72 46 72 6f  ESULT VarBstrFro
4c90: 6d 55 49 31 28 42 59 54 45 2c 20 4c 43 49 44 2c  mUI1(BYTE, LCID,
4ca0: 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29 3b 0a   ULONG, BSTR*);.
4cb0: 09 48 52 45 53 55 4c 54 20 56 61 72 42 73 74 72  .HRESULT VarBstr
4cc0: 46 72 6f 6d 49 32 28 53 48 4f 52 54 2c 20 4c 43  FromI2(SHORT, LC
4cd0: 49 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a  ID, ULONG, BSTR*
4ce0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  );..HRESULT VarB
4cf0: 73 74 72 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20  strFromI4(LONG, 
4d00: 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54  LCID, ULONG, BST
4d10: 52 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  R*);..HRESULT Va
4d20: 72 42 73 74 72 46 72 6f 6d 49 38 28 4c 4f 4e 47  rBstrFromI8(LONG
4d30: 36 34 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c  64, LCID, ULONG,
4d40: 20 42 53 54 52 2a 29 3b 0a 09 48 52 45 53 55 4c   BSTR*);..HRESUL
4d50: 54 20 56 61 72 42 73 74 72 46 72 6f 6d 52 34 28  T VarBstrFromR4(
4d60: 46 4c 4f 41 54 2c 20 4c 43 49 44 2c 20 55 4c 4f  FLOAT, LCID, ULO
4d70: 4e 47 2c 20 42 53 54 52 2a 29 3b 0a 09 48 52 45  NG, BSTR*);..HRE
4d80: 53 55 4c 54 20 56 61 72 42 73 74 72 46 72 6f 6d  SULT VarBstrFrom
4d90: 52 38 28 44 4f 55 42 4c 45 2c 20 4c 43 49 44 2c  R8(DOUBLE, LCID,
4da0: 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29 3b 0a   ULONG, BSTR*);.
4db0: 09 48 52 45 53 55 4c 54 20 56 61 72 42 73 74 72  .HRESULT VarBstr
4dc0: 46 72 6f 6d 44 61 74 65 28 44 41 54 45 2c 20 4c  FromDate(DATE, L
4dd0: 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52  CID, ULONG, BSTR
4de0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
4df0: 42 73 74 72 46 72 6f 6d 42 6f 6f 6c 28 56 41 52  BstrFromBool(VAR
4e00: 49 41 4e 54 5f 42 4f 4f 4c 2c 20 4c 43 49 44 2c  IANT_BOOL, LCID,
4e10: 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29 3b 0a   ULONG, BSTR*);.
4e20: 09 48 52 45 53 55 4c 54 20 56 61 72 42 73 74 72  .HRESULT VarBstr
4e30: 46 72 6f 6d 49 31 28 62 79 74 65 2c 20 4c 43 49  FromI1(byte, LCI
4e40: 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29  D, ULONG, BSTR*)
4e50: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 73  ;..HRESULT VarBs
4e60: 74 72 46 72 6f 6d 55 49 32 28 55 53 48 4f 52 54  trFromUI2(USHORT
4e70: 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42  , LCID, ULONG, B
4e80: 53 54 52 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  STR*);..HRESULT 
4e90: 56 61 72 42 73 74 72 46 72 6f 6d 55 49 38 28 55  VarBstrFromUI8(U
4ea0: 4c 4f 4e 47 36 34 2c 20 4c 43 49 44 2c 20 55 4c  LONG64, LCID, UL
4eb0: 4f 4e 47 2c 20 42 53 54 52 2a 29 3b 0a 09 48 52  ONG, BSTR*);..HR
4ec0: 45 53 55 4c 54 20 56 61 72 42 73 74 72 46 72 6f  ESULT VarBstrFro
4ed0: 6d 55 49 34 28 55 4c 4f 4e 47 2c 20 4c 43 49 44  mUI4(ULONG, LCID
4ee0: 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29 3b  , ULONG, BSTR*);
4ef0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 73 74  ..HRESULT VarBst
4f00: 72 46 72 6f 6d 43 79 28 43 59 2c 20 4c 43 49 44  rFromCy(CY, LCID
4f10: 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29 3b  , ULONG, BSTR*);
4f20: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 73 74  ..HRESULT VarBst
4f30: 72 46 72 6f 6d 44 65 63 28 44 45 43 49 4d 41 4c  rFromDec(DECIMAL
4f40: 2a 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20  *, LCID, ULONG, 
4f50: 42 53 54 52 2a 29 3b 0a 09 48 52 45 53 55 4c 54  BSTR*);..HRESULT
4f60: 20 56 61 72 42 73 74 72 46 72 6f 6d 44 69 73 70   VarBstrFromDisp
4f70: 28 49 44 69 73 70 61 74 63 68 2a 2c 20 4c 43 49  (IDispatch*, LCI
4f80: 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29  D, ULONG, BSTR*)
4f90: 3b 0a 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  ;...HRESULT VarB
4fa0: 6f 6f 6c 46 72 6f 6d 55 49 31 28 42 59 54 45 2c  oolFromUI1(BYTE,
4fb0: 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b   VARIANT_BOOL*);
4fc0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 6f 6f  ..HRESULT VarBoo
4fd0: 6c 46 72 6f 6d 49 32 28 53 48 4f 52 54 2c 20 56  lFromI2(SHORT, V
4fe0: 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0a 09  ARIANT_BOOL*);..
4ff0: 48 52 45 53 55 4c 54 20 56 61 72 42 6f 6f 6c 46  HRESULT VarBoolF
5000: 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 56 41 52 49  romI4(LONG, VARI
5010: 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0a 09 48 52 45  ANT_BOOL*);..HRE
5020: 53 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d  SULT VarBoolFrom
5030: 49 38 28 4c 4f 4e 47 36 34 2c 20 56 41 52 49 41  I8(LONG64, VARIA
5040: 4e 54 5f 42 4f 4f 4c 2a 29 3b 0a 09 48 52 45 53  NT_BOOL*);..HRES
5050: 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 52  ULT VarBoolFromR
5060: 34 28 46 4c 4f 41 54 2c 20 56 41 52 49 41 4e 54  4(FLOAT, VARIANT
5070: 5f 42 4f 4f 4c 2a 29 3b 0a 09 48 52 45 53 55 4c  _BOOL*);..HRESUL
5080: 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 52 38 28  T VarBoolFromR8(
5090: 44 4f 55 42 4c 45 2c 20 56 41 52 49 41 4e 54 5f  DOUBLE, VARIANT_
50a0: 42 4f 4f 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54  BOOL*);..HRESULT
50b0: 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 44 61 74 65   VarBoolFromDate
50c0: 28 44 41 54 45 2c 20 56 41 52 49 41 4e 54 5f 42  (DATE, VARIANT_B
50d0: 4f 4f 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  OOL*);..HRESULT 
50e0: 56 61 72 42 6f 6f 6c 46 72 6f 6d 53 74 72 28 4f  VarBoolFromStr(O
50f0: 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 55  LECHAR*, LCID, U
5100: 4c 4f 4e 47 2c 20 56 41 52 49 41 4e 54 5f 42 4f  LONG, VARIANT_BO
5110: 4f 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  OL*);..HRESULT V
5120: 61 72 42 6f 6f 6c 46 72 6f 6d 49 31 28 62 79 74  arBoolFromI1(byt
5130: 65 2c 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a  e, VARIANT_BOOL*
5140: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  );..HRESULT VarB
5150: 6f 6f 6c 46 72 6f 6d 55 49 32 28 55 53 48 4f 52  oolFromUI2(USHOR
5160: 54 2c 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a  T, VARIANT_BOOL*
5170: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  );..HRESULT VarB
5180: 6f 6f 6c 46 72 6f 6d 55 49 34 28 55 4c 4f 4e 47  oolFromUI4(ULONG
5190: 2c 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29  , VARIANT_BOOL*)
51a0: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 6f  ;..HRESULT VarBo
51b0: 6f 6c 46 72 6f 6d 55 49 38 28 55 4c 4f 4e 47 36  olFromUI8(ULONG6
51c0: 34 2c 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a  4, VARIANT_BOOL*
51d0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  );..HRESULT VarB
51e0: 6f 6f 6c 46 72 6f 6d 43 79 28 43 59 2c 20 56 41  oolFromCy(CY, VA
51f0: 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0a 09 48  RIANT_BOOL*);..H
5200: 52 45 53 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72  RESULT VarBoolFr
5210: 6f 6d 44 65 63 28 44 45 43 49 4d 41 4c 2a 2c 20  omDec(DECIMAL*, 
5220: 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0a  VARIANT_BOOL*);.
5230: 09 48 52 45 53 55 4c 54 20 56 61 72 42 6f 6f 6c  .HRESULT VarBool
5240: 46 72 6f 6d 44 69 73 70 28 49 44 69 73 70 61 74  FromDisp(IDispat
5250: 63 68 2a 2c 20 4c 43 49 44 2c 20 56 41 52 49 41  ch*, LCID, VARIA
5260: 4e 54 5f 42 4f 4f 4c 2a 29 3b 0a 0a 09 48 52 45  NT_BOOL*);...HRE
5270: 53 55 4c 54 20 56 61 72 49 31 46 72 6f 6d 55 49  SULT VarI1FromUI
5280: 31 28 42 59 54 45 2c 20 62 79 74 65 2a 29 3b 0a  1(BYTE, byte*);.
5290: 09 48 52 45 53 55 4c 54 20 56 61 72 49 31 46 72  .HRESULT VarI1Fr
52a0: 6f 6d 49 32 28 53 48 4f 52 54 2c 20 62 79 74 65  omI2(SHORT, byte
52b0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
52c0: 49 31 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 62  I1FromI4(LONG, b
52d0: 79 74 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  yte*);..HRESULT 
52e0: 56 61 72 49 31 46 72 6f 6d 49 38 28 4c 4f 4e 47  VarI1FromI8(LONG
52f0: 36 34 2c 20 62 79 74 65 2a 29 3b 0a 09 48 52 45  64, byte*);..HRE
5300: 53 55 4c 54 20 56 61 72 49 31 46 72 6f 6d 52 34  SULT VarI1FromR4
5310: 28 46 4c 4f 41 54 2c 20 62 79 74 65 2a 29 3b 0a  (FLOAT, byte*);.
5320: 09 48 52 45 53 55 4c 54 20 56 61 72 49 31 46 72  .HRESULT VarI1Fr
5330: 6f 6d 52 38 28 44 4f 55 42 4c 45 2c 20 62 79 74  omR8(DOUBLE, byt
5340: 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  e*);..HRESULT Va
5350: 72 49 31 46 72 6f 6d 44 61 74 65 28 44 41 54 45  rI1FromDate(DATE
5360: 2c 20 62 79 74 65 2a 29 3b 0a 09 48 52 45 53 55  , byte*);..HRESU
5370: 4c 54 20 56 61 72 49 31 46 72 6f 6d 53 74 72 28  LT VarI1FromStr(
5380: 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20  OLECHAR*, LCID, 
5390: 55 4c 4f 4e 47 2c 20 62 79 74 65 2a 29 3b 0a 09  ULONG, byte*);..
53a0: 48 52 45 53 55 4c 54 20 56 61 72 49 31 46 72 6f  HRESULT VarI1Fro
53b0: 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f  mBool(VARIANT_BO
53c0: 4f 4c 2c 20 62 79 74 65 2a 29 3b 0a 09 48 52 45  OL, byte*);..HRE
53d0: 53 55 4c 54 20 56 61 72 49 31 46 72 6f 6d 55 49  SULT VarI1FromUI
53e0: 32 28 55 53 48 4f 52 54 2c 20 62 79 74 65 2a 29  2(USHORT, byte*)
53f0: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 31  ;..HRESULT VarI1
5400: 46 72 6f 6d 55 49 34 28 55 4c 4f 4e 47 2c 20 62  FromUI4(ULONG, b
5410: 79 74 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  yte*);..HRESULT 
5420: 56 61 72 49 31 46 72 6f 6d 55 49 38 28 55 4c 4f  VarI1FromUI8(ULO
5430: 4e 47 36 34 2c 20 62 79 74 65 2a 29 3b 0a 09 48  NG64, byte*);..H
5440: 52 45 53 55 4c 54 20 56 61 72 49 31 46 72 6f 6d  RESULT VarI1From
5450: 43 79 28 43 59 2c 20 62 79 74 65 2a 29 3b 0a 09  Cy(CY, byte*);..
5460: 48 52 45 53 55 4c 54 20 56 61 72 49 31 46 72 6f  HRESULT VarI1Fro
5470: 6d 44 65 63 28 44 45 43 49 4d 41 4c 2a 2c 20 62  mDec(DECIMAL*, b
5480: 79 74 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  yte*);..HRESULT 
5490: 56 61 72 49 31 46 72 6f 6d 44 69 73 70 28 49 44  VarI1FromDisp(ID
54a0: 69 73 70 61 74 63 68 2a 2c 20 4c 43 49 44 2c 20  ispatch*, LCID, 
54b0: 62 79 74 65 2a 29 3b 0a 0a 09 48 52 45 53 55 4c  byte*);...HRESUL
54c0: 54 20 56 61 72 55 49 32 46 72 6f 6d 55 49 31 28  T VarUI2FromUI1(
54d0: 42 59 54 45 2c 20 55 53 48 4f 52 54 2a 29 3b 0a  BYTE, USHORT*);.
54e0: 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 32 46  .HRESULT VarUI2F
54f0: 72 6f 6d 49 32 28 53 48 4f 52 54 2c 20 55 53 48  romI2(SHORT, USH
5500: 4f 52 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ORT*);..HRESULT 
5510: 56 61 72 55 49 32 46 72 6f 6d 49 34 28 4c 4f 4e  VarUI2FromI4(LON
5520: 47 2c 20 55 53 48 4f 52 54 2a 29 3b 0a 09 48 52  G, USHORT*);..HR
5530: 45 53 55 4c 54 20 56 61 72 55 49 32 46 72 6f 6d  ESULT VarUI2From
5540: 49 38 28 4c 4f 4e 47 36 34 2c 20 55 53 48 4f 52  I8(LONG64, USHOR
5550: 54 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  T*);..HRESULT Va
5560: 72 55 49 32 46 72 6f 6d 52 34 28 46 4c 4f 41 54  rUI2FromR4(FLOAT
5570: 2c 20 55 53 48 4f 52 54 2a 29 3b 0a 09 48 52 45  , USHORT*);..HRE
5580: 53 55 4c 54 20 56 61 72 55 49 32 46 72 6f 6d 52  SULT VarUI2FromR
5590: 38 28 44 4f 55 42 4c 45 2c 20 55 53 48 4f 52 54  8(DOUBLE, USHORT
55a0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
55b0: 55 49 32 46 72 6f 6d 44 61 74 65 28 44 41 54 45  UI2FromDate(DATE
55c0: 2c 20 55 53 48 4f 52 54 2a 29 3b 0a 09 48 52 45  , USHORT*);..HRE
55d0: 53 55 4c 54 20 56 61 72 55 49 32 46 72 6f 6d 53  SULT VarUI2FromS
55e0: 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49  tr(OLECHAR*, LCI
55f0: 44 2c 20 55 4c 4f 4e 47 2c 20 55 53 48 4f 52 54  D, ULONG, USHORT
5600: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
5610: 55 49 32 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49  UI2FromBool(VARI
5620: 41 4e 54 5f 42 4f 4f 4c 2c 20 55 53 48 4f 52 54  ANT_BOOL, USHORT
5630: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
5640: 55 49 32 46 72 6f 6d 49 31 28 62 79 74 65 2c 20  UI2FromI1(byte, 
5650: 55 53 48 4f 52 54 2a 29 3b 0a 09 48 52 45 53 55  USHORT*);..HRESU
5660: 4c 54 20 56 61 72 55 49 32 46 72 6f 6d 55 49 34  LT VarUI2FromUI4
5670: 28 55 4c 4f 4e 47 2c 20 55 53 48 4f 52 54 2a 29  (ULONG, USHORT*)
5680: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49  ;..HRESULT VarUI
5690: 32 46 72 6f 6d 55 49 38 28 55 4c 4f 4e 47 36 34  2FromUI8(ULONG64
56a0: 2c 20 55 53 48 4f 52 54 2a 29 3b 0a 09 48 52 45  , USHORT*);..HRE
56b0: 53 55 4c 54 20 56 61 72 55 49 32 46 72 6f 6d 43  SULT VarUI2FromC
56c0: 79 28 43 59 2c 20 55 53 48 4f 52 54 2a 29 3b 0a  y(CY, USHORT*);.
56d0: 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 32 46  .HRESULT VarUI2F
56e0: 72 6f 6d 44 65 63 28 44 45 43 49 4d 41 4c 2a 2c  romDec(DECIMAL*,
56f0: 20 55 53 48 4f 52 54 2a 29 3b 0a 09 48 52 45 53   USHORT*);..HRES
5700: 55 4c 54 20 56 61 72 55 49 32 46 72 6f 6d 44 69  ULT VarUI2FromDi
5710: 73 70 28 49 44 69 73 70 61 74 63 68 2a 2c 20 4c  sp(IDispatch*, L
5720: 43 49 44 2c 20 55 53 48 4f 52 54 2a 29 3b 0a 0a  CID, USHORT*);..
5730: 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 34 46  .HRESULT VarUI4F
5740: 72 6f 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c  romStr(OLECHAR*,
5750: 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 55 4c   LCID, ULONG, UL
5760: 4f 4e 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ONG*);..HRESULT 
5770: 56 61 72 55 49 34 46 72 6f 6d 55 49 31 28 42 59  VarUI4FromUI1(BY
5780: 54 45 2c 20 55 4c 4f 4e 47 2a 29 3b 0a 09 48 52  TE, ULONG*);..HR
5790: 45 53 55 4c 54 20 56 61 72 55 49 34 46 72 6f 6d  ESULT VarUI4From
57a0: 49 32 28 53 48 4f 52 54 2c 20 55 4c 4f 4e 47 2a  I2(SHORT, ULONG*
57b0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  );..HRESULT VarU
57c0: 49 34 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 55  I4FromI4(LONG, U
57d0: 4c 4f 4e 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54  LONG*);..HRESULT
57e0: 20 56 61 72 55 49 34 46 72 6f 6d 49 38 28 4c 4f   VarUI4FromI8(LO
57f0: 4e 47 36 34 2c 20 55 4c 4f 4e 47 2a 29 3b 0a 09  NG64, ULONG*);..
5800: 48 52 45 53 55 4c 54 20 56 61 72 55 49 34 46 72  HRESULT VarUI4Fr
5810: 6f 6d 52 34 28 46 4c 4f 41 54 2c 20 55 4c 4f 4e  omR4(FLOAT, ULON
5820: 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  G*);..HRESULT Va
5830: 72 55 49 34 46 72 6f 6d 52 38 28 44 4f 55 42 4c  rUI4FromR8(DOUBL
5840: 45 2c 20 55 4c 4f 4e 47 2a 29 3b 0a 09 48 52 45  E, ULONG*);..HRE
5850: 53 55 4c 54 20 56 61 72 55 49 34 46 72 6f 6d 44  SULT VarUI4FromD
5860: 61 74 65 28 44 41 54 45 2c 20 55 4c 4f 4e 47 2a  ate(DATE, ULONG*
5870: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  );..HRESULT VarU
5880: 49 34 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41  I4FromBool(VARIA
5890: 4e 54 5f 42 4f 4f 4c 2c 20 55 4c 4f 4e 47 2a 29  NT_BOOL, ULONG*)
58a0: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49  ;..HRESULT VarUI
58b0: 34 46 72 6f 6d 49 31 28 62 79 74 65 2c 20 55 4c  4FromI1(byte, UL
58c0: 4f 4e 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ONG*);..HRESULT 
58d0: 56 61 72 55 49 34 46 72 6f 6d 55 49 32 28 55 53  VarUI4FromUI2(US
58e0: 48 4f 52 54 2c 20 55 4c 4f 4e 47 2a 29 3b 0a 09  HORT, ULONG*);..
58f0: 48 52 45 53 55 4c 54 20 56 61 72 55 49 34 46 72  HRESULT VarUI4Fr
5900: 6f 6d 55 49 38 28 55 4c 4f 4e 47 36 34 2c 20 55  omUI8(ULONG64, U
5910: 4c 4f 4e 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54  LONG*);..HRESULT
5920: 20 56 61 72 55 49 34 46 72 6f 6d 43 79 28 43 59   VarUI4FromCy(CY
5930: 2c 20 55 4c 4f 4e 47 2a 29 3b 0a 09 48 52 45 53  , ULONG*);..HRES
5940: 55 4c 54 20 56 61 72 55 49 34 46 72 6f 6d 44 65  ULT VarUI4FromDe
5950: 63 28 44 45 43 49 4d 41 4c 2a 2c 20 55 4c 4f 4e  c(DECIMAL*, ULON
5960: 47 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  G*);..HRESULT Va
5970: 72 55 49 34 46 72 6f 6d 44 69 73 70 28 49 44 69  rUI4FromDisp(IDi
5980: 73 70 61 74 63 68 2a 2c 20 4c 43 49 44 2c 20 55  spatch*, LCID, U
5990: 4c 4f 4e 47 2a 29 3b 0a 0a 09 48 52 45 53 55 4c  LONG*);...HRESUL
59a0: 54 20 56 61 72 55 49 38 46 72 6f 6d 55 49 31 28  T VarUI8FromUI1(
59b0: 42 59 54 45 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b  BYTE, ULONG64*);
59c0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 38  ..HRESULT VarUI8
59d0: 46 72 6f 6d 49 32 28 53 48 4f 52 54 2c 20 55 4c  FromI2(SHORT, UL
59e0: 4f 4e 47 36 34 2a 29 3b 0a 09 48 52 45 53 55 4c  ONG64*);..HRESUL
59f0: 54 20 56 61 72 55 49 38 46 72 6f 6d 49 34 28 4c  T VarUI8FromI4(L
5a00: 4f 4e 47 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b 0a  ONG, ULONG64*);.
5a10: 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 38 46  .HRESULT VarUI8F
5a20: 72 6f 6d 49 38 28 4c 4f 4e 47 36 34 2c 20 55 4c  romI8(LONG64, UL
5a30: 4f 4e 47 36 34 2a 29 3b 0a 09 48 52 45 53 55 4c  ONG64*);..HRESUL
5a40: 54 20 56 61 72 55 49 38 46 72 6f 6d 52 34 28 46  T VarUI8FromR4(F
5a50: 4c 4f 41 54 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b  LOAT, ULONG64*);
5a60: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 38  ..HRESULT VarUI8
5a70: 46 72 6f 6d 52 38 28 44 4f 55 42 4c 45 2c 20 55  FromR8(DOUBLE, U
5a80: 4c 4f 4e 47 36 34 2a 29 3b 0a 09 48 52 45 53 55  LONG64*);..HRESU
5a90: 4c 54 20 56 61 72 55 49 38 46 72 6f 6d 44 61 74  LT VarUI8FromDat
5aa0: 65 28 44 41 54 45 2c 20 55 4c 4f 4e 47 36 34 2a  e(DATE, ULONG64*
5ab0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  );..HRESULT VarU
5ac0: 49 38 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48 41  I8FromStr(OLECHA
5ad0: 52 2a 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c  R*, LCID, ULONG,
5ae0: 20 55 4c 4f 4e 47 36 34 2a 29 3b 0a 09 48 52 45   ULONG64*);..HRE
5af0: 53 55 4c 54 20 56 61 72 55 49 38 46 72 6f 6d 42  SULT VarUI8FromB
5b00: 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c  ool(VARIANT_BOOL
5b10: 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b 0a 09 48 52  , ULONG64*);..HR
5b20: 45 53 55 4c 54 20 56 61 72 55 49 38 46 72 6f 6d  ESULT VarUI8From
5b30: 49 31 28 62 79 74 65 2c 20 55 4c 4f 4e 47 36 34  I1(byte, ULONG64
5b40: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
5b50: 55 49 38 46 72 6f 6d 55 49 32 28 55 53 48 4f 52  UI8FromUI2(USHOR
5b60: 54 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b 0a 09 48  T, ULONG64*);..H
5b70: 52 45 53 55 4c 54 20 56 61 72 55 49 38 46 72 6f  RESULT VarUI8Fro
5b80: 6d 55 49 34 28 55 4c 4f 4e 47 2c 20 55 4c 4f 4e  mUI4(ULONG, ULON
5b90: 47 36 34 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  G64*);..HRESULT 
5ba0: 56 61 72 55 49 38 46 72 6f 6d 44 65 63 28 44 45  VarUI8FromDec(DE
5bb0: 43 49 4d 41 4c 2a 2c 20 55 4c 4f 4e 47 36 34 2a  CIMAL*, ULONG64*
5bc0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  );..HRESULT VarU
5bd0: 49 38 46 72 6f 6d 49 6e 74 28 49 4e 54 2c 20 55  I8FromInt(INT, U
5be0: 4c 4f 4e 47 36 34 2a 29 3b 0a 09 48 52 45 53 55  LONG64*);..HRESU
5bf0: 4c 54 20 56 61 72 55 49 38 46 72 6f 6d 43 79 28  LT VarUI8FromCy(
5c00: 43 59 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b 0a 09  CY, ULONG64*);..
5c10: 48 52 45 53 55 4c 54 20 56 61 72 55 49 38 46 72  HRESULT VarUI8Fr
5c20: 6f 6d 44 69 73 70 28 49 44 69 73 70 61 74 63 68  omDisp(IDispatch
5c30: 2a 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 36 34  *, LCID, ULONG64
5c40: 2a 29 3b 0a 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
5c50: 72 44 65 63 46 72 6f 6d 55 49 31 28 42 59 54 45  rDecFromUI1(BYTE
5c60: 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0a 09 48 52  , DECIMAL*);..HR
5c70: 45 53 55 4c 54 20 56 61 72 44 65 63 46 72 6f 6d  ESULT VarDecFrom
5c80: 49 32 28 53 48 4f 52 54 2c 20 44 45 43 49 4d 41  I2(SHORT, DECIMA
5c90: 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  L*);..HRESULT Va
5ca0: 72 44 65 63 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c  rDecFromI4(LONG,
5cb0: 20 44 45 43 49 4d 41 4c 2a 29 3b 0a 09 48 52 45   DECIMAL*);..HRE
5cc0: 53 55 4c 54 20 56 61 72 44 65 63 46 72 6f 6d 49  SULT VarDecFromI
5cd0: 38 28 4c 4f 4e 47 36 34 2c 20 44 45 43 49 4d 41  8(LONG64, DECIMA
5ce0: 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  L*);..HRESULT Va
5cf0: 72 44 65 63 46 72 6f 6d 52 34 28 46 4c 4f 41 54  rDecFromR4(FLOAT
5d00: 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0a 09 48 52  , DECIMAL*);..HR
5d10: 45 53 55 4c 54 20 56 61 72 44 65 63 46 72 6f 6d  ESULT VarDecFrom
5d20: 52 38 28 44 4f 55 42 4c 45 2c 20 44 45 43 49 4d  R8(DOUBLE, DECIM
5d30: 41 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  AL*);..HRESULT V
5d40: 61 72 44 65 63 46 72 6f 6d 44 61 74 65 28 44 41  arDecFromDate(DA
5d50: 54 45 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0a 09  TE, DECIMAL*);..
5d60: 48 52 45 53 55 4c 54 20 56 61 72 44 65 63 46 72  HRESULT VarDecFr
5d70: 6f 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20  omStr(OLECHAR*, 
5d80: 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 44 45 43  LCID, ULONG, DEC
5d90: 49 4d 41 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54  IMAL*);..HRESULT
5da0: 20 56 61 72 44 65 63 46 72 6f 6d 42 6f 6f 6c 28   VarDecFromBool(
5db0: 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 44 45  VARIANT_BOOL, DE
5dc0: 43 49 4d 41 4c 2a 29 3b 0a 09 48 52 45 53 55 4c  CIMAL*);..HRESUL
5dd0: 54 20 56 61 72 44 65 63 46 72 6f 6d 49 31 28 62  T VarDecFromI1(b
5de0: 79 74 65 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0a  yte, DECIMAL*);.
5df0: 09 48 52 45 53 55 4c 54 20 56 61 72 44 65 63 46  .HRESULT VarDecF
5e00: 72 6f 6d 55 49 32 28 55 53 48 4f 52 54 2c 20 44  romUI2(USHORT, D
5e10: 45 43 49 4d 41 4c 2a 29 3b 0a 09 48 52 45 53 55  ECIMAL*);..HRESU
5e20: 4c 54 20 56 61 72 44 65 63 46 72 6f 6d 55 49 34  LT VarDecFromUI4
5e30: 28 55 4c 4f 4e 47 2c 20 44 45 43 49 4d 41 4c 2a  (ULONG, DECIMAL*
5e40: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44  );..HRESULT VarD
5e50: 65 63 46 72 6f 6d 55 49 38 28 55 4c 4f 4e 47 36  ecFromUI8(ULONG6
5e60: 34 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0a 09 48  4, DECIMAL*);..H
5e70: 52 45 53 55 4c 54 20 56 61 72 44 65 63 46 72 6f  RESULT VarDecFro
5e80: 6d 43 79 28 43 59 2c 20 44 45 43 49 4d 41 4c 2a  mCy(CY, DECIMAL*
5e90: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44  );..HRESULT VarD
5ea0: 65 63 46 72 6f 6d 44 69 73 70 28 49 44 69 73 70  ecFromDisp(IDisp
5eb0: 61 74 63 68 2a 2c 20 4c 43 49 44 2c 20 44 45 43  atch*, LCID, DEC
5ec0: 49 4d 41 4c 2a 29 3b 0a 0a 09 48 52 45 53 55 4c  IMAL*);...HRESUL
5ed0: 54 20 56 61 72 44 65 63 4e 65 67 28 43 50 74 72  T VarDecNeg(CPtr
5ee0: 21 28 44 45 43 49 4d 41 4c 29 2c 20 44 45 43 49  !(DECIMAL), DECI
5ef0: 4d 41 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  MAL*);..HRESULT 
5f00: 56 61 72 52 34 43 6d 70 52 38 28 66 6c 6f 61 74  VarR4CmpR8(float
5f10: 2c 20 64 6f 75 62 6c 65 29 3b 0a 09 48 52 45 53  , double);..HRES
5f20: 55 4c 54 20 56 61 72 52 38 50 6f 77 28 64 6f 75  ULT VarR8Pow(dou
5f30: 62 6c 65 2c 20 64 6f 75 62 6c 65 2c 20 64 6f 75  ble, double, dou
5f40: 62 6c 65 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20  ble*);..HRESULT 
5f50: 56 61 72 52 38 52 6f 75 6e 64 28 64 6f 75 62 6c  VarR8Round(doubl
5f60: 65 2c 20 69 6e 74 2c 20 64 6f 75 62 6c 65 2a 29  e, int, double*)
5f70: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 65  ;..HRESULT VarDe
5f80: 63 41 62 73 28 43 50 74 72 21 28 44 45 43 49 4d  cAbs(CPtr!(DECIM
5f90: 41 4c 29 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0a  AL), DECIMAL*);.
5fa0: 09 48 52 45 53 55 4c 54 20 56 61 72 44 65 63 41  .HRESULT VarDecA
5fb0: 64 64 28 43 50 74 72 21 28 44 45 43 49 4d 41 4c  dd(CPtr!(DECIMAL
5fc0: 29 2c 20 43 50 74 72 21 28 44 45 43 49 4d 41 4c  ), CPtr!(DECIMAL
5fd0: 29 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0a 09 48  ), DECIMAL*);..H
5fe0: 52 45 53 55 4c 54 20 56 61 72 44 65 63 43 6d 70  RESULT VarDecCmp
5ff0: 28 43 50 74 72 21 28 44 45 43 49 4d 41 4c 29 2c  (CPtr!(DECIMAL),
6000: 20 43 50 74 72 21 28 44 45 43 49 4d 41 4c 29 29   CPtr!(DECIMAL))
6010: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 65  ;..HRESULT VarDe
6020: 63 43 6d 70 52 38 28 43 50 74 72 21 28 44 45 43  cCmpR8(CPtr!(DEC
6030: 49 4d 41 4c 29 2c 20 44 4f 55 42 4c 45 29 3b 0a  IMAL), DOUBLE);.
6040: 09 48 52 45 53 55 4c 54 20 56 61 72 44 65 63 44  .HRESULT VarDecD
6050: 69 76 28 43 50 74 72 21 28 44 45 43 49 4d 41 4c  iv(CPtr!(DECIMAL
6060: 29 2c 20 43 50 74 72 21 28 44 45 43 49 4d 41 4c  ), CPtr!(DECIMAL
6070: 29 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0a 09 48  ), DECIMAL*);..H
6080: 52 45 53 55 4c 54 20 56 61 72 44 65 63 46 69 78  RESULT VarDecFix
6090: 28 43 50 74 72 21 28 44 45 43 49 4d 41 4c 29 2c  (CPtr!(DECIMAL),
60a0: 20 44 45 43 49 4d 41 4c 2a 29 3b 0a 09 48 52 45   DECIMAL*);..HRE
60b0: 53 55 4c 54 20 56 61 72 44 65 63 49 6e 74 28 43  SULT VarDecInt(C
60c0: 50 74 72 21 28 44 45 43 49 4d 41 4c 29 2c 20 44  Ptr!(DECIMAL), D
60d0: 45 43 49 4d 41 4c 2a 29 3b 0a 09 48 52 45 53 55  ECIMAL*);..HRESU
60e0: 4c 54 20 56 61 72 44 65 63 4d 75 6c 28 43 50 74  LT VarDecMul(CPt
60f0: 72 21 28 44 45 43 49 4d 41 4c 29 2c 20 43 50 74  r!(DECIMAL), CPt
6100: 72 21 28 44 45 43 49 4d 41 4c 29 2c 20 44 45 43  r!(DECIMAL), DEC
6110: 49 4d 41 4c 2a 29 3b 0a 09 48 52 45 53 55 4c 54  IMAL*);..HRESULT
6120: 20 56 61 72 44 65 63 52 6f 75 6e 64 28 43 50 74   VarDecRound(CPt
6130: 72 21 28 44 45 43 49 4d 41 4c 29 2c 20 69 6e 74  r!(DECIMAL), int
6140: 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0a 09 48 52  , DECIMAL*);..HR
6150: 45 53 55 4c 54 20 56 61 72 44 65 63 53 75 62 28  ESULT VarDecSub(
6160: 43 50 74 72 21 28 44 45 43 49 4d 41 4c 29 2c 20  CPtr!(DECIMAL), 
6170: 43 50 74 72 21 28 44 45 43 49 4d 41 4c 29 2c 20  CPtr!(DECIMAL), 
6180: 44 45 43 49 4d 41 4c 2a 29 3b 0a 09 48 52 45 53  DECIMAL*);..HRES
6190: 55 4c 54 20 56 61 72 43 79 41 62 73 28 43 59 2c  ULT VarCyAbs(CY,
61a0: 20 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20   CY*);..HRESULT 
61b0: 56 61 72 43 79 41 64 64 28 43 59 2c 20 43 59 2c  VarCyAdd(CY, CY,
61c0: 20 43 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20   CY*);..HRESULT 
61d0: 56 61 72 43 79 43 6d 70 28 43 59 2c 20 43 59 29  VarCyCmp(CY, CY)
61e0: 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43 79  ;..HRESULT VarCy
61f0: 43 6d 70 52 38 28 43 59 2c 20 44 4f 55 42 4c 45  CmpR8(CY, DOUBLE
6200: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43  );..HRESULT VarC
6210: 79 46 69 78 28 43 59 2c 20 43 59 2a 29 3b 0a 09  yFix(CY, CY*);..
6220: 48 52 45 53 55 4c 54 20 56 61 72 43 79 49 6e 74  HRESULT VarCyInt
6230: 28 43 59 2c 20 43 59 2a 29 3b 0a 09 48 52 45 53  (CY, CY*);..HRES
6240: 55 4c 54 20 56 61 72 43 79 4d 75 6c 28 43 59 2c  ULT VarCyMul(CY,
6250: 20 43 59 2c 20 43 59 2a 29 3b 0a 09 48 52 45 53   CY, CY*);..HRES
6260: 55 4c 54 20 56 61 72 43 79 4d 75 6c 49 34 28 43  ULT VarCyMulI4(C
6270: 59 2c 20 4c 4f 4e 47 2c 20 43 59 2a 29 3b 0a 09  Y, LONG, CY*);..
6280: 48 52 45 53 55 4c 54 20 56 61 72 43 79 4d 75 6c  HRESULT VarCyMul
6290: 49 38 28 43 59 2c 20 4c 4f 4e 47 36 34 2c 20 43  I8(CY, LONG64, C
62a0: 59 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  Y*);..HRESULT Va
62b0: 72 43 79 4e 65 67 28 43 59 2c 20 43 59 2a 29 3b  rCyNeg(CY, CY*);
62c0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43 79 52  ..HRESULT VarCyR
62d0: 6f 75 6e 64 28 43 59 2c 20 49 4e 54 2c 20 43 59  ound(CY, INT, CY
62e0: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
62f0: 43 79 53 75 62 28 43 59 2c 20 43 59 2c 20 43 59  CySub(CY, CY, CY
6300: 2a 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72  *);..HRESULT Var
6310: 41 64 64 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c  Add(LPVARIANT, L
6320: 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49  PVARIANT, LPVARI
6330: 41 4e 54 29 3b 0a 09 48 52 45 53 55 4c 54 20 56  ANT);..HRESULT V
6340: 61 72 41 6e 64 28 4c 50 56 41 52 49 41 4e 54 2c  arAnd(LPVARIANT,
6350: 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41   LPVARIANT, LPVA
6360: 52 49 41 4e 54 29 3b 0a 09 48 52 45 53 55 4c 54  RIANT);..HRESULT
6370: 20 56 61 72 43 61 74 28 4c 50 56 41 52 49 41 4e   VarCat(LPVARIAN
6380: 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  T, LPVARIANT, LP
6390: 56 41 52 49 41 4e 54 29 3b 0a 09 48 52 45 53 55  VARIANT);..HRESU
63a0: 4c 54 20 56 61 72 44 69 76 28 4c 50 56 41 52 49  LT VarDiv(LPVARI
63b0: 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c 20  ANT, LPVARIANT, 
63c0: 4c 50 56 41 52 49 41 4e 54 29 3b 0a 09 48 52 45  LPVARIANT);..HRE
63d0: 53 55 4c 54 20 56 61 72 45 71 76 28 4c 50 56 41  SULT VarEqv(LPVA
63e0: 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54  RIANT, LPVARIANT
63f0: 2c 20 4c 50 56 41 52 49 41 4e 54 29 3b 0a 09 48  , LPVARIANT);..H
6400: 52 45 53 55 4c 54 20 56 61 72 49 64 69 76 28 4c  RESULT VarIdiv(L
6410: 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49  PVARIANT, LPVARI
6420: 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 29 3b  ANT, LPVARIANT);
6430: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 6d 70  ..HRESULT VarImp
6440: 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41  (LPVARIANT, LPVA
6450: 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54  RIANT, LPVARIANT
6460: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 4d  );..HRESULT VarM
6470: 6f 64 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  od(LPVARIANT, LP
6480: 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41  VARIANT, LPVARIA
6490: 4e 54 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  NT);..HRESULT Va
64a0: 72 4d 75 6c 28 4c 50 56 41 52 49 41 4e 54 2c 20  rMul(LPVARIANT, 
64b0: 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52  LPVARIANT, LPVAR
64c0: 49 41 4e 54 29 3b 0a 09 48 52 45 53 55 4c 54 20  IANT);..HRESULT 
64d0: 56 61 72 4f 72 28 4c 50 56 41 52 49 41 4e 54 2c  VarOr(LPVARIANT,
64e0: 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41   LPVARIANT, LPVA
64f0: 52 49 41 4e 54 29 3b 0a 09 48 52 45 53 55 4c 54  RIANT);..HRESULT
6500: 20 56 61 72 50 6f 77 28 4c 50 56 41 52 49 41 4e   VarPow(LPVARIAN
6510: 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  T, LPVARIANT, LP
6520: 56 41 52 49 41 4e 54 29 3b 0a 09 48 52 45 53 55  VARIANT);..HRESU
6530: 4c 54 20 56 61 72 53 75 62 28 4c 50 56 41 52 49  LT VarSub(LPVARI
6540: 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c 20  ANT, LPVARIANT, 
6550: 4c 50 56 41 52 49 41 4e 54 29 3b 0a 09 48 52 45  LPVARIANT);..HRE
6560: 53 55 4c 54 20 56 61 72 58 6f 72 28 4c 50 56 41  SULT VarXor(LPVA
6570: 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54  RIANT, LPVARIANT
6580: 2c 20 4c 50 56 41 52 49 41 4e 54 29 3b 0a 09 48  , LPVARIANT);..H
6590: 52 45 53 55 4c 54 20 56 61 72 41 62 73 28 4c 50  RESULT VarAbs(LP
65a0: 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41  VARIANT, LPVARIA
65b0: 4e 54 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61  NT);..HRESULT Va
65c0: 72 46 69 78 28 4c 50 56 41 52 49 41 4e 54 2c 20  rFix(LPVARIANT, 
65d0: 4c 50 56 41 52 49 41 4e 54 29 3b 0a 09 48 52 45  LPVARIANT);..HRE
65e0: 53 55 4c 54 20 56 61 72 49 6e 74 28 4c 50 56 41  SULT VarInt(LPVA
65f0: 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54  RIANT, LPVARIANT
6600: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 4e  );..HRESULT VarN
6610: 65 67 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  eg(LPVARIANT, LP
6620: 56 41 52 49 41 4e 54 29 3b 0a 09 48 52 45 53 55  VARIANT);..HRESU
6630: 4c 54 20 56 61 72 4e 6f 74 28 4c 50 56 41 52 49  LT VarNot(LPVARI
6640: 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 29 3b  ANT, LPVARIANT);
6650: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 6f 75  ..HRESULT VarRou
6660: 6e 64 28 4c 50 56 41 52 49 41 4e 54 2c 20 69 6e  nd(LPVARIANT, in
6670: 74 2c 20 4c 50 56 41 52 49 41 4e 54 29 3b 0a 09  t, LPVARIANT);..
6680: 48 52 45 53 55 4c 54 20 56 61 72 43 6d 70 28 4c  HRESULT VarCmp(L
6690: 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49  PVARIANT, LPVARI
66a0: 41 4e 54 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47  ANT, LCID, ULONG
66b0: 29 3b 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  );..HRESULT VarB
66c0: 73 74 72 43 6d 70 28 42 53 54 52 2c 20 42 53 54  strCmp(BSTR, BST
66d0: 52 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 29 3b  R, LCID, ULONG);
66e0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 73 74  ..HRESULT VarBst
66f0: 72 43 61 74 28 42 53 54 52 2c 20 42 53 54 52 2c  rCat(BSTR, BSTR,
6700: 20 42 53 54 52 2a 29 3b 0a 7d 0a                  BSTR*);.}.