Hex Artifact Content

Not logged in

Artifact d49872cd6ba219cd2ba773b6441e9cafd987c501:


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 0d 0a 2a 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 20 6f 6c 65 61 75             oleau
0070: 74 6f 2e 64 20 20 20 20 20 20 20 20 20 20 20 20  to.d            
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 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 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 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: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61           Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57  ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20  indows headers  
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
01c0: 0d 0a 2a 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 20 20 20 20 20 20 2a 0d 0a 2a 20 20            *..*  
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f       Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20   public domain  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0250: 20 20 20 20 20 2a 0d 0a 5c 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 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e  /..module win32.
02b0: 6f 6c 65 61 75 74 6f 3b 0d 0a 70 72 61 67 6d 61  oleauto;..pragma
02c0: 28 6c 69 62 2c 20 22 6f 6c 65 61 75 74 33 32 22  (lib, "oleaut32"
02d0: 29 3b 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e  );....import win
02e0: 33 32 2e 6f 61 69 64 6c 3b 0d 0a 70 72 69 76 61  32.oaidl;..priva
02f0: 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e  te import win32.
0300: 62 61 73 65 74 79 70 73 2c 20 77 69 6e 33 32 2e  basetyps, win32.
0310: 75 6e 6b 6e 77 6e 2c 20 77 69 6e 33 32 2e 77 69  unknwn, win32.wi
0320: 6e 64 65 66 2c 20 77 69 6e 33 32 2e 77 74 79 70  ndef, win32.wtyp
0330: 65 73 3b 0d 0a 70 72 69 76 61 74 65 20 69 6d 70  es;..private imp
0340: 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e 62 61 73  ort win32.winbas
0350: 65 3b 20 2f 2f 20 66 6f 72 20 53 59 53 54 45 4d  e; // for SYSTEM
0360: 54 49 4d 45 0d 0a 0d 0a 61 6c 69 67 6e 28 38 29  TIME....align(8)
0370: 3a 0d 0a 63 6f 6e 73 74 20 53 54 44 4f 4c 45 5f  :..const STDOLE_
0380: 4d 41 4a 4f 52 56 45 52 4e 55 4d 20 3d 20 31 3b  MAJORVERNUM = 1;
0390: 0d 0a 63 6f 6e 73 74 20 53 54 44 4f 4c 45 5f 4d  ..const STDOLE_M
03a0: 49 4e 4f 52 56 45 52 4e 55 4d 20 3d 20 30 3b 0d  INORVERNUM = 0;.
03b0: 0a 63 6f 6e 73 74 20 53 54 44 4f 4c 45 5f 4c 43  .const STDOLE_LC
03c0: 49 44 20 3d 20 30 3b 0d 0a 0d 0a 63 6f 6e 73 74  ID = 0;....const
03d0: 20 56 41 52 49 41 4e 54 5f 4e 4f 56 41 4c 55 45   VARIANT_NOVALUE
03e0: 50 52 4f 50 20 3d 20 30 78 30 31 3b 0d 0a 63 6f  PROP = 0x01;..co
03f0: 6e 73 74 20 56 41 52 49 41 4e 54 5f 41 4c 50 48  nst VARIANT_ALPH
0400: 41 42 4f 4f 4c 20 3d 20 30 78 30 32 3b 0d 0a 63  ABOOL = 0x02;..c
0410: 6f 6e 73 74 20 56 41 52 49 41 4e 54 5f 4e 4f 55  onst VARIANT_NOU
0420: 53 45 4f 56 45 52 52 49 44 45 20 3d 20 30 78 30  SEOVERRIDE = 0x0
0430: 34 3b 0d 0a 63 6f 6e 73 74 20 56 41 52 49 41 4e  4;..const VARIAN
0440: 54 5f 4c 4f 43 41 4c 42 4f 4f 4c 20 3d 20 30 78  T_LOCALBOOL = 0x
0450: 30 38 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 56 41 52  08;....const VAR
0460: 5f 54 49 4d 45 56 41 4c 55 45 4f 4e 4c 59 20 3d  _TIMEVALUEONLY =
0470: 20 30 78 30 30 30 31 3b 0d 0a 63 6f 6e 73 74 20   0x0001;..const 
0480: 56 41 52 5f 44 41 54 45 56 41 4c 55 45 4f 4e 4c  VAR_DATEVALUEONL
0490: 59 20 3d 20 30 78 30 30 30 32 3b 0d 0a 63 6f 6e  Y = 0x0002;..con
04a0: 73 74 20 56 41 52 5f 56 41 4c 49 44 44 41 54 45  st VAR_VALIDDATE
04b0: 20 3d 20 30 78 30 30 30 34 3b 0d 0a 63 6f 6e 73   = 0x0004;..cons
04c0: 74 20 56 41 52 5f 43 41 4c 45 4e 44 41 52 5f 48  t VAR_CALENDAR_H
04d0: 49 4a 52 49 20 3d 20 30 78 30 30 30 38 3b 0d 0a  IJRI = 0x0008;..
04e0: 63 6f 6e 73 74 20 56 41 52 5f 4c 4f 43 41 4c 42  const VAR_LOCALB
04f0: 4f 4f 4c 20 3d 20 30 78 30 30 31 30 3b 0d 0a 63  OOL = 0x0010;..c
0500: 6f 6e 73 74 20 56 41 52 5f 46 4f 52 4d 41 54 5f  onst VAR_FORMAT_
0510: 4e 4f 53 55 42 53 54 49 54 55 54 45 20 3d 20 30  NOSUBSTITUTE = 0
0520: 78 30 30 32 30 3b 0d 0a 63 6f 6e 73 74 20 56 41  x0020;..const VA
0530: 52 5f 46 4f 55 52 44 49 47 49 54 59 45 41 52 53  R_FOURDIGITYEARS
0540: 20 3d 20 30 78 30 30 34 30 3b 0d 0a 63 6f 6e 73   = 0x0040;..cons
0550: 74 20 56 41 52 5f 43 41 4c 45 4e 44 41 52 5f 54  t VAR_CALENDAR_T
0560: 48 41 49 20 3d 20 30 78 30 30 38 30 3b 0d 0a 63  HAI = 0x0080;..c
0570: 6f 6e 73 74 20 56 41 52 5f 43 41 4c 45 4e 44 41  onst VAR_CALENDA
0580: 52 5f 47 52 45 47 4f 52 49 41 4e 20 3d 20 30 78  R_GREGORIAN = 0x
0590: 30 31 30 30 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 4d  0100;....const M
05a0: 45 4d 42 45 52 49 44 5f 4e 49 4c 20 3d 20 44 49  EMBERID_NIL = DI
05b0: 53 50 49 44 5f 55 4e 4b 4e 4f 57 4e 3b 0d 0a 63  SPID_UNKNOWN;..c
05c0: 6f 6e 73 74 20 49 44 5f 44 45 46 41 55 4c 54 49  onst ID_DEFAULTI
05d0: 4e 53 54 20 3d 20 20 2d 32 3b 0d 0a 63 6f 6e 73  NST =  -2;..cons
05e0: 74 20 44 49 53 50 41 54 43 48 5f 4d 45 54 48 4f  t DISPATCH_METHO
05f0: 44 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 44 49  D = 1;..const DI
0600: 53 50 41 54 43 48 5f 50 52 4f 50 45 52 54 59 47  SPATCH_PROPERTYG
0610: 45 54 20 3d 20 32 3b 0d 0a 63 6f 6e 73 74 20 44  ET = 2;..const D
0620: 49 53 50 41 54 43 48 5f 50 52 4f 50 45 52 54 59  ISPATCH_PROPERTY
0630: 50 55 54 20 3d 20 34 3b 0d 0a 63 6f 6e 73 74 20  PUT = 4;..const 
0640: 44 49 53 50 41 54 43 48 5f 50 52 4f 50 45 52 54  DISPATCH_PROPERT
0650: 59 50 55 54 52 45 46 20 3d 20 38 3b 0d 0a 0d 0a  YPUTREF = 8;....
0660: 2f 2f 55 4c 4f 4e 47 20 4c 48 61 73 68 56 61 6c  //ULONG LHashVal
0670: 4f 66 4e 61 6d 65 28 4c 43 49 44 20 6c 2c 20 4f  OfName(LCID l, O
0680: 4c 45 43 48 41 52 2a 20 6e 29 20 7b 20 72 65 74  LECHAR* n) { ret
0690: 75 72 6e 20 4c 48 61 73 68 56 61 6c 4f 66 4e 61  urn LHashValOfNa
06a0: 6d 65 53 79 73 28 53 59 53 4b 49 4e 44 2e 53 59  meSys(SYSKIND.SY
06b0: 53 5f 57 49 4e 33 32 2c 20 6c 2c 20 6e 29 3b 20  S_WIN32, l, n); 
06c0: 7d 0d 0a 0d 0a 2f 2f 20 44 41 43 3a 20 54 68 65  }....// DAC: The
06d0: 73 65 20 61 72 65 6e 27 74 20 69 6e 20 74 68 65  se aren't in the
06e0: 20 32 30 30 33 20 53 44 4b 2e 0d 0a 2f 2f 4d 41   2003 SDK...//MA
06f0: 43 52 4f 20 23 64 65 66 69 6e 65 20 57 48 61 73  CRO #define WHas
0700: 68 56 61 6c 4f 66 4c 48 61 73 68 56 61 6c 28 68  hValOfLHashVal(h
0710: 29 20 28 28 75 6e 73 69 67 6e 65 64 20 73 68 6f  ) ((unsigned sho
0720: 72 74 29 28 30 78 30 30 30 30 66 66 66 66 26 28  rt)(0x0000ffff&(
0730: 68 29 29 29 0d 0a 2f 2f 4d 41 43 52 4f 20 23 64  h)))..//MACRO #d
0740: 65 66 69 6e 65 20 49 73 48 61 73 68 56 61 6c 43  efine IsHashValC
0750: 6f 6d 70 61 74 69 62 6c 65 28 68 31 2c 20 68 32  ompatible(h1, h2
0760: 29 20 28 28 42 4f 4f 4c 29 28 28 30 78 30 30 66  ) ((BOOL)((0x00f
0770: 66 30 30 30 30 26 28 68 31 29 29 3d 3d 28 30 78  f0000&(h1))==(0x
0780: 30 30 66 66 30 30 30 30 26 28 68 32 29 29 29 29  00ff0000&(h2))))
0790: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 41 43 54  ....enum {...ACT
07a0: 49 56 45 4f 42 4a 45 43 54 5f 53 54 52 4f 4e 47  IVEOBJECT_STRONG
07b0: 20 3d 20 30 2c 0d 0a 09 41 43 54 49 56 45 4f 42   = 0,...ACTIVEOB
07c0: 4a 45 43 54 5f 57 45 41 4b 20 20 20 3d 20 31 0d  JECT_WEAK   = 1.
07d0: 0a 7d 0d 0a 0d 0a 2f 2f 20 44 41 43 3a 20 54 68  .}....// DAC: Th
07e0: 65 73 65 20 73 65 65 6d 20 74 6f 20 62 65 20 69  ese seem to be i
07f0: 72 72 65 6c 65 76 61 6e 74 20 66 6f 72 20 44 2e  rrelevant for D.
0800: 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 55 4e  ..//#define V_UN
0810: 49 4f 4e 28 58 2c 20 59 29 20 28 28 58 29 2d 3e  ION(X, Y) ((X)->
0820: 59 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  Y)..//#define V_
0830: 56 54 28 58 29 20 28 28 58 29 2d 3e 76 74 29 0d  VT(X) ((X)->vt).
0840: 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 42 4f 4f  .//#define V_BOO
0850: 4c 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20  L(X) V_UNION(X, 
0860: 62 6f 6f 6c 56 61 6c 29 0d 0a 2f 2f 23 64 65 66  boolVal)..//#def
0870: 69 6e 65 20 56 5f 49 53 42 59 52 45 46 28 58 29  ine V_ISBYREF(X)
0880: 20 28 56 5f 56 54 28 58 29 26 56 54 5f 42 59 52   (V_VT(X)&VT_BYR
0890: 45 46 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56  EF)..//#define V
08a0: 5f 49 53 41 52 52 41 59 28 58 29 20 28 56 5f 56  _ISARRAY(X) (V_V
08b0: 54 28 58 29 26 56 54 5f 41 52 52 41 59 29 0d 0a  T(X)&VT_ARRAY)..
08c0: 2f 2f 23 64 65 66 69 6e 65 20 56 5f 49 53 56 45  //#define V_ISVE
08d0: 43 54 4f 52 28 58 29 20 28 56 5f 56 54 28 58 29  CTOR(X) (V_VT(X)
08e0: 26 56 54 5f 56 45 43 54 4f 52 29 0d 0a 2f 2f 23  &VT_VECTOR)..//#
08f0: 64 65 66 69 6e 65 20 56 5f 4e 4f 4e 45 28 58 29  define V_NONE(X)
0900: 20 56 5f 49 32 28 58 29 0d 0a 2f 2f 23 64 65 66   V_I2(X)..//#def
0910: 69 6e 65 20 56 5f 55 49 31 28 58 29 20 56 5f 55  ine V_UI1(X) V_U
0920: 4e 49 4f 4e 28 58 2c 20 62 56 61 6c 29 0d 0a 2f  NION(X, bVal)../
0930: 2f 23 64 65 66 69 6e 65 20 56 5f 55 49 31 52 45  /#define V_UI1RE
0940: 46 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20  F(X) V_UNION(X, 
0950: 70 62 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e  pbVal)..//#defin
0960: 65 20 56 5f 49 32 28 58 29 20 56 5f 55 4e 49 4f  e V_I2(X) V_UNIO
0970: 4e 28 58 2c 20 69 56 61 6c 29 0d 0a 2f 2f 23 64  N(X, iVal)..//#d
0980: 65 66 69 6e 65 20 56 5f 55 49 32 28 58 29 20 56  efine V_UI2(X) V
0990: 5f 55 4e 49 4f 4e 28 58 2c 20 75 69 56 61 6c 29  _UNION(X, uiVal)
09a0: 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 49 32  ..//#define V_I2
09b0: 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58  REF(X) V_UNION(X
09c0: 2c 20 70 69 56 61 6c 29 0d 0a 2f 2f 23 64 65 66  , piVal)..//#def
09d0: 69 6e 65 20 56 5f 49 34 28 58 29 20 56 5f 55 4e  ine V_I4(X) V_UN
09e0: 49 4f 4e 28 58 2c 20 6c 56 61 6c 29 0d 0a 2f 2f  ION(X, lVal)..//
09f0: 23 64 65 66 69 6e 65 20 56 5f 55 49 34 28 58 29  #define V_UI4(X)
0a00: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 75 6c 56 61   V_UNION(X, ulVa
0a10: 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  l)..//#define V_
0a20: 49 34 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e  I4REF(X) V_UNION
0a30: 28 58 2c 20 70 6c 56 61 6c 29 0d 0a 2f 2f 23 64  (X, plVal)..//#d
0a40: 65 66 69 6e 65 20 56 5f 55 49 34 52 45 46 28 58  efine V_UI4REF(X
0a50: 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 75 6c  ) V_UNION(X, pul
0a60: 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20  Val)..//#define 
0a70: 56 5f 49 38 28 58 29 20 56 5f 55 4e 49 4f 4e 28  V_I8(X) V_UNION(
0a80: 58 2c 20 6c 6c 56 61 6c 29 0d 0a 2f 2f 23 64 65  X, llVal)..//#de
0a90: 66 69 6e 65 20 56 5f 55 49 38 28 58 29 20 56 5f  fine V_UI8(X) V_
0aa0: 55 4e 49 4f 4e 28 58 2c 20 75 6c 6c 56 61 6c 29  UNION(X, ullVal)
0ab0: 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 49 38  ..//#define V_I8
0ac0: 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58  REF(X) V_UNION(X
0ad0: 2c 20 70 6c 6c 56 61 6c 29 0d 0a 2f 2f 23 64 65  , pllVal)..//#de
0ae0: 66 69 6e 65 20 56 5f 55 49 38 52 45 46 28 58 29  fine V_UI8REF(X)
0af0: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 75 6c 6c   V_UNION(X, pull
0b00: 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20  Val)..//#define 
0b10: 56 5f 52 34 28 58 29 20 56 5f 55 4e 49 4f 4e 28  V_R4(X) V_UNION(
0b20: 58 2c 20 66 6c 74 56 61 6c 29 0d 0a 2f 2f 23 64  X, fltVal)..//#d
0b30: 65 66 69 6e 65 20 56 5f 52 34 52 45 46 28 58 29  efine V_R4REF(X)
0b40: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 66 6c 74   V_UNION(X, pflt
0b50: 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20  Val)..//#define 
0b60: 56 5f 52 38 28 58 29 20 56 5f 55 4e 49 4f 4e 28  V_R8(X) V_UNION(
0b70: 58 2c 20 64 62 6c 56 61 6c 29 0d 0a 2f 2f 23 64  X, dblVal)..//#d
0b80: 65 66 69 6e 65 20 56 5f 52 38 52 45 46 28 58 29  efine V_R8REF(X)
0b90: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 64 62 6c   V_UNION(X, pdbl
0ba0: 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20  Val)..//#define 
0bb0: 56 5f 43 59 28 58 29 20 56 5f 55 4e 49 4f 4e 28  V_CY(X) V_UNION(
0bc0: 58 2c 20 63 79 56 61 6c 29 0d 0a 2f 2f 23 64 65  X, cyVal)..//#de
0bd0: 66 69 6e 65 20 56 5f 43 59 52 45 46 28 58 29 20  fine V_CYREF(X) 
0be0: 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 63 79 56 61  V_UNION(X, pcyVa
0bf0: 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  l)..//#define V_
0c00: 44 41 54 45 28 58 29 20 56 5f 55 4e 49 4f 4e 28  DATE(X) V_UNION(
0c10: 58 2c 20 64 61 74 65 29 0d 0a 2f 2f 23 64 65 66  X, date)..//#def
0c20: 69 6e 65 20 56 5f 44 41 54 45 52 45 46 28 58 29  ine V_DATEREF(X)
0c30: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 64 61 74   V_UNION(X, pdat
0c40: 65 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  e)..//#define V_
0c50: 42 53 54 52 28 58 29 20 56 5f 55 4e 49 4f 4e 28  BSTR(X) V_UNION(
0c60: 58 2c 20 62 73 74 72 56 61 6c 29 0d 0a 2f 2f 23  X, bstrVal)..//#
0c70: 64 65 66 69 6e 65 20 56 5f 42 53 54 52 52 45 46  define V_BSTRREF
0c80: 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70  (X) V_UNION(X, p
0c90: 62 73 74 72 56 61 6c 29 0d 0a 2f 2f 23 64 65 66  bstrVal)..//#def
0ca0: 69 6e 65 20 56 5f 44 49 53 50 41 54 43 48 28 58  ine V_DISPATCH(X
0cb0: 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 64 69  ) V_UNION(X, pdi
0cc0: 73 70 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e  spVal)..//#defin
0cd0: 65 20 56 5f 44 49 53 50 41 54 43 48 52 45 46 28  e V_DISPATCHREF(
0ce0: 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 70  X) V_UNION(X, pp
0cf0: 64 69 73 70 56 61 6c 29 0d 0a 2f 2f 23 64 65 66  dispVal)..//#def
0d00: 69 6e 65 20 56 5f 45 52 52 4f 52 28 58 29 20 56  ine V_ERROR(X) V
0d10: 5f 55 4e 49 4f 4e 28 58 2c 20 73 63 6f 64 65 29  _UNION(X, scode)
0d20: 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 45 52  ..//#define V_ER
0d30: 52 4f 52 52 45 46 28 58 29 20 56 5f 55 4e 49 4f  RORREF(X) V_UNIO
0d40: 4e 28 58 2c 20 70 73 63 6f 64 65 29 0d 0a 2f 2f  N(X, pscode)..//
0d50: 23 64 65 66 69 6e 65 20 56 5f 42 4f 4f 4c 52 45  #define V_BOOLRE
0d60: 46 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20  F(X) V_UNION(X, 
0d70: 70 62 6f 6f 6c 56 61 6c 29 0d 0a 2f 2f 23 64 65  pboolVal)..//#de
0d80: 66 69 6e 65 20 56 5f 55 4e 4b 4e 4f 57 4e 28 58  fine V_UNKNOWN(X
0d90: 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 75 6e  ) V_UNION(X, pun
0da0: 6b 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65  kVal)..//#define
0db0: 20 56 5f 55 4e 4b 4e 4f 57 4e 52 45 46 28 58 29   V_UNKNOWNREF(X)
0dc0: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 70 75 6e   V_UNION(X, ppun
0dd0: 6b 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65  kVal)..//#define
0de0: 20 56 5f 56 41 52 49 41 4e 54 52 45 46 28 58 29   V_VARIANTREF(X)
0df0: 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 76 61 72   V_UNION(X, pvar
0e00: 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20  Val)..//#define 
0e10: 56 5f 4c 50 53 54 52 28 58 29 20 56 5f 55 4e 49  V_LPSTR(X) V_UNI
0e20: 4f 4e 28 58 2c 20 70 73 7a 56 61 6c 29 0d 0a 2f  ON(X, pszVal)../
0e30: 2f 23 64 65 66 69 6e 65 20 56 5f 4c 50 53 54 52  /#define V_LPSTR
0e40: 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58  REF(X) V_UNION(X
0e50: 2c 20 70 70 73 7a 56 61 6c 29 0d 0a 2f 2f 23 64  , ppszVal)..//#d
0e60: 65 66 69 6e 65 20 56 5f 4c 50 57 53 54 52 28 58  efine V_LPWSTR(X
0e70: 29 20 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 77 73  ) V_UNION(X, pws
0e80: 7a 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65  zVal)..//#define
0e90: 20 56 5f 4c 50 57 53 54 52 52 45 46 28 58 29 20   V_LPWSTRREF(X) 
0ea0: 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 70 77 73 7a  V_UNION(X, ppwsz
0eb0: 56 61 6c 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20  Val)..//#define 
0ec0: 56 5f 46 49 4c 45 54 49 4d 45 28 58 29 20 56 5f  V_FILETIME(X) V_
0ed0: 55 4e 49 4f 4e 28 58 2c 20 66 69 6c 65 74 69 6d  UNION(X, filetim
0ee0: 65 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  e)..//#define V_
0ef0: 46 49 4c 45 54 49 4d 45 52 45 46 28 58 29 20 56  FILETIMEREF(X) V
0f00: 5f 55 4e 49 4f 4e 28 58 2c 20 70 66 69 6c 65 74  _UNION(X, pfilet
0f10: 69 6d 65 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20  ime)..//#define 
0f20: 56 5f 42 4c 4f 42 28 58 29 20 56 5f 55 4e 49 4f  V_BLOB(X) V_UNIO
0f30: 4e 28 58 2c 20 62 6c 6f 62 29 0d 0a 2f 2f 23 64  N(X, blob)..//#d
0f40: 65 66 69 6e 65 20 56 5f 55 55 49 44 28 58 29 20  efine V_UUID(X) 
0f50: 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 75 75 69 64  V_UNION(X, puuid
0f60: 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 43  )..//#define V_C
0f70: 4c 53 49 44 28 58 29 20 56 5f 55 4e 49 4f 4e 28  LSID(X) V_UNION(
0f80: 58 2c 20 70 75 75 69 64 29 0d 0a 2f 2f 23 64 65  X, puuid)..//#de
0f90: 66 69 6e 65 20 56 5f 41 52 52 41 59 28 58 29 20  fine V_ARRAY(X) 
0fa0: 56 5f 55 4e 49 4f 4e 28 58 2c 20 70 61 72 72 61  V_UNION(X, parra
0fb0: 79 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f  y)..//#define V_
0fc0: 41 52 52 41 59 52 45 46 28 58 29 20 56 5f 55 4e  ARRAYREF(X) V_UN
0fd0: 49 4f 4e 28 58 2c 20 70 70 61 72 72 61 79 29 0d  ION(X, pparray).
0fe0: 0a 2f 2f 23 64 65 66 69 6e 65 20 56 5f 42 59 52  .//#define V_BYR
0ff0: 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e 28 58 2c  EF(X) V_UNION(X,
1000: 20 62 79 72 65 66 29 0d 0a 2f 2f 23 64 65 66 69   byref)..//#defi
1010: 6e 65 20 56 5f 44 45 43 49 4d 41 4c 28 58 29 20  ne V_DECIMAL(X) 
1020: 28 28 58 29 2d 3e 64 65 63 56 61 6c 29 0d 0a 2f  ((X)->decVal)../
1030: 2f 23 64 65 66 69 6e 65 20 56 5f 44 45 43 49 4d  /#define V_DECIM
1040: 41 4c 52 45 46 28 58 29 20 56 5f 55 4e 49 4f 4e  ALREF(X) V_UNION
1050: 28 58 2c 20 70 64 65 63 56 61 6c 29 0d 0a 2f 2f  (X, pdecVal)..//
1060: 23 64 65 66 69 6e 65 20 56 5f 49 31 28 58 29 20  #define V_I1(X) 
1070: 56 5f 55 4e 49 4f 4e 28 58 2c 20 63 56 61 6c 29  V_UNION(X, cVal)
1080: 0d 0a 0d 0a 2f 2f 23 69 66 64 65 66 20 5f 57 49  ....//#ifdef _WI
1090: 4e 36 34 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56  N64..//#define V
10a0: 5f 49 4e 54 5f 50 54 52 28 58 29 20 56 5f 49 38  _INT_PTR(X) V_I8
10b0: 28 58 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20 56  (X)..//#define V
10c0: 5f 55 49 4e 54 5f 50 54 52 28 58 29 20 56 5f 55  _UINT_PTR(X) V_U
10d0: 49 38 28 58 29 0d 0a 2f 2f 23 64 65 66 69 6e 65  I8(X)..//#define
10e0: 20 56 5f 49 4e 54 5f 50 54 52 52 45 46 28 58 29   V_INT_PTRREF(X)
10f0: 20 56 5f 49 38 52 45 46 28 58 29 0d 0a 2f 2f 23   V_I8REF(X)..//#
1100: 64 65 66 69 6e 65 20 56 5f 55 49 4e 54 5f 50 54  define V_UINT_PT
1110: 52 52 45 46 28 58 29 20 56 5f 55 49 38 52 45 46  RREF(X) V_UI8REF
1120: 28 58 29 0d 0a 2f 2f 23 65 6c 73 65 0d 0a 2f 2f  (X)..//#else..//
1130: 23 64 65 66 69 6e 65 20 56 5f 49 4e 54 5f 50 54  #define V_INT_PT
1140: 52 28 58 29 20 56 5f 49 34 28 58 29 0d 0a 2f 2f  R(X) V_I4(X)..//
1150: 23 64 65 66 69 6e 65 20 56 5f 55 49 4e 54 5f 50  #define V_UINT_P
1160: 54 52 28 58 29 20 56 5f 55 49 34 28 58 29 0d 0a  TR(X) V_UI4(X)..
1170: 2f 2f 23 64 65 66 69 6e 65 20 56 5f 49 4e 54 5f  //#define V_INT_
1180: 50 54 52 52 45 46 28 58 29 20 56 5f 49 34 52 45  PTRREF(X) V_I4RE
1190: 46 28 58 29 0d 0a 2f 2f 23 64 65 66 69 6e 65 20  F(X)..//#define 
11a0: 56 5f 55 49 4e 54 5f 50 54 52 52 45 46 28 58 29  V_UINT_PTRREF(X)
11b0: 20 56 5f 55 49 34 52 45 46 28 58 29 0d 0a 2f 2f   V_UI4REF(X)..//
11c0: 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 7b  #endif....enum {
11d0: 0d 0a 09 56 41 52 43 4d 50 5f 4c 54 20 3d 20 30  ...VARCMP_LT = 0
11e0: 2c 0d 0a 09 56 41 52 43 4d 50 5f 45 51 2c 0d 0a  ,...VARCMP_EQ,..
11f0: 09 56 41 52 43 4d 50 5f 47 54 2c 0d 0a 09 56 41  .VARCMP_GT,...VA
1200: 52 43 4d 50 5f 4e 55 4c 4c 20 2f 2f 20 3d 20 33  RCMP_NULL // = 3
1210: 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 4c 4f 43  ..}....const LOC
1220: 41 4c 45 5f 55 53 45 5f 4e 4c 53 20 3d 20 30 78  ALE_USE_NLS = 0x
1230: 31 30 30 30 30 30 30 30 3b 0d 0a 0d 0a 63 6f 6e  10000000;....con
1240: 73 74 20 56 41 52 49 41 4e 54 5f 4e 4f 55 53 45  st VARIANT_NOUSE
1250: 52 4f 56 45 52 52 49 44 45 20 20 20 20 20 3d 20  ROVERRIDE     = 
1260: 30 78 30 34 3b 0d 0a 63 6f 6e 73 74 20 56 41 52  0x04;..const VAR
1270: 49 41 4e 54 5f 43 41 4c 45 4e 44 41 52 5f 48 49  IANT_CALENDAR_HI
1280: 4a 52 49 20 20 20 20 20 3d 20 30 78 30 38 3b 0d  JRI     = 0x08;.
1290: 0a 63 6f 6e 73 74 20 56 41 52 49 41 4e 54 5f 43  .const VARIANT_C
12a0: 41 4c 45 4e 44 41 52 5f 54 48 41 49 20 20 20 20  ALENDAR_THAI    
12b0: 20 20 3d 20 30 78 32 30 3b 0d 0a 63 6f 6e 73 74    = 0x20;..const
12c0: 20 56 41 52 49 41 4e 54 5f 43 41 4c 45 4e 44 41   VARIANT_CALENDA
12d0: 52 5f 47 52 45 47 4f 52 49 41 4e 20 3d 20 30 78  R_GREGORIAN = 0x
12e0: 34 30 3b 0d 0a 63 6f 6e 73 74 20 56 41 52 49 41  40;..const VARIA
12f0: 4e 54 5f 55 53 45 5f 4e 4c 53 20 20 20 20 20 20  NT_USE_NLS      
1300: 20 20 20 20 20 20 3d 20 30 78 38 30 3b 0d 0a 0d        = 0x80;...
1310: 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 4c 45  .const NUMPRS_LE
1320: 41 44 49 4e 47 5f 57 48 49 54 45 20 20 3d 20 30  ADING_WHITE  = 0
1330: 78 30 30 30 30 31 3b 0d 0a 63 6f 6e 73 74 20 4e  x00001;..const N
1340: 55 4d 50 52 53 5f 54 52 41 49 4c 49 4e 47 5f 57  UMPRS_TRAILING_W
1350: 48 49 54 45 20 3d 20 30 78 30 30 30 30 32 3b 0d  HITE = 0x00002;.
1360: 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 4c 45  .const NUMPRS_LE
1370: 41 44 49 4e 47 5f 50 4c 55 53 20 20 20 3d 20 30  ADING_PLUS   = 0
1380: 78 30 30 30 30 34 3b 0d 0a 63 6f 6e 73 74 20 4e  x00004;..const N
1390: 55 4d 50 52 53 5f 54 52 41 49 4c 49 4e 47 5f 50  UMPRS_TRAILING_P
13a0: 4c 55 53 20 20 3d 20 30 78 30 30 30 30 38 3b 0d  LUS  = 0x00008;.
13b0: 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 4c 45  .const NUMPRS_LE
13c0: 41 44 49 4e 47 5f 4d 49 4e 55 53 20 20 3d 20 30  ADING_MINUS  = 0
13d0: 78 30 30 30 31 30 3b 0d 0a 63 6f 6e 73 74 20 4e  x00010;..const N
13e0: 55 4d 50 52 53 5f 54 52 41 49 4c 49 4e 47 5f 4d  UMPRS_TRAILING_M
13f0: 49 4e 55 53 20 3d 20 30 78 30 30 30 32 30 3b 0d  INUS = 0x00020;.
1400: 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 48 45  .const NUMPRS_HE
1410: 58 5f 4f 43 54 20 20 20 20 20 20 20 20 3d 20 30  X_OCT        = 0
1420: 78 30 30 30 34 30 3b 0d 0a 63 6f 6e 73 74 20 4e  x00040;..const N
1430: 55 4d 50 52 53 5f 50 41 52 45 4e 53 20 20 20 20  UMPRS_PARENS    
1440: 20 20 20 20 20 3d 20 30 78 30 30 30 38 30 3b 0d       = 0x00080;.
1450: 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 44 45  .const NUMPRS_DE
1460: 43 49 4d 41 4c 20 20 20 20 20 20 20 20 3d 20 30  CIMAL        = 0
1470: 78 30 30 31 30 30 3b 0d 0a 63 6f 6e 73 74 20 4e  x00100;..const N
1480: 55 4d 50 52 53 5f 54 48 4f 55 53 41 4e 44 53 20  UMPRS_THOUSANDS 
1490: 20 20 20 20 20 3d 20 30 78 30 30 32 30 30 3b 0d       = 0x00200;.
14a0: 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 43 55  .const NUMPRS_CU
14b0: 52 52 45 4e 43 59 20 20 20 20 20 20 20 3d 20 30  RRENCY       = 0
14c0: 78 30 30 34 30 30 3b 0d 0a 63 6f 6e 73 74 20 4e  x00400;..const N
14d0: 55 4d 50 52 53 5f 45 58 50 4f 4e 45 4e 54 20 20  UMPRS_EXPONENT  
14e0: 20 20 20 20 20 3d 20 30 78 30 30 38 30 30 3b 0d       = 0x00800;.
14f0: 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 55 53  .const NUMPRS_US
1500: 45 5f 41 4c 4c 20 20 20 20 20 20 20 20 3d 20 30  E_ALL        = 0
1510: 78 30 31 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 4e  x01000;..const N
1520: 55 4d 50 52 53 5f 53 54 44 20 20 20 20 20 20 20  UMPRS_STD       
1530: 20 20 20 20 20 3d 20 30 78 30 31 46 46 46 3b 0d       = 0x01FFF;.
1540: 0a 63 6f 6e 73 74 20 4e 55 4d 50 52 53 5f 4e 45  .const NUMPRS_NE
1550: 47 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  G            = 0
1560: 78 31 30 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 4e  x10000;..const N
1570: 55 4d 50 52 53 5f 49 4e 45 58 41 43 54 20 20 20  UMPRS_INEXACT   
1580: 20 20 20 20 20 3d 20 30 78 32 30 30 30 30 3b 0d       = 0x20000;.
1590: 0a 0d 0a 63 6f 6e 73 74 20 56 54 42 49 54 5f 49  ...const VTBIT_I
15a0: 31 20 3d 20 31 20 3c 3c 20 56 41 52 45 4e 55 4d  1 = 1 << VARENUM
15b0: 2e 56 54 5f 49 31 3b 0d 0a 63 6f 6e 73 74 20 56  .VT_I1;..const V
15c0: 54 42 49 54 5f 55 49 31 20 3d 20 31 20 3c 3c 20  TBIT_UI1 = 1 << 
15d0: 56 41 52 45 4e 55 4d 2e 56 54 5f 55 49 31 3b 0d  VARENUM.VT_UI1;.
15e0: 0a 63 6f 6e 73 74 20 56 54 42 49 54 5f 49 32 20  .const VTBIT_I2 
15f0: 3d 20 31 20 3c 3c 20 56 41 52 45 4e 55 4d 2e 56  = 1 << VARENUM.V
1600: 54 5f 49 32 3b 0d 0a 63 6f 6e 73 74 20 56 54 42  T_I2;..const VTB
1610: 49 54 5f 55 49 32 20 3d 20 31 20 3c 3c 20 56 41  IT_UI2 = 1 << VA
1620: 52 45 4e 55 4d 2e 56 54 5f 55 49 32 3b 0d 0a 63  RENUM.VT_UI2;..c
1630: 6f 6e 73 74 20 56 54 42 49 54 5f 49 34 20 3d 20  onst VTBIT_I4 = 
1640: 31 20 3c 3c 20 56 41 52 45 4e 55 4d 2e 56 54 5f  1 << VARENUM.VT_
1650: 49 34 3b 0d 0a 63 6f 6e 73 74 20 56 54 42 49 54  I4;..const VTBIT
1660: 5f 55 49 34 20 3d 20 31 20 3c 3c 20 56 41 52 45  _UI4 = 1 << VARE
1670: 4e 55 4d 2e 56 54 5f 55 49 34 3b 0d 0a 63 6f 6e  NUM.VT_UI4;..con
1680: 73 74 20 56 54 42 49 54 5f 49 38 20 3d 20 31 20  st VTBIT_I8 = 1 
1690: 3c 3c 20 56 41 52 45 4e 55 4d 2e 56 54 5f 49 38  << VARENUM.VT_I8
16a0: 3b 0d 0a 63 6f 6e 73 74 20 56 54 42 49 54 5f 55  ;..const VTBIT_U
16b0: 49 38 20 3d 20 31 20 3c 3c 20 56 41 52 45 4e 55  I8 = 1 << VARENU
16c0: 4d 2e 56 54 5f 55 49 38 3b 0d 0a 63 6f 6e 73 74  M.VT_UI8;..const
16d0: 20 56 54 42 49 54 5f 52 34 20 3d 20 31 20 3c 3c   VTBIT_R4 = 1 <<
16e0: 20 56 41 52 45 4e 55 4d 2e 56 54 5f 52 34 3b 0d   VARENUM.VT_R4;.
16f0: 0a 63 6f 6e 73 74 20 56 54 42 49 54 5f 52 38 20  .const VTBIT_R8 
1700: 3d 20 31 20 3c 3c 20 56 41 52 45 4e 55 4d 2e 56  = 1 << VARENUM.V
1710: 54 5f 52 38 3b 0d 0a 63 6f 6e 73 74 20 56 54 42  T_R8;..const VTB
1720: 49 54 5f 43 59 20 3d 20 31 20 3c 3c 20 56 41 52  IT_CY = 1 << VAR
1730: 45 4e 55 4d 2e 56 54 5f 43 59 3b 0d 0a 63 6f 6e  ENUM.VT_CY;..con
1740: 73 74 20 56 54 42 49 54 5f 44 45 43 49 4d 41 4c  st VTBIT_DECIMAL
1750: 20 3d 20 31 20 3c 3c 20 56 41 52 45 4e 55 4d 2e   = 1 << VARENUM.
1760: 56 54 5f 44 45 43 49 4d 41 4c 3b 0d 0a 0d 0a 0d  VT_DECIMAL;.....
1770: 0a 65 6e 75 6d 20 52 45 47 4b 49 4e 44 7b 0d 0a  .enum REGKIND{..
1780: 09 52 45 47 4b 49 4e 44 5f 44 45 46 41 55 4c 54  .REGKIND_DEFAULT
1790: 2c 0d 0a 09 52 45 47 4b 49 4e 44 5f 52 45 47 49  ,...REGKIND_REGI
17a0: 53 54 45 52 2c 0d 0a 09 52 45 47 4b 49 4e 44 5f  STER,...REGKIND_
17b0: 4e 4f 4e 45 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63  NONE..}....struc
17c0: 74 20 50 41 52 41 4d 44 41 54 41 7b 0d 0a 09 4f  t PARAMDATA{...O
17d0: 4c 45 43 48 41 52 2a 20 73 7a 4e 61 6d 65 3b 0d  LECHAR* szName;.
17e0: 0a 09 56 41 52 54 59 50 45 20 76 74 3b 0d 0a 7d  ..VARTYPE vt;..}
17f0: 0d 0a 61 6c 69 61 73 20 50 41 52 41 4d 44 41 54  ..alias PARAMDAT
1800: 41 2a 20 4c 50 50 41 52 41 4d 44 41 54 41 3b 0d  A* LPPARAMDATA;.
1810: 0a 0d 0a 73 74 72 75 63 74 20 4d 45 54 48 4f 44  ...struct METHOD
1820: 44 41 54 41 7b 0d 0a 09 4f 4c 45 43 48 41 52 2a  DATA{...OLECHAR*
1830: 20 73 7a 4e 61 6d 65 3b 0d 0a 09 50 41 52 41 4d   szName;...PARAM
1840: 44 41 54 41 2a 20 70 70 64 61 74 61 3b 0d 0a 09  DATA* ppdata;...
1850: 44 49 53 50 49 44 20 64 69 73 70 69 64 3b 0d 0a  DISPID dispid;..
1860: 09 55 49 4e 54 20 69 4d 65 74 68 3b 0d 0a 09 43  .UINT iMeth;...C
1870: 41 4c 4c 43 4f 4e 56 20 63 63 3b 0d 0a 09 55 49  ALLCONV cc;...UI
1880: 4e 54 20 63 41 72 67 73 3b 0d 0a 09 57 4f 52 44  NT cArgs;...WORD
1890: 20 77 46 6c 61 67 73 3b 0d 0a 09 56 41 52 54 59   wFlags;...VARTY
18a0: 50 45 20 76 74 52 65 74 75 72 6e 3b 0d 0a 7d 0d  PE vtReturn;..}.
18b0: 0a 61 6c 69 61 73 20 4d 45 54 48 4f 44 44 41 54  .alias METHODDAT
18c0: 41 2a 20 4c 50 4d 45 54 48 4f 44 44 41 54 41 3b  A* LPMETHODDATA;
18d0: 0d 0a 0d 0a 73 74 72 75 63 74 20 49 4e 54 45 52  ....struct INTER
18e0: 46 41 43 45 44 41 54 41 7b 0d 0a 09 4d 45 54 48  FACEDATA{...METH
18f0: 4f 44 44 41 54 41 2a 20 70 6d 65 74 68 64 61 74  ODDATA* pmethdat
1900: 61 3b 0d 0a 09 55 49 4e 54 20 63 4d 65 6d 62 65  a;...UINT cMembe
1910: 72 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 4e  rs;..}..alias IN
1920: 54 45 52 46 41 43 45 44 41 54 41 2a 20 4c 50 49  TERFACEDATA* LPI
1930: 4e 54 45 52 46 41 43 45 44 41 54 41 3b 0d 0a 0d  NTERFACEDATA;...
1940: 0a 73 74 72 75 63 74 20 55 44 41 54 45 20 7b 0d  .struct UDATE {.
1950: 0a 09 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b  ..SYSTEMTIME st;
1960: 0d 0a 09 55 53 48 4f 52 54 20 77 44 61 79 4f 66  ...USHORT wDayOf
1970: 59 65 61 72 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75  Year;..}....stru
1980: 63 74 20 4e 55 4d 50 41 52 53 45 20 7b 0d 0a 09  ct NUMPARSE {...
1990: 69 6e 74 20 63 44 69 67 3b 0d 0a 09 75 69 6e 74  int cDig;...uint
19a0: 20 64 77 49 6e 46 6c 61 67 73 3b 0d 0a 09 75 69   dwInFlags;...ui
19b0: 6e 74 20 64 77 4f 75 74 46 6c 61 67 73 3b 0d 0a  nt dwOutFlags;..
19c0: 09 69 6e 74 20 63 63 68 55 73 65 64 3b 0d 0a 09  .int cchUsed;...
19d0: 69 6e 74 20 6e 42 61 73 65 53 68 69 66 74 3b 0d  int nBaseShift;.
19e0: 0a 09 69 6e 74 20 6e 50 77 72 31 30 3b 0d 0a 7d  ..int nPwr10;..}
19f0: 0d 0a 0d 0a 0d 0a 2f 2f 20 44 41 43 3a 20 49 6e  ......// DAC: In
1a00: 20 4d 69 6e 47 57 2c 20 74 68 65 73 65 20 77 65   MinGW, these we
1a10: 72 65 20 64 65 63 6c 61 72 65 64 20 62 75 74 20  re declared but 
1a20: 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 6f  not defined in o
1a30: 61 69 64 6c 2e 0d 0a 2f 2f 20 54 68 65 20 53 44  aidl...// The SD
1a40: 4b 20 64 6f 63 73 20 73 75 67 67 65 73 74 20 74  K docs suggest t
1a50: 68 65 79 20 62 65 6c 6f 6e 67 20 69 6e 20 74 68  hey belong in th
1a60: 69 73 20 66 69 6c 65 20 69 6e 73 74 65 61 64 2e  is file instead.
1a70: 0d 0a 0d 0a 64 65 70 72 65 63 61 74 65 64 20 7b  ....deprecated {
1a80: 20 20 2f 2f 20 6e 6f 74 20 61 63 74 75 61 6c 6c    // not actuall
1a90: 79 20 64 65 70 72 65 63 61 74 65 64 2c 20 62 75  y deprecated, bu
1aa0: 74 20 74 68 65 79 20 61 72 65 6e 27 74 20 63 6f  t they aren't co
1ab0: 6e 76 65 72 74 65 64 20 79 65 74 2e 0d 0a 20 20  nverted yet...  
1ac0: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 28              // (
1ad0: 77 69 6c 6c 20 6e 65 65 64 20 74 6f 20 72 65 69  will need to rei
1ae0: 6e 73 74 61 74 65 20 43 72 65 61 74 65 54 79 70  nstate CreateTyp
1af0: 65 4c 69 62 20 61 73 20 77 65 6c 6c 29 0d 0a 09  eLib as well)...
1b00: 69 6e 74 65 72 66 61 63 65 20 49 43 72 65 61 74  interface ICreat
1b10: 65 54 79 70 65 49 6e 66 6f 20 7b 7d 3b 0d 0a 09  eTypeInfo {};...
1b20: 69 6e 74 65 72 66 61 63 65 20 49 43 72 65 61 74  interface ICreat
1b30: 65 54 79 70 65 49 6e 66 6f 32 20 7b 7d 3b 0d 0a  eTypeInfo2 {};..
1b40: 09 69 6e 74 65 72 66 61 63 65 20 49 43 72 65 61  .interface ICrea
1b50: 74 65 54 79 70 65 4c 69 62 20 7b 7d 3b 0d 0a 09  teTypeLib {};...
1b60: 69 6e 74 65 72 66 61 63 65 20 49 43 72 65 61 74  interface ICreat
1b70: 65 54 79 70 65 4c 69 62 32 20 7b 7d 3b 0d 0a 0d  eTypeLib2 {};...
1b80: 0a 09 61 6c 69 61 73 20 49 43 72 65 61 74 65 54  ..alias ICreateT
1b90: 79 70 65 49 6e 66 6f 20 4c 50 43 52 45 41 54 45  ypeInfo LPCREATE
1ba0: 54 59 50 45 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61  TYPEINFO;...alia
1bb0: 73 20 49 43 72 65 61 74 65 54 79 70 65 49 6e 66  s ICreateTypeInf
1bc0: 6f 32 20 4c 50 43 52 45 41 54 45 54 59 50 45 49  o2 LPCREATETYPEI
1bd0: 4e 46 4f 32 3b 0d 0a 09 61 6c 69 61 73 20 49 43  NFO2;...alias IC
1be0: 72 65 61 74 65 54 79 70 65 4c 69 62 20 4c 50 43  reateTypeLib LPC
1bf0: 52 45 41 54 45 54 59 50 45 4c 49 42 3b 0d 0a 09  REATETYPELIB;...
1c00: 61 6c 69 61 73 20 49 43 72 65 61 74 65 54 79 70  alias ICreateTyp
1c10: 65 4c 69 62 32 20 4c 50 43 52 45 41 54 45 54 59  eLib2 LPCREATETY
1c20: 50 45 4c 49 42 32 3b 0d 0a 7d 0d 0a 0d 0a 65 78  PELIB2;..}....ex
1c30: 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b  tern (Windows) {
1c40: 0d 0a 09 42 53 54 52 20 53 79 73 41 6c 6c 6f 63  ...BSTR SysAlloc
1c50: 53 74 72 69 6e 67 28 63 6f 6e 73 74 28 4f 4c 45  String(const(OLE
1c60: 43 48 41 52 29 2a 29 3b 0d 0a 09 69 6e 74 20 53  CHAR)*);...int S
1c70: 79 73 52 65 41 6c 6c 6f 63 53 74 72 69 6e 67 28  ysReAllocString(
1c80: 42 53 54 52 2a 2c 20 63 6f 6e 73 74 28 4f 4c 45  BSTR*, const(OLE
1c90: 43 48 41 52 29 2a 29 3b 0d 0a 09 42 53 54 52 20  CHAR)*);...BSTR 
1ca0: 53 79 73 41 6c 6c 6f 63 53 74 72 69 6e 67 4c 65  SysAllocStringLe
1cb0: 6e 28 63 6f 6e 73 74 28 4f 4c 45 43 48 41 52 29  n(const(OLECHAR)
1cc0: 2a 2c 20 75 69 6e 74 29 3b 0d 0a 09 69 6e 74 20  *, uint);...int 
1cd0: 53 79 73 52 65 41 6c 6c 6f 63 53 74 72 69 6e 67  SysReAllocString
1ce0: 4c 65 6e 28 42 53 54 52 2a 2c 20 63 6f 6e 73 74  Len(BSTR*, const
1cf0: 28 4f 4c 45 43 48 41 52 29 2a 2c 20 75 69 6e 74  (OLECHAR)*, uint
1d00: 29 3b 0d 0a 09 76 6f 69 64 20 53 79 73 46 72 65  );...void SysFre
1d10: 65 53 74 72 69 6e 67 28 42 53 54 52 29 3b 0d 0a  eString(BSTR);..
1d20: 09 75 69 6e 74 20 53 79 73 53 74 72 69 6e 67 4c  .uint SysStringL
1d30: 65 6e 28 42 53 54 52 29 3b 0d 0a 09 75 69 6e 74  en(BSTR);...uint
1d40: 20 53 79 73 53 74 72 69 6e 67 42 79 74 65 4c 65   SysStringByteLe
1d50: 6e 28 42 53 54 52 29 3b 0d 0a 09 42 53 54 52 20  n(BSTR);...BSTR 
1d60: 53 79 73 41 6c 6c 6f 63 53 74 72 69 6e 67 42 79  SysAllocStringBy
1d70: 74 65 4c 65 6e 28 63 6f 6e 73 74 28 63 68 61 72  teLen(const(char
1d80: 29 2a 2c 20 75 69 6e 74 29 3b 0d 0a 09 69 6e 74  )*, uint);...int
1d90: 20 44 6f 73 44 61 74 65 54 69 6d 65 54 6f 56 61   DosDateTimeToVa
1da0: 72 69 61 6e 74 54 69 6d 65 28 75 73 68 6f 72 74  riantTime(ushort
1db0: 2c 20 75 73 68 6f 72 74 2c 20 64 6f 75 62 6c 65  , ushort, double
1dc0: 2a 29 3b 0d 0a 09 69 6e 74 20 56 61 72 69 61 6e  *);...int Varian
1dd0: 74 54 69 6d 65 54 6f 44 6f 73 44 61 74 65 54 69  tTimeToDosDateTi
1de0: 6d 65 28 64 6f 75 62 6c 65 2c 20 75 73 68 6f 72  me(double, ushor
1df0: 74 2a 2c 20 75 73 68 6f 72 74 2a 29 3b 0d 0a 09  t*, ushort*);...
1e00: 69 6e 74 20 56 61 72 69 61 6e 74 54 69 6d 65 54  int VariantTimeT
1e10: 6f 53 79 73 74 65 6d 54 69 6d 65 28 64 6f 75 62  oSystemTime(doub
1e20: 6c 65 2c 20 4c 50 53 59 53 54 45 4d 54 49 4d 45  le, LPSYSTEMTIME
1e30: 29 3b 0d 0a 09 69 6e 74 20 53 79 73 74 65 6d 54  );...int SystemT
1e40: 69 6d 65 54 6f 56 61 72 69 61 6e 74 54 69 6d 65  imeToVariantTime
1e50: 28 4c 50 53 59 53 54 45 4d 54 49 4d 45 2c 20 64  (LPSYSTEMTIME, d
1e60: 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48 52 45 53 55  ouble*);...HRESU
1e70: 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d 55 64  LT VarDateFromUd
1e80: 61 74 65 28 55 44 41 54 45 2a 2c 20 55 4c 4f 4e  ate(UDATE*, ULON
1e90: 47 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48 52 45  G, DATE*);...HRE
1ea0: 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d  SULT VarDateFrom
1eb0: 55 64 61 74 65 45 78 28 55 44 41 54 45 2a 2c 20  UdateEx(UDATE*, 
1ec0: 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 44 41 54  LCID, ULONG, DAT
1ed0: 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  E*);...HRESULT V
1ee0: 61 72 55 64 61 74 65 46 72 6f 6d 44 61 74 65 28  arUdateFromDate(
1ef0: 44 41 54 45 2c 20 55 4c 4f 4e 47 2c 20 55 44 41  DATE, ULONG, UDA
1f00: 54 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  TE*);...HRESULT 
1f10: 53 61 66 65 41 72 72 61 79 41 6c 6c 6f 63 44 65  SafeArrayAllocDe
1f20: 73 63 72 69 70 74 6f 72 28 75 69 6e 74 2c 20 53  scriptor(uint, S
1f30: 41 46 45 41 52 52 41 59 2a 2a 29 3b 0d 0a 09 48  AFEARRAY**);...H
1f40: 52 45 53 55 4c 54 20 53 61 66 65 41 72 72 61 79  RESULT SafeArray
1f50: 41 6c 6c 6f 63 44 61 74 61 28 53 41 46 45 41 52  AllocData(SAFEAR
1f60: 52 41 59 2a 29 3b 0d 0a 09 53 41 46 45 41 52 52  RAY*);...SAFEARR
1f70: 41 59 2a 20 53 61 66 65 41 72 72 61 79 43 72 65  AY* SafeArrayCre
1f80: 61 74 65 28 56 41 52 54 59 50 45 2c 20 75 69 6e  ate(VARTYPE, uin
1f90: 74 2c 20 53 41 46 45 41 52 52 41 59 42 4f 55 4e  t, SAFEARRAYBOUN
1fa0: 44 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53  D*);...HRESULT S
1fb0: 61 66 65 41 72 72 61 79 44 65 73 74 72 6f 79 44  afeArrayDestroyD
1fc0: 65 73 63 72 69 70 74 6f 72 28 53 41 46 45 41 52  escriptor(SAFEAR
1fd0: 52 41 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  RAY*);...HRESULT
1fe0: 20 53 61 66 65 41 72 72 61 79 44 65 73 74 72 6f   SafeArrayDestro
1ff0: 79 44 61 74 61 28 53 41 46 45 41 52 52 41 59 2a  yData(SAFEARRAY*
2000: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 61 66  );...HRESULT Saf
2010: 65 41 72 72 61 79 44 65 73 74 72 6f 79 28 53 41  eArrayDestroy(SA
2020: 46 45 41 52 52 41 59 2a 29 3b 0d 0a 09 48 52 45  FEARRAY*);...HRE
2030: 53 55 4c 54 20 53 61 66 65 41 72 72 61 79 52 65  SULT SafeArrayRe
2040: 64 69 6d 28 53 41 46 45 41 52 52 41 59 2a 2c 20  dim(SAFEARRAY*, 
2050: 53 41 46 45 41 52 52 41 59 42 4f 55 4e 44 2a 29  SAFEARRAYBOUND*)
2060: 3b 0d 0a 09 75 69 6e 74 20 53 61 66 65 41 72 72  ;...uint SafeArr
2070: 61 79 47 65 74 44 69 6d 28 53 41 46 45 41 52 52  ayGetDim(SAFEARR
2080: 41 59 2a 29 3b 0d 0a 09 75 69 6e 74 20 53 61 66  AY*);...uint Saf
2090: 65 41 72 72 61 79 47 65 74 45 6c 65 6d 73 69 7a  eArrayGetElemsiz
20a0: 65 28 53 41 46 45 41 52 52 41 59 2a 29 3b 0d 0a  e(SAFEARRAY*);..
20b0: 09 48 52 45 53 55 4c 54 20 53 61 66 65 41 72 72  .HRESULT SafeArr
20c0: 61 79 47 65 74 55 42 6f 75 6e 64 28 53 41 46 45  ayGetUBound(SAFE
20d0: 41 52 52 41 59 2a 2c 20 75 69 6e 74 2c 20 69 6e  ARRAY*, uint, in
20e0: 74 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53  t*);...HRESULT S
20f0: 61 66 65 41 72 72 61 79 47 65 74 4c 42 6f 75 6e  afeArrayGetLBoun
2100: 64 28 53 41 46 45 41 52 52 41 59 2a 2c 20 75 69  d(SAFEARRAY*, ui
2110: 6e 74 2c 20 69 6e 74 2a 29 3b 0d 0a 09 48 52 45  nt, int*);...HRE
2120: 53 55 4c 54 20 53 61 66 65 41 72 72 61 79 4c 6f  SULT SafeArrayLo
2130: 63 6b 28 53 41 46 45 41 52 52 41 59 2a 29 3b 0d  ck(SAFEARRAY*);.
2140: 0a 09 48 52 45 53 55 4c 54 20 53 61 66 65 41 72  ..HRESULT SafeAr
2150: 72 61 79 55 6e 6c 6f 63 6b 28 53 41 46 45 41 52  rayUnlock(SAFEAR
2160: 52 41 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  RAY*);...HRESULT
2170: 20 53 61 66 65 41 72 72 61 79 41 63 63 65 73 73   SafeArrayAccess
2180: 44 61 74 61 28 53 41 46 45 41 52 52 41 59 2a 2c  Data(SAFEARRAY*,
2190: 20 76 6f 69 64 2a 2a 29 3b 0d 0a 09 48 52 45 53   void**);...HRES
21a0: 55 4c 54 20 53 61 66 65 41 72 72 61 79 55 6e 61  ULT SafeArrayUna
21b0: 63 63 65 73 73 44 61 74 61 28 53 41 46 45 41 52  ccessData(SAFEAR
21c0: 52 41 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  RAY*);...HRESULT
21d0: 20 53 61 66 65 41 72 72 61 79 47 65 74 45 6c 65   SafeArrayGetEle
21e0: 6d 65 6e 74 28 53 41 46 45 41 52 52 41 59 2a 2c  ment(SAFEARRAY*,
21f0: 20 69 6e 74 2a 2c 20 76 6f 69 64 2a 29 3b 0d 0a   int*, void*);..
2200: 09 48 52 45 53 55 4c 54 20 53 61 66 65 41 72 72  .HRESULT SafeArr
2210: 61 79 50 75 74 45 6c 65 6d 65 6e 74 28 53 41 46  ayPutElement(SAF
2220: 45 41 52 52 41 59 2a 2c 20 69 6e 74 2a 2c 20 76  EARRAY*, int*, v
2230: 6f 69 64 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  oid*);...HRESULT
2240: 20 53 61 66 65 41 72 72 61 79 43 6f 70 79 28 53   SafeArrayCopy(S
2250: 41 46 45 41 52 52 41 59 2a 2c 20 53 41 46 45 41  AFEARRAY*, SAFEA
2260: 52 52 41 59 2a 2a 29 3b 0d 0a 09 48 52 45 53 55  RRAY**);...HRESU
2270: 4c 54 20 53 61 66 65 41 72 72 61 79 50 74 72 4f  LT SafeArrayPtrO
2280: 66 49 6e 64 65 78 28 53 41 46 45 41 52 52 41 59  fIndex(SAFEARRAY
2290: 2a 2c 20 69 6e 74 2a 2c 20 76 6f 69 64 2a 2a 29  *, int*, void**)
22a0: 3b 0d 0a 09 53 41 46 45 41 52 52 41 59 2a 20 53  ;...SAFEARRAY* S
22b0: 61 66 65 41 72 72 61 79 43 72 65 61 74 65 56 65  afeArrayCreateVe
22c0: 63 74 6f 72 28 56 41 52 54 59 50 45 2c 20 4c 4f  ctor(VARTYPE, LO
22d0: 4e 47 2c 20 55 4c 4f 4e 47 29 3b 0d 0a 09 53 41  NG, ULONG);...SA
22e0: 46 45 41 52 52 41 59 2a 20 53 61 66 65 41 72 72  FEARRAY* SafeArr
22f0: 61 79 43 72 65 61 74 65 56 65 63 74 6f 72 45 78  ayCreateVectorEx
2300: 28 56 41 52 54 59 50 45 2c 20 4c 4f 4e 47 2c 20  (VARTYPE, LONG, 
2310: 55 4c 4f 4e 47 2c 20 4c 50 56 4f 49 44 29 3b 0d  ULONG, LPVOID);.
2320: 0a 09 48 52 45 53 55 4c 54 20 53 61 66 65 41 72  ..HRESULT SafeAr
2330: 72 61 79 41 6c 6c 6f 63 44 65 73 63 72 69 70 74  rayAllocDescript
2340: 6f 72 45 78 28 56 41 52 54 59 50 45 2c 20 55 49  orEx(VARTYPE, UI
2350: 4e 54 2c 20 53 41 46 45 41 52 52 41 59 2a 2a 29  NT, SAFEARRAY**)
2360: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 61 66 65  ;...HRESULT Safe
2370: 41 72 72 61 79 47 65 74 56 61 72 74 79 70 65 28  ArrayGetVartype(
2380: 53 41 46 45 41 52 52 41 59 2a 2c 20 56 41 52 54  SAFEARRAY*, VART
2390: 59 50 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  YPE*);...HRESULT
23a0: 20 53 61 66 65 41 72 72 61 79 53 65 74 52 65 63   SafeArraySetRec
23b0: 6f 72 64 49 6e 66 6f 28 53 41 46 45 41 52 52 41  ordInfo(SAFEARRA
23c0: 59 2a 2c 20 49 52 65 63 6f 72 64 49 6e 66 6f 29  Y*, IRecordInfo)
23d0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 61 66 65  ;...HRESULT Safe
23e0: 41 72 72 61 79 47 65 74 52 65 63 6f 72 64 49 6e  ArrayGetRecordIn
23f0: 66 6f 28 53 41 46 45 41 52 52 41 59 2a 2c 20 49  fo(SAFEARRAY*, I
2400: 52 65 63 6f 72 64 49 6e 66 6f 2a 29 3b 0d 0a 09  RecordInfo*);...
2410: 48 52 45 53 55 4c 54 20 53 61 66 65 41 72 72 61  HRESULT SafeArra
2420: 79 53 65 74 49 49 44 28 53 41 46 45 41 52 52 41  ySetIID(SAFEARRA
2430: 59 2a 2c 20 52 45 46 47 55 49 44 29 3b 0d 0a 09  Y*, REFGUID);...
2440: 48 52 45 53 55 4c 54 20 53 61 66 65 41 72 72 61  HRESULT SafeArra
2450: 79 47 65 74 49 49 44 28 53 41 46 45 41 52 52 41  yGetIID(SAFEARRA
2460: 59 2a 2c 20 47 55 49 44 2a 29 3b 0d 0a 09 76 6f  Y*, GUID*);...vo
2470: 69 64 20 56 61 72 69 61 6e 74 49 6e 69 74 28 56  id VariantInit(V
2480: 41 52 49 41 4e 54 41 52 47 2a 29 3b 0d 0a 09 48  ARIANTARG*);...H
2490: 52 45 53 55 4c 54 20 56 61 72 69 61 6e 74 43 6c  RESULT VariantCl
24a0: 65 61 72 28 56 41 52 49 41 4e 54 41 52 47 2a 29  ear(VARIANTARG*)
24b0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 69  ;...HRESULT Vari
24c0: 61 6e 74 43 6f 70 79 28 56 41 52 49 41 4e 54 41  antCopy(VARIANTA
24d0: 52 47 2a 2c 20 56 41 52 49 41 4e 54 41 52 47 2a  RG*, VARIANTARG*
24e0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
24f0: 69 61 6e 74 43 6f 70 79 49 6e 64 28 56 41 52 49  iantCopyInd(VARI
2500: 41 4e 54 2a 2c 20 56 41 52 49 41 4e 54 41 52 47  ANT*, VARIANTARG
2510: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
2520: 72 69 61 6e 74 43 68 61 6e 67 65 54 79 70 65 28  riantChangeType(
2530: 56 41 52 49 41 4e 54 41 52 47 2a 2c 20 56 41 52  VARIANTARG*, VAR
2540: 49 41 4e 54 41 52 47 2a 2c 20 75 73 68 6f 72 74  IANTARG*, ushort
2550: 2c 20 56 41 52 54 59 50 45 29 3b 0d 0a 09 48 52  , VARTYPE);...HR
2560: 45 53 55 4c 54 20 56 61 72 69 61 6e 74 43 68 61  ESULT VariantCha
2570: 6e 67 65 54 79 70 65 45 78 28 56 41 52 49 41 4e  ngeTypeEx(VARIAN
2580: 54 41 52 47 2a 2c 20 56 41 52 49 41 4e 54 41 52  TARG*, VARIANTAR
2590: 47 2a 2c 20 4c 43 49 44 2c 20 75 73 68 6f 72 74  G*, LCID, ushort
25a0: 2c 20 56 41 52 54 59 50 45 29 3b 0d 0a 09 48 52  , VARTYPE);...HR
25b0: 45 53 55 4c 54 20 56 61 72 55 49 31 46 72 6f 6d  ESULT VarUI1From
25c0: 49 32 28 73 68 6f 72 74 2c 20 75 62 79 74 65 2a  I2(short, ubyte*
25d0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
25e0: 55 49 31 46 72 6f 6d 49 34 28 69 6e 74 2c 20 75  UI1FromI4(int, u
25f0: 62 79 74 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  byte*);...HRESUL
2600: 54 20 56 61 72 55 49 31 46 72 6f 6d 52 34 28 66  T VarUI1FromR4(f
2610: 6c 6f 61 74 2c 20 75 62 79 74 65 2a 29 3b 0d 0a  loat, ubyte*);..
2620: 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 31 46  .HRESULT VarUI1F
2630: 72 6f 6d 52 38 28 64 6f 75 62 6c 65 2c 20 75 62  romR8(double, ub
2640: 79 74 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  yte*);...HRESULT
2650: 20 56 61 72 55 49 31 46 72 6f 6d 43 79 28 43 59   VarUI1FromCy(CY
2660: 2c 20 75 62 79 74 65 2a 29 3b 0d 0a 09 48 52 45  , ubyte*);...HRE
2670: 53 55 4c 54 20 56 61 72 55 49 31 46 72 6f 6d 44  SULT VarUI1FromD
2680: 61 74 65 28 44 41 54 45 2c 20 75 62 79 74 65 2a  ate(DATE, ubyte*
2690: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
26a0: 55 49 31 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48  UI1FromStr(OLECH
26b0: 41 52 2a 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c  AR*, LCID, uint,
26c0: 20 75 62 79 74 65 2a 29 3b 0d 0a 09 48 52 45 53   ubyte*);...HRES
26d0: 55 4c 54 20 56 61 72 55 49 31 46 72 6f 6d 44 69  ULT VarUI1FromDi
26e0: 73 70 28 4c 50 44 49 53 50 41 54 43 48 2c 20 4c  sp(LPDISPATCH, L
26f0: 43 49 44 2c 20 75 62 79 74 65 2a 29 3b 0d 0a 09  CID, ubyte*);...
2700: 48 52 45 53 55 4c 54 20 56 61 72 55 49 31 46 72  HRESULT VarUI1Fr
2710: 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42  omBool(VARIANT_B
2720: 4f 4f 4c 2c 20 75 62 79 74 65 2a 29 3b 0d 0a 09  OOL, ubyte*);...
2730: 48 52 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f  HRESULT VarI2Fro
2740: 6d 55 49 31 28 75 62 79 74 65 2c 20 73 68 6f 72  mUI1(ubyte, shor
2750: 74 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  t*);...HRESULT V
2760: 61 72 49 32 46 72 6f 6d 49 34 28 69 6e 74 2c 20  arI2FromI4(int, 
2770: 73 68 6f 72 74 2a 29 3b 0d 0a 09 48 52 45 53 55  short*);...HRESU
2780: 4c 54 20 56 61 72 49 32 46 72 6f 6d 52 34 28 66  LT VarI2FromR4(f
2790: 6c 6f 61 74 2c 20 73 68 6f 72 74 2a 29 3b 0d 0a  loat, short*);..
27a0: 09 48 52 45 53 55 4c 54 20 56 61 72 49 32 46 72  .HRESULT VarI2Fr
27b0: 6f 6d 52 38 28 64 6f 75 62 6c 65 2c 20 73 68 6f  omR8(double, sho
27c0: 72 74 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  rt*);...HRESULT 
27d0: 56 61 72 49 32 46 72 6f 6d 43 79 28 43 59 20 63  VarI2FromCy(CY c
27e0: 79 49 6e 2c 20 73 68 6f 72 74 2a 29 3b 0d 0a 09  yIn, short*);...
27f0: 48 52 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f  HRESULT VarI2Fro
2800: 6d 44 61 74 65 28 44 41 54 45 2c 20 73 68 6f 72  mDate(DATE, shor
2810: 74 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  t*);...HRESULT V
2820: 61 72 49 32 46 72 6f 6d 53 74 72 28 4f 4c 45 43  arI2FromStr(OLEC
2830: 48 41 52 2a 2c 20 4c 43 49 44 2c 20 75 69 6e 74  HAR*, LCID, uint
2840: 2c 20 73 68 6f 72 74 2a 29 3b 0d 0a 09 48 52 45  , short*);...HRE
2850: 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d 44 69  SULT VarI2FromDi
2860: 73 70 28 4c 50 44 49 53 50 41 54 43 48 2c 20 4c  sp(LPDISPATCH, L
2870: 43 49 44 2c 20 73 68 6f 72 74 2a 29 3b 0d 0a 09  CID, short*);...
2880: 48 52 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f  HRESULT VarI2Fro
2890: 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f  mBool(VARIANT_BO
28a0: 4f 4c 2c 20 73 68 6f 72 74 2a 29 3b 0d 0a 09 48  OL, short*);...H
28b0: 52 45 53 55 4c 54 20 56 61 72 49 34 46 72 6f 6d  RESULT VarI4From
28c0: 55 49 31 28 75 62 79 74 65 2c 20 69 6e 74 2a 29  UI1(ubyte, int*)
28d0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49  ;...HRESULT VarI
28e0: 34 46 72 6f 6d 49 32 28 73 68 6f 72 74 2c 20 69  4FromI2(short, i
28f0: 6e 74 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  nt*);...HRESULT 
2900: 56 61 72 49 34 46 72 6f 6d 52 34 28 66 6c 6f 61  VarI4FromR4(floa
2910: 74 2c 20 69 6e 74 2a 29 3b 0d 0a 09 48 52 45 53  t, int*);...HRES
2920: 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 52 38 28  ULT VarI4FromR8(
2930: 64 6f 75 62 6c 65 2c 20 69 6e 74 2a 29 3b 0d 0a  double, int*);..
2940: 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46 72  .HRESULT VarI4Fr
2950: 6f 6d 43 79 28 43 59 2c 20 69 6e 74 2a 29 3b 0d  omCy(CY, int*);.
2960: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46  ..HRESULT VarI4F
2970: 72 6f 6d 44 61 74 65 28 44 41 54 45 2c 20 69 6e  romDate(DATE, in
2980: 74 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  t*);...HRESULT V
2990: 61 72 49 34 46 72 6f 6d 53 74 72 28 4f 4c 45 43  arI4FromStr(OLEC
29a0: 48 41 52 2a 2c 20 4c 43 49 44 2c 20 75 69 6e 74  HAR*, LCID, uint
29b0: 2c 20 69 6e 74 2a 29 3b 0d 0a 09 48 52 45 53 55  , int*);...HRESU
29c0: 4c 54 20 56 61 72 49 34 46 72 6f 6d 44 69 73 70  LT VarI4FromDisp
29d0: 28 4c 50 44 49 53 50 41 54 43 48 2c 20 4c 43 49  (LPDISPATCH, LCI
29e0: 44 2c 20 69 6e 74 2a 29 3b 0d 0a 09 48 52 45 53  D, int*);...HRES
29f0: 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 42 6f 6f  ULT VarI4FromBoo
2a00: 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20  l(VARIANT_BOOL, 
2a10: 69 6e 74 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  int*);...HRESULT
2a20: 20 56 61 72 52 34 46 72 6f 6d 55 49 31 28 75 62   VarR4FromUI1(ub
2a30: 79 74 65 2c 20 66 6c 6f 61 74 2a 29 3b 0d 0a 09  yte, float*);...
2a40: 48 52 45 53 55 4c 54 20 56 61 72 52 34 46 72 6f  HRESULT VarR4Fro
2a50: 6d 49 32 28 73 68 6f 72 74 2c 20 66 6c 6f 61 74  mI2(short, float
2a60: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
2a70: 72 52 34 46 72 6f 6d 49 34 28 69 6e 74 2c 20 66  rR4FromI4(int, f
2a80: 6c 6f 61 74 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  loat*);...HRESUL
2a90: 54 20 56 61 72 52 34 46 72 6f 6d 52 38 28 64 6f  T VarR4FromR8(do
2aa0: 75 62 6c 65 2c 20 66 6c 6f 61 74 2a 29 3b 0d 0a  uble, float*);..
2ab0: 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 46 72  .HRESULT VarR4Fr
2ac0: 6f 6d 43 79 28 43 59 2c 20 66 6c 6f 61 74 2a 29  omCy(CY, float*)
2ad0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52  ;...HRESULT VarR
2ae0: 34 46 72 6f 6d 44 61 74 65 28 44 41 54 45 2c 20  4FromDate(DATE, 
2af0: 66 6c 6f 61 74 2a 29 3b 0d 0a 09 48 52 45 53 55  float*);...HRESU
2b00: 4c 54 20 56 61 72 52 34 46 72 6f 6d 53 74 72 28  LT VarR4FromStr(
2b10: 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20  OLECHAR*, LCID, 
2b20: 75 69 6e 74 2c 20 66 6c 6f 61 74 2a 29 3b 0d 0a  uint, float*);..
2b30: 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 46 72  .HRESULT VarR4Fr
2b40: 6f 6d 44 69 73 70 28 4c 50 44 49 53 50 41 54 43  omDisp(LPDISPATC
2b50: 48 2c 20 4c 43 49 44 2c 20 66 6c 6f 61 74 2a 29  H, LCID, float*)
2b60: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52  ;...HRESULT VarR
2b70: 34 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e  4FromBool(VARIAN
2b80: 54 5f 42 4f 4f 4c 2c 20 66 6c 6f 61 74 2a 29 3b  T_BOOL, float*);
2b90: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 38  ...HRESULT VarR8
2ba0: 46 72 6f 6d 55 49 31 28 75 62 79 74 65 2c 20 64  FromUI1(ubyte, d
2bb0: 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48 52 45 53 55  ouble*);...HRESU
2bc0: 4c 54 20 56 61 72 52 38 46 72 6f 6d 49 32 28 73  LT VarR8FromI2(s
2bd0: 68 6f 72 74 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d  hort, double*);.
2be0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 38 46  ..HRESULT VarR8F
2bf0: 72 6f 6d 49 34 28 69 6e 74 2c 20 64 6f 75 62 6c  romI4(int, doubl
2c00: 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  e*);...HRESULT V
2c10: 61 72 52 38 46 72 6f 6d 52 34 28 66 6c 6f 61 74  arR8FromR4(float
2c20: 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48 52  , double*);...HR
2c30: 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f 6d 43  ESULT VarR8FromC
2c40: 79 28 43 59 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d  y(CY, double*);.
2c50: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 38 46  ..HRESULT VarR8F
2c60: 72 6f 6d 44 61 74 65 28 44 41 54 45 2c 20 64 6f  romDate(DATE, do
2c70: 75 62 6c 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  uble*);...HRESUL
2c80: 54 20 56 61 72 52 38 46 72 6f 6d 53 74 72 28 4f  T VarR8FromStr(O
2c90: 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 75  LECHAR*, LCID, u
2ca0: 69 6e 74 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a  int, double*);..
2cb0: 09 48 52 45 53 55 4c 54 20 56 61 72 52 38 46 72  .HRESULT VarR8Fr
2cc0: 6f 6d 44 69 73 70 28 4c 50 44 49 53 50 41 54 43  omDisp(LPDISPATC
2cd0: 48 2c 20 4c 43 49 44 2c 20 64 6f 75 62 6c 65 2a  H, LCID, double*
2ce0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
2cf0: 52 38 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41  R8FromBool(VARIA
2d00: 4e 54 5f 42 4f 4f 4c 2c 20 64 6f 75 62 6c 65 2a  NT_BOOL, double*
2d10: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
2d20: 52 38 46 72 6f 6d 44 65 63 28 44 45 43 49 4d 41  R8FromDec(DECIMA
2d30: 4c 2a 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a 09  L*, double*);...
2d40: 48 52 45 53 55 4c 54 20 56 61 72 44 61 74 65 46  HRESULT VarDateF
2d50: 72 6f 6d 55 49 31 28 75 62 79 74 65 2c 20 44 41  romUI1(ubyte, DA
2d60: 54 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  TE*);...HRESULT 
2d70: 56 61 72 44 61 74 65 46 72 6f 6d 49 32 28 73 68  VarDateFromI2(sh
2d80: 6f 72 74 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48  ort, DATE*);...H
2d90: 52 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72  RESULT VarDateFr
2da0: 6f 6d 49 34 28 69 6e 74 2c 20 44 41 54 45 2a 29  omI4(int, DATE*)
2db0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44  ;...HRESULT VarD
2dc0: 61 74 65 46 72 6f 6d 52 34 28 66 6c 6f 61 74 2c  ateFromR4(float,
2dd0: 20 44 41 54 45 2a 29 3b 0d 0a 09 48 52 45 53 55   DATE*);...HRESU
2de0: 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d 52 38  LT VarDateFromR8
2df0: 28 64 6f 75 62 6c 65 2c 20 44 41 54 45 2a 29 3b  (double, DATE*);
2e00: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61  ...HRESULT VarDa
2e10: 74 65 46 72 6f 6d 43 79 28 43 59 2c 20 44 41 54  teFromCy(CY, DAT
2e20: 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  E*);...HRESULT V
2e30: 61 72 44 61 74 65 46 72 6f 6d 53 74 72 28 4f 4c  arDateFromStr(OL
2e40: 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 75 69  ECHAR*, LCID, ui
2e50: 6e 74 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48 52  nt, DATE*);...HR
2e60: 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f  ESULT VarDateFro
2e70: 6d 44 69 73 70 28 4c 50 44 49 53 50 41 54 43 48  mDisp(LPDISPATCH
2e80: 2c 20 4c 43 49 44 2c 20 44 41 54 45 2a 29 3b 0d  , LCID, DATE*);.
2e90: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61 74  ..HRESULT VarDat
2ea0: 65 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e  eFromBool(VARIAN
2eb0: 54 5f 42 4f 4f 4c 2c 20 44 41 54 45 2a 29 3b 0d  T_BOOL, DATE*);.
2ec0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43 79 46  ..HRESULT VarCyF
2ed0: 72 6f 6d 55 49 31 28 75 62 79 74 65 2c 20 43 59  romUI1(ubyte, CY
2ee0: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
2ef0: 72 43 79 46 72 6f 6d 49 32 28 73 68 6f 72 74 2c  rCyFromI2(short,
2f00: 20 43 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54   CY*);...HRESULT
2f10: 20 56 61 72 43 79 46 72 6f 6d 49 34 28 69 6e 74   VarCyFromI4(int
2f20: 2c 20 43 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  , CY*);...HRESUL
2f30: 54 20 56 61 72 43 79 46 72 6f 6d 52 34 28 66 6c  T VarCyFromR4(fl
2f40: 6f 61 74 2c 20 43 59 2a 29 3b 0d 0a 09 48 52 45  oat, CY*);...HRE
2f50: 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d 52 38  SULT VarCyFromR8
2f60: 28 64 6f 75 62 6c 65 2c 20 43 59 2a 29 3b 0d 0a  (double, CY*);..
2f70: 09 48 52 45 53 55 4c 54 20 56 61 72 43 79 46 72  .HRESULT VarCyFr
2f80: 6f 6d 44 61 74 65 28 44 41 54 45 2c 20 43 59 2a  omDate(DATE, CY*
2f90: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
2fa0: 43 79 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48 41  CyFromStr(OLECHA
2fb0: 52 2a 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c 20  R*, LCID, uint, 
2fc0: 43 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  CY*);...HRESULT 
2fd0: 56 61 72 43 79 46 72 6f 6d 44 69 73 70 28 4c 50  VarCyFromDisp(LP
2fe0: 44 49 53 50 41 54 43 48 2c 20 4c 43 49 44 2c 20  DISPATCH, LCID, 
2ff0: 43 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  CY*);...HRESULT 
3000: 56 61 72 43 79 46 72 6f 6d 42 6f 6f 6c 28 56 41  VarCyFromBool(VA
3010: 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 43 59 2a 29  RIANT_BOOL, CY*)
3020: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  ;...HRESULT VarB
3030: 73 74 72 46 72 6f 6d 55 49 31 28 75 62 79 74 65  strFromUI1(ubyte
3040: 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c 20 42 53  , LCID, uint, BS
3050: 54 52 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  TR*);...HRESULT 
3060: 56 61 72 42 73 74 72 46 72 6f 6d 49 32 28 73 68  VarBstrFromI2(sh
3070: 6f 72 74 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c  ort, LCID, uint,
3080: 20 42 53 54 52 2a 29 3b 0d 0a 09 48 52 45 53 55   BSTR*);...HRESU
3090: 4c 54 20 56 61 72 42 73 74 72 46 72 6f 6d 49 34  LT VarBstrFromI4
30a0: 28 69 6e 74 2c 20 4c 43 49 44 2c 20 75 69 6e 74  (int, LCID, uint
30b0: 2c 20 42 53 54 52 2a 29 3b 0d 0a 09 48 52 45 53  , BSTR*);...HRES
30c0: 55 4c 54 20 56 61 72 42 73 74 72 46 72 6f 6d 52  ULT VarBstrFromR
30d0: 34 28 66 6c 6f 61 74 2c 20 4c 43 49 44 2c 20 75  4(float, LCID, u
30e0: 69 6e 74 2c 20 42 53 54 52 2a 29 3b 0d 0a 09 48  int, BSTR*);...H
30f0: 52 45 53 55 4c 54 20 56 61 72 42 73 74 72 46 72  RESULT VarBstrFr
3100: 6f 6d 52 38 28 64 6f 75 62 6c 65 2c 20 4c 43 49  omR8(double, LCI
3110: 44 2c 20 75 69 6e 74 2c 20 42 53 54 52 2a 29 3b  D, uint, BSTR*);
3120: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 73  ...HRESULT VarBs
3130: 74 72 46 72 6f 6d 43 79 28 43 59 2c 20 4c 43 49  trFromCy(CY, LCI
3140: 44 2c 20 75 69 6e 74 2c 20 42 53 54 52 2a 29 3b  D, uint, BSTR*);
3150: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 73  ...HRESULT VarBs
3160: 74 72 46 72 6f 6d 44 61 74 65 28 44 41 54 45 2c  trFromDate(DATE,
3170: 20 4c 43 49 44 2c 20 75 69 6e 74 2c 20 42 53 54   LCID, uint, BST
3180: 52 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  R*);...HRESULT V
3190: 61 72 42 73 74 72 46 72 6f 6d 44 69 73 70 28 4c  arBstrFromDisp(L
31a0: 50 44 49 53 50 41 54 43 48 2c 20 4c 43 49 44 2c  PDISPATCH, LCID,
31b0: 20 75 69 6e 74 2c 20 42 53 54 52 2a 29 3b 0d 0a   uint, BSTR*);..
31c0: 09 48 52 45 53 55 4c 54 20 56 61 72 42 73 74 72  .HRESULT VarBstr
31d0: 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54  FromBool(VARIANT
31e0: 5f 42 4f 4f 4c 2c 20 4c 43 49 44 2c 20 75 69 6e  _BOOL, LCID, uin
31f0: 74 2c 20 42 53 54 52 2a 29 3b 0d 0a 09 48 52 45  t, BSTR*);...HRE
3200: 53 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d  SULT VarBoolFrom
3210: 55 49 31 28 75 62 79 74 65 2c 20 56 41 52 49 41  UI1(ubyte, VARIA
3220: 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45  NT_BOOL*);...HRE
3230: 53 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d  SULT VarBoolFrom
3240: 49 32 28 73 68 6f 72 74 2c 20 56 41 52 49 41 4e  I2(short, VARIAN
3250: 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53  T_BOOL*);...HRES
3260: 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 49  ULT VarBoolFromI
3270: 34 28 69 6e 74 2c 20 56 41 52 49 41 4e 54 5f 42  4(int, VARIANT_B
3280: 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  OOL*);...HRESULT
3290: 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 52 34 28 66   VarBoolFromR4(f
32a0: 6c 6f 61 74 2c 20 56 41 52 49 41 4e 54 5f 42 4f  loat, VARIANT_BO
32b0: 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  OL*);...HRESULT 
32c0: 56 61 72 42 6f 6f 6c 46 72 6f 6d 52 38 28 64 6f  VarBoolFromR8(do
32d0: 75 62 6c 65 2c 20 56 41 52 49 41 4e 54 5f 42 4f  uble, VARIANT_BO
32e0: 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  OL*);...HRESULT 
32f0: 56 61 72 42 6f 6f 6c 46 72 6f 6d 44 61 74 65 28  VarBoolFromDate(
3300: 44 41 54 45 2c 20 56 41 52 49 41 4e 54 5f 42 4f  DATE, VARIANT_BO
3310: 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  OL*);...HRESULT 
3320: 56 61 72 42 6f 6f 6c 46 72 6f 6d 43 79 28 43 59  VarBoolFromCy(CY
3330: 2c 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29  , VARIANT_BOOL*)
3340: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  ;...HRESULT VarB
3350: 6f 6f 6c 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48  oolFromStr(OLECH
3360: 41 52 2a 2c 20 4c 43 49 44 2c 20 75 69 6e 74 2c  AR*, LCID, uint,
3370: 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b   VARIANT_BOOL*);
3380: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 6f  ...HRESULT VarBo
3390: 6f 6c 46 72 6f 6d 44 69 73 70 28 4c 50 44 49 53  olFromDisp(LPDIS
33a0: 50 41 54 43 48 2c 20 4c 43 49 44 2c 20 56 41 52  PATCH, LCID, VAR
33b0: 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48  IANT_BOOL*);...H
33c0: 52 45 53 55 4c 54 20 56 61 72 44 65 63 46 72 6f  RESULT VarDecFro
33d0: 6d 52 38 28 64 6f 75 62 6c 65 2c 20 44 45 43 49  mR8(double, DECI
33e0: 4d 41 4c 2a 29 3b 0d 0a 09 55 4c 4f 4e 47 20 4c  MAL*);...ULONG L
33f0: 48 61 73 68 56 61 6c 4f 66 4e 61 6d 65 53 79 73  HashValOfNameSys
3400: 41 28 53 59 53 4b 49 4e 44 2c 20 4c 43 49 44 2c  A(SYSKIND, LCID,
3410: 20 63 6f 6e 73 74 28 63 68 61 72 29 2a 29 3b 0d   const(char)*);.
3420: 0a 09 55 4c 4f 4e 47 20 4c 48 61 73 68 56 61 6c  ..ULONG LHashVal
3430: 4f 66 4e 61 6d 65 53 79 73 28 53 59 53 4b 49 4e  OfNameSys(SYSKIN
3440: 44 2c 20 4c 43 49 44 2c 20 63 6f 6e 73 74 28 4f  D, LCID, const(O
3450: 4c 45 43 48 41 52 29 2a 29 3b 0d 0a 09 48 52 45  LECHAR)*);...HRE
3460: 53 55 4c 54 20 4c 6f 61 64 54 79 70 65 4c 69 62  SULT LoadTypeLib
3470: 28 63 6f 6e 73 74 28 4f 4c 45 43 48 41 52 29 2a  (const(OLECHAR)*
3480: 2c 20 4c 50 54 59 50 45 4c 49 42 2a 29 3b 0d 0a  , LPTYPELIB*);..
3490: 09 48 52 45 53 55 4c 54 20 4c 6f 61 64 54 79 70  .HRESULT LoadTyp
34a0: 65 4c 69 62 45 78 28 4c 50 43 4f 4c 45 53 54 52  eLibEx(LPCOLESTR
34b0: 2c 20 52 45 47 4b 49 4e 44 2c 20 4c 50 54 59 50  , REGKIND, LPTYP
34c0: 45 4c 49 42 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  ELIB*);...HRESUL
34d0: 54 20 4c 6f 61 64 52 65 67 54 79 70 65 4c 69 62  T LoadRegTypeLib
34e0: 28 52 45 46 47 55 49 44 2c 20 57 4f 52 44 2c 20  (REFGUID, WORD, 
34f0: 57 4f 52 44 2c 20 4c 43 49 44 2c 20 4c 50 54 59  WORD, LCID, LPTY
3500: 50 45 4c 49 42 2a 29 3b 0d 0a 09 48 52 45 53 55  PELIB*);...HRESU
3510: 4c 54 20 51 75 65 72 79 50 61 74 68 4f 66 52 65  LT QueryPathOfRe
3520: 67 54 79 70 65 4c 69 62 28 52 45 46 47 55 49 44  gTypeLib(REFGUID
3530: 2c 20 75 73 68 6f 72 74 2c 20 75 73 68 6f 72 74  , ushort, ushort
3540: 2c 20 4c 43 49 44 2c 20 4c 50 42 53 54 52 29 3b  , LCID, LPBSTR);
3550: 0d 0a 09 48 52 45 53 55 4c 54 20 52 65 67 69 73  ...HRESULT Regis
3560: 74 65 72 54 79 70 65 4c 69 62 28 4c 50 54 59 50  terTypeLib(LPTYP
3570: 45 4c 49 42 2c 20 4f 4c 45 43 48 41 52 2a 2c 20  ELIB, OLECHAR*, 
3580: 4f 4c 45 43 48 41 52 2a 29 3b 0d 0a 09 48 52 45  OLECHAR*);...HRE
3590: 53 55 4c 54 20 55 6e 52 65 67 69 73 74 65 72 54  SULT UnRegisterT
35a0: 79 70 65 4c 69 62 28 52 45 46 47 55 49 44 2c 20  ypeLib(REFGUID, 
35b0: 57 4f 52 44 2c 20 57 4f 52 44 2c 20 4c 43 49 44  WORD, WORD, LCID
35c0: 2c 20 53 59 53 4b 49 4e 44 29 3b 0d 0a 09 2f 2f  , SYSKIND);...//
35d0: 20 6e 6f 74 20 61 63 74 75 61 6c 6c 79 20 64 65   not actually de
35e0: 70 72 65 63 61 74 65 64 2c 20 62 75 74 20 64 65  precated, but de
35f0: 70 65 6e 64 73 20 6f 6e 20 75 6e 63 6f 6e 76 65  pends on unconve
3600: 72 74 65 64 20 49 43 72 65 61 74 65 54 79 70 65  rted ICreateType
3610: 4c 69 62 0d 0a 09 64 65 70 72 65 63 61 74 65 64  Lib...deprecated
3620: 20 48 52 45 53 55 4c 54 20 43 72 65 61 74 65 54   HRESULT CreateT
3630: 79 70 65 4c 69 62 28 53 59 53 4b 49 4e 44 2c 20  ypeLib(SYSKIND, 
3640: 63 6f 6e 73 74 28 4f 4c 45 43 48 41 52 29 2a 2c  const(OLECHAR)*,
3650: 20 4c 50 43 52 45 41 54 45 54 59 50 45 4c 49 42   LPCREATETYPELIB
3660: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 69  *);...HRESULT Di
3670: 73 70 47 65 74 50 61 72 61 6d 28 44 49 53 50 50  spGetParam(DISPP
3680: 41 52 41 4d 53 2a 2c 20 55 49 4e 54 2c 20 56 41  ARAMS*, UINT, VA
3690: 52 54 59 50 45 2c 20 56 41 52 49 41 4e 54 2a 2c  RTYPE, VARIANT*,
36a0: 20 55 49 4e 54 2a 29 3b 0d 0a 09 48 52 45 53 55   UINT*);...HRESU
36b0: 4c 54 20 44 69 73 70 47 65 74 49 44 73 4f 66 4e  LT DispGetIDsOfN
36c0: 61 6d 65 73 28 4c 50 54 59 50 45 49 4e 46 4f 2c  ames(LPTYPEINFO,
36d0: 20 4f 4c 45 43 48 41 52 2a 2a 2c 20 55 49 4e 54   OLECHAR**, UINT
36e0: 2c 20 44 49 53 50 49 44 2a 29 3b 0d 0a 09 48 52  , DISPID*);...HR
36f0: 45 53 55 4c 54 20 44 69 73 70 49 6e 76 6f 6b 65  ESULT DispInvoke
3700: 28 76 6f 69 64 2a 2c 20 4c 50 54 59 50 45 49 4e  (void*, LPTYPEIN
3710: 46 4f 2c 20 44 49 53 50 49 44 2c 20 57 4f 52 44  FO, DISPID, WORD
3720: 2c 20 44 49 53 50 50 41 52 41 4d 53 2a 2c 20 56  , DISPPARAMS*, V
3730: 41 52 49 41 4e 54 2a 2c 20 45 58 43 45 50 49 4e  ARIANT*, EXCEPIN
3740: 46 4f 2a 2c 20 55 49 4e 54 2a 29 3b 0d 0a 09 48  FO*, UINT*);...H
3750: 52 45 53 55 4c 54 20 43 72 65 61 74 65 44 69 73  RESULT CreateDis
3760: 70 54 79 70 65 49 6e 66 6f 28 49 4e 54 45 52 46  pTypeInfo(INTERF
3770: 41 43 45 44 41 54 41 2a 2c 20 4c 43 49 44 2c 20  ACEDATA*, LCID, 
3780: 4c 50 54 59 50 45 49 4e 46 4f 2a 29 3b 0d 0a 09  LPTYPEINFO*);...
3790: 48 52 45 53 55 4c 54 20 43 72 65 61 74 65 53 74  HRESULT CreateSt
37a0: 64 44 69 73 70 61 74 63 68 28 49 55 6e 6b 6e 6f  dDispatch(IUnkno
37b0: 77 6e 2c 20 76 6f 69 64 2a 2c 20 4c 50 54 59 50  wn, void*, LPTYP
37c0: 45 49 4e 46 4f 2c 20 49 55 6e 6b 6e 6f 77 6e 2a  EINFO, IUnknown*
37d0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 52 65 67  );...HRESULT Reg
37e0: 69 73 74 65 72 41 63 74 69 76 65 4f 62 6a 65 63  isterActiveObjec
37f0: 74 28 49 55 6e 6b 6e 6f 77 6e 2c 20 52 45 46 43  t(IUnknown, REFC
3800: 4c 53 49 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f  LSID, DWORD, DWO
3810: 52 44 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  RD*);...HRESULT 
3820: 52 65 76 6f 6b 65 41 63 74 69 76 65 4f 62 6a 65  RevokeActiveObje
3830: 63 74 28 44 57 4f 52 44 2c 20 76 6f 69 64 2a 29  ct(DWORD, void*)
3840: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 41  ;...HRESULT GetA
3850: 63 74 69 76 65 4f 62 6a 65 63 74 28 52 45 46 43  ctiveObject(REFC
3860: 4c 53 49 44 2c 20 76 6f 69 64 2a 2c 20 49 55 6e  LSID, void*, IUn
3870: 6b 6e 6f 77 6e 2a 29 3b 0d 0a 09 48 52 45 53 55  known*);...HRESU
3880: 4c 54 20 53 65 74 45 72 72 6f 72 49 6e 66 6f 28  LT SetErrorInfo(
3890: 75 69 6e 74 2c 20 4c 50 45 52 52 4f 52 49 4e 46  uint, LPERRORINF
38a0: 4f 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65  O);...HRESULT Ge
38b0: 74 45 72 72 6f 72 49 6e 66 6f 28 75 69 6e 74 2c  tErrorInfo(uint,
38c0: 20 4c 50 45 52 52 4f 52 49 4e 46 4f 2a 29 3b 0d   LPERRORINFO*);.
38d0: 0a 09 48 52 45 53 55 4c 54 20 43 72 65 61 74 65  ..HRESULT Create
38e0: 45 72 72 6f 72 49 6e 66 6f 28 4c 50 43 52 45 41  ErrorInfo(LPCREA
38f0: 54 45 45 52 52 4f 52 49 4e 46 4f 2a 29 3b 0d 0a  TEERRORINFO*);..
3900: 09 75 69 6e 74 20 4f 61 42 75 69 6c 64 56 65 72  .uint OaBuildVer
3910: 73 69 6f 6e 28 29 3b 0d 0a 09 48 52 45 53 55 4c  sion();...HRESUL
3920: 54 20 56 65 63 74 6f 72 46 72 6f 6d 42 73 74 72  T VectorFromBstr
3930: 20 28 42 53 54 52 2c 20 53 41 46 45 41 52 52 41   (BSTR, SAFEARRA
3940: 59 2a 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  Y**);...HRESULT 
3950: 42 73 74 72 46 72 6f 6d 56 65 63 74 6f 72 20 28  BstrFromVector (
3960: 53 41 46 45 41 52 52 41 59 2a 2c 20 42 53 54 52  SAFEARRAY*, BSTR
3970: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
3980: 72 50 61 72 73 65 4e 75 6d 46 72 6f 6d 53 74 72  rParseNumFromStr
3990: 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c  (OLECHAR*, LCID,
39a0: 20 55 4c 4f 4e 47 2c 20 4e 55 4d 50 41 52 53 45   ULONG, NUMPARSE
39b0: 2a 2c 20 42 59 54 45 2a 29 3b 0d 0a 09 48 52 45  *, BYTE*);...HRE
39c0: 53 55 4c 54 20 56 61 72 4e 75 6d 46 72 6f 6d 50  SULT VarNumFromP
39d0: 61 72 73 65 4e 75 6d 28 4e 55 4d 50 41 52 53 45  arseNum(NUMPARSE
39e0: 2a 2c 20 42 59 54 45 2a 2c 20 55 4c 4f 4e 47 2c  *, BYTE*, ULONG,
39f0: 20 56 41 52 49 41 4e 54 2a 29 3b 0d 0a 0d 0a 09   VARIANT*);.....
3a00: 48 52 45 53 55 4c 54 20 56 61 72 41 64 64 28 4c  HRESULT VarAdd(L
3a10: 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49  PVARIANT, LPVARI
3a20: 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 29 3b  ANT, LPVARIANT);
3a30: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 53 75  ...HRESULT VarSu
3a40: 62 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56  b(LPVARIANT, LPV
3a50: 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e  ARIANT, LPVARIAN
3a60: 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  T);...HRESULT Va
3a70: 72 4d 75 6c 28 4c 50 56 41 52 49 41 4e 54 2c 20  rMul(LPVARIANT, 
3a80: 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52  LPVARIANT, LPVAR
3a90: 49 41 4e 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54  IANT);...HRESULT
3aa0: 20 56 61 72 44 69 76 28 4c 50 56 41 52 49 41 4e   VarDiv(LPVARIAN
3ab0: 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  T, LPVARIANT, LP
3ac0: 56 41 52 49 41 4e 54 29 3b 0d 0a 0d 0a 09 48 52  VARIANT);.....HR
3ad0: 45 53 55 4c 54 20 56 61 72 55 49 31 46 72 6f 6d  ESULT VarUI1From
3ae0: 49 32 28 53 48 4f 52 54 2c 20 42 59 54 45 2a 29  I2(SHORT, BYTE*)
3af0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  ;...HRESULT VarU
3b00: 49 31 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 42  I1FromI4(LONG, B
3b10: 59 54 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  YTE*);...HRESULT
3b20: 20 56 61 72 55 49 31 46 72 6f 6d 49 38 28 4c 4f   VarUI1FromI8(LO
3b30: 4e 47 36 34 2c 20 42 59 54 45 2a 29 3b 0d 0a 09  NG64, BYTE*);...
3b40: 48 52 45 53 55 4c 54 20 56 61 72 55 49 31 46 72  HRESULT VarUI1Fr
3b50: 6f 6d 52 34 28 46 4c 4f 41 54 2c 20 42 59 54 45  omR4(FLOAT, BYTE
3b60: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
3b70: 72 55 49 31 46 72 6f 6d 52 38 28 44 4f 55 42 4c  rUI1FromR8(DOUBL
3b80: 45 2c 20 42 59 54 45 2a 29 3b 0d 0a 09 48 52 45  E, BYTE*);...HRE
3b90: 53 55 4c 54 20 56 61 72 55 49 31 46 72 6f 6d 44  SULT VarUI1FromD
3ba0: 61 74 65 28 44 41 54 45 2c 20 42 59 54 45 2a 29  ate(DATE, BYTE*)
3bb0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  ;...HRESULT VarU
3bc0: 49 31 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41  I1FromBool(VARIA
3bd0: 4e 54 5f 42 4f 4f 4c 2c 20 42 59 54 45 2a 29 3b  NT_BOOL, BYTE*);
3be0: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49  ...HRESULT VarUI
3bf0: 31 46 72 6f 6d 49 31 28 62 79 74 65 2c 20 42 59  1FromI1(byte, BY
3c00: 54 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  TE*);...HRESULT 
3c10: 56 61 72 55 49 31 46 72 6f 6d 55 49 32 28 55 53  VarUI1FromUI2(US
3c20: 48 4f 52 54 2c 20 42 59 54 45 2a 29 3b 0d 0a 09  HORT, BYTE*);...
3c30: 48 52 45 53 55 4c 54 20 56 61 72 55 49 31 46 72  HRESULT VarUI1Fr
3c40: 6f 6d 55 49 34 28 55 4c 4f 4e 47 2c 20 42 59 54  omUI4(ULONG, BYT
3c50: 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  E*);...HRESULT V
3c60: 61 72 55 49 31 46 72 6f 6d 55 49 38 28 55 4c 4f  arUI1FromUI8(ULO
3c70: 4e 47 36 34 2c 20 42 59 54 45 2a 29 3b 0d 0a 09  NG64, BYTE*);...
3c80: 48 52 45 53 55 4c 54 20 56 61 72 55 49 31 46 72  HRESULT VarUI1Fr
3c90: 6f 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20  omStr(OLECHAR*, 
3ca0: 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42 59 54  LCID, ULONG, BYT
3cb0: 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  E*);...HRESULT V
3cc0: 61 72 55 49 31 46 72 6f 6d 43 79 28 43 59 2c 20  arUI1FromCy(CY, 
3cd0: 42 59 54 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  BYTE*);...HRESUL
3ce0: 54 20 56 61 72 55 49 31 46 72 6f 6d 44 65 63 28  T VarUI1FromDec(
3cf0: 44 45 43 49 4d 41 4c 2a 2c 20 42 59 54 45 2a 29  DECIMAL*, BYTE*)
3d00: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  ;...HRESULT VarU
3d10: 49 31 46 72 6f 6d 44 69 73 70 28 49 44 69 73 70  I1FromDisp(IDisp
3d20: 61 74 63 68 2c 20 4c 43 49 44 2c 20 42 59 54 45  atch, LCID, BYTE
3d30: 2a 29 3b 0d 0a 0d 0a 09 48 52 45 53 55 4c 54 20  *);.....HRESULT 
3d40: 56 61 72 49 32 46 72 6f 6d 55 49 31 28 42 59 54  VarI2FromUI1(BYT
3d50: 45 2c 20 53 48 4f 52 54 2a 29 3b 0d 0a 09 48 52  E, SHORT*);...HR
3d60: 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d 49  ESULT VarI2FromI
3d70: 34 28 4c 4f 4e 47 2c 20 53 48 4f 52 54 2a 29 3b  4(LONG, SHORT*);
3d80: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 32  ...HRESULT VarI2
3d90: 46 72 6f 6d 49 38 28 4c 4f 4e 47 36 34 2c 20 53  FromI8(LONG64, S
3da0: 48 4f 52 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  HORT*);...HRESUL
3db0: 54 20 56 61 72 49 32 46 72 6f 6d 52 34 28 46 4c  T VarI2FromR4(FL
3dc0: 4f 41 54 2c 20 53 48 4f 52 54 2a 29 3b 0d 0a 09  OAT, SHORT*);...
3dd0: 48 52 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f  HRESULT VarI2Fro
3de0: 6d 52 38 28 44 4f 55 42 4c 45 2c 20 53 48 4f 52  mR8(DOUBLE, SHOR
3df0: 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  T*);...HRESULT V
3e00: 61 72 49 32 46 72 6f 6d 44 61 74 65 28 44 41 54  arI2FromDate(DAT
3e10: 45 2c 20 53 48 4f 52 54 2a 29 3b 0d 0a 09 48 52  E, SHORT*);...HR
3e20: 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d 42  ESULT VarI2FromB
3e30: 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c  ool(VARIANT_BOOL
3e40: 2c 20 53 48 4f 52 54 2a 29 3b 0d 0a 09 48 52 45  , SHORT*);...HRE
3e50: 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d 49 31  SULT VarI2FromI1
3e60: 28 62 79 74 65 2c 20 53 48 4f 52 54 2a 29 3b 0d  (byte, SHORT*);.
3e70: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 32 46  ..HRESULT VarI2F
3e80: 72 6f 6d 55 49 32 28 55 53 48 4f 52 54 2c 20 53  romUI2(USHORT, S
3e90: 48 4f 52 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  HORT*);...HRESUL
3ea0: 54 20 56 61 72 49 32 46 72 6f 6d 55 49 34 28 55  T VarI2FromUI4(U
3eb0: 4c 4f 4e 47 2c 20 53 48 4f 52 54 2a 29 3b 0d 0a  LONG, SHORT*);..
3ec0: 09 48 52 45 53 55 4c 54 20 56 61 72 49 32 46 72  .HRESULT VarI2Fr
3ed0: 6f 6d 55 49 38 28 55 4c 4f 4e 47 36 34 2c 20 53  omUI8(ULONG64, S
3ee0: 48 4f 52 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  HORT*);...HRESUL
3ef0: 54 20 56 61 72 49 32 46 72 6f 6d 53 74 72 28 4f  T VarI2FromStr(O
3f00: 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 55  LECHAR*, LCID, U
3f10: 4c 4f 4e 47 2c 20 53 48 4f 52 54 2a 29 3b 0d 0a  LONG, SHORT*);..
3f20: 09 48 52 45 53 55 4c 54 20 56 61 72 49 32 46 72  .HRESULT VarI2Fr
3f30: 6f 6d 43 79 28 43 59 2c 20 53 48 4f 52 54 2a 29  omCy(CY, SHORT*)
3f40: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49  ;...HRESULT VarI
3f50: 32 46 72 6f 6d 44 65 63 28 44 45 43 49 4d 41 4c  2FromDec(DECIMAL
3f60: 2a 2c 20 53 48 4f 52 54 2a 29 3b 0d 0a 09 48 52  *, SHORT*);...HR
3f70: 45 53 55 4c 54 20 56 61 72 49 32 46 72 6f 6d 44  ESULT VarI2FromD
3f80: 69 73 70 28 49 44 69 73 70 61 74 63 68 2c 20 4c  isp(IDispatch, L
3f90: 43 49 44 2c 20 53 48 4f 52 54 2a 29 3b 0d 0a 0d  CID, SHORT*);...
3fa0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46  ..HRESULT VarI4F
3fb0: 72 6f 6d 55 49 31 28 42 59 54 45 2c 20 4c 4f 4e  romUI1(BYTE, LON
3fc0: 47 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  G*);...HRESULT V
3fd0: 61 72 49 34 46 72 6f 6d 49 32 28 53 48 4f 52 54  arI4FromI2(SHORT
3fe0: 2c 20 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 53  , LONG*);...HRES
3ff0: 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 49 38 28  ULT VarI4FromI8(
4000: 4c 4f 4e 47 36 34 2c 20 4c 4f 4e 47 2a 29 3b 0d  LONG64, LONG*);.
4010: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46  ..HRESULT VarI4F
4020: 72 6f 6d 52 34 28 46 4c 4f 41 54 2c 20 4c 4f 4e  romR4(FLOAT, LON
4030: 47 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  G*);...HRESULT V
4040: 61 72 49 34 46 72 6f 6d 52 38 28 44 4f 55 42 4c  arI4FromR8(DOUBL
4050: 45 2c 20 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45  E, LONG*);...HRE
4060: 53 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 44 61  SULT VarI4FromDa
4070: 74 65 28 44 41 54 45 2c 20 4c 4f 4e 47 2a 29 3b  te(DATE, LONG*);
4080: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34  ...HRESULT VarI4
4090: 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54  FromBool(VARIANT
40a0: 5f 42 4f 4f 4c 2c 20 4c 4f 4e 47 2a 29 3b 0d 0a  _BOOL, LONG*);..
40b0: 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46 72  .HRESULT VarI4Fr
40c0: 6f 6d 49 31 28 62 79 74 65 2c 20 4c 4f 4e 47 2a  omI1(byte, LONG*
40d0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
40e0: 49 34 46 72 6f 6d 55 49 32 28 55 53 48 4f 52 54  I4FromUI2(USHORT
40f0: 2c 20 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 53  , LONG*);...HRES
4100: 55 4c 54 20 56 61 72 49 34 46 72 6f 6d 55 49 34  ULT VarI4FromUI4
4110: 28 55 4c 4f 4e 47 2c 20 4c 4f 4e 47 2a 29 3b 0d  (ULONG, LONG*);.
4120: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46  ..HRESULT VarI4F
4130: 72 6f 6d 55 49 38 28 55 4c 4f 4e 47 36 34 2c 20  romUI8(ULONG64, 
4140: 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  LONG*);...HRESUL
4150: 54 20 56 61 72 49 34 46 72 6f 6d 53 74 72 28 4f  T VarI4FromStr(O
4160: 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 55  LECHAR*, LCID, U
4170: 4c 4f 4e 47 2c 20 4c 4f 4e 47 2a 29 3b 0d 0a 09  LONG, LONG*);...
4180: 48 52 45 53 55 4c 54 20 56 61 72 49 34 46 72 6f  HRESULT VarI4Fro
4190: 6d 43 79 28 43 59 2c 20 4c 4f 4e 47 2a 29 3b 0d  mCy(CY, LONG*);.
41a0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 34 46  ..HRESULT VarI4F
41b0: 72 6f 6d 44 65 63 28 44 45 43 49 4d 41 4c 2a 2c  romDec(DECIMAL*,
41c0: 20 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 53 55   LONG*);...HRESU
41d0: 4c 54 20 56 61 72 49 34 46 72 6f 6d 44 69 73 70  LT VarI4FromDisp
41e0: 28 49 44 69 73 70 61 74 63 68 2c 20 4c 43 49 44  (IDispatch, LCID
41f0: 2c 20 4c 4f 4e 47 2a 29 3b 0d 0a 0d 0a 09 48 52  , LONG*);.....HR
4200: 45 53 55 4c 54 20 56 61 72 49 38 46 72 6f 6d 55  ESULT VarI8FromU
4210: 49 31 28 42 59 54 45 2c 20 4c 4f 4e 47 36 34 2a  I1(BYTE, LONG64*
4220: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
4230: 49 38 46 72 6f 6d 49 32 28 53 48 4f 52 54 2c 20  I8FromI2(SHORT, 
4240: 4c 4f 4e 47 36 34 2a 29 3b 0d 0a 09 48 52 45 53  LONG64*);...HRES
4250: 55 4c 54 20 56 61 72 49 38 46 72 6f 6d 49 34 28  ULT VarI8FromI4(
4260: 4c 4f 4e 47 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0d  LONG, LONG64*);.
4270: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 38 46  ..HRESULT VarI8F
4280: 72 6f 6d 52 34 28 46 4c 4f 41 54 2c 20 4c 4f 4e  romR4(FLOAT, LON
4290: 47 36 34 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  G64*);...HRESULT
42a0: 20 56 61 72 49 38 46 72 6f 6d 52 38 28 44 4f 55   VarI8FromR8(DOU
42b0: 42 4c 45 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0d 0a  BLE, LONG64*);..
42c0: 09 48 52 45 53 55 4c 54 20 56 61 72 49 38 46 72  .HRESULT VarI8Fr
42d0: 6f 6d 44 61 74 65 28 44 41 54 45 2c 20 4c 4f 4e  omDate(DATE, LON
42e0: 47 36 34 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  G64*);...HRESULT
42f0: 20 56 61 72 49 38 46 72 6f 6d 53 74 72 28 4f 4c   VarI8FromStr(OL
4300: 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 55 4c  ECHAR*, LCID, UL
4310: 4f 4e 47 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0d 0a  ONG, LONG64*);..
4320: 09 48 52 45 53 55 4c 54 20 56 61 72 49 38 46 72  .HRESULT VarI8Fr
4330: 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42  omBool(VARIANT_B
4340: 4f 4f 4c 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0d 0a  OOL, LONG64*);..
4350: 09 48 52 45 53 55 4c 54 20 56 61 72 49 38 46 72  .HRESULT VarI8Fr
4360: 6f 6d 49 31 28 62 79 74 65 2c 20 4c 4f 4e 47 36  omI1(byte, LONG6
4370: 34 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  4*);...HRESULT V
4380: 61 72 49 38 46 72 6f 6d 55 49 32 28 55 53 48 4f  arI8FromUI2(USHO
4390: 52 54 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0d 0a 09  RT, LONG64*);...
43a0: 48 52 45 53 55 4c 54 20 56 61 72 49 38 46 72 6f  HRESULT VarI8Fro
43b0: 6d 55 49 34 28 55 4c 4f 4e 47 2c 20 4c 4f 4e 47  mUI4(ULONG, LONG
43c0: 36 34 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  64*);...HRESULT 
43d0: 56 61 72 49 38 46 72 6f 6d 55 49 38 28 55 4c 4f  VarI8FromUI8(ULO
43e0: 4e 47 36 34 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0d  NG64, LONG64*);.
43f0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 38 46  ..HRESULT VarI8F
4400: 72 6f 6d 44 65 63 28 44 45 43 49 4d 41 4c 2a 20  romDec(DECIMAL* 
4410: 70 64 65 63 49 6e 2c 20 4c 4f 4e 47 36 34 2a 29  pdecIn, LONG64*)
4420: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49  ;...HRESULT VarI
4430: 38 46 72 6f 6d 49 6e 74 28 49 4e 54 20 69 6e 74  8FromInt(INT int
4440: 49 6e 2c 20 4c 4f 4e 47 36 34 2a 29 3b 0d 0a 09  In, LONG64*);...
4450: 48 52 45 53 55 4c 54 20 56 61 72 49 38 46 72 6f  HRESULT VarI8Fro
4460: 6d 43 79 28 43 59 2c 20 4c 4f 4e 47 36 34 2a 29  mCy(CY, LONG64*)
4470: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49  ;...HRESULT VarI
4480: 38 46 72 6f 6d 44 69 73 70 28 49 44 69 73 70 61  8FromDisp(IDispa
4490: 74 63 68 2c 20 4c 43 49 44 2c 20 4c 4f 4e 47 36  tch, LCID, LONG6
44a0: 34 2a 29 3b 0d 0a 0d 0a 09 48 52 45 53 55 4c 54  4*);.....HRESULT
44b0: 20 56 61 72 52 34 46 72 6f 6d 55 49 31 28 42 59   VarR4FromUI1(BY
44c0: 54 45 2c 20 46 4c 4f 41 54 2a 29 3b 0d 0a 09 48  TE, FLOAT*);...H
44d0: 52 45 53 55 4c 54 20 56 61 72 52 34 46 72 6f 6d  RESULT VarR4From
44e0: 49 32 28 53 48 4f 52 54 2c 20 46 4c 4f 41 54 2a  I2(SHORT, FLOAT*
44f0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
4500: 52 34 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 46  R4FromI4(LONG, F
4510: 4c 4f 41 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  LOAT*);...HRESUL
4520: 54 20 56 61 72 52 34 46 72 6f 6d 49 38 28 4c 4f  T VarR4FromI8(LO
4530: 4e 47 36 34 2c 20 46 4c 4f 41 54 2a 29 3b 0d 0a  NG64, FLOAT*);..
4540: 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 46 72  .HRESULT VarR4Fr
4550: 6f 6d 52 38 28 44 4f 55 42 4c 45 2c 20 46 4c 4f  omR8(DOUBLE, FLO
4560: 41 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  AT*);...HRESULT 
4570: 56 61 72 52 34 46 72 6f 6d 44 61 74 65 28 44 41  VarR4FromDate(DA
4580: 54 45 2c 20 46 4c 4f 41 54 2a 29 3b 0d 0a 09 48  TE, FLOAT*);...H
4590: 52 45 53 55 4c 54 20 56 61 72 52 34 46 72 6f 6d  RESULT VarR4From
45a0: 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f  Bool(VARIANT_BOO
45b0: 4c 2c 20 46 4c 4f 41 54 2a 29 3b 0d 0a 09 48 52  L, FLOAT*);...HR
45c0: 45 53 55 4c 54 20 56 61 72 52 34 46 72 6f 6d 49  ESULT VarR4FromI
45d0: 31 28 62 79 74 65 2c 20 46 4c 4f 41 54 2a 29 3b  1(byte, FLOAT*);
45e0: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 34  ...HRESULT VarR4
45f0: 46 72 6f 6d 55 49 32 28 55 53 48 4f 52 54 2c 20  FromUI2(USHORT, 
4600: 46 4c 4f 41 54 2a 29 3b 0d 0a 09 48 52 45 53 55  FLOAT*);...HRESU
4610: 4c 54 20 56 61 72 52 34 46 72 6f 6d 55 49 34 28  LT VarR4FromUI4(
4620: 55 4c 4f 4e 47 2c 20 46 4c 4f 41 54 2a 29 3b 0d  ULONG, FLOAT*);.
4630: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 46  ..HRESULT VarR4F
4640: 72 6f 6d 55 49 38 28 55 4c 4f 4e 47 36 34 2c 20  romUI8(ULONG64, 
4650: 46 4c 4f 41 54 2a 29 3b 0d 0a 09 48 52 45 53 55  FLOAT*);...HRESU
4660: 4c 54 20 56 61 72 52 34 46 72 6f 6d 53 74 72 28  LT VarR4FromStr(
4670: 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20  OLECHAR*, LCID, 
4680: 55 4c 4f 4e 47 2c 20 46 4c 4f 41 54 2a 29 3b 0d  ULONG, FLOAT*);.
4690: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 46  ..HRESULT VarR4F
46a0: 72 6f 6d 43 79 28 43 59 2c 20 46 4c 4f 41 54 2a  romCy(CY, FLOAT*
46b0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
46c0: 52 34 46 72 6f 6d 44 65 63 28 44 45 43 49 4d 41  R4FromDec(DECIMA
46d0: 4c 2a 2c 20 46 4c 4f 41 54 2a 29 3b 0d 0a 09 48  L*, FLOAT*);...H
46e0: 52 45 53 55 4c 54 20 56 61 72 52 34 46 72 6f 6d  RESULT VarR4From
46f0: 44 69 73 70 28 49 44 69 73 70 61 74 63 68 2c 20  Disp(IDispatch, 
4700: 4c 43 49 44 2c 20 46 4c 4f 41 54 2a 29 3b 0d 0a  LCID, FLOAT*);..
4710: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 38  ...HRESULT VarR8
4720: 46 72 6f 6d 55 49 31 28 42 59 54 45 2c 20 64 6f  FromUI1(BYTE, do
4730: 75 62 6c 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  uble*);...HRESUL
4740: 54 20 56 61 72 52 38 46 72 6f 6d 49 32 28 53 48  T VarR8FromI2(SH
4750: 4f 52 54 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a  ORT, double*);..
4760: 09 48 52 45 53 55 4c 54 20 56 61 72 52 38 46 72  .HRESULT VarR8Fr
4770: 6f 6d 49 34 28 4c 4f 4e 47 2c 20 64 6f 75 62 6c  omI4(LONG, doubl
4780: 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  e*);...HRESULT V
4790: 61 72 52 38 46 72 6f 6d 49 38 28 4c 4f 4e 47 36  arR8FromI8(LONG6
47a0: 34 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48  4, double*);...H
47b0: 52 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f 6d  RESULT VarR8From
47c0: 52 34 28 46 4c 4f 41 54 2c 20 64 6f 75 62 6c 65  R4(FLOAT, double
47d0: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
47e0: 72 52 38 46 72 6f 6d 44 61 74 65 28 44 41 54 45  rR8FromDate(DATE
47f0: 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48 52  , double*);...HR
4800: 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f 6d 42  ESULT VarR8FromB
4810: 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c  ool(VARIANT_BOOL
4820: 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48 52  , double*);...HR
4830: 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f 6d 49  ESULT VarR8FromI
4840: 31 28 62 79 74 65 2c 20 64 6f 75 62 6c 65 2a 29  1(byte, double*)
4850: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52  ;...HRESULT VarR
4860: 38 46 72 6f 6d 55 49 32 28 55 53 48 4f 52 54 2c  8FromUI2(USHORT,
4870: 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48 52 45   double*);...HRE
4880: 53 55 4c 54 20 56 61 72 52 38 46 72 6f 6d 55 49  SULT VarR8FromUI
4890: 34 28 55 4c 4f 4e 47 2c 20 64 6f 75 62 6c 65 2a  4(ULONG, double*
48a0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
48b0: 52 38 46 72 6f 6d 55 49 38 28 55 4c 4f 4e 47 36  R8FromUI8(ULONG6
48c0: 34 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48  4, double*);...H
48d0: 52 45 53 55 4c 54 20 56 61 72 52 38 46 72 6f 6d  RESULT VarR8From
48e0: 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43  Str(OLECHAR*, LC
48f0: 49 44 2c 20 55 4c 4f 4e 47 2c 20 64 6f 75 62 6c  ID, ULONG, doubl
4900: 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  e*);...HRESULT V
4910: 61 72 52 38 46 72 6f 6d 43 79 28 43 59 2c 20 64  arR8FromCy(CY, d
4920: 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48 52 45 53 55  ouble*);...HRESU
4930: 4c 54 20 56 61 72 52 38 46 72 6f 6d 44 65 63 28  LT VarR8FromDec(
4940: 44 45 43 49 4d 41 4c 2a 2c 20 64 6f 75 62 6c 65  DECIMAL*, double
4950: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
4960: 72 52 38 46 72 6f 6d 44 69 73 70 28 49 44 69 73  rR8FromDisp(IDis
4970: 70 61 74 63 68 2c 20 4c 43 49 44 2c 20 64 6f 75  patch, LCID, dou
4980: 62 6c 65 2a 29 3b 0d 0a 0d 0a 09 48 52 45 53 55  ble*);.....HRESU
4990: 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d 55 49  LT VarDateFromUI
49a0: 31 28 42 59 54 45 2c 20 44 41 54 45 2a 29 3b 0d  1(BYTE, DATE*);.
49b0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61 74  ..HRESULT VarDat
49c0: 65 46 72 6f 6d 49 32 28 53 48 4f 52 54 2c 20 44  eFromI2(SHORT, D
49d0: 41 54 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  ATE*);...HRESULT
49e0: 20 56 61 72 44 61 74 65 46 72 6f 6d 49 34 28 4c   VarDateFromI4(L
49f0: 4f 4e 47 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48  ONG, DATE*);...H
4a00: 52 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72  RESULT VarDateFr
4a10: 6f 6d 49 38 28 4c 4f 4e 47 36 34 2c 20 44 41 54  omI8(LONG64, DAT
4a20: 45 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  E*);...HRESULT V
4a30: 61 72 44 61 74 65 46 72 6f 6d 52 34 28 46 4c 4f  arDateFromR4(FLO
4a40: 41 54 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48 52  AT, DATE*);...HR
4a50: 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f  ESULT VarDateFro
4a60: 6d 52 38 28 44 4f 55 42 4c 45 2c 20 44 41 54 45  mR8(DOUBLE, DATE
4a70: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
4a80: 72 44 61 74 65 46 72 6f 6d 53 74 72 28 4f 4c 45  rDateFromStr(OLE
4a90: 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20 55 4c 4f  CHAR*, LCID, ULO
4aa0: 4e 47 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48 52  NG, DATE*);...HR
4ab0: 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f  ESULT VarDateFro
4ac0: 6d 49 31 28 62 79 74 65 2c 20 44 41 54 45 2a 29  mI1(byte, DATE*)
4ad0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44  ;...HRESULT VarD
4ae0: 61 74 65 46 72 6f 6d 55 49 32 28 55 53 48 4f 52  ateFromUI2(USHOR
4af0: 54 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48 52 45  T, DATE*);...HRE
4b00: 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f 6d  SULT VarDateFrom
4b10: 55 49 34 28 55 4c 4f 4e 47 2c 20 44 41 54 45 2a  UI4(ULONG, DATE*
4b20: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
4b30: 44 61 74 65 46 72 6f 6d 55 49 38 28 55 4c 4f 4e  DateFromUI8(ULON
4b40: 47 36 34 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48  G64, DATE*);...H
4b50: 52 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72  RESULT VarDateFr
4b60: 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42  omBool(VARIANT_B
4b70: 4f 4f 4c 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48  OOL, DATE*);...H
4b80: 52 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72  RESULT VarDateFr
4b90: 6f 6d 43 79 28 43 59 2c 20 44 41 54 45 2a 29 3b  omCy(CY, DATE*);
4ba0: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 61  ...HRESULT VarDa
4bb0: 74 65 46 72 6f 6d 44 65 63 28 44 45 43 49 4d 41  teFromDec(DECIMA
4bc0: 4c 2a 2c 20 44 41 54 45 2a 29 3b 0d 0a 09 48 52  L*, DATE*);...HR
4bd0: 45 53 55 4c 54 20 56 61 72 44 61 74 65 46 72 6f  ESULT VarDateFro
4be0: 6d 44 69 73 70 28 49 44 69 73 70 61 74 63 68 2c  mDisp(IDispatch,
4bf0: 20 4c 43 49 44 2c 20 44 41 54 45 2a 29 3b 0d 0a   LCID, DATE*);..
4c00: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43 79  ...HRESULT VarCy
4c10: 46 72 6f 6d 55 49 31 28 42 59 54 45 2c 20 43 59  FromUI1(BYTE, CY
4c20: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
4c30: 72 43 79 46 72 6f 6d 49 32 28 53 48 4f 52 54 20  rCyFromI2(SHORT 
4c40: 73 49 6e 2c 20 43 59 2a 29 3b 0d 0a 09 48 52 45  sIn, CY*);...HRE
4c50: 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d 49 34  SULT VarCyFromI4
4c60: 28 4c 4f 4e 47 2c 20 43 59 2a 29 3b 0d 0a 09 48  (LONG, CY*);...H
4c70: 52 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d  RESULT VarCyFrom
4c80: 49 38 28 4c 4f 4e 47 36 34 2c 20 43 59 2a 29 3b  I8(LONG64, CY*);
4c90: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43 79  ...HRESULT VarCy
4ca0: 46 72 6f 6d 52 34 28 46 4c 4f 41 54 2c 20 43 59  FromR4(FLOAT, CY
4cb0: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
4cc0: 72 43 79 46 72 6f 6d 52 38 28 44 4f 55 42 4c 45  rCyFromR8(DOUBLE
4cd0: 2c 20 43 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  , CY*);...HRESUL
4ce0: 54 20 56 61 72 43 79 46 72 6f 6d 44 61 74 65 28  T VarCyFromDate(
4cf0: 44 41 54 45 2c 20 43 59 2a 29 3b 0d 0a 09 48 52  DATE, CY*);...HR
4d00: 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d 53  ESULT VarCyFromS
4d10: 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49  tr(OLECHAR*, LCI
4d20: 44 2c 20 55 4c 4f 4e 47 2c 20 43 59 2a 29 3b 0d  D, ULONG, CY*);.
4d30: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43 79 46  ..HRESULT VarCyF
4d40: 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54 5f  romBool(VARIANT_
4d50: 42 4f 4f 4c 2c 20 43 59 2a 29 3b 0d 0a 09 48 52  BOOL, CY*);...HR
4d60: 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d 49  ESULT VarCyFromI
4d70: 31 28 62 79 74 65 2c 20 43 59 2a 29 3b 0d 0a 09  1(byte, CY*);...
4d80: 48 52 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f  HRESULT VarCyFro
4d90: 6d 55 49 32 28 55 53 48 4f 52 54 2c 20 43 59 2a  mUI2(USHORT, CY*
4da0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
4db0: 43 79 46 72 6f 6d 55 49 34 28 55 4c 4f 4e 47 2c  CyFromUI4(ULONG,
4dc0: 20 43 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54   CY*);...HRESULT
4dd0: 20 56 61 72 43 79 46 72 6f 6d 55 49 38 28 55 4c   VarCyFromUI8(UL
4de0: 4f 4e 47 36 34 2c 20 43 59 2a 29 3b 0d 0a 09 48  ONG64, CY*);...H
4df0: 52 45 53 55 4c 54 20 56 61 72 43 79 46 72 6f 6d  RESULT VarCyFrom
4e00: 44 65 63 28 44 45 43 49 4d 41 4c 2a 2c 20 43 59  Dec(DECIMAL*, CY
4e10: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
4e20: 72 43 79 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48  rCyFromStr(OLECH
4e30: 41 52 2a 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47  AR*, LCID, ULONG
4e40: 2c 20 43 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  , CY*);...HRESUL
4e50: 54 20 56 61 72 43 79 46 72 6f 6d 44 69 73 70 28  T VarCyFromDisp(
4e60: 49 44 69 73 70 61 74 63 68 2c 20 4c 43 49 44 2c  IDispatch, LCID,
4e70: 20 43 59 2a 29 3b 0d 0a 0d 0a 09 48 52 45 53 55   CY*);.....HRESU
4e80: 4c 54 20 56 61 72 42 73 74 72 46 72 6f 6d 55 49  LT VarBstrFromUI
4e90: 31 28 42 59 54 45 2c 20 4c 43 49 44 2c 20 55 4c  1(BYTE, LCID, UL
4ea0: 4f 4e 47 2c 20 42 53 54 52 2a 29 3b 0d 0a 09 48  ONG, BSTR*);...H
4eb0: 52 45 53 55 4c 54 20 56 61 72 42 73 74 72 46 72  RESULT VarBstrFr
4ec0: 6f 6d 49 32 28 53 48 4f 52 54 2c 20 4c 43 49 44  omI2(SHORT, LCID
4ed0: 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29 3b  , ULONG, BSTR*);
4ee0: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42 73  ...HRESULT VarBs
4ef0: 74 72 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 4c  trFromI4(LONG, L
4f00: 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52  CID, ULONG, BSTR
4f10: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
4f20: 72 42 73 74 72 46 72 6f 6d 49 38 28 4c 4f 4e 47  rBstrFromI8(LONG
4f30: 36 34 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c  64, LCID, ULONG,
4f40: 20 42 53 54 52 2a 29 3b 0d 0a 09 48 52 45 53 55   BSTR*);...HRESU
4f50: 4c 54 20 56 61 72 42 73 74 72 46 72 6f 6d 52 34  LT VarBstrFromR4
4f60: 28 46 4c 4f 41 54 2c 20 4c 43 49 44 2c 20 55 4c  (FLOAT, LCID, UL
4f70: 4f 4e 47 2c 20 42 53 54 52 2a 29 3b 0d 0a 09 48  ONG, BSTR*);...H
4f80: 52 45 53 55 4c 54 20 56 61 72 42 73 74 72 46 72  RESULT VarBstrFr
4f90: 6f 6d 52 38 28 44 4f 55 42 4c 45 2c 20 4c 43 49  omR8(DOUBLE, LCI
4fa0: 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29  D, ULONG, BSTR*)
4fb0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  ;...HRESULT VarB
4fc0: 73 74 72 46 72 6f 6d 44 61 74 65 28 44 41 54 45  strFromDate(DATE
4fd0: 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42  , LCID, ULONG, B
4fe0: 53 54 52 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  STR*);...HRESULT
4ff0: 20 56 61 72 42 73 74 72 46 72 6f 6d 42 6f 6f 6c   VarBstrFromBool
5000: 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 4c  (VARIANT_BOOL, L
5010: 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52  CID, ULONG, BSTR
5020: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
5030: 72 42 73 74 72 46 72 6f 6d 49 31 28 62 79 74 65  rBstrFromI1(byte
5040: 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42  , LCID, ULONG, B
5050: 53 54 52 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  STR*);...HRESULT
5060: 20 56 61 72 42 73 74 72 46 72 6f 6d 55 49 32 28   VarBstrFromUI2(
5070: 55 53 48 4f 52 54 2c 20 4c 43 49 44 2c 20 55 4c  USHORT, LCID, UL
5080: 4f 4e 47 2c 20 42 53 54 52 2a 29 3b 0d 0a 09 48  ONG, BSTR*);...H
5090: 52 45 53 55 4c 54 20 56 61 72 42 73 74 72 46 72  RESULT VarBstrFr
50a0: 6f 6d 55 49 38 28 55 4c 4f 4e 47 36 34 2c 20 4c  omUI8(ULONG64, L
50b0: 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52  CID, ULONG, BSTR
50c0: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
50d0: 72 42 73 74 72 46 72 6f 6d 55 49 34 28 55 4c 4f  rBstrFromUI4(ULO
50e0: 4e 47 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c  NG, LCID, ULONG,
50f0: 20 42 53 54 52 2a 29 3b 0d 0a 09 48 52 45 53 55   BSTR*);...HRESU
5100: 4c 54 20 56 61 72 42 73 74 72 46 72 6f 6d 43 79  LT VarBstrFromCy
5110: 28 43 59 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47  (CY, LCID, ULONG
5120: 2c 20 42 53 54 52 2a 29 3b 0d 0a 09 48 52 45 53  , BSTR*);...HRES
5130: 55 4c 54 20 56 61 72 42 73 74 72 46 72 6f 6d 44  ULT VarBstrFromD
5140: 65 63 28 44 45 43 49 4d 41 4c 2a 2c 20 4c 43 49  ec(DECIMAL*, LCI
5150: 44 2c 20 55 4c 4f 4e 47 2c 20 42 53 54 52 2a 29  D, ULONG, BSTR*)
5160: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 42  ;...HRESULT VarB
5170: 73 74 72 46 72 6f 6d 44 69 73 70 28 49 44 69 73  strFromDisp(IDis
5180: 70 61 74 63 68 2c 20 4c 43 49 44 2c 20 55 4c 4f  patch, LCID, ULO
5190: 4e 47 2c 20 42 53 54 52 2a 29 3b 0d 0a 0d 0a 09  NG, BSTR*);.....
51a0: 48 52 45 53 55 4c 54 20 56 61 72 42 6f 6f 6c 46  HRESULT VarBoolF
51b0: 72 6f 6d 55 49 31 28 42 59 54 45 2c 20 56 41 52  romUI1(BYTE, VAR
51c0: 49 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48  IANT_BOOL*);...H
51d0: 52 45 53 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72  RESULT VarBoolFr
51e0: 6f 6d 49 32 28 53 48 4f 52 54 2c 20 56 41 52 49  omI2(SHORT, VARI
51f0: 41 4e 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52  ANT_BOOL*);...HR
5200: 45 53 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f  ESULT VarBoolFro
5210: 6d 49 34 28 4c 4f 4e 47 2c 20 56 41 52 49 41 4e  mI4(LONG, VARIAN
5220: 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53  T_BOOL*);...HRES
5230: 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 49  ULT VarBoolFromI
5240: 38 28 4c 4f 4e 47 36 34 2c 20 56 41 52 49 41 4e  8(LONG64, VARIAN
5250: 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53  T_BOOL*);...HRES
5260: 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 52  ULT VarBoolFromR
5270: 34 28 46 4c 4f 41 54 2c 20 56 41 52 49 41 4e 54  4(FLOAT, VARIANT
5280: 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55  _BOOL*);...HRESU
5290: 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 52 38  LT VarBoolFromR8
52a0: 28 44 4f 55 42 4c 45 2c 20 56 41 52 49 41 4e 54  (DOUBLE, VARIANT
52b0: 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55  _BOOL*);...HRESU
52c0: 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 44 61  LT VarBoolFromDa
52d0: 74 65 28 44 41 54 45 2c 20 56 41 52 49 41 4e 54  te(DATE, VARIANT
52e0: 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55  _BOOL*);...HRESU
52f0: 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 53 74  LT VarBoolFromSt
5300: 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44  r(OLECHAR*, LCID
5310: 2c 20 55 4c 4f 4e 47 2c 20 56 41 52 49 41 4e 54  , ULONG, VARIANT
5320: 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55  _BOOL*);...HRESU
5330: 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 49 31  LT VarBoolFromI1
5340: 28 62 79 74 65 2c 20 56 41 52 49 41 4e 54 5f 42  (byte, VARIANT_B
5350: 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  OOL*);...HRESULT
5360: 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 55 49 32 28   VarBoolFromUI2(
5370: 55 53 48 4f 52 54 2c 20 56 41 52 49 41 4e 54 5f  USHORT, VARIANT_
5380: 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  BOOL*);...HRESUL
5390: 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 55 49 34  T VarBoolFromUI4
53a0: 28 55 4c 4f 4e 47 2c 20 56 41 52 49 41 4e 54 5f  (ULONG, VARIANT_
53b0: 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  BOOL*);...HRESUL
53c0: 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 55 49 38  T VarBoolFromUI8
53d0: 28 55 4c 4f 4e 47 36 34 2c 20 56 41 52 49 41 4e  (ULONG64, VARIAN
53e0: 54 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53  T_BOOL*);...HRES
53f0: 55 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 43  ULT VarBoolFromC
5400: 79 28 43 59 2c 20 56 41 52 49 41 4e 54 5f 42 4f  y(CY, VARIANT_BO
5410: 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  OL*);...HRESULT 
5420: 56 61 72 42 6f 6f 6c 46 72 6f 6d 44 65 63 28 44  VarBoolFromDec(D
5430: 45 43 49 4d 41 4c 2a 2c 20 56 41 52 49 41 4e 54  ECIMAL*, VARIANT
5440: 5f 42 4f 4f 4c 2a 29 3b 0d 0a 09 48 52 45 53 55  _BOOL*);...HRESU
5450: 4c 54 20 56 61 72 42 6f 6f 6c 46 72 6f 6d 44 69  LT VarBoolFromDi
5460: 73 70 28 49 44 69 73 70 61 74 63 68 2c 20 4c 43  sp(IDispatch, LC
5470: 49 44 2c 20 56 41 52 49 41 4e 54 5f 42 4f 4f 4c  ID, VARIANT_BOOL
5480: 2a 29 3b 0d 0a 0d 0a 09 48 52 45 53 55 4c 54 20  *);.....HRESULT 
5490: 56 61 72 49 31 46 72 6f 6d 55 49 31 28 42 59 54  VarI1FromUI1(BYT
54a0: 45 2c 20 62 79 74 65 2a 29 3b 0d 0a 09 48 52 45  E, byte*);...HRE
54b0: 53 55 4c 54 20 56 61 72 49 31 46 72 6f 6d 49 32  SULT VarI1FromI2
54c0: 28 53 48 4f 52 54 2c 20 62 79 74 65 2a 29 3b 0d  (SHORT, byte*);.
54d0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 31 46  ..HRESULT VarI1F
54e0: 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 62 79 74 65  romI4(LONG, byte
54f0: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
5500: 72 49 31 46 72 6f 6d 49 38 28 4c 4f 4e 47 36 34  rI1FromI8(LONG64
5510: 2c 20 62 79 74 65 2a 29 3b 0d 0a 09 48 52 45 53  , byte*);...HRES
5520: 55 4c 54 20 56 61 72 49 31 46 72 6f 6d 52 34 28  ULT VarI1FromR4(
5530: 46 4c 4f 41 54 2c 20 62 79 74 65 2a 29 3b 0d 0a  FLOAT, byte*);..
5540: 09 48 52 45 53 55 4c 54 20 56 61 72 49 31 46 72  .HRESULT VarI1Fr
5550: 6f 6d 52 38 28 44 4f 55 42 4c 45 2c 20 62 79 74  omR8(DOUBLE, byt
5560: 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  e*);...HRESULT V
5570: 61 72 49 31 46 72 6f 6d 44 61 74 65 28 44 41 54  arI1FromDate(DAT
5580: 45 2c 20 62 79 74 65 2a 29 3b 0d 0a 09 48 52 45  E, byte*);...HRE
5590: 53 55 4c 54 20 56 61 72 49 31 46 72 6f 6d 53 74  SULT VarI1FromSt
55a0: 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44  r(OLECHAR*, LCID
55b0: 2c 20 55 4c 4f 4e 47 2c 20 62 79 74 65 2a 29 3b  , ULONG, byte*);
55c0: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 49 31  ...HRESULT VarI1
55d0: 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49 41 4e 54  FromBool(VARIANT
55e0: 5f 42 4f 4f 4c 2c 20 62 79 74 65 2a 29 3b 0d 0a  _BOOL, byte*);..
55f0: 09 48 52 45 53 55 4c 54 20 56 61 72 49 31 46 72  .HRESULT VarI1Fr
5600: 6f 6d 55 49 32 28 55 53 48 4f 52 54 2c 20 62 79  omUI2(USHORT, by
5610: 74 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  te*);...HRESULT 
5620: 56 61 72 49 31 46 72 6f 6d 55 49 34 28 55 4c 4f  VarI1FromUI4(ULO
5630: 4e 47 2c 20 62 79 74 65 2a 29 3b 0d 0a 09 48 52  NG, byte*);...HR
5640: 45 53 55 4c 54 20 56 61 72 49 31 46 72 6f 6d 55  ESULT VarI1FromU
5650: 49 38 28 55 4c 4f 4e 47 36 34 2c 20 62 79 74 65  I8(ULONG64, byte
5660: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
5670: 72 49 31 46 72 6f 6d 43 79 28 43 59 2c 20 62 79  rI1FromCy(CY, by
5680: 74 65 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  te*);...HRESULT 
5690: 56 61 72 49 31 46 72 6f 6d 44 65 63 28 44 45 43  VarI1FromDec(DEC
56a0: 49 4d 41 4c 2a 2c 20 62 79 74 65 2a 29 3b 0d 0a  IMAL*, byte*);..
56b0: 09 48 52 45 53 55 4c 54 20 56 61 72 49 31 46 72  .HRESULT VarI1Fr
56c0: 6f 6d 44 69 73 70 28 49 44 69 73 70 61 74 63 68  omDisp(IDispatch
56d0: 2c 20 4c 43 49 44 2c 20 62 79 74 65 2a 29 3b 0d  , LCID, byte*);.
56e0: 0a 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  ....HRESULT VarU
56f0: 49 32 46 72 6f 6d 55 49 31 28 42 59 54 45 2c 20  I2FromUI1(BYTE, 
5700: 55 53 48 4f 52 54 2a 29 3b 0d 0a 09 48 52 45 53  USHORT*);...HRES
5710: 55 4c 54 20 56 61 72 55 49 32 46 72 6f 6d 49 32  ULT VarUI2FromI2
5720: 28 53 48 4f 52 54 2c 20 55 53 48 4f 52 54 2a 29  (SHORT, USHORT*)
5730: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  ;...HRESULT VarU
5740: 49 32 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 55  I2FromI4(LONG, U
5750: 53 48 4f 52 54 2a 29 3b 0d 0a 09 48 52 45 53 55  SHORT*);...HRESU
5760: 4c 54 20 56 61 72 55 49 32 46 72 6f 6d 49 38 28  LT VarUI2FromI8(
5770: 4c 4f 4e 47 36 34 2c 20 55 53 48 4f 52 54 2a 29  LONG64, USHORT*)
5780: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  ;...HRESULT VarU
5790: 49 32 46 72 6f 6d 52 34 28 46 4c 4f 41 54 2c 20  I2FromR4(FLOAT, 
57a0: 55 53 48 4f 52 54 2a 29 3b 0d 0a 09 48 52 45 53  USHORT*);...HRES
57b0: 55 4c 54 20 56 61 72 55 49 32 46 72 6f 6d 52 38  ULT VarUI2FromR8
57c0: 28 44 4f 55 42 4c 45 2c 20 55 53 48 4f 52 54 2a  (DOUBLE, USHORT*
57d0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
57e0: 55 49 32 46 72 6f 6d 44 61 74 65 28 44 41 54 45  UI2FromDate(DATE
57f0: 2c 20 55 53 48 4f 52 54 2a 29 3b 0d 0a 09 48 52  , USHORT*);...HR
5800: 45 53 55 4c 54 20 56 61 72 55 49 32 46 72 6f 6d  ESULT VarUI2From
5810: 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c 43  Str(OLECHAR*, LC
5820: 49 44 2c 20 55 4c 4f 4e 47 2c 20 55 53 48 4f 52  ID, ULONG, USHOR
5830: 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  T*);...HRESULT V
5840: 61 72 55 49 32 46 72 6f 6d 42 6f 6f 6c 28 56 41  arUI2FromBool(VA
5850: 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 55 53 48 4f  RIANT_BOOL, USHO
5860: 52 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  RT*);...HRESULT 
5870: 56 61 72 55 49 32 46 72 6f 6d 49 31 28 62 79 74  VarUI2FromI1(byt
5880: 65 2c 20 55 53 48 4f 52 54 2a 29 3b 0d 0a 09 48  e, USHORT*);...H
5890: 52 45 53 55 4c 54 20 56 61 72 55 49 32 46 72 6f  RESULT VarUI2Fro
58a0: 6d 55 49 34 28 55 4c 4f 4e 47 2c 20 55 53 48 4f  mUI4(ULONG, USHO
58b0: 52 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  RT*);...HRESULT 
58c0: 56 61 72 55 49 32 46 72 6f 6d 55 49 38 28 55 4c  VarUI2FromUI8(UL
58d0: 4f 4e 47 36 34 2c 20 55 53 48 4f 52 54 2a 29 3b  ONG64, USHORT*);
58e0: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49  ...HRESULT VarUI
58f0: 32 46 72 6f 6d 43 79 28 43 59 2c 20 55 53 48 4f  2FromCy(CY, USHO
5900: 52 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  RT*);...HRESULT 
5910: 56 61 72 55 49 32 46 72 6f 6d 44 65 63 28 44 45  VarUI2FromDec(DE
5920: 43 49 4d 41 4c 2a 2c 20 55 53 48 4f 52 54 2a 29  CIMAL*, USHORT*)
5930: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  ;...HRESULT VarU
5940: 49 32 46 72 6f 6d 44 69 73 70 28 49 44 69 73 70  I2FromDisp(IDisp
5950: 61 74 63 68 2c 20 4c 43 49 44 2c 20 55 53 48 4f  atch, LCID, USHO
5960: 52 54 2a 29 3b 0d 0a 0d 0a 09 48 52 45 53 55 4c  RT*);.....HRESUL
5970: 54 20 56 61 72 55 49 34 46 72 6f 6d 53 74 72 28  T VarUI4FromStr(
5980: 4f 4c 45 43 48 41 52 2a 2c 20 4c 43 49 44 2c 20  OLECHAR*, LCID, 
5990: 55 4c 4f 4e 47 2c 20 55 4c 4f 4e 47 2a 29 3b 0d  ULONG, ULONG*);.
59a0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 34  ..HRESULT VarUI4
59b0: 46 72 6f 6d 55 49 31 28 42 59 54 45 2c 20 55 4c  FromUI1(BYTE, UL
59c0: 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  ONG*);...HRESULT
59d0: 20 56 61 72 55 49 34 46 72 6f 6d 49 32 28 53 48   VarUI4FromI2(SH
59e0: 4f 52 54 2c 20 55 4c 4f 4e 47 2a 29 3b 0d 0a 09  ORT, ULONG*);...
59f0: 48 52 45 53 55 4c 54 20 56 61 72 55 49 34 46 72  HRESULT VarUI4Fr
5a00: 6f 6d 49 34 28 4c 4f 4e 47 2c 20 55 4c 4f 4e 47  omI4(LONG, ULONG
5a10: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
5a20: 72 55 49 34 46 72 6f 6d 49 38 28 4c 4f 4e 47 36  rUI4FromI8(LONG6
5a30: 34 2c 20 55 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52  4, ULONG*);...HR
5a40: 45 53 55 4c 54 20 56 61 72 55 49 34 46 72 6f 6d  ESULT VarUI4From
5a50: 52 34 28 46 4c 4f 41 54 2c 20 55 4c 4f 4e 47 2a  R4(FLOAT, ULONG*
5a60: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
5a70: 55 49 34 46 72 6f 6d 52 38 28 44 4f 55 42 4c 45  UI4FromR8(DOUBLE
5a80: 2c 20 55 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45  , ULONG*);...HRE
5a90: 53 55 4c 54 20 56 61 72 55 49 34 46 72 6f 6d 44  SULT VarUI4FromD
5aa0: 61 74 65 28 44 41 54 45 2c 20 55 4c 4f 4e 47 2a  ate(DATE, ULONG*
5ab0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
5ac0: 55 49 34 46 72 6f 6d 42 6f 6f 6c 28 56 41 52 49  UI4FromBool(VARI
5ad0: 41 4e 54 5f 42 4f 4f 4c 2c 20 55 4c 4f 4e 47 2a  ANT_BOOL, ULONG*
5ae0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
5af0: 55 49 34 46 72 6f 6d 49 31 28 62 79 74 65 2c 20  UI4FromI1(byte, 
5b00: 55 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 53 55  ULONG*);...HRESU
5b10: 4c 54 20 56 61 72 55 49 34 46 72 6f 6d 55 49 32  LT VarUI4FromUI2
5b20: 28 55 53 48 4f 52 54 2c 20 55 4c 4f 4e 47 2a 29  (USHORT, ULONG*)
5b30: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  ;...HRESULT VarU
5b40: 49 34 46 72 6f 6d 55 49 38 28 55 4c 4f 4e 47 36  I4FromUI8(ULONG6
5b50: 34 2c 20 55 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52  4, ULONG*);...HR
5b60: 45 53 55 4c 54 20 56 61 72 55 49 34 46 72 6f 6d  ESULT VarUI4From
5b70: 43 79 28 43 59 2c 20 55 4c 4f 4e 47 2a 29 3b 0d  Cy(CY, ULONG*);.
5b80: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 34  ..HRESULT VarUI4
5b90: 46 72 6f 6d 44 65 63 28 44 45 43 49 4d 41 4c 2a  FromDec(DECIMAL*
5ba0: 2c 20 55 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45  , ULONG*);...HRE
5bb0: 53 55 4c 54 20 56 61 72 55 49 34 46 72 6f 6d 44  SULT VarUI4FromD
5bc0: 69 73 70 28 49 44 69 73 70 61 74 63 68 2c 20 4c  isp(IDispatch, L
5bd0: 43 49 44 2c 20 55 4c 4f 4e 47 2a 29 3b 0d 0a 0d  CID, ULONG*);...
5be0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 38  ..HRESULT VarUI8
5bf0: 46 72 6f 6d 55 49 31 28 42 59 54 45 2c 20 55 4c  FromUI1(BYTE, UL
5c00: 4f 4e 47 36 34 2a 29 3b 0d 0a 09 48 52 45 53 55  ONG64*);...HRESU
5c10: 4c 54 20 56 61 72 55 49 38 46 72 6f 6d 49 32 28  LT VarUI8FromI2(
5c20: 53 48 4f 52 54 2c 20 55 4c 4f 4e 47 36 34 2a 29  SHORT, ULONG64*)
5c30: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55  ;...HRESULT VarU
5c40: 49 38 46 72 6f 6d 49 34 28 4c 4f 4e 47 2c 20 55  I8FromI4(LONG, U
5c50: 4c 4f 4e 47 36 34 2a 29 3b 0d 0a 09 48 52 45 53  LONG64*);...HRES
5c60: 55 4c 54 20 56 61 72 55 49 38 46 72 6f 6d 49 38  ULT VarUI8FromI8
5c70: 28 4c 4f 4e 47 36 34 2c 20 55 4c 4f 4e 47 36 34  (LONG64, ULONG64
5c80: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
5c90: 72 55 49 38 46 72 6f 6d 52 34 28 46 4c 4f 41 54  rUI8FromR4(FLOAT
5ca0: 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b 0d 0a 09 48  , ULONG64*);...H
5cb0: 52 45 53 55 4c 54 20 56 61 72 55 49 38 46 72 6f  RESULT VarUI8Fro
5cc0: 6d 52 38 28 44 4f 55 42 4c 45 2c 20 55 4c 4f 4e  mR8(DOUBLE, ULON
5cd0: 47 36 34 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  G64*);...HRESULT
5ce0: 20 56 61 72 55 49 38 46 72 6f 6d 44 61 74 65 28   VarUI8FromDate(
5cf0: 44 41 54 45 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b  DATE, ULONG64*);
5d00: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49  ...HRESULT VarUI
5d10: 38 46 72 6f 6d 53 74 72 28 4f 4c 45 43 48 41 52  8FromStr(OLECHAR
5d20: 2a 2c 20 4c 43 49 44 2c 20 55 4c 4f 4e 47 2c 20  *, LCID, ULONG, 
5d30: 55 4c 4f 4e 47 36 34 2a 29 3b 0d 0a 09 48 52 45  ULONG64*);...HRE
5d40: 53 55 4c 54 20 56 61 72 55 49 38 46 72 6f 6d 42  SULT VarUI8FromB
5d50: 6f 6f 6c 28 56 41 52 49 41 4e 54 5f 42 4f 4f 4c  ool(VARIANT_BOOL
5d60: 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b 0d 0a 09 48  , ULONG64*);...H
5d70: 52 45 53 55 4c 54 20 56 61 72 55 49 38 46 72 6f  RESULT VarUI8Fro
5d80: 6d 49 31 28 62 79 74 65 2c 20 55 4c 4f 4e 47 36  mI1(byte, ULONG6
5d90: 34 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  4*);...HRESULT V
5da0: 61 72 55 49 38 46 72 6f 6d 55 49 32 28 55 53 48  arUI8FromUI2(USH
5db0: 4f 52 54 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b 0d  ORT, ULONG64*);.
5dc0: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 38  ..HRESULT VarUI8
5dd0: 46 72 6f 6d 55 49 34 28 55 4c 4f 4e 47 2c 20 55  FromUI4(ULONG, U
5de0: 4c 4f 4e 47 36 34 2a 29 3b 0d 0a 09 48 52 45 53  LONG64*);...HRES
5df0: 55 4c 54 20 56 61 72 55 49 38 46 72 6f 6d 44 65  ULT VarUI8FromDe
5e00: 63 28 44 45 43 49 4d 41 4c 2a 2c 20 55 4c 4f 4e  c(DECIMAL*, ULON
5e10: 47 36 34 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  G64*);...HRESULT
5e20: 20 56 61 72 55 49 38 46 72 6f 6d 49 6e 74 28 49   VarUI8FromInt(I
5e30: 4e 54 2c 20 55 4c 4f 4e 47 36 34 2a 29 3b 0d 0a  NT, ULONG64*);..
5e40: 09 48 52 45 53 55 4c 54 20 56 61 72 55 49 38 46  .HRESULT VarUI8F
5e50: 72 6f 6d 43 79 28 43 59 2c 20 55 4c 4f 4e 47 36  romCy(CY, ULONG6
5e60: 34 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  4*);...HRESULT V
5e70: 61 72 55 49 38 46 72 6f 6d 44 69 73 70 28 49 44  arUI8FromDisp(ID
5e80: 69 73 70 61 74 63 68 2c 20 4c 43 49 44 2c 20 55  ispatch, LCID, U
5e90: 4c 4f 4e 47 36 34 2a 29 3b 0d 0a 0d 0a 09 48 52  LONG64*);.....HR
5ea0: 45 53 55 4c 54 20 56 61 72 44 65 63 46 72 6f 6d  ESULT VarDecFrom
5eb0: 55 49 31 28 42 59 54 45 2c 20 44 45 43 49 4d 41  UI1(BYTE, DECIMA
5ec0: 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  L*);...HRESULT V
5ed0: 61 72 44 65 63 46 72 6f 6d 49 32 28 53 48 4f 52  arDecFromI2(SHOR
5ee0: 54 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0d 0a 09  T, DECIMAL*);...
5ef0: 48 52 45 53 55 4c 54 20 56 61 72 44 65 63 46 72  HRESULT VarDecFr
5f00: 6f 6d 49 34 28 4c 4f 4e 47 2c 20 44 45 43 49 4d  omI4(LONG, DECIM
5f10: 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  AL*);...HRESULT 
5f20: 56 61 72 44 65 63 46 72 6f 6d 49 38 28 4c 4f 4e  VarDecFromI8(LON
5f30: 47 36 34 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0d  G64, DECIMAL*);.
5f40: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 65 63  ..HRESULT VarDec
5f50: 46 72 6f 6d 52 34 28 46 4c 4f 41 54 2c 20 44 45  FromR4(FLOAT, DE
5f60: 43 49 4d 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55  CIMAL*);...HRESU
5f70: 4c 54 20 56 61 72 44 65 63 46 72 6f 6d 52 38 28  LT VarDecFromR8(
5f80: 44 4f 55 42 4c 45 2c 20 44 45 43 49 4d 41 4c 2a  DOUBLE, DECIMAL*
5f90: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
5fa0: 44 65 63 46 72 6f 6d 44 61 74 65 28 44 41 54 45  DecFromDate(DATE
5fb0: 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0d 0a 09 48  , DECIMAL*);...H
5fc0: 52 45 53 55 4c 54 20 56 61 72 44 65 63 46 72 6f  RESULT VarDecFro
5fd0: 6d 53 74 72 28 4f 4c 45 43 48 41 52 2a 2c 20 4c  mStr(OLECHAR*, L
5fe0: 43 49 44 2c 20 55 4c 4f 4e 47 2c 20 44 45 43 49  CID, ULONG, DECI
5ff0: 4d 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  MAL*);...HRESULT
6000: 20 56 61 72 44 65 63 46 72 6f 6d 42 6f 6f 6c 28   VarDecFromBool(
6010: 56 41 52 49 41 4e 54 5f 42 4f 4f 4c 2c 20 44 45  VARIANT_BOOL, DE
6020: 43 49 4d 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55  CIMAL*);...HRESU
6030: 4c 54 20 56 61 72 44 65 63 46 72 6f 6d 49 31 28  LT VarDecFromI1(
6040: 62 79 74 65 2c 20 44 45 43 49 4d 41 4c 2a 29 3b  byte, DECIMAL*);
6050: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44 65  ...HRESULT VarDe
6060: 63 46 72 6f 6d 55 49 32 28 55 53 48 4f 52 54 2c  cFromUI2(USHORT,
6070: 20 44 45 43 49 4d 41 4c 2a 29 3b 0d 0a 09 48 52   DECIMAL*);...HR
6080: 45 53 55 4c 54 20 56 61 72 44 65 63 46 72 6f 6d  ESULT VarDecFrom
6090: 55 49 34 28 55 4c 4f 4e 47 2c 20 44 45 43 49 4d  UI4(ULONG, DECIM
60a0: 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  AL*);...HRESULT 
60b0: 56 61 72 44 65 63 46 72 6f 6d 55 49 38 28 55 4c  VarDecFromUI8(UL
60c0: 4f 4e 47 36 34 2c 20 44 45 43 49 4d 41 4c 2a 29  ONG64, DECIMAL*)
60d0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 44  ;...HRESULT VarD
60e0: 65 63 46 72 6f 6d 43 79 28 43 59 2c 20 44 45 43  ecFromCy(CY, DEC
60f0: 49 4d 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  IMAL*);...HRESUL
6100: 54 20 56 61 72 44 65 63 46 72 6f 6d 44 69 73 70  T VarDecFromDisp
6110: 28 49 44 69 73 70 61 74 63 68 2c 20 4c 43 49 44  (IDispatch, LCID
6120: 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0d 0a 0d 0a  , DECIMAL*);....
6130: 09 48 52 45 53 55 4c 54 20 56 61 72 44 65 63 4e  .HRESULT VarDecN
6140: 65 67 28 63 6f 6e 73 74 28 44 45 43 49 4d 41 4c  eg(const(DECIMAL
6150: 29 2a 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0d 0a  )*, DECIMAL*);..
6160: 09 48 52 45 53 55 4c 54 20 56 61 72 52 34 43 6d  .HRESULT VarR4Cm
6170: 70 52 38 28 66 6c 6f 61 74 2c 20 64 6f 75 62 6c  pR8(float, doubl
6180: 65 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  e);...HRESULT Va
6190: 72 52 38 50 6f 77 28 64 6f 75 62 6c 65 2c 20 64  rR8Pow(double, d
61a0: 6f 75 62 6c 65 2c 20 64 6f 75 62 6c 65 2a 29 3b  ouble, double*);
61b0: 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 52 38  ...HRESULT VarR8
61c0: 52 6f 75 6e 64 28 64 6f 75 62 6c 65 2c 20 69 6e  Round(double, in
61d0: 74 2c 20 64 6f 75 62 6c 65 2a 29 3b 0d 0a 09 48  t, double*);...H
61e0: 52 45 53 55 4c 54 20 56 61 72 44 65 63 41 62 73  RESULT VarDecAbs
61f0: 28 63 6f 6e 73 74 28 44 45 43 49 4d 41 4c 29 2a  (const(DECIMAL)*
6200: 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0d 0a 09 48  , DECIMAL*);...H
6210: 52 45 53 55 4c 54 20 56 61 72 44 65 63 41 64 64  RESULT VarDecAdd
6220: 28 63 6f 6e 73 74 28 44 45 43 49 4d 41 4c 29 2a  (const(DECIMAL)*
6230: 2c 20 63 6f 6e 73 74 28 44 45 43 49 4d 41 4c 29  , const(DECIMAL)
6240: 2a 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0d 0a 09  *, DECIMAL*);...
6250: 48 52 45 53 55 4c 54 20 56 61 72 44 65 63 43 6d  HRESULT VarDecCm
6260: 70 28 63 6f 6e 73 74 28 44 45 43 49 4d 41 4c 29  p(const(DECIMAL)
6270: 2a 2c 20 63 6f 6e 73 74 28 44 45 43 49 4d 41 4c  *, const(DECIMAL
6280: 29 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  )*);...HRESULT V
6290: 61 72 44 65 63 43 6d 70 52 38 28 63 6f 6e 73 74  arDecCmpR8(const
62a0: 28 44 45 43 49 4d 41 4c 29 2a 2c 20 44 4f 55 42  (DECIMAL)*, DOUB
62b0: 4c 45 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  LE);...HRESULT V
62c0: 61 72 44 65 63 44 69 76 28 63 6f 6e 73 74 28 44  arDecDiv(const(D
62d0: 45 43 49 4d 41 4c 29 2a 2c 20 63 6f 6e 73 74 28  ECIMAL)*, const(
62e0: 44 45 43 49 4d 41 4c 29 2a 2c 20 44 45 43 49 4d  DECIMAL)*, DECIM
62f0: 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  AL*);...HRESULT 
6300: 56 61 72 44 65 63 46 69 78 28 63 6f 6e 73 74 28  VarDecFix(const(
6310: 44 45 43 49 4d 41 4c 29 2a 2c 20 44 45 43 49 4d  DECIMAL)*, DECIM
6320: 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  AL*);...HRESULT 
6330: 56 61 72 44 65 63 49 6e 74 28 63 6f 6e 73 74 28  VarDecInt(const(
6340: 44 45 43 49 4d 41 4c 29 2a 2c 20 44 45 43 49 4d  DECIMAL)*, DECIM
6350: 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  AL*);...HRESULT 
6360: 56 61 72 44 65 63 4d 75 6c 28 63 6f 6e 73 74 28  VarDecMul(const(
6370: 44 45 43 49 4d 41 4c 29 2a 2c 20 63 6f 6e 73 74  DECIMAL)*, const
6380: 28 44 45 43 49 4d 41 4c 29 2a 2c 20 44 45 43 49  (DECIMAL)*, DECI
6390: 4d 41 4c 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54  MAL*);...HRESULT
63a0: 20 56 61 72 44 65 63 52 6f 75 6e 64 28 63 6f 6e   VarDecRound(con
63b0: 73 74 28 44 45 43 49 4d 41 4c 29 2a 2c 20 69 6e  st(DECIMAL)*, in
63c0: 74 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0d 0a 09  t, DECIMAL*);...
63d0: 48 52 45 53 55 4c 54 20 56 61 72 44 65 63 53 75  HRESULT VarDecSu
63e0: 62 28 63 6f 6e 73 74 28 44 45 43 49 4d 41 4c 29  b(const(DECIMAL)
63f0: 2a 2c 20 63 6f 6e 73 74 28 44 45 43 49 4d 41 4c  *, const(DECIMAL
6400: 29 2a 2c 20 44 45 43 49 4d 41 4c 2a 29 3b 0d 0a  )*, DECIMAL*);..
6410: 09 48 52 45 53 55 4c 54 20 56 61 72 43 79 41 62  .HRESULT VarCyAb
6420: 73 28 43 59 2c 20 43 59 2a 29 3b 0d 0a 09 48 52  s(CY, CY*);...HR
6430: 45 53 55 4c 54 20 56 61 72 43 79 41 64 64 28 43  ESULT VarCyAdd(C
6440: 59 2c 20 43 59 2c 20 43 59 2a 29 3b 0d 0a 09 48  Y, CY, CY*);...H
6450: 52 45 53 55 4c 54 20 56 61 72 43 79 43 6d 70 28  RESULT VarCyCmp(
6460: 43 59 2c 20 43 59 29 3b 0d 0a 09 48 52 45 53 55  CY, CY);...HRESU
6470: 4c 54 20 56 61 72 43 79 43 6d 70 52 38 28 43 59  LT VarCyCmpR8(CY
6480: 2c 20 44 4f 55 42 4c 45 29 3b 0d 0a 09 48 52 45  , DOUBLE);...HRE
6490: 53 55 4c 54 20 56 61 72 43 79 46 69 78 28 43 59  SULT VarCyFix(CY
64a0: 2c 20 43 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c  , CY*);...HRESUL
64b0: 54 20 56 61 72 43 79 49 6e 74 28 43 59 2c 20 43  T VarCyInt(CY, C
64c0: 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  Y*);...HRESULT V
64d0: 61 72 43 79 4d 75 6c 28 43 59 2c 20 43 59 2c 20  arCyMul(CY, CY, 
64e0: 43 59 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  CY*);...HRESULT 
64f0: 56 61 72 43 79 4d 75 6c 49 34 28 43 59 2c 20 4c  VarCyMulI4(CY, L
6500: 4f 4e 47 2c 20 43 59 2a 29 3b 0d 0a 09 48 52 45  ONG, CY*);...HRE
6510: 53 55 4c 54 20 56 61 72 43 79 4d 75 6c 49 38 28  SULT VarCyMulI8(
6520: 43 59 2c 20 4c 4f 4e 47 36 34 2c 20 43 59 2a 29  CY, LONG64, CY*)
6530: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43  ;...HRESULT VarC
6540: 79 4e 65 67 28 43 59 2c 20 43 59 2a 29 3b 0d 0a  yNeg(CY, CY*);..
6550: 09 48 52 45 53 55 4c 54 20 56 61 72 43 79 52 6f  .HRESULT VarCyRo
6560: 75 6e 64 28 43 59 2c 20 49 4e 54 2c 20 43 59 2a  und(CY, INT, CY*
6570: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
6580: 43 79 53 75 62 28 43 59 2c 20 43 59 2c 20 43 59  CySub(CY, CY, CY
6590: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61  *);...HRESULT Va
65a0: 72 41 64 64 28 4c 50 56 41 52 49 41 4e 54 2c 20  rAdd(LPVARIANT, 
65b0: 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52  LPVARIANT, LPVAR
65c0: 49 41 4e 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54  IANT);...HRESULT
65d0: 20 56 61 72 41 6e 64 28 4c 50 56 41 52 49 41 4e   VarAnd(LPVARIAN
65e0: 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  T, LPVARIANT, LP
65f0: 56 41 52 49 41 4e 54 29 3b 0d 0a 09 48 52 45 53  VARIANT);...HRES
6600: 55 4c 54 20 56 61 72 43 61 74 28 4c 50 56 41 52  ULT VarCat(LPVAR
6610: 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c  IANT, LPVARIANT,
6620: 20 4c 50 56 41 52 49 41 4e 54 29 3b 0d 0a 09 48   LPVARIANT);...H
6630: 52 45 53 55 4c 54 20 56 61 72 44 69 76 28 4c 50  RESULT VarDiv(LP
6640: 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41  VARIANT, LPVARIA
6650: 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 29 3b 0d  NT, LPVARIANT);.
6660: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 45 71 76  ..HRESULT VarEqv
6670: 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41  (LPVARIANT, LPVA
6680: 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54  RIANT, LPVARIANT
6690: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
66a0: 49 64 69 76 28 4c 50 56 41 52 49 41 4e 54 2c 20  Idiv(LPVARIANT, 
66b0: 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52  LPVARIANT, LPVAR
66c0: 49 41 4e 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54  IANT);...HRESULT
66d0: 20 56 61 72 49 6d 70 28 4c 50 56 41 52 49 41 4e   VarImp(LPVARIAN
66e0: 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  T, LPVARIANT, LP
66f0: 56 41 52 49 41 4e 54 29 3b 0d 0a 09 48 52 45 53  VARIANT);...HRES
6700: 55 4c 54 20 56 61 72 4d 6f 64 28 4c 50 56 41 52  ULT VarMod(LPVAR
6710: 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c  IANT, LPVARIANT,
6720: 20 4c 50 56 41 52 49 41 4e 54 29 3b 0d 0a 09 48   LPVARIANT);...H
6730: 52 45 53 55 4c 54 20 56 61 72 4d 75 6c 28 4c 50  RESULT VarMul(LP
6740: 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41  VARIANT, LPVARIA
6750: 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 29 3b 0d  NT, LPVARIANT);.
6760: 0a 09 48 52 45 53 55 4c 54 20 56 61 72 4f 72 28  ..HRESULT VarOr(
6770: 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52  LPVARIANT, LPVAR
6780: 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 29  IANT, LPVARIANT)
6790: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 50  ;...HRESULT VarP
67a0: 6f 77 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  ow(LPVARIANT, LP
67b0: 56 41 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41  VARIANT, LPVARIA
67c0: 4e 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56  NT);...HRESULT V
67d0: 61 72 53 75 62 28 4c 50 56 41 52 49 41 4e 54 2c  arSub(LPVARIANT,
67e0: 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50 56 41   LPVARIANT, LPVA
67f0: 52 49 41 4e 54 29 3b 0d 0a 09 48 52 45 53 55 4c  RIANT);...HRESUL
6800: 54 20 56 61 72 58 6f 72 28 4c 50 56 41 52 49 41  T VarXor(LPVARIA
6810: 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54 2c 20 4c  NT, LPVARIANT, L
6820: 50 56 41 52 49 41 4e 54 29 3b 0d 0a 09 48 52 45  PVARIANT);...HRE
6830: 53 55 4c 54 20 56 61 72 41 62 73 28 4c 50 56 41  SULT VarAbs(LPVA
6840: 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54  RIANT, LPVARIANT
6850: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
6860: 46 69 78 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c  Fix(LPVARIANT, L
6870: 50 56 41 52 49 41 4e 54 29 3b 0d 0a 09 48 52 45  PVARIANT);...HRE
6880: 53 55 4c 54 20 56 61 72 49 6e 74 28 4c 50 56 41  SULT VarInt(LPVA
6890: 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54  RIANT, LPVARIANT
68a0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
68b0: 4e 65 67 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c  Neg(LPVARIANT, L
68c0: 50 56 41 52 49 41 4e 54 29 3b 0d 0a 09 48 52 45  PVARIANT);...HRE
68d0: 53 55 4c 54 20 56 61 72 4e 6f 74 28 4c 50 56 41  SULT VarNot(LPVA
68e0: 52 49 41 4e 54 2c 20 4c 50 56 41 52 49 41 4e 54  RIANT, LPVARIANT
68f0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72  );...HRESULT Var
6900: 52 6f 75 6e 64 28 4c 50 56 41 52 49 41 4e 54 2c  Round(LPVARIANT,
6910: 20 69 6e 74 2c 20 4c 50 56 41 52 49 41 4e 54 29   int, LPVARIANT)
6920: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 56 61 72 43  ;...HRESULT VarC
6930: 6d 70 28 4c 50 56 41 52 49 41 4e 54 2c 20 4c 50  mp(LPVARIANT, LP
6940: 56 41 52 49 41 4e 54 2c 20 4c 43 49 44 2c 20 55  VARIANT, LCID, U
6950: 4c 4f 4e 47 29 3b 0d 0a 09 48 52 45 53 55 4c 54  LONG);...HRESULT
6960: 20 56 61 72 42 73 74 72 43 6d 70 28 42 53 54 52   VarBstrCmp(BSTR
6970: 2c 20 42 53 54 52 2c 20 4c 43 49 44 2c 20 55 4c  , BSTR, LCID, UL
6980: 4f 4e 47 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20  ONG);...HRESULT 
6990: 56 61 72 42 73 74 72 43 61 74 28 42 53 54 52 2c  VarBstrCat(BSTR,
69a0: 20 42 53 54 52 2c 20 42 53 54 52 2a 29 3b 0d 0a   BSTR, BSTR*);..
69b0: 7d 0d 0a                                         }..