github.com/kbinani/win@v0.3.0/oleaut32.go (about)

     1  // This file was automatically generated by https://github.com/kbinani/win/blob/generator/internal/cmd/gen/gen.go
     2  // go run internal/cmd/gen/gen.go
     3  
     4  // +build windows
     5  
     6  package win
     7  
     8  import (
     9  	"unsafe"
    10  )
    11  
    12  var (
    13  	// Library
    14  	liboleaut32 uintptr
    15  
    16  	// Functions
    17  	bSTR_UserFree                  uintptr
    18  	bSTR_UserSize                  uintptr
    19  	bstrFromVector                 uintptr
    20  	clearCustData                  uintptr
    21  	createDispTypeInfo             uintptr
    22  	createErrorInfo                uintptr
    23  	createStdDispatch              uintptr
    24  	createTypeLib                  uintptr
    25  	createTypeLib2                 uintptr
    26  	dispCallFunc                   uintptr
    27  	dispGetIDsOfNames              uintptr
    28  	dispGetParam                   uintptr
    29  	dispInvoke                     uintptr
    30  	dosDateTimeToVariantTime       uintptr
    31  	getErrorInfo                   uintptr
    32  	getRecordInfoFromGuids         uintptr
    33  	getRecordInfoFromTypeInfo      uintptr
    34  	lHashValOfNameSysA             uintptr
    35  	lPSAFEARRAY_UserFree           uintptr
    36  	lPSAFEARRAY_UserSize           uintptr
    37  	loadRegTypeLib                 uintptr
    38  	loadTypeLib                    uintptr
    39  	loadTypeLibEx                  uintptr
    40  	oaBuildVersion                 uintptr
    41  	oleCreateFontIndirect          uintptr
    42  	oleCreatePictureIndirect       uintptr
    43  	oleCreatePropertyFrame         uintptr
    44  	oleCreatePropertyFrameIndirect uintptr
    45  	oleIconToCursor                uintptr
    46  	oleLoadPicture                 uintptr
    47  	oleLoadPictureEx               uintptr
    48  	oleLoadPictureFile             uintptr
    49  	oleLoadPicturePath             uintptr
    50  	oleSavePictureFile             uintptr
    51  	oleTranslateColor              uintptr
    52  	queryPathOfRegTypeLib          uintptr
    53  	registerTypeLib                uintptr
    54  	registerTypeLibForUser         uintptr
    55  	safeArrayAccessData            uintptr
    56  	safeArrayAllocData             uintptr
    57  	safeArrayAllocDescriptor       uintptr
    58  	safeArrayAllocDescriptorEx     uintptr
    59  	safeArrayCopy                  uintptr
    60  	safeArrayCopyData              uintptr
    61  	safeArrayDestroy               uintptr
    62  	safeArrayDestroyData           uintptr
    63  	safeArrayDestroyDescriptor     uintptr
    64  	safeArrayGetDim                uintptr
    65  	safeArrayGetElement            uintptr
    66  	safeArrayGetElemsize           uintptr
    67  	safeArrayGetIID                uintptr
    68  	safeArrayGetLBound             uintptr
    69  	safeArrayGetRecordInfo         uintptr
    70  	safeArrayGetUBound             uintptr
    71  	safeArrayGetVartype            uintptr
    72  	safeArrayLock                  uintptr
    73  	safeArrayPtrOfIndex            uintptr
    74  	safeArrayPutElement            uintptr
    75  	safeArrayRedim                 uintptr
    76  	safeArraySetIID                uintptr
    77  	safeArraySetRecordInfo         uintptr
    78  	safeArrayUnaccessData          uintptr
    79  	safeArrayUnlock                uintptr
    80  	setErrorInfo                   uintptr
    81  	setOaNoCache                   uintptr
    82  	sysAllocString                 uintptr
    83  	sysAllocStringByteLen          uintptr
    84  	sysAllocStringLen              uintptr
    85  	sysFreeString                  uintptr
    86  	sysReAllocString               uintptr
    87  	sysReAllocStringLen            uintptr
    88  	sysStringByteLen               uintptr
    89  	sysStringLen                   uintptr
    90  	systemTimeToVariantTime        uintptr
    91  	unRegisterTypeLib              uintptr
    92  	unRegisterTypeLibForUser       uintptr
    93  	vARIANT_UserFree               uintptr
    94  	vARIANT_UserSize               uintptr
    95  	varAbs                         uintptr
    96  	varAdd                         uintptr
    97  	varAnd                         uintptr
    98  	varBoolFromCy                  uintptr
    99  	varBoolFromDate                uintptr
   100  	varBoolFromDec                 uintptr
   101  	varBoolFromDisp                uintptr
   102  	varBoolFromI1                  uintptr
   103  	varBoolFromI2                  uintptr
   104  	varBoolFromI4                  uintptr
   105  	varBoolFromI8                  uintptr
   106  	varBoolFromR4                  uintptr
   107  	varBoolFromR8                  uintptr
   108  	varBoolFromStr                 uintptr
   109  	varBoolFromUI1                 uintptr
   110  	varBoolFromUI2                 uintptr
   111  	varBoolFromUI4                 uintptr
   112  	varBoolFromUI8                 uintptr
   113  	varBstrCat                     uintptr
   114  	varBstrCmp                     uintptr
   115  	varBstrFromBool                uintptr
   116  	varBstrFromCy                  uintptr
   117  	varBstrFromDate                uintptr
   118  	varBstrFromDec                 uintptr
   119  	varBstrFromDisp                uintptr
   120  	varBstrFromI1                  uintptr
   121  	varBstrFromI2                  uintptr
   122  	varBstrFromI4                  uintptr
   123  	varBstrFromI8                  uintptr
   124  	varBstrFromR4                  uintptr
   125  	varBstrFromR8                  uintptr
   126  	varBstrFromUI1                 uintptr
   127  	varBstrFromUI2                 uintptr
   128  	varBstrFromUI4                 uintptr
   129  	varBstrFromUI8                 uintptr
   130  	varCat                         uintptr
   131  	varCmp                         uintptr
   132  	varCyAbs                       uintptr
   133  	varCyAdd                       uintptr
   134  	varCyCmp                       uintptr
   135  	varCyCmpR8                     uintptr
   136  	varCyFix                       uintptr
   137  	varCyFromBool                  uintptr
   138  	varCyFromDate                  uintptr
   139  	varCyFromDec                   uintptr
   140  	varCyFromDisp                  uintptr
   141  	varCyFromI1                    uintptr
   142  	varCyFromI2                    uintptr
   143  	varCyFromI4                    uintptr
   144  	varCyFromI8                    uintptr
   145  	varCyFromR4                    uintptr
   146  	varCyFromR8                    uintptr
   147  	varCyFromStr                   uintptr
   148  	varCyFromUI1                   uintptr
   149  	varCyFromUI2                   uintptr
   150  	varCyFromUI4                   uintptr
   151  	varCyFromUI8                   uintptr
   152  	varCyInt                       uintptr
   153  	varCyMul                       uintptr
   154  	varCyMulI4                     uintptr
   155  	varCyMulI8                     uintptr
   156  	varCyNeg                       uintptr
   157  	varCyRound                     uintptr
   158  	varCySub                       uintptr
   159  	varDateFromBool                uintptr
   160  	varDateFromCy                  uintptr
   161  	varDateFromDec                 uintptr
   162  	varDateFromDisp                uintptr
   163  	varDateFromI1                  uintptr
   164  	varDateFromI2                  uintptr
   165  	varDateFromI4                  uintptr
   166  	varDateFromI8                  uintptr
   167  	varDateFromR4                  uintptr
   168  	varDateFromR8                  uintptr
   169  	varDateFromStr                 uintptr
   170  	varDateFromUI1                 uintptr
   171  	varDateFromUI2                 uintptr
   172  	varDateFromUI4                 uintptr
   173  	varDateFromUI8                 uintptr
   174  	varDateFromUdate               uintptr
   175  	varDateFromUdateEx             uintptr
   176  	varDecAbs                      uintptr
   177  	varDecAdd                      uintptr
   178  	varDecCmp                      uintptr
   179  	varDecCmpR8                    uintptr
   180  	varDecDiv                      uintptr
   181  	varDecFix                      uintptr
   182  	varDecFromBool                 uintptr
   183  	varDecFromCy                   uintptr
   184  	varDecFromDate                 uintptr
   185  	varDecFromDisp                 uintptr
   186  	varDecFromI1                   uintptr
   187  	varDecFromI2                   uintptr
   188  	varDecFromI4                   uintptr
   189  	varDecFromI8                   uintptr
   190  	varDecFromR4                   uintptr
   191  	varDecFromR8                   uintptr
   192  	varDecFromStr                  uintptr
   193  	varDecFromUI1                  uintptr
   194  	varDecFromUI2                  uintptr
   195  	varDecFromUI4                  uintptr
   196  	varDecFromUI8                  uintptr
   197  	varDecInt                      uintptr
   198  	varDecMul                      uintptr
   199  	varDecNeg                      uintptr
   200  	varDecRound                    uintptr
   201  	varDecSub                      uintptr
   202  	varDiv                         uintptr
   203  	varEqv                         uintptr
   204  	varFix                         uintptr
   205  	varFormat                      uintptr
   206  	varFormatCurrency              uintptr
   207  	varFormatDateTime              uintptr
   208  	varFormatFromTokens            uintptr
   209  	varFormatNumber                uintptr
   210  	varFormatPercent               uintptr
   211  	varI1FromBool                  uintptr
   212  	varI1FromCy                    uintptr
   213  	varI1FromDate                  uintptr
   214  	varI1FromDec                   uintptr
   215  	varI1FromDisp                  uintptr
   216  	varI1FromI2                    uintptr
   217  	varI1FromI4                    uintptr
   218  	varI1FromI8                    uintptr
   219  	varI1FromR4                    uintptr
   220  	varI1FromR8                    uintptr
   221  	varI1FromStr                   uintptr
   222  	varI1FromUI1                   uintptr
   223  	varI1FromUI2                   uintptr
   224  	varI1FromUI4                   uintptr
   225  	varI1FromUI8                   uintptr
   226  	varI2FromBool                  uintptr
   227  	varI2FromCy                    uintptr
   228  	varI2FromDate                  uintptr
   229  	varI2FromDec                   uintptr
   230  	varI2FromDisp                  uintptr
   231  	varI2FromI1                    uintptr
   232  	varI2FromI4                    uintptr
   233  	varI2FromI8                    uintptr
   234  	varI2FromR4                    uintptr
   235  	varI2FromR8                    uintptr
   236  	varI2FromStr                   uintptr
   237  	varI2FromUI1                   uintptr
   238  	varI2FromUI2                   uintptr
   239  	varI2FromUI4                   uintptr
   240  	varI2FromUI8                   uintptr
   241  	varI4FromBool                  uintptr
   242  	varI4FromCy                    uintptr
   243  	varI4FromDate                  uintptr
   244  	varI4FromDec                   uintptr
   245  	varI4FromDisp                  uintptr
   246  	varI4FromI1                    uintptr
   247  	varI4FromI2                    uintptr
   248  	varI4FromI8                    uintptr
   249  	varI4FromR4                    uintptr
   250  	varI4FromR8                    uintptr
   251  	varI4FromStr                   uintptr
   252  	varI4FromUI1                   uintptr
   253  	varI4FromUI2                   uintptr
   254  	varI4FromUI4                   uintptr
   255  	varI4FromUI8                   uintptr
   256  	varI8FromBool                  uintptr
   257  	varI8FromCy                    uintptr
   258  	varI8FromDate                  uintptr
   259  	varI8FromDec                   uintptr
   260  	varI8FromDisp                  uintptr
   261  	varI8FromI1                    uintptr
   262  	varI8FromI2                    uintptr
   263  	varI8FromR4                    uintptr
   264  	varI8FromR8                    uintptr
   265  	varI8FromStr                   uintptr
   266  	varI8FromUI1                   uintptr
   267  	varI8FromUI2                   uintptr
   268  	varI8FromUI4                   uintptr
   269  	varI8FromUI8                   uintptr
   270  	varIdiv                        uintptr
   271  	varImp                         uintptr
   272  	varInt                         uintptr
   273  	varMod                         uintptr
   274  	varMonthName                   uintptr
   275  	varMul                         uintptr
   276  	varNeg                         uintptr
   277  	varNot                         uintptr
   278  	varNumFromParseNum             uintptr
   279  	varOr                          uintptr
   280  	varParseNumFromStr             uintptr
   281  	varPow                         uintptr
   282  	varR4CmpR8                     uintptr
   283  	varR4FromBool                  uintptr
   284  	varR4FromCy                    uintptr
   285  	varR4FromDate                  uintptr
   286  	varR4FromDec                   uintptr
   287  	varR4FromDisp                  uintptr
   288  	varR4FromI1                    uintptr
   289  	varR4FromI2                    uintptr
   290  	varR4FromI4                    uintptr
   291  	varR4FromI8                    uintptr
   292  	varR4FromR8                    uintptr
   293  	varR4FromStr                   uintptr
   294  	varR4FromUI1                   uintptr
   295  	varR4FromUI2                   uintptr
   296  	varR4FromUI4                   uintptr
   297  	varR4FromUI8                   uintptr
   298  	varR8FromBool                  uintptr
   299  	varR8FromCy                    uintptr
   300  	varR8FromDate                  uintptr
   301  	varR8FromDec                   uintptr
   302  	varR8FromDisp                  uintptr
   303  	varR8FromI1                    uintptr
   304  	varR8FromI2                    uintptr
   305  	varR8FromI4                    uintptr
   306  	varR8FromI8                    uintptr
   307  	varR8FromR4                    uintptr
   308  	varR8FromStr                   uintptr
   309  	varR8FromUI1                   uintptr
   310  	varR8FromUI2                   uintptr
   311  	varR8FromUI4                   uintptr
   312  	varR8FromUI8                   uintptr
   313  	varR8Pow                       uintptr
   314  	varR8Round                     uintptr
   315  	varRound                       uintptr
   316  	varSub                         uintptr
   317  	varTokenizeFormatString        uintptr
   318  	varUI1FromBool                 uintptr
   319  	varUI1FromCy                   uintptr
   320  	varUI1FromDate                 uintptr
   321  	varUI1FromDec                  uintptr
   322  	varUI1FromDisp                 uintptr
   323  	varUI1FromI1                   uintptr
   324  	varUI1FromI2                   uintptr
   325  	varUI1FromI4                   uintptr
   326  	varUI1FromI8                   uintptr
   327  	varUI1FromR4                   uintptr
   328  	varUI1FromR8                   uintptr
   329  	varUI1FromStr                  uintptr
   330  	varUI1FromUI2                  uintptr
   331  	varUI1FromUI4                  uintptr
   332  	varUI1FromUI8                  uintptr
   333  	varUI2FromBool                 uintptr
   334  	varUI2FromCy                   uintptr
   335  	varUI2FromDate                 uintptr
   336  	varUI2FromDec                  uintptr
   337  	varUI2FromDisp                 uintptr
   338  	varUI2FromI1                   uintptr
   339  	varUI2FromI2                   uintptr
   340  	varUI2FromI4                   uintptr
   341  	varUI2FromI8                   uintptr
   342  	varUI2FromR4                   uintptr
   343  	varUI2FromR8                   uintptr
   344  	varUI2FromStr                  uintptr
   345  	varUI2FromUI1                  uintptr
   346  	varUI2FromUI4                  uintptr
   347  	varUI2FromUI8                  uintptr
   348  	varUI4FromBool                 uintptr
   349  	varUI4FromCy                   uintptr
   350  	varUI4FromDate                 uintptr
   351  	varUI4FromDec                  uintptr
   352  	varUI4FromDisp                 uintptr
   353  	varUI4FromI1                   uintptr
   354  	varUI4FromI2                   uintptr
   355  	varUI4FromI4                   uintptr
   356  	varUI4FromI8                   uintptr
   357  	varUI4FromR4                   uintptr
   358  	varUI4FromR8                   uintptr
   359  	varUI4FromStr                  uintptr
   360  	varUI4FromUI1                  uintptr
   361  	varUI4FromUI2                  uintptr
   362  	varUI4FromUI8                  uintptr
   363  	varUI8FromBool                 uintptr
   364  	varUI8FromCy                   uintptr
   365  	varUI8FromDate                 uintptr
   366  	varUI8FromDec                  uintptr
   367  	varUI8FromDisp                 uintptr
   368  	varUI8FromI1                   uintptr
   369  	varUI8FromI2                   uintptr
   370  	varUI8FromI8                   uintptr
   371  	varUI8FromR4                   uintptr
   372  	varUI8FromR8                   uintptr
   373  	varUI8FromStr                  uintptr
   374  	varUI8FromUI1                  uintptr
   375  	varUI8FromUI2                  uintptr
   376  	varUI8FromUI4                  uintptr
   377  	varUdateFromDate               uintptr
   378  	varWeekdayName                 uintptr
   379  	varXor                         uintptr
   380  	variantChangeType              uintptr
   381  	variantChangeTypeEx            uintptr
   382  	variantClear                   uintptr
   383  	variantCopy                    uintptr
   384  	variantCopyInd                 uintptr
   385  	variantInit                    uintptr
   386  	variantTimeToDosDateTime       uintptr
   387  	variantTimeToSystemTime        uintptr
   388  	vectorFromBstr                 uintptr
   389  )
   390  
   391  func init() {
   392  	// Library
   393  	liboleaut32 = doLoadLibrary("oleaut32.dll")
   394  
   395  	// Functions
   396  	bSTR_UserFree = doGetProcAddress(liboleaut32, "BSTR_UserFree")
   397  	bSTR_UserSize = doGetProcAddress(liboleaut32, "BSTR_UserSize")
   398  	bstrFromVector = doGetProcAddress(liboleaut32, "BstrFromVector")
   399  	clearCustData = doGetProcAddress(liboleaut32, "ClearCustData")
   400  	createDispTypeInfo = doGetProcAddress(liboleaut32, "CreateDispTypeInfo")
   401  	createErrorInfo = doGetProcAddress(liboleaut32, "CreateErrorInfo")
   402  	createStdDispatch = doGetProcAddress(liboleaut32, "CreateStdDispatch")
   403  	createTypeLib = doGetProcAddress(liboleaut32, "CreateTypeLib")
   404  	createTypeLib2 = doGetProcAddress(liboleaut32, "CreateTypeLib2")
   405  	dispCallFunc = doGetProcAddress(liboleaut32, "DispCallFunc")
   406  	dispGetIDsOfNames = doGetProcAddress(liboleaut32, "DispGetIDsOfNames")
   407  	dispGetParam = doGetProcAddress(liboleaut32, "DispGetParam")
   408  	dispInvoke = doGetProcAddress(liboleaut32, "DispInvoke")
   409  	dosDateTimeToVariantTime = doGetProcAddress(liboleaut32, "DosDateTimeToVariantTime")
   410  	getErrorInfo = doGetProcAddress(liboleaut32, "GetErrorInfo")
   411  	getRecordInfoFromGuids = doGetProcAddress(liboleaut32, "GetRecordInfoFromGuids")
   412  	getRecordInfoFromTypeInfo = doGetProcAddress(liboleaut32, "GetRecordInfoFromTypeInfo")
   413  	lHashValOfNameSysA = doGetProcAddress(liboleaut32, "LHashValOfNameSysA")
   414  	lPSAFEARRAY_UserFree = doGetProcAddress(liboleaut32, "LPSAFEARRAY_UserFree")
   415  	lPSAFEARRAY_UserSize = doGetProcAddress(liboleaut32, "LPSAFEARRAY_UserSize")
   416  	loadRegTypeLib = doGetProcAddress(liboleaut32, "LoadRegTypeLib")
   417  	loadTypeLib = doGetProcAddress(liboleaut32, "LoadTypeLib")
   418  	loadTypeLibEx = doGetProcAddress(liboleaut32, "LoadTypeLibEx")
   419  	oaBuildVersion = doGetProcAddress(liboleaut32, "OaBuildVersion")
   420  	oleCreateFontIndirect = doGetProcAddress(liboleaut32, "OleCreateFontIndirect")
   421  	oleCreatePictureIndirect = doGetProcAddress(liboleaut32, "OleCreatePictureIndirect")
   422  	oleCreatePropertyFrame = doGetProcAddress(liboleaut32, "OleCreatePropertyFrame")
   423  	oleCreatePropertyFrameIndirect = doGetProcAddress(liboleaut32, "OleCreatePropertyFrameIndirect")
   424  	oleIconToCursor = doGetProcAddress(liboleaut32, "OleIconToCursor")
   425  	oleLoadPicture = doGetProcAddress(liboleaut32, "OleLoadPicture")
   426  	oleLoadPictureEx = doGetProcAddress(liboleaut32, "OleLoadPictureEx")
   427  	oleLoadPictureFile = doGetProcAddress(liboleaut32, "OleLoadPictureFile")
   428  	oleLoadPicturePath = doGetProcAddress(liboleaut32, "OleLoadPicturePath")
   429  	oleSavePictureFile = doGetProcAddress(liboleaut32, "OleSavePictureFile")
   430  	oleTranslateColor = doGetProcAddress(liboleaut32, "OleTranslateColor")
   431  	queryPathOfRegTypeLib = doGetProcAddress(liboleaut32, "QueryPathOfRegTypeLib")
   432  	registerTypeLib = doGetProcAddress(liboleaut32, "RegisterTypeLib")
   433  	registerTypeLibForUser = doGetProcAddress(liboleaut32, "RegisterTypeLibForUser")
   434  	safeArrayAccessData = doGetProcAddress(liboleaut32, "SafeArrayAccessData")
   435  	safeArrayAllocData = doGetProcAddress(liboleaut32, "SafeArrayAllocData")
   436  	safeArrayAllocDescriptor = doGetProcAddress(liboleaut32, "SafeArrayAllocDescriptor")
   437  	safeArrayAllocDescriptorEx = doGetProcAddress(liboleaut32, "SafeArrayAllocDescriptorEx")
   438  	safeArrayCopy = doGetProcAddress(liboleaut32, "SafeArrayCopy")
   439  	safeArrayCopyData = doGetProcAddress(liboleaut32, "SafeArrayCopyData")
   440  	safeArrayDestroy = doGetProcAddress(liboleaut32, "SafeArrayDestroy")
   441  	safeArrayDestroyData = doGetProcAddress(liboleaut32, "SafeArrayDestroyData")
   442  	safeArrayDestroyDescriptor = doGetProcAddress(liboleaut32, "SafeArrayDestroyDescriptor")
   443  	safeArrayGetDim = doGetProcAddress(liboleaut32, "SafeArrayGetDim")
   444  	safeArrayGetElement = doGetProcAddress(liboleaut32, "SafeArrayGetElement")
   445  	safeArrayGetElemsize = doGetProcAddress(liboleaut32, "SafeArrayGetElemsize")
   446  	safeArrayGetIID = doGetProcAddress(liboleaut32, "SafeArrayGetIID")
   447  	safeArrayGetLBound = doGetProcAddress(liboleaut32, "SafeArrayGetLBound")
   448  	safeArrayGetRecordInfo = doGetProcAddress(liboleaut32, "SafeArrayGetRecordInfo")
   449  	safeArrayGetUBound = doGetProcAddress(liboleaut32, "SafeArrayGetUBound")
   450  	safeArrayGetVartype = doGetProcAddress(liboleaut32, "SafeArrayGetVartype")
   451  	safeArrayLock = doGetProcAddress(liboleaut32, "SafeArrayLock")
   452  	safeArrayPtrOfIndex = doGetProcAddress(liboleaut32, "SafeArrayPtrOfIndex")
   453  	safeArrayPutElement = doGetProcAddress(liboleaut32, "SafeArrayPutElement")
   454  	safeArrayRedim = doGetProcAddress(liboleaut32, "SafeArrayRedim")
   455  	safeArraySetIID = doGetProcAddress(liboleaut32, "SafeArraySetIID")
   456  	safeArraySetRecordInfo = doGetProcAddress(liboleaut32, "SafeArraySetRecordInfo")
   457  	safeArrayUnaccessData = doGetProcAddress(liboleaut32, "SafeArrayUnaccessData")
   458  	safeArrayUnlock = doGetProcAddress(liboleaut32, "SafeArrayUnlock")
   459  	setErrorInfo = doGetProcAddress(liboleaut32, "SetErrorInfo")
   460  	setOaNoCache = doGetProcAddress(liboleaut32, "SetOaNoCache")
   461  	sysAllocString = doGetProcAddress(liboleaut32, "SysAllocString")
   462  	sysAllocStringByteLen = doGetProcAddress(liboleaut32, "SysAllocStringByteLen")
   463  	sysAllocStringLen = doGetProcAddress(liboleaut32, "SysAllocStringLen")
   464  	sysFreeString = doGetProcAddress(liboleaut32, "SysFreeString")
   465  	sysReAllocString = doGetProcAddress(liboleaut32, "SysReAllocString")
   466  	sysReAllocStringLen = doGetProcAddress(liboleaut32, "SysReAllocStringLen")
   467  	sysStringByteLen = doGetProcAddress(liboleaut32, "SysStringByteLen")
   468  	sysStringLen = doGetProcAddress(liboleaut32, "SysStringLen")
   469  	systemTimeToVariantTime = doGetProcAddress(liboleaut32, "SystemTimeToVariantTime")
   470  	unRegisterTypeLib = doGetProcAddress(liboleaut32, "UnRegisterTypeLib")
   471  	unRegisterTypeLibForUser = doGetProcAddress(liboleaut32, "UnRegisterTypeLibForUser")
   472  	vARIANT_UserFree = doGetProcAddress(liboleaut32, "VARIANT_UserFree")
   473  	vARIANT_UserSize = doGetProcAddress(liboleaut32, "VARIANT_UserSize")
   474  	varAbs = doGetProcAddress(liboleaut32, "VarAbs")
   475  	varAdd = doGetProcAddress(liboleaut32, "VarAdd")
   476  	varAnd = doGetProcAddress(liboleaut32, "VarAnd")
   477  	varBoolFromCy = doGetProcAddress(liboleaut32, "VarBoolFromCy")
   478  	varBoolFromDate = doGetProcAddress(liboleaut32, "VarBoolFromDate")
   479  	varBoolFromDec = doGetProcAddress(liboleaut32, "VarBoolFromDec")
   480  	varBoolFromDisp = doGetProcAddress(liboleaut32, "VarBoolFromDisp")
   481  	varBoolFromI1 = doGetProcAddress(liboleaut32, "VarBoolFromI1")
   482  	varBoolFromI2 = doGetProcAddress(liboleaut32, "VarBoolFromI2")
   483  	varBoolFromI4 = doGetProcAddress(liboleaut32, "VarBoolFromI4")
   484  	varBoolFromI8 = doGetProcAddress(liboleaut32, "VarBoolFromI8")
   485  	varBoolFromR4 = doGetProcAddress(liboleaut32, "VarBoolFromR4")
   486  	varBoolFromR8 = doGetProcAddress(liboleaut32, "VarBoolFromR8")
   487  	varBoolFromStr = doGetProcAddress(liboleaut32, "VarBoolFromStr")
   488  	varBoolFromUI1 = doGetProcAddress(liboleaut32, "VarBoolFromUI1")
   489  	varBoolFromUI2 = doGetProcAddress(liboleaut32, "VarBoolFromUI2")
   490  	varBoolFromUI4 = doGetProcAddress(liboleaut32, "VarBoolFromUI4")
   491  	varBoolFromUI8 = doGetProcAddress(liboleaut32, "VarBoolFromUI8")
   492  	varBstrCat = doGetProcAddress(liboleaut32, "VarBstrCat")
   493  	varBstrCmp = doGetProcAddress(liboleaut32, "VarBstrCmp")
   494  	varBstrFromBool = doGetProcAddress(liboleaut32, "VarBstrFromBool")
   495  	varBstrFromCy = doGetProcAddress(liboleaut32, "VarBstrFromCy")
   496  	varBstrFromDate = doGetProcAddress(liboleaut32, "VarBstrFromDate")
   497  	varBstrFromDec = doGetProcAddress(liboleaut32, "VarBstrFromDec")
   498  	varBstrFromDisp = doGetProcAddress(liboleaut32, "VarBstrFromDisp")
   499  	varBstrFromI1 = doGetProcAddress(liboleaut32, "VarBstrFromI1")
   500  	varBstrFromI2 = doGetProcAddress(liboleaut32, "VarBstrFromI2")
   501  	varBstrFromI4 = doGetProcAddress(liboleaut32, "VarBstrFromI4")
   502  	varBstrFromI8 = doGetProcAddress(liboleaut32, "VarBstrFromI8")
   503  	varBstrFromR4 = doGetProcAddress(liboleaut32, "VarBstrFromR4")
   504  	varBstrFromR8 = doGetProcAddress(liboleaut32, "VarBstrFromR8")
   505  	varBstrFromUI1 = doGetProcAddress(liboleaut32, "VarBstrFromUI1")
   506  	varBstrFromUI2 = doGetProcAddress(liboleaut32, "VarBstrFromUI2")
   507  	varBstrFromUI4 = doGetProcAddress(liboleaut32, "VarBstrFromUI4")
   508  	varBstrFromUI8 = doGetProcAddress(liboleaut32, "VarBstrFromUI8")
   509  	varCat = doGetProcAddress(liboleaut32, "VarCat")
   510  	varCmp = doGetProcAddress(liboleaut32, "VarCmp")
   511  	varCyAbs = doGetProcAddress(liboleaut32, "VarCyAbs")
   512  	varCyAdd = doGetProcAddress(liboleaut32, "VarCyAdd")
   513  	varCyCmp = doGetProcAddress(liboleaut32, "VarCyCmp")
   514  	varCyCmpR8 = doGetProcAddress(liboleaut32, "VarCyCmpR8")
   515  	varCyFix = doGetProcAddress(liboleaut32, "VarCyFix")
   516  	varCyFromBool = doGetProcAddress(liboleaut32, "VarCyFromBool")
   517  	varCyFromDate = doGetProcAddress(liboleaut32, "VarCyFromDate")
   518  	varCyFromDec = doGetProcAddress(liboleaut32, "VarCyFromDec")
   519  	varCyFromDisp = doGetProcAddress(liboleaut32, "VarCyFromDisp")
   520  	varCyFromI1 = doGetProcAddress(liboleaut32, "VarCyFromI1")
   521  	varCyFromI2 = doGetProcAddress(liboleaut32, "VarCyFromI2")
   522  	varCyFromI4 = doGetProcAddress(liboleaut32, "VarCyFromI4")
   523  	varCyFromI8 = doGetProcAddress(liboleaut32, "VarCyFromI8")
   524  	varCyFromR4 = doGetProcAddress(liboleaut32, "VarCyFromR4")
   525  	varCyFromR8 = doGetProcAddress(liboleaut32, "VarCyFromR8")
   526  	varCyFromStr = doGetProcAddress(liboleaut32, "VarCyFromStr")
   527  	varCyFromUI1 = doGetProcAddress(liboleaut32, "VarCyFromUI1")
   528  	varCyFromUI2 = doGetProcAddress(liboleaut32, "VarCyFromUI2")
   529  	varCyFromUI4 = doGetProcAddress(liboleaut32, "VarCyFromUI4")
   530  	varCyFromUI8 = doGetProcAddress(liboleaut32, "VarCyFromUI8")
   531  	varCyInt = doGetProcAddress(liboleaut32, "VarCyInt")
   532  	varCyMul = doGetProcAddress(liboleaut32, "VarCyMul")
   533  	varCyMulI4 = doGetProcAddress(liboleaut32, "VarCyMulI4")
   534  	varCyMulI8 = doGetProcAddress(liboleaut32, "VarCyMulI8")
   535  	varCyNeg = doGetProcAddress(liboleaut32, "VarCyNeg")
   536  	varCyRound = doGetProcAddress(liboleaut32, "VarCyRound")
   537  	varCySub = doGetProcAddress(liboleaut32, "VarCySub")
   538  	varDateFromBool = doGetProcAddress(liboleaut32, "VarDateFromBool")
   539  	varDateFromCy = doGetProcAddress(liboleaut32, "VarDateFromCy")
   540  	varDateFromDec = doGetProcAddress(liboleaut32, "VarDateFromDec")
   541  	varDateFromDisp = doGetProcAddress(liboleaut32, "VarDateFromDisp")
   542  	varDateFromI1 = doGetProcAddress(liboleaut32, "VarDateFromI1")
   543  	varDateFromI2 = doGetProcAddress(liboleaut32, "VarDateFromI2")
   544  	varDateFromI4 = doGetProcAddress(liboleaut32, "VarDateFromI4")
   545  	varDateFromI8 = doGetProcAddress(liboleaut32, "VarDateFromI8")
   546  	varDateFromR4 = doGetProcAddress(liboleaut32, "VarDateFromR4")
   547  	varDateFromR8 = doGetProcAddress(liboleaut32, "VarDateFromR8")
   548  	varDateFromStr = doGetProcAddress(liboleaut32, "VarDateFromStr")
   549  	varDateFromUI1 = doGetProcAddress(liboleaut32, "VarDateFromUI1")
   550  	varDateFromUI2 = doGetProcAddress(liboleaut32, "VarDateFromUI2")
   551  	varDateFromUI4 = doGetProcAddress(liboleaut32, "VarDateFromUI4")
   552  	varDateFromUI8 = doGetProcAddress(liboleaut32, "VarDateFromUI8")
   553  	varDateFromUdate = doGetProcAddress(liboleaut32, "VarDateFromUdate")
   554  	varDateFromUdateEx = doGetProcAddress(liboleaut32, "VarDateFromUdateEx")
   555  	varDecAbs = doGetProcAddress(liboleaut32, "VarDecAbs")
   556  	varDecAdd = doGetProcAddress(liboleaut32, "VarDecAdd")
   557  	varDecCmp = doGetProcAddress(liboleaut32, "VarDecCmp")
   558  	varDecCmpR8 = doGetProcAddress(liboleaut32, "VarDecCmpR8")
   559  	varDecDiv = doGetProcAddress(liboleaut32, "VarDecDiv")
   560  	varDecFix = doGetProcAddress(liboleaut32, "VarDecFix")
   561  	varDecFromBool = doGetProcAddress(liboleaut32, "VarDecFromBool")
   562  	varDecFromCy = doGetProcAddress(liboleaut32, "VarDecFromCy")
   563  	varDecFromDate = doGetProcAddress(liboleaut32, "VarDecFromDate")
   564  	varDecFromDisp = doGetProcAddress(liboleaut32, "VarDecFromDisp")
   565  	varDecFromI1 = doGetProcAddress(liboleaut32, "VarDecFromI1")
   566  	varDecFromI2 = doGetProcAddress(liboleaut32, "VarDecFromI2")
   567  	varDecFromI4 = doGetProcAddress(liboleaut32, "VarDecFromI4")
   568  	varDecFromI8 = doGetProcAddress(liboleaut32, "VarDecFromI8")
   569  	varDecFromR4 = doGetProcAddress(liboleaut32, "VarDecFromR4")
   570  	varDecFromR8 = doGetProcAddress(liboleaut32, "VarDecFromR8")
   571  	varDecFromStr = doGetProcAddress(liboleaut32, "VarDecFromStr")
   572  	varDecFromUI1 = doGetProcAddress(liboleaut32, "VarDecFromUI1")
   573  	varDecFromUI2 = doGetProcAddress(liboleaut32, "VarDecFromUI2")
   574  	varDecFromUI4 = doGetProcAddress(liboleaut32, "VarDecFromUI4")
   575  	varDecFromUI8 = doGetProcAddress(liboleaut32, "VarDecFromUI8")
   576  	varDecInt = doGetProcAddress(liboleaut32, "VarDecInt")
   577  	varDecMul = doGetProcAddress(liboleaut32, "VarDecMul")
   578  	varDecNeg = doGetProcAddress(liboleaut32, "VarDecNeg")
   579  	varDecRound = doGetProcAddress(liboleaut32, "VarDecRound")
   580  	varDecSub = doGetProcAddress(liboleaut32, "VarDecSub")
   581  	varDiv = doGetProcAddress(liboleaut32, "VarDiv")
   582  	varEqv = doGetProcAddress(liboleaut32, "VarEqv")
   583  	varFix = doGetProcAddress(liboleaut32, "VarFix")
   584  	varFormat = doGetProcAddress(liboleaut32, "VarFormat")
   585  	varFormatCurrency = doGetProcAddress(liboleaut32, "VarFormatCurrency")
   586  	varFormatDateTime = doGetProcAddress(liboleaut32, "VarFormatDateTime")
   587  	varFormatFromTokens = doGetProcAddress(liboleaut32, "VarFormatFromTokens")
   588  	varFormatNumber = doGetProcAddress(liboleaut32, "VarFormatNumber")
   589  	varFormatPercent = doGetProcAddress(liboleaut32, "VarFormatPercent")
   590  	varI1FromBool = doGetProcAddress(liboleaut32, "VarI1FromBool")
   591  	varI1FromCy = doGetProcAddress(liboleaut32, "VarI1FromCy")
   592  	varI1FromDate = doGetProcAddress(liboleaut32, "VarI1FromDate")
   593  	varI1FromDec = doGetProcAddress(liboleaut32, "VarI1FromDec")
   594  	varI1FromDisp = doGetProcAddress(liboleaut32, "VarI1FromDisp")
   595  	varI1FromI2 = doGetProcAddress(liboleaut32, "VarI1FromI2")
   596  	varI1FromI4 = doGetProcAddress(liboleaut32, "VarI1FromI4")
   597  	varI1FromI8 = doGetProcAddress(liboleaut32, "VarI1FromI8")
   598  	varI1FromR4 = doGetProcAddress(liboleaut32, "VarI1FromR4")
   599  	varI1FromR8 = doGetProcAddress(liboleaut32, "VarI1FromR8")
   600  	varI1FromStr = doGetProcAddress(liboleaut32, "VarI1FromStr")
   601  	varI1FromUI1 = doGetProcAddress(liboleaut32, "VarI1FromUI1")
   602  	varI1FromUI2 = doGetProcAddress(liboleaut32, "VarI1FromUI2")
   603  	varI1FromUI4 = doGetProcAddress(liboleaut32, "VarI1FromUI4")
   604  	varI1FromUI8 = doGetProcAddress(liboleaut32, "VarI1FromUI8")
   605  	varI2FromBool = doGetProcAddress(liboleaut32, "VarI2FromBool")
   606  	varI2FromCy = doGetProcAddress(liboleaut32, "VarI2FromCy")
   607  	varI2FromDate = doGetProcAddress(liboleaut32, "VarI2FromDate")
   608  	varI2FromDec = doGetProcAddress(liboleaut32, "VarI2FromDec")
   609  	varI2FromDisp = doGetProcAddress(liboleaut32, "VarI2FromDisp")
   610  	varI2FromI1 = doGetProcAddress(liboleaut32, "VarI2FromI1")
   611  	varI2FromI4 = doGetProcAddress(liboleaut32, "VarI2FromI4")
   612  	varI2FromI8 = doGetProcAddress(liboleaut32, "VarI2FromI8")
   613  	varI2FromR4 = doGetProcAddress(liboleaut32, "VarI2FromR4")
   614  	varI2FromR8 = doGetProcAddress(liboleaut32, "VarI2FromR8")
   615  	varI2FromStr = doGetProcAddress(liboleaut32, "VarI2FromStr")
   616  	varI2FromUI1 = doGetProcAddress(liboleaut32, "VarI2FromUI1")
   617  	varI2FromUI2 = doGetProcAddress(liboleaut32, "VarI2FromUI2")
   618  	varI2FromUI4 = doGetProcAddress(liboleaut32, "VarI2FromUI4")
   619  	varI2FromUI8 = doGetProcAddress(liboleaut32, "VarI2FromUI8")
   620  	varI4FromBool = doGetProcAddress(liboleaut32, "VarI4FromBool")
   621  	varI4FromCy = doGetProcAddress(liboleaut32, "VarI4FromCy")
   622  	varI4FromDate = doGetProcAddress(liboleaut32, "VarI4FromDate")
   623  	varI4FromDec = doGetProcAddress(liboleaut32, "VarI4FromDec")
   624  	varI4FromDisp = doGetProcAddress(liboleaut32, "VarI4FromDisp")
   625  	varI4FromI1 = doGetProcAddress(liboleaut32, "VarI4FromI1")
   626  	varI4FromI2 = doGetProcAddress(liboleaut32, "VarI4FromI2")
   627  	varI4FromI8 = doGetProcAddress(liboleaut32, "VarI4FromI8")
   628  	varI4FromR4 = doGetProcAddress(liboleaut32, "VarI4FromR4")
   629  	varI4FromR8 = doGetProcAddress(liboleaut32, "VarI4FromR8")
   630  	varI4FromStr = doGetProcAddress(liboleaut32, "VarI4FromStr")
   631  	varI4FromUI1 = doGetProcAddress(liboleaut32, "VarI4FromUI1")
   632  	varI4FromUI2 = doGetProcAddress(liboleaut32, "VarI4FromUI2")
   633  	varI4FromUI4 = doGetProcAddress(liboleaut32, "VarI4FromUI4")
   634  	varI4FromUI8 = doGetProcAddress(liboleaut32, "VarI4FromUI8")
   635  	varI8FromBool = doGetProcAddress(liboleaut32, "VarI8FromBool")
   636  	varI8FromCy = doGetProcAddress(liboleaut32, "VarI8FromCy")
   637  	varI8FromDate = doGetProcAddress(liboleaut32, "VarI8FromDate")
   638  	varI8FromDec = doGetProcAddress(liboleaut32, "VarI8FromDec")
   639  	varI8FromDisp = doGetProcAddress(liboleaut32, "VarI8FromDisp")
   640  	varI8FromI1 = doGetProcAddress(liboleaut32, "VarI8FromI1")
   641  	varI8FromI2 = doGetProcAddress(liboleaut32, "VarI8FromI2")
   642  	varI8FromR4 = doGetProcAddress(liboleaut32, "VarI8FromR4")
   643  	varI8FromR8 = doGetProcAddress(liboleaut32, "VarI8FromR8")
   644  	varI8FromStr = doGetProcAddress(liboleaut32, "VarI8FromStr")
   645  	varI8FromUI1 = doGetProcAddress(liboleaut32, "VarI8FromUI1")
   646  	varI8FromUI2 = doGetProcAddress(liboleaut32, "VarI8FromUI2")
   647  	varI8FromUI4 = doGetProcAddress(liboleaut32, "VarI8FromUI4")
   648  	varI8FromUI8 = doGetProcAddress(liboleaut32, "VarI8FromUI8")
   649  	varIdiv = doGetProcAddress(liboleaut32, "VarIdiv")
   650  	varImp = doGetProcAddress(liboleaut32, "VarImp")
   651  	varInt = doGetProcAddress(liboleaut32, "VarInt")
   652  	varMod = doGetProcAddress(liboleaut32, "VarMod")
   653  	varMonthName = doGetProcAddress(liboleaut32, "VarMonthName")
   654  	varMul = doGetProcAddress(liboleaut32, "VarMul")
   655  	varNeg = doGetProcAddress(liboleaut32, "VarNeg")
   656  	varNot = doGetProcAddress(liboleaut32, "VarNot")
   657  	varNumFromParseNum = doGetProcAddress(liboleaut32, "VarNumFromParseNum")
   658  	varOr = doGetProcAddress(liboleaut32, "VarOr")
   659  	varParseNumFromStr = doGetProcAddress(liboleaut32, "VarParseNumFromStr")
   660  	varPow = doGetProcAddress(liboleaut32, "VarPow")
   661  	varR4CmpR8 = doGetProcAddress(liboleaut32, "VarR4CmpR8")
   662  	varR4FromBool = doGetProcAddress(liboleaut32, "VarR4FromBool")
   663  	varR4FromCy = doGetProcAddress(liboleaut32, "VarR4FromCy")
   664  	varR4FromDate = doGetProcAddress(liboleaut32, "VarR4FromDate")
   665  	varR4FromDec = doGetProcAddress(liboleaut32, "VarR4FromDec")
   666  	varR4FromDisp = doGetProcAddress(liboleaut32, "VarR4FromDisp")
   667  	varR4FromI1 = doGetProcAddress(liboleaut32, "VarR4FromI1")
   668  	varR4FromI2 = doGetProcAddress(liboleaut32, "VarR4FromI2")
   669  	varR4FromI4 = doGetProcAddress(liboleaut32, "VarR4FromI4")
   670  	varR4FromI8 = doGetProcAddress(liboleaut32, "VarR4FromI8")
   671  	varR4FromR8 = doGetProcAddress(liboleaut32, "VarR4FromR8")
   672  	varR4FromStr = doGetProcAddress(liboleaut32, "VarR4FromStr")
   673  	varR4FromUI1 = doGetProcAddress(liboleaut32, "VarR4FromUI1")
   674  	varR4FromUI2 = doGetProcAddress(liboleaut32, "VarR4FromUI2")
   675  	varR4FromUI4 = doGetProcAddress(liboleaut32, "VarR4FromUI4")
   676  	varR4FromUI8 = doGetProcAddress(liboleaut32, "VarR4FromUI8")
   677  	varR8FromBool = doGetProcAddress(liboleaut32, "VarR8FromBool")
   678  	varR8FromCy = doGetProcAddress(liboleaut32, "VarR8FromCy")
   679  	varR8FromDate = doGetProcAddress(liboleaut32, "VarR8FromDate")
   680  	varR8FromDec = doGetProcAddress(liboleaut32, "VarR8FromDec")
   681  	varR8FromDisp = doGetProcAddress(liboleaut32, "VarR8FromDisp")
   682  	varR8FromI1 = doGetProcAddress(liboleaut32, "VarR8FromI1")
   683  	varR8FromI2 = doGetProcAddress(liboleaut32, "VarR8FromI2")
   684  	varR8FromI4 = doGetProcAddress(liboleaut32, "VarR8FromI4")
   685  	varR8FromI8 = doGetProcAddress(liboleaut32, "VarR8FromI8")
   686  	varR8FromR4 = doGetProcAddress(liboleaut32, "VarR8FromR4")
   687  	varR8FromStr = doGetProcAddress(liboleaut32, "VarR8FromStr")
   688  	varR8FromUI1 = doGetProcAddress(liboleaut32, "VarR8FromUI1")
   689  	varR8FromUI2 = doGetProcAddress(liboleaut32, "VarR8FromUI2")
   690  	varR8FromUI4 = doGetProcAddress(liboleaut32, "VarR8FromUI4")
   691  	varR8FromUI8 = doGetProcAddress(liboleaut32, "VarR8FromUI8")
   692  	varR8Pow = doGetProcAddress(liboleaut32, "VarR8Pow")
   693  	varR8Round = doGetProcAddress(liboleaut32, "VarR8Round")
   694  	varRound = doGetProcAddress(liboleaut32, "VarRound")
   695  	varSub = doGetProcAddress(liboleaut32, "VarSub")
   696  	varTokenizeFormatString = doGetProcAddress(liboleaut32, "VarTokenizeFormatString")
   697  	varUI1FromBool = doGetProcAddress(liboleaut32, "VarUI1FromBool")
   698  	varUI1FromCy = doGetProcAddress(liboleaut32, "VarUI1FromCy")
   699  	varUI1FromDate = doGetProcAddress(liboleaut32, "VarUI1FromDate")
   700  	varUI1FromDec = doGetProcAddress(liboleaut32, "VarUI1FromDec")
   701  	varUI1FromDisp = doGetProcAddress(liboleaut32, "VarUI1FromDisp")
   702  	varUI1FromI1 = doGetProcAddress(liboleaut32, "VarUI1FromI1")
   703  	varUI1FromI2 = doGetProcAddress(liboleaut32, "VarUI1FromI2")
   704  	varUI1FromI4 = doGetProcAddress(liboleaut32, "VarUI1FromI4")
   705  	varUI1FromI8 = doGetProcAddress(liboleaut32, "VarUI1FromI8")
   706  	varUI1FromR4 = doGetProcAddress(liboleaut32, "VarUI1FromR4")
   707  	varUI1FromR8 = doGetProcAddress(liboleaut32, "VarUI1FromR8")
   708  	varUI1FromStr = doGetProcAddress(liboleaut32, "VarUI1FromStr")
   709  	varUI1FromUI2 = doGetProcAddress(liboleaut32, "VarUI1FromUI2")
   710  	varUI1FromUI4 = doGetProcAddress(liboleaut32, "VarUI1FromUI4")
   711  	varUI1FromUI8 = doGetProcAddress(liboleaut32, "VarUI1FromUI8")
   712  	varUI2FromBool = doGetProcAddress(liboleaut32, "VarUI2FromBool")
   713  	varUI2FromCy = doGetProcAddress(liboleaut32, "VarUI2FromCy")
   714  	varUI2FromDate = doGetProcAddress(liboleaut32, "VarUI2FromDate")
   715  	varUI2FromDec = doGetProcAddress(liboleaut32, "VarUI2FromDec")
   716  	varUI2FromDisp = doGetProcAddress(liboleaut32, "VarUI2FromDisp")
   717  	varUI2FromI1 = doGetProcAddress(liboleaut32, "VarUI2FromI1")
   718  	varUI2FromI2 = doGetProcAddress(liboleaut32, "VarUI2FromI2")
   719  	varUI2FromI4 = doGetProcAddress(liboleaut32, "VarUI2FromI4")
   720  	varUI2FromI8 = doGetProcAddress(liboleaut32, "VarUI2FromI8")
   721  	varUI2FromR4 = doGetProcAddress(liboleaut32, "VarUI2FromR4")
   722  	varUI2FromR8 = doGetProcAddress(liboleaut32, "VarUI2FromR8")
   723  	varUI2FromStr = doGetProcAddress(liboleaut32, "VarUI2FromStr")
   724  	varUI2FromUI1 = doGetProcAddress(liboleaut32, "VarUI2FromUI1")
   725  	varUI2FromUI4 = doGetProcAddress(liboleaut32, "VarUI2FromUI4")
   726  	varUI2FromUI8 = doGetProcAddress(liboleaut32, "VarUI2FromUI8")
   727  	varUI4FromBool = doGetProcAddress(liboleaut32, "VarUI4FromBool")
   728  	varUI4FromCy = doGetProcAddress(liboleaut32, "VarUI4FromCy")
   729  	varUI4FromDate = doGetProcAddress(liboleaut32, "VarUI4FromDate")
   730  	varUI4FromDec = doGetProcAddress(liboleaut32, "VarUI4FromDec")
   731  	varUI4FromDisp = doGetProcAddress(liboleaut32, "VarUI4FromDisp")
   732  	varUI4FromI1 = doGetProcAddress(liboleaut32, "VarUI4FromI1")
   733  	varUI4FromI2 = doGetProcAddress(liboleaut32, "VarUI4FromI2")
   734  	varUI4FromI4 = doGetProcAddress(liboleaut32, "VarUI4FromI4")
   735  	varUI4FromI8 = doGetProcAddress(liboleaut32, "VarUI4FromI8")
   736  	varUI4FromR4 = doGetProcAddress(liboleaut32, "VarUI4FromR4")
   737  	varUI4FromR8 = doGetProcAddress(liboleaut32, "VarUI4FromR8")
   738  	varUI4FromStr = doGetProcAddress(liboleaut32, "VarUI4FromStr")
   739  	varUI4FromUI1 = doGetProcAddress(liboleaut32, "VarUI4FromUI1")
   740  	varUI4FromUI2 = doGetProcAddress(liboleaut32, "VarUI4FromUI2")
   741  	varUI4FromUI8 = doGetProcAddress(liboleaut32, "VarUI4FromUI8")
   742  	varUI8FromBool = doGetProcAddress(liboleaut32, "VarUI8FromBool")
   743  	varUI8FromCy = doGetProcAddress(liboleaut32, "VarUI8FromCy")
   744  	varUI8FromDate = doGetProcAddress(liboleaut32, "VarUI8FromDate")
   745  	varUI8FromDec = doGetProcAddress(liboleaut32, "VarUI8FromDec")
   746  	varUI8FromDisp = doGetProcAddress(liboleaut32, "VarUI8FromDisp")
   747  	varUI8FromI1 = doGetProcAddress(liboleaut32, "VarUI8FromI1")
   748  	varUI8FromI2 = doGetProcAddress(liboleaut32, "VarUI8FromI2")
   749  	varUI8FromI8 = doGetProcAddress(liboleaut32, "VarUI8FromI8")
   750  	varUI8FromR4 = doGetProcAddress(liboleaut32, "VarUI8FromR4")
   751  	varUI8FromR8 = doGetProcAddress(liboleaut32, "VarUI8FromR8")
   752  	varUI8FromStr = doGetProcAddress(liboleaut32, "VarUI8FromStr")
   753  	varUI8FromUI1 = doGetProcAddress(liboleaut32, "VarUI8FromUI1")
   754  	varUI8FromUI2 = doGetProcAddress(liboleaut32, "VarUI8FromUI2")
   755  	varUI8FromUI4 = doGetProcAddress(liboleaut32, "VarUI8FromUI4")
   756  	varUdateFromDate = doGetProcAddress(liboleaut32, "VarUdateFromDate")
   757  	varWeekdayName = doGetProcAddress(liboleaut32, "VarWeekdayName")
   758  	varXor = doGetProcAddress(liboleaut32, "VarXor")
   759  	variantChangeType = doGetProcAddress(liboleaut32, "VariantChangeType")
   760  	variantChangeTypeEx = doGetProcAddress(liboleaut32, "VariantChangeTypeEx")
   761  	variantClear = doGetProcAddress(liboleaut32, "VariantClear")
   762  	variantCopy = doGetProcAddress(liboleaut32, "VariantCopy")
   763  	variantCopyInd = doGetProcAddress(liboleaut32, "VariantCopyInd")
   764  	variantInit = doGetProcAddress(liboleaut32, "VariantInit")
   765  	variantTimeToDosDateTime = doGetProcAddress(liboleaut32, "VariantTimeToDosDateTime")
   766  	variantTimeToSystemTime = doGetProcAddress(liboleaut32, "VariantTimeToSystemTime")
   767  	vectorFromBstr = doGetProcAddress(liboleaut32, "VectorFromBstr")
   768  }
   769  
   770  func BSTR_UserFree(pFlags *ULONG, pstr *BSTR) {
   771  	syscall3(bSTR_UserFree, 2,
   772  		uintptr(unsafe.Pointer(pFlags)),
   773  		uintptr(unsafe.Pointer(pstr)),
   774  		0)
   775  }
   776  
   777  func BSTR_UserSize(pFlags *ULONG, start ULONG, pstr *BSTR) ULONG {
   778  	ret1 := syscall3(bSTR_UserSize, 3,
   779  		uintptr(unsafe.Pointer(pFlags)),
   780  		uintptr(start),
   781  		uintptr(unsafe.Pointer(pstr)))
   782  	return ULONG(ret1)
   783  }
   784  
   785  func BstrFromVector(psa *SAFEARRAY, pbstr *BSTR) HRESULT {
   786  	ret1 := syscall3(bstrFromVector, 2,
   787  		uintptr(unsafe.Pointer(psa)),
   788  		uintptr(unsafe.Pointer(pbstr)),
   789  		0)
   790  	return HRESULT(ret1)
   791  }
   792  
   793  func ClearCustData(lpCust *CUSTDATA) {
   794  	syscall3(clearCustData, 1,
   795  		uintptr(unsafe.Pointer(lpCust)),
   796  		0,
   797  		0)
   798  }
   799  
   800  func CreateDispTypeInfo(pidata *INTERFACEDATA, lcid LCID, pptinfo **ITypeInfo) HRESULT {
   801  	ret1 := syscall3(createDispTypeInfo, 3,
   802  		uintptr(unsafe.Pointer(pidata)),
   803  		uintptr(lcid),
   804  		uintptr(unsafe.Pointer(pptinfo)))
   805  	return HRESULT(ret1)
   806  }
   807  
   808  func CreateErrorInfo(pperrinfo **ICreateErrorInfo) HRESULT {
   809  	ret1 := syscall3(createErrorInfo, 1,
   810  		uintptr(unsafe.Pointer(pperrinfo)),
   811  		0,
   812  		0)
   813  	return HRESULT(ret1)
   814  }
   815  
   816  func CreateStdDispatch(punkOuter *IUnknown, pvThis uintptr, ptinfo *ITypeInfo, stddisp **IUnknown) HRESULT {
   817  	ret1 := syscall6(createStdDispatch, 4,
   818  		uintptr(unsafe.Pointer(punkOuter)),
   819  		pvThis,
   820  		uintptr(unsafe.Pointer(ptinfo)),
   821  		uintptr(unsafe.Pointer(stddisp)),
   822  		0,
   823  		0)
   824  	return HRESULT(ret1)
   825  }
   826  
   827  func CreateTypeLib(syskind SYSKIND, szFile /*const*/ LPCOLESTR, ppctlib **ICreateTypeLib) HRESULT {
   828  	ret1 := syscall3(createTypeLib, 3,
   829  		uintptr(syskind),
   830  		uintptr(unsafe.Pointer(szFile)),
   831  		uintptr(unsafe.Pointer(ppctlib)))
   832  	return HRESULT(ret1)
   833  }
   834  
   835  func CreateTypeLib2(syskind SYSKIND, szFile /*const*/ LPCOLESTR, ppctlib **ICreateTypeLib2) HRESULT {
   836  	ret1 := syscall3(createTypeLib2, 3,
   837  		uintptr(syskind),
   838  		uintptr(unsafe.Pointer(szFile)),
   839  		uintptr(unsafe.Pointer(ppctlib)))
   840  	return HRESULT(ret1)
   841  }
   842  
   843  func DispCallFunc(pvInstance uintptr, oVft *uint32, cc CALLCONV, vtReturn VARTYPE, cActuals UINT, prgvt *VARTYPE, prgpvarg **VARIANTARG, pvargResult *VARIANT) HRESULT {
   844  	ret1 := syscall9(dispCallFunc, 8,
   845  		pvInstance,
   846  		uintptr(unsafe.Pointer(oVft)),
   847  		uintptr(cc),
   848  		uintptr(vtReturn),
   849  		uintptr(cActuals),
   850  		uintptr(unsafe.Pointer(prgvt)),
   851  		uintptr(unsafe.Pointer(prgpvarg)),
   852  		uintptr(unsafe.Pointer(pvargResult)),
   853  		0)
   854  	return HRESULT(ret1)
   855  }
   856  
   857  func DispGetIDsOfNames(ptinfo *ITypeInfo, rgszNames **OLECHAR, cNames UINT, rgdispid *DISPID) HRESULT {
   858  	ret1 := syscall6(dispGetIDsOfNames, 4,
   859  		uintptr(unsafe.Pointer(ptinfo)),
   860  		uintptr(unsafe.Pointer(rgszNames)),
   861  		uintptr(cNames),
   862  		uintptr(unsafe.Pointer(rgdispid)),
   863  		0,
   864  		0)
   865  	return HRESULT(ret1)
   866  }
   867  
   868  func DispGetParam(pdispparams *DISPPARAMS, position UINT, vtTarg VARTYPE, pvarResult *VARIANT, puArgErr *UINT) HRESULT {
   869  	ret1 := syscall6(dispGetParam, 5,
   870  		uintptr(unsafe.Pointer(pdispparams)),
   871  		uintptr(position),
   872  		uintptr(vtTarg),
   873  		uintptr(unsafe.Pointer(pvarResult)),
   874  		uintptr(unsafe.Pointer(puArgErr)),
   875  		0)
   876  	return HRESULT(ret1)
   877  }
   878  
   879  func DispInvoke(_this uintptr, ptinfo *ITypeInfo, dispidMember DISPID, wFlags USHORT, pparams *DISPPARAMS, pvarResult *VARIANT, pexcepinfo *EXCEPINFO, puArgErr *UINT) HRESULT {
   880  	ret1 := syscall9(dispInvoke, 8,
   881  		_this,
   882  		uintptr(unsafe.Pointer(ptinfo)),
   883  		uintptr(dispidMember),
   884  		uintptr(wFlags),
   885  		uintptr(unsafe.Pointer(pparams)),
   886  		uintptr(unsafe.Pointer(pvarResult)),
   887  		uintptr(unsafe.Pointer(pexcepinfo)),
   888  		uintptr(unsafe.Pointer(puArgErr)),
   889  		0)
   890  	return HRESULT(ret1)
   891  }
   892  
   893  func DosDateTimeToVariantTime(wDosDate USHORT, wDosTime USHORT, pDateOut *float64) INT {
   894  	ret1 := syscall3(dosDateTimeToVariantTime, 3,
   895  		uintptr(wDosDate),
   896  		uintptr(wDosTime),
   897  		uintptr(unsafe.Pointer(pDateOut)))
   898  	return INT(ret1)
   899  }
   900  
   901  func GetErrorInfo(dwReserved ULONG, pperrinfo **IErrorInfo) HRESULT {
   902  	ret1 := syscall3(getErrorInfo, 2,
   903  		uintptr(dwReserved),
   904  		uintptr(unsafe.Pointer(pperrinfo)),
   905  		0)
   906  	return HRESULT(ret1)
   907  }
   908  
   909  func GetRecordInfoFromGuids(rGuidTypeLib REFGUID, uVerMajor ULONG, uVerMinor ULONG, lcid LCID, rGuidTypeInfo REFGUID, ppRecInfo **IRecordInfo) HRESULT {
   910  	ret1 := syscall6(getRecordInfoFromGuids, 6,
   911  		uintptr(unsafe.Pointer(rGuidTypeLib)),
   912  		uintptr(uVerMajor),
   913  		uintptr(uVerMinor),
   914  		uintptr(lcid),
   915  		uintptr(unsafe.Pointer(rGuidTypeInfo)),
   916  		uintptr(unsafe.Pointer(ppRecInfo)))
   917  	return HRESULT(ret1)
   918  }
   919  
   920  func GetRecordInfoFromTypeInfo(pTI *ITypeInfo, ppRecInfo **IRecordInfo) HRESULT {
   921  	ret1 := syscall3(getRecordInfoFromTypeInfo, 2,
   922  		uintptr(unsafe.Pointer(pTI)),
   923  		uintptr(unsafe.Pointer(ppRecInfo)),
   924  		0)
   925  	return HRESULT(ret1)
   926  }
   927  
   928  func LHashValOfNameSysA(skind SYSKIND, lcid LCID, lpStr /*const*/ LPCSTR) ULONG {
   929  	ret1 := syscall3(lHashValOfNameSysA, 3,
   930  		uintptr(skind),
   931  		uintptr(lcid),
   932  		uintptr(unsafe.Pointer(lpStr)))
   933  	return ULONG(ret1)
   934  }
   935  
   936  func LPSAFEARRAY_UserFree(pFlags *ULONG, ppsa *LPSAFEARRAY) {
   937  	syscall3(lPSAFEARRAY_UserFree, 2,
   938  		uintptr(unsafe.Pointer(pFlags)),
   939  		uintptr(unsafe.Pointer(ppsa)),
   940  		0)
   941  }
   942  
   943  func LPSAFEARRAY_UserSize(pFlags *ULONG, startingSize ULONG, ppsa *LPSAFEARRAY) ULONG {
   944  	ret1 := syscall3(lPSAFEARRAY_UserSize, 3,
   945  		uintptr(unsafe.Pointer(pFlags)),
   946  		uintptr(startingSize),
   947  		uintptr(unsafe.Pointer(ppsa)))
   948  	return ULONG(ret1)
   949  }
   950  
   951  func LoadRegTypeLib(rguid REFGUID, wVerMajor WORD, wVerMinor WORD, lcid LCID, ppTLib **ITypeLib) HRESULT {
   952  	ret1 := syscall6(loadRegTypeLib, 5,
   953  		uintptr(unsafe.Pointer(rguid)),
   954  		uintptr(wVerMajor),
   955  		uintptr(wVerMinor),
   956  		uintptr(lcid),
   957  		uintptr(unsafe.Pointer(ppTLib)),
   958  		0)
   959  	return HRESULT(ret1)
   960  }
   961  
   962  func LoadTypeLib(szFile /*const*/ *OLECHAR, pptLib **ITypeLib) HRESULT {
   963  	ret1 := syscall3(loadTypeLib, 2,
   964  		uintptr(unsafe.Pointer(szFile)),
   965  		uintptr(unsafe.Pointer(pptLib)),
   966  		0)
   967  	return HRESULT(ret1)
   968  }
   969  
   970  func LoadTypeLibEx(szFile /*const*/ LPCOLESTR, regkind REGKIND, pptLib **ITypeLib) HRESULT {
   971  	ret1 := syscall3(loadTypeLibEx, 3,
   972  		uintptr(unsafe.Pointer(szFile)),
   973  		uintptr(regkind),
   974  		uintptr(unsafe.Pointer(pptLib)))
   975  	return HRESULT(ret1)
   976  }
   977  
   978  func OaBuildVersion() ULONG {
   979  	ret1 := syscall3(oaBuildVersion, 0,
   980  		0,
   981  		0,
   982  		0)
   983  	return ULONG(ret1)
   984  }
   985  
   986  func OleCreateFontIndirect(lpFontDesc *FONTDESC, riid REFIID, ppvObj *LPVOID) HRESULT {
   987  	ret1 := syscall3(oleCreateFontIndirect, 3,
   988  		uintptr(unsafe.Pointer(lpFontDesc)),
   989  		uintptr(unsafe.Pointer(riid)),
   990  		uintptr(unsafe.Pointer(ppvObj)))
   991  	return HRESULT(ret1)
   992  }
   993  
   994  func OleCreatePictureIndirect(lpPictDesc *PICTDESC, riid REFIID, own bool, ppvObj uintptr) HRESULT {
   995  	ret1 := syscall6(oleCreatePictureIndirect, 4,
   996  		uintptr(unsafe.Pointer(lpPictDesc)),
   997  		uintptr(unsafe.Pointer(riid)),
   998  		getUintptrFromBool(own),
   999  		ppvObj,
  1000  		0,
  1001  		0)
  1002  	return HRESULT(ret1)
  1003  }
  1004  
  1005  func OleCreatePropertyFrame(hwndOwner HWND, x UINT, y UINT, lpszCaption /*const*/ LPCOLESTR, cObjects ULONG, ppUnk *LPUNKNOWN, cPages ULONG, pPageClsID *CLSID, lcid LCID, dwReserved DWORD, pvReserved LPVOID) HRESULT {
  1006  	ret1 := syscall12(oleCreatePropertyFrame, 11,
  1007  		uintptr(hwndOwner),
  1008  		uintptr(x),
  1009  		uintptr(y),
  1010  		uintptr(unsafe.Pointer(lpszCaption)),
  1011  		uintptr(cObjects),
  1012  		uintptr(unsafe.Pointer(ppUnk)),
  1013  		uintptr(cPages),
  1014  		uintptr(unsafe.Pointer(pPageClsID)),
  1015  		uintptr(lcid),
  1016  		uintptr(dwReserved),
  1017  		uintptr(unsafe.Pointer(pvReserved)),
  1018  		0)
  1019  	return HRESULT(ret1)
  1020  }
  1021  
  1022  func OleCreatePropertyFrameIndirect(lpParams *OCPFIPARAMS) HRESULT {
  1023  	ret1 := syscall3(oleCreatePropertyFrameIndirect, 1,
  1024  		uintptr(unsafe.Pointer(lpParams)),
  1025  		0,
  1026  		0)
  1027  	return HRESULT(ret1)
  1028  }
  1029  
  1030  func OleIconToCursor(hinstExe HINSTANCE, hIcon HICON) HCURSOR {
  1031  	ret1 := syscall3(oleIconToCursor, 2,
  1032  		uintptr(hinstExe),
  1033  		uintptr(hIcon),
  1034  		0)
  1035  	return HCURSOR(ret1)
  1036  }
  1037  
  1038  func OleLoadPicture(lpstream LPSTREAM, lSize LONG, fRunmode bool, riid REFIID, ppvObj *LPVOID) HRESULT {
  1039  	ret1 := syscall6(oleLoadPicture, 5,
  1040  		uintptr(unsafe.Pointer(lpstream)),
  1041  		uintptr(lSize),
  1042  		getUintptrFromBool(fRunmode),
  1043  		uintptr(unsafe.Pointer(riid)),
  1044  		uintptr(unsafe.Pointer(ppvObj)),
  1045  		0)
  1046  	return HRESULT(ret1)
  1047  }
  1048  
  1049  func OleLoadPictureEx(lpstream LPSTREAM, lSize LONG, fRunmode bool, riid REFIID, xsiz DWORD, ysiz DWORD, flags DWORD, ppvObj *LPVOID) HRESULT {
  1050  	ret1 := syscall9(oleLoadPictureEx, 8,
  1051  		uintptr(unsafe.Pointer(lpstream)),
  1052  		uintptr(lSize),
  1053  		getUintptrFromBool(fRunmode),
  1054  		uintptr(unsafe.Pointer(riid)),
  1055  		uintptr(xsiz),
  1056  		uintptr(ysiz),
  1057  		uintptr(flags),
  1058  		uintptr(unsafe.Pointer(ppvObj)),
  1059  		0)
  1060  	return HRESULT(ret1)
  1061  }
  1062  
  1063  func OleLoadPictureFile(file VARIANT, picture *LPDISPATCH) HRESULT {
  1064  	args := unpackVARIANT(file)
  1065  	args = append(args, uintptr(unsafe.Pointer(picture)))
  1066  	ret := syscallN(oleLoadPictureFile, args)
  1067  	return HRESULT(ret)
  1068  }
  1069  
  1070  func OleLoadPicturePath(szURLorPath LPOLESTR, punkCaller LPUNKNOWN, dwReserved DWORD, clrReserved OLE_COLOR, riid REFIID, ppvRet *LPVOID) HRESULT {
  1071  	ret1 := syscall6(oleLoadPicturePath, 6,
  1072  		uintptr(unsafe.Pointer(szURLorPath)),
  1073  		uintptr(unsafe.Pointer(punkCaller)),
  1074  		uintptr(dwReserved),
  1075  		uintptr(clrReserved),
  1076  		uintptr(unsafe.Pointer(riid)),
  1077  		uintptr(unsafe.Pointer(ppvRet)))
  1078  	return HRESULT(ret1)
  1079  }
  1080  
  1081  func OleSavePictureFile(picture *IDispatch, filename BSTR) HRESULT {
  1082  	ret1 := syscall3(oleSavePictureFile, 2,
  1083  		uintptr(unsafe.Pointer(picture)),
  1084  		uintptr(unsafe.Pointer(filename)),
  1085  		0)
  1086  	return HRESULT(ret1)
  1087  }
  1088  
  1089  func OleTranslateColor(clr OLE_COLOR, hpal HPALETTE, pColorRef *COLORREF) HRESULT {
  1090  	ret1 := syscall3(oleTranslateColor, 3,
  1091  		uintptr(clr),
  1092  		uintptr(hpal),
  1093  		uintptr(unsafe.Pointer(pColorRef)))
  1094  	return HRESULT(ret1)
  1095  }
  1096  
  1097  func QueryPathOfRegTypeLib(guid REFGUID, wMaj WORD, wMin WORD, lcid LCID, path *BSTR) HRESULT {
  1098  	ret1 := syscall6(queryPathOfRegTypeLib, 5,
  1099  		uintptr(unsafe.Pointer(guid)),
  1100  		uintptr(wMaj),
  1101  		uintptr(wMin),
  1102  		uintptr(lcid),
  1103  		uintptr(unsafe.Pointer(path)),
  1104  		0)
  1105  	return HRESULT(ret1)
  1106  }
  1107  
  1108  func RegisterTypeLib(ptlib *ITypeLib, szFullPath *OLECHAR, szHelpDir *OLECHAR) HRESULT {
  1109  	ret1 := syscall3(registerTypeLib, 3,
  1110  		uintptr(unsafe.Pointer(ptlib)),
  1111  		uintptr(unsafe.Pointer(szFullPath)),
  1112  		uintptr(unsafe.Pointer(szHelpDir)))
  1113  	return HRESULT(ret1)
  1114  }
  1115  
  1116  func RegisterTypeLibForUser(ptlib *ITypeLib, szFullPath *OLECHAR, szHelpDir *OLECHAR) HRESULT {
  1117  	ret1 := syscall3(registerTypeLibForUser, 3,
  1118  		uintptr(unsafe.Pointer(ptlib)),
  1119  		uintptr(unsafe.Pointer(szFullPath)),
  1120  		uintptr(unsafe.Pointer(szHelpDir)))
  1121  	return HRESULT(ret1)
  1122  }
  1123  
  1124  func SafeArrayAccessData(psa *SAFEARRAY, ppvData uintptr) HRESULT {
  1125  	ret1 := syscall3(safeArrayAccessData, 2,
  1126  		uintptr(unsafe.Pointer(psa)),
  1127  		ppvData,
  1128  		0)
  1129  	return HRESULT(ret1)
  1130  }
  1131  
  1132  func SafeArrayAllocData(psa *SAFEARRAY) HRESULT {
  1133  	ret1 := syscall3(safeArrayAllocData, 1,
  1134  		uintptr(unsafe.Pointer(psa)),
  1135  		0,
  1136  		0)
  1137  	return HRESULT(ret1)
  1138  }
  1139  
  1140  func SafeArrayAllocDescriptor(cDims UINT, ppsaOut **SAFEARRAY) HRESULT {
  1141  	ret1 := syscall3(safeArrayAllocDescriptor, 2,
  1142  		uintptr(cDims),
  1143  		uintptr(unsafe.Pointer(ppsaOut)),
  1144  		0)
  1145  	return HRESULT(ret1)
  1146  }
  1147  
  1148  func SafeArrayAllocDescriptorEx(vt VARTYPE, cDims UINT, ppsaOut **SAFEARRAY) HRESULT {
  1149  	ret1 := syscall3(safeArrayAllocDescriptorEx, 3,
  1150  		uintptr(vt),
  1151  		uintptr(cDims),
  1152  		uintptr(unsafe.Pointer(ppsaOut)))
  1153  	return HRESULT(ret1)
  1154  }
  1155  
  1156  func SafeArrayCopy(psa *SAFEARRAY, ppsaOut **SAFEARRAY) HRESULT {
  1157  	ret1 := syscall3(safeArrayCopy, 2,
  1158  		uintptr(unsafe.Pointer(psa)),
  1159  		uintptr(unsafe.Pointer(ppsaOut)),
  1160  		0)
  1161  	return HRESULT(ret1)
  1162  }
  1163  
  1164  func SafeArrayCopyData(psaSource *SAFEARRAY, psaTarget *SAFEARRAY) HRESULT {
  1165  	ret1 := syscall3(safeArrayCopyData, 2,
  1166  		uintptr(unsafe.Pointer(psaSource)),
  1167  		uintptr(unsafe.Pointer(psaTarget)),
  1168  		0)
  1169  	return HRESULT(ret1)
  1170  }
  1171  
  1172  func SafeArrayDestroy(psa *SAFEARRAY) HRESULT {
  1173  	ret1 := syscall3(safeArrayDestroy, 1,
  1174  		uintptr(unsafe.Pointer(psa)),
  1175  		0,
  1176  		0)
  1177  	return HRESULT(ret1)
  1178  }
  1179  
  1180  func SafeArrayDestroyData(psa *SAFEARRAY) HRESULT {
  1181  	ret1 := syscall3(safeArrayDestroyData, 1,
  1182  		uintptr(unsafe.Pointer(psa)),
  1183  		0,
  1184  		0)
  1185  	return HRESULT(ret1)
  1186  }
  1187  
  1188  func SafeArrayDestroyDescriptor(psa *SAFEARRAY) HRESULT {
  1189  	ret1 := syscall3(safeArrayDestroyDescriptor, 1,
  1190  		uintptr(unsafe.Pointer(psa)),
  1191  		0,
  1192  		0)
  1193  	return HRESULT(ret1)
  1194  }
  1195  
  1196  func SafeArrayGetDim(psa *SAFEARRAY) UINT {
  1197  	ret1 := syscall3(safeArrayGetDim, 1,
  1198  		uintptr(unsafe.Pointer(psa)),
  1199  		0,
  1200  		0)
  1201  	return UINT(ret1)
  1202  }
  1203  
  1204  func SafeArrayGetElement(psa *SAFEARRAY, rgIndices *LONG, pvData uintptr) HRESULT {
  1205  	ret1 := syscall3(safeArrayGetElement, 3,
  1206  		uintptr(unsafe.Pointer(psa)),
  1207  		uintptr(unsafe.Pointer(rgIndices)),
  1208  		pvData)
  1209  	return HRESULT(ret1)
  1210  }
  1211  
  1212  func SafeArrayGetElemsize(psa *SAFEARRAY) UINT {
  1213  	ret1 := syscall3(safeArrayGetElemsize, 1,
  1214  		uintptr(unsafe.Pointer(psa)),
  1215  		0,
  1216  		0)
  1217  	return UINT(ret1)
  1218  }
  1219  
  1220  func SafeArrayGetIID(psa *SAFEARRAY, pGuid *GUID) HRESULT {
  1221  	ret1 := syscall3(safeArrayGetIID, 2,
  1222  		uintptr(unsafe.Pointer(psa)),
  1223  		uintptr(unsafe.Pointer(pGuid)),
  1224  		0)
  1225  	return HRESULT(ret1)
  1226  }
  1227  
  1228  func SafeArrayGetLBound(psa *SAFEARRAY, nDim UINT, plLbound *LONG) HRESULT {
  1229  	ret1 := syscall3(safeArrayGetLBound, 3,
  1230  		uintptr(unsafe.Pointer(psa)),
  1231  		uintptr(nDim),
  1232  		uintptr(unsafe.Pointer(plLbound)))
  1233  	return HRESULT(ret1)
  1234  }
  1235  
  1236  func SafeArrayGetRecordInfo(psa *SAFEARRAY, pRinfo **IRecordInfo) HRESULT {
  1237  	ret1 := syscall3(safeArrayGetRecordInfo, 2,
  1238  		uintptr(unsafe.Pointer(psa)),
  1239  		uintptr(unsafe.Pointer(pRinfo)),
  1240  		0)
  1241  	return HRESULT(ret1)
  1242  }
  1243  
  1244  func SafeArrayGetUBound(psa *SAFEARRAY, nDim UINT, plUbound *LONG) HRESULT {
  1245  	ret1 := syscall3(safeArrayGetUBound, 3,
  1246  		uintptr(unsafe.Pointer(psa)),
  1247  		uintptr(nDim),
  1248  		uintptr(unsafe.Pointer(plUbound)))
  1249  	return HRESULT(ret1)
  1250  }
  1251  
  1252  func SafeArrayGetVartype(psa *SAFEARRAY, pvt *VARTYPE) HRESULT {
  1253  	ret1 := syscall3(safeArrayGetVartype, 2,
  1254  		uintptr(unsafe.Pointer(psa)),
  1255  		uintptr(unsafe.Pointer(pvt)),
  1256  		0)
  1257  	return HRESULT(ret1)
  1258  }
  1259  
  1260  func SafeArrayLock(psa *SAFEARRAY) HRESULT {
  1261  	ret1 := syscall3(safeArrayLock, 1,
  1262  		uintptr(unsafe.Pointer(psa)),
  1263  		0,
  1264  		0)
  1265  	return HRESULT(ret1)
  1266  }
  1267  
  1268  func SafeArrayPtrOfIndex(psa *SAFEARRAY, rgIndices *LONG, ppvData uintptr) HRESULT {
  1269  	ret1 := syscall3(safeArrayPtrOfIndex, 3,
  1270  		uintptr(unsafe.Pointer(psa)),
  1271  		uintptr(unsafe.Pointer(rgIndices)),
  1272  		ppvData)
  1273  	return HRESULT(ret1)
  1274  }
  1275  
  1276  func SafeArrayPutElement(psa *SAFEARRAY, rgIndices *LONG, pvData uintptr) HRESULT {
  1277  	ret1 := syscall3(safeArrayPutElement, 3,
  1278  		uintptr(unsafe.Pointer(psa)),
  1279  		uintptr(unsafe.Pointer(rgIndices)),
  1280  		pvData)
  1281  	return HRESULT(ret1)
  1282  }
  1283  
  1284  func SafeArrayRedim(psa *SAFEARRAY, psabound *SAFEARRAYBOUND) HRESULT {
  1285  	ret1 := syscall3(safeArrayRedim, 2,
  1286  		uintptr(unsafe.Pointer(psa)),
  1287  		uintptr(unsafe.Pointer(psabound)),
  1288  		0)
  1289  	return HRESULT(ret1)
  1290  }
  1291  
  1292  func SafeArraySetIID(psa *SAFEARRAY, guid REFGUID) HRESULT {
  1293  	ret1 := syscall3(safeArraySetIID, 2,
  1294  		uintptr(unsafe.Pointer(psa)),
  1295  		uintptr(unsafe.Pointer(guid)),
  1296  		0)
  1297  	return HRESULT(ret1)
  1298  }
  1299  
  1300  func SafeArraySetRecordInfo(psa *SAFEARRAY, pRinfo *IRecordInfo) HRESULT {
  1301  	ret1 := syscall3(safeArraySetRecordInfo, 2,
  1302  		uintptr(unsafe.Pointer(psa)),
  1303  		uintptr(unsafe.Pointer(pRinfo)),
  1304  		0)
  1305  	return HRESULT(ret1)
  1306  }
  1307  
  1308  func SafeArrayUnaccessData(psa *SAFEARRAY) HRESULT {
  1309  	ret1 := syscall3(safeArrayUnaccessData, 1,
  1310  		uintptr(unsafe.Pointer(psa)),
  1311  		0,
  1312  		0)
  1313  	return HRESULT(ret1)
  1314  }
  1315  
  1316  func SafeArrayUnlock(psa *SAFEARRAY) HRESULT {
  1317  	ret1 := syscall3(safeArrayUnlock, 1,
  1318  		uintptr(unsafe.Pointer(psa)),
  1319  		0,
  1320  		0)
  1321  	return HRESULT(ret1)
  1322  }
  1323  
  1324  func SetErrorInfo(dwReserved ULONG, perrinfo *IErrorInfo) HRESULT {
  1325  	ret1 := syscall3(setErrorInfo, 2,
  1326  		uintptr(dwReserved),
  1327  		uintptr(unsafe.Pointer(perrinfo)),
  1328  		0)
  1329  	return HRESULT(ret1)
  1330  }
  1331  
  1332  func SetOaNoCache() {
  1333  	syscall3(setOaNoCache, 0,
  1334  		0,
  1335  		0,
  1336  		0)
  1337  }
  1338  
  1339  func SysAllocString(str /*const*/ LPCOLESTR) BSTR {
  1340  	ret1 := syscall3(sysAllocString, 1,
  1341  		uintptr(unsafe.Pointer(str)),
  1342  		0,
  1343  		0)
  1344  	return (BSTR)(unsafe.Pointer(ret1))
  1345  }
  1346  
  1347  func SysAllocStringByteLen(str /*const*/ LPCSTR, aLen UINT) BSTR {
  1348  	ret1 := syscall3(sysAllocStringByteLen, 2,
  1349  		uintptr(unsafe.Pointer(str)),
  1350  		uintptr(aLen),
  1351  		0)
  1352  	return (BSTR)(unsafe.Pointer(ret1))
  1353  }
  1354  
  1355  func SysAllocStringLen(str /*const*/ *OLECHAR, aLen uint32) BSTR {
  1356  	ret1 := syscall3(sysAllocStringLen, 2,
  1357  		uintptr(unsafe.Pointer(str)),
  1358  		uintptr(aLen),
  1359  		0)
  1360  	return (BSTR)(unsafe.Pointer(ret1))
  1361  }
  1362  
  1363  func SysFreeString(str BSTR) {
  1364  	syscall3(sysFreeString, 1,
  1365  		uintptr(unsafe.Pointer(str)),
  1366  		0,
  1367  		0)
  1368  }
  1369  
  1370  func SysReAllocString(old *BSTR, str /*const*/ LPCOLESTR) INT {
  1371  	ret1 := syscall3(sysReAllocString, 2,
  1372  		uintptr(unsafe.Pointer(old)),
  1373  		uintptr(unsafe.Pointer(str)),
  1374  		0)
  1375  	return INT(ret1)
  1376  }
  1377  
  1378  func SysReAllocStringLen(old *BSTR, str /*const*/ *OLECHAR, aLen uint32) int32 {
  1379  	ret1 := syscall3(sysReAllocStringLen, 3,
  1380  		uintptr(unsafe.Pointer(old)),
  1381  		uintptr(unsafe.Pointer(str)),
  1382  		uintptr(aLen))
  1383  	return int32(ret1)
  1384  }
  1385  
  1386  func SysStringByteLen(str BSTR) UINT {
  1387  	ret1 := syscall3(sysStringByteLen, 1,
  1388  		uintptr(unsafe.Pointer(str)),
  1389  		0,
  1390  		0)
  1391  	return UINT(ret1)
  1392  }
  1393  
  1394  func SysStringLen(str BSTR) UINT {
  1395  	ret1 := syscall3(sysStringLen, 1,
  1396  		uintptr(unsafe.Pointer(str)),
  1397  		0,
  1398  		0)
  1399  	return UINT(ret1)
  1400  }
  1401  
  1402  func SystemTimeToVariantTime(lpSt *SYSTEMTIME, pDateOut *float64) INT {
  1403  	ret1 := syscall3(systemTimeToVariantTime, 2,
  1404  		uintptr(unsafe.Pointer(lpSt)),
  1405  		uintptr(unsafe.Pointer(pDateOut)),
  1406  		0)
  1407  	return INT(ret1)
  1408  }
  1409  
  1410  func UnRegisterTypeLib(libid REFGUID, wVerMajor WORD, wVerMinor WORD, lcid LCID, syskind SYSKIND) HRESULT {
  1411  	ret1 := syscall6(unRegisterTypeLib, 5,
  1412  		uintptr(unsafe.Pointer(libid)),
  1413  		uintptr(wVerMajor),
  1414  		uintptr(wVerMinor),
  1415  		uintptr(lcid),
  1416  		uintptr(syskind),
  1417  		0)
  1418  	return HRESULT(ret1)
  1419  }
  1420  
  1421  func UnRegisterTypeLibForUser(libid REFGUID, wVerMajor WORD, wVerMinor WORD, lcid LCID, syskind SYSKIND) HRESULT {
  1422  	ret1 := syscall6(unRegisterTypeLibForUser, 5,
  1423  		uintptr(unsafe.Pointer(libid)),
  1424  		uintptr(wVerMajor),
  1425  		uintptr(wVerMinor),
  1426  		uintptr(lcid),
  1427  		uintptr(syskind),
  1428  		0)
  1429  	return HRESULT(ret1)
  1430  }
  1431  
  1432  func VARIANT_UserFree(pFlags *ULONG, pvar *VARIANT) {
  1433  	syscall3(vARIANT_UserFree, 2,
  1434  		uintptr(unsafe.Pointer(pFlags)),
  1435  		uintptr(unsafe.Pointer(pvar)),
  1436  		0)
  1437  }
  1438  
  1439  func VARIANT_UserSize(pFlags *ULONG, start ULONG, pvar *VARIANT) ULONG {
  1440  	ret1 := syscall3(vARIANT_UserSize, 3,
  1441  		uintptr(unsafe.Pointer(pFlags)),
  1442  		uintptr(start),
  1443  		uintptr(unsafe.Pointer(pvar)))
  1444  	return ULONG(ret1)
  1445  }
  1446  
  1447  func VarAbs(pVarIn *VARIANT, pVarOut *VARIANT) HRESULT {
  1448  	ret1 := syscall3(varAbs, 2,
  1449  		uintptr(unsafe.Pointer(pVarIn)),
  1450  		uintptr(unsafe.Pointer(pVarOut)),
  1451  		0)
  1452  	return HRESULT(ret1)
  1453  }
  1454  
  1455  func VarAdd(left *VARIANT, right *VARIANT, result *VARIANT) HRESULT {
  1456  	ret1 := syscall3(varAdd, 3,
  1457  		uintptr(unsafe.Pointer(left)),
  1458  		uintptr(unsafe.Pointer(right)),
  1459  		uintptr(unsafe.Pointer(result)))
  1460  	return HRESULT(ret1)
  1461  }
  1462  
  1463  func VarAnd(left *VARIANT, right *VARIANT, result *VARIANT) HRESULT {
  1464  	ret1 := syscall3(varAnd, 3,
  1465  		uintptr(unsafe.Pointer(left)),
  1466  		uintptr(unsafe.Pointer(right)),
  1467  		uintptr(unsafe.Pointer(result)))
  1468  	return HRESULT(ret1)
  1469  }
  1470  
  1471  func VarBoolFromCy(cyIn CY, pBoolOut *VARIANT_BOOL) HRESULT {
  1472  	ret1 := syscall3(varBoolFromCy, 3,
  1473  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  1474  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  1475  		uintptr(unsafe.Pointer(pBoolOut)))
  1476  	return HRESULT(ret1)
  1477  }
  1478  
  1479  func VarBoolFromDate(dateIn DATE, pBoolOut *VARIANT_BOOL) HRESULT {
  1480  	ret1 := syscall3(varBoolFromDate, 2,
  1481  		uintptr(dateIn),
  1482  		uintptr(unsafe.Pointer(pBoolOut)),
  1483  		0)
  1484  	return HRESULT(ret1)
  1485  }
  1486  
  1487  func VarBoolFromDec(pDecIn *DECIMAL, pBoolOut *VARIANT_BOOL) HRESULT {
  1488  	ret1 := syscall3(varBoolFromDec, 2,
  1489  		uintptr(unsafe.Pointer(pDecIn)),
  1490  		uintptr(unsafe.Pointer(pBoolOut)),
  1491  		0)
  1492  	return HRESULT(ret1)
  1493  }
  1494  
  1495  func VarBoolFromDisp(pdispIn *IDispatch, lcid LCID, pBoolOut *VARIANT_BOOL) HRESULT {
  1496  	ret1 := syscall3(varBoolFromDisp, 3,
  1497  		uintptr(unsafe.Pointer(pdispIn)),
  1498  		uintptr(lcid),
  1499  		uintptr(unsafe.Pointer(pBoolOut)))
  1500  	return HRESULT(ret1)
  1501  }
  1502  
  1503  func VarBoolFromI1(cIn int8, pBoolOut *VARIANT_BOOL) HRESULT {
  1504  	ret1 := syscall3(varBoolFromI1, 2,
  1505  		uintptr(cIn),
  1506  		uintptr(unsafe.Pointer(pBoolOut)),
  1507  		0)
  1508  	return HRESULT(ret1)
  1509  }
  1510  
  1511  func VarBoolFromI2(sIn SHORT, pBoolOut *VARIANT_BOOL) HRESULT {
  1512  	ret1 := syscall3(varBoolFromI2, 2,
  1513  		uintptr(sIn),
  1514  		uintptr(unsafe.Pointer(pBoolOut)),
  1515  		0)
  1516  	return HRESULT(ret1)
  1517  }
  1518  
  1519  func VarBoolFromI4(lIn LONG, pBoolOut *VARIANT_BOOL) HRESULT {
  1520  	ret1 := syscall3(varBoolFromI4, 2,
  1521  		uintptr(lIn),
  1522  		uintptr(unsafe.Pointer(pBoolOut)),
  1523  		0)
  1524  	return HRESULT(ret1)
  1525  }
  1526  
  1527  func VarBoolFromI8(llIn LONG64, pBoolOut *VARIANT_BOOL) HRESULT {
  1528  	ret1 := syscall3(varBoolFromI8, 2,
  1529  		uintptr(llIn),
  1530  		uintptr(unsafe.Pointer(pBoolOut)),
  1531  		0)
  1532  	return HRESULT(ret1)
  1533  }
  1534  
  1535  func VarBoolFromR4(fltIn FLOAT, pBoolOut *VARIANT_BOOL) HRESULT {
  1536  	ret1 := syscall3(varBoolFromR4, 2,
  1537  		uintptr(fltIn),
  1538  		uintptr(unsafe.Pointer(pBoolOut)),
  1539  		0)
  1540  	return HRESULT(ret1)
  1541  }
  1542  
  1543  func VarBoolFromR8(dblIn float64, pBoolOut *VARIANT_BOOL) HRESULT {
  1544  	ret1 := syscall3(varBoolFromR8, 2,
  1545  		uintptr(dblIn),
  1546  		uintptr(unsafe.Pointer(pBoolOut)),
  1547  		0)
  1548  	return HRESULT(ret1)
  1549  }
  1550  
  1551  func VarBoolFromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pBoolOut *VARIANT_BOOL) HRESULT {
  1552  	ret1 := syscall6(varBoolFromStr, 4,
  1553  		uintptr(unsafe.Pointer(strIn)),
  1554  		uintptr(lcid),
  1555  		uintptr(dwFlags),
  1556  		uintptr(unsafe.Pointer(pBoolOut)),
  1557  		0,
  1558  		0)
  1559  	return HRESULT(ret1)
  1560  }
  1561  
  1562  func VarBoolFromUI1(bIn BYTE, pBoolOut *VARIANT_BOOL) HRESULT {
  1563  	ret1 := syscall3(varBoolFromUI1, 2,
  1564  		uintptr(bIn),
  1565  		uintptr(unsafe.Pointer(pBoolOut)),
  1566  		0)
  1567  	return HRESULT(ret1)
  1568  }
  1569  
  1570  func VarBoolFromUI2(usIn USHORT, pBoolOut *VARIANT_BOOL) HRESULT {
  1571  	ret1 := syscall3(varBoolFromUI2, 2,
  1572  		uintptr(usIn),
  1573  		uintptr(unsafe.Pointer(pBoolOut)),
  1574  		0)
  1575  	return HRESULT(ret1)
  1576  }
  1577  
  1578  func VarBoolFromUI4(ulIn ULONG, pBoolOut *VARIANT_BOOL) HRESULT {
  1579  	ret1 := syscall3(varBoolFromUI4, 2,
  1580  		uintptr(ulIn),
  1581  		uintptr(unsafe.Pointer(pBoolOut)),
  1582  		0)
  1583  	return HRESULT(ret1)
  1584  }
  1585  
  1586  func VarBoolFromUI8(ullIn ULONG64, pBoolOut *VARIANT_BOOL) HRESULT {
  1587  	ret1 := syscall3(varBoolFromUI8, 2,
  1588  		uintptr(ullIn),
  1589  		uintptr(unsafe.Pointer(pBoolOut)),
  1590  		0)
  1591  	return HRESULT(ret1)
  1592  }
  1593  
  1594  func VarBstrCat(pbstrLeft BSTR, pbstrRight BSTR, pbstrOut *BSTR) HRESULT {
  1595  	ret1 := syscall3(varBstrCat, 3,
  1596  		uintptr(unsafe.Pointer(pbstrLeft)),
  1597  		uintptr(unsafe.Pointer(pbstrRight)),
  1598  		uintptr(unsafe.Pointer(pbstrOut)))
  1599  	return HRESULT(ret1)
  1600  }
  1601  
  1602  func VarBstrCmp(pbstrLeft BSTR, pbstrRight BSTR, lcid LCID, dwFlags DWORD) HRESULT {
  1603  	ret1 := syscall6(varBstrCmp, 4,
  1604  		uintptr(unsafe.Pointer(pbstrLeft)),
  1605  		uintptr(unsafe.Pointer(pbstrRight)),
  1606  		uintptr(lcid),
  1607  		uintptr(dwFlags),
  1608  		0,
  1609  		0)
  1610  	return HRESULT(ret1)
  1611  }
  1612  
  1613  func VarBstrFromBool(boolIn VARIANT_BOOL, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1614  	ret1 := syscall6(varBstrFromBool, 4,
  1615  		uintptr(boolIn),
  1616  		uintptr(lcid),
  1617  		uintptr(dwFlags),
  1618  		uintptr(unsafe.Pointer(pbstrOut)),
  1619  		0,
  1620  		0)
  1621  	return HRESULT(ret1)
  1622  }
  1623  
  1624  func VarBstrFromCy(cyIn CY, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1625  	ret1 := syscall6(varBstrFromCy, 5,
  1626  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  1627  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  1628  		uintptr(lcid),
  1629  		uintptr(dwFlags),
  1630  		uintptr(unsafe.Pointer(pbstrOut)),
  1631  		0)
  1632  	return HRESULT(ret1)
  1633  }
  1634  
  1635  func VarBstrFromDate(dateIn DATE, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1636  	ret1 := syscall6(varBstrFromDate, 4,
  1637  		uintptr(dateIn),
  1638  		uintptr(lcid),
  1639  		uintptr(dwFlags),
  1640  		uintptr(unsafe.Pointer(pbstrOut)),
  1641  		0,
  1642  		0)
  1643  	return HRESULT(ret1)
  1644  }
  1645  
  1646  func VarBstrFromDec(pDecIn *DECIMAL, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1647  	ret1 := syscall6(varBstrFromDec, 4,
  1648  		uintptr(unsafe.Pointer(pDecIn)),
  1649  		uintptr(lcid),
  1650  		uintptr(dwFlags),
  1651  		uintptr(unsafe.Pointer(pbstrOut)),
  1652  		0,
  1653  		0)
  1654  	return HRESULT(ret1)
  1655  }
  1656  
  1657  func VarBstrFromDisp(pdispIn *IDispatch, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1658  	ret1 := syscall6(varBstrFromDisp, 4,
  1659  		uintptr(unsafe.Pointer(pdispIn)),
  1660  		uintptr(lcid),
  1661  		uintptr(dwFlags),
  1662  		uintptr(unsafe.Pointer(pbstrOut)),
  1663  		0,
  1664  		0)
  1665  	return HRESULT(ret1)
  1666  }
  1667  
  1668  func VarBstrFromI1(cIn int8, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1669  	ret1 := syscall6(varBstrFromI1, 4,
  1670  		uintptr(cIn),
  1671  		uintptr(lcid),
  1672  		uintptr(dwFlags),
  1673  		uintptr(unsafe.Pointer(pbstrOut)),
  1674  		0,
  1675  		0)
  1676  	return HRESULT(ret1)
  1677  }
  1678  
  1679  func VarBstrFromI2(sIn int16, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1680  	ret1 := syscall6(varBstrFromI2, 4,
  1681  		uintptr(sIn),
  1682  		uintptr(lcid),
  1683  		uintptr(dwFlags),
  1684  		uintptr(unsafe.Pointer(pbstrOut)),
  1685  		0,
  1686  		0)
  1687  	return HRESULT(ret1)
  1688  }
  1689  
  1690  func VarBstrFromI4(lIn LONG, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1691  	ret1 := syscall6(varBstrFromI4, 4,
  1692  		uintptr(lIn),
  1693  		uintptr(lcid),
  1694  		uintptr(dwFlags),
  1695  		uintptr(unsafe.Pointer(pbstrOut)),
  1696  		0,
  1697  		0)
  1698  	return HRESULT(ret1)
  1699  }
  1700  
  1701  func VarBstrFromI8(llIn LONG64, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1702  	ret1 := syscall6(varBstrFromI8, 4,
  1703  		uintptr(llIn),
  1704  		uintptr(lcid),
  1705  		uintptr(dwFlags),
  1706  		uintptr(unsafe.Pointer(pbstrOut)),
  1707  		0,
  1708  		0)
  1709  	return HRESULT(ret1)
  1710  }
  1711  
  1712  func VarBstrFromR4(fltIn FLOAT, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1713  	ret1 := syscall6(varBstrFromR4, 4,
  1714  		uintptr(fltIn),
  1715  		uintptr(lcid),
  1716  		uintptr(dwFlags),
  1717  		uintptr(unsafe.Pointer(pbstrOut)),
  1718  		0,
  1719  		0)
  1720  	return HRESULT(ret1)
  1721  }
  1722  
  1723  func VarBstrFromR8(dblIn float64, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1724  	ret1 := syscall6(varBstrFromR8, 4,
  1725  		uintptr(dblIn),
  1726  		uintptr(lcid),
  1727  		uintptr(dwFlags),
  1728  		uintptr(unsafe.Pointer(pbstrOut)),
  1729  		0,
  1730  		0)
  1731  	return HRESULT(ret1)
  1732  }
  1733  
  1734  func VarBstrFromUI1(bIn BYTE, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1735  	ret1 := syscall6(varBstrFromUI1, 4,
  1736  		uintptr(bIn),
  1737  		uintptr(lcid),
  1738  		uintptr(dwFlags),
  1739  		uintptr(unsafe.Pointer(pbstrOut)),
  1740  		0,
  1741  		0)
  1742  	return HRESULT(ret1)
  1743  }
  1744  
  1745  func VarBstrFromUI2(usIn USHORT, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1746  	ret1 := syscall6(varBstrFromUI2, 4,
  1747  		uintptr(usIn),
  1748  		uintptr(lcid),
  1749  		uintptr(dwFlags),
  1750  		uintptr(unsafe.Pointer(pbstrOut)),
  1751  		0,
  1752  		0)
  1753  	return HRESULT(ret1)
  1754  }
  1755  
  1756  func VarBstrFromUI4(ulIn ULONG, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1757  	ret1 := syscall6(varBstrFromUI4, 4,
  1758  		uintptr(ulIn),
  1759  		uintptr(lcid),
  1760  		uintptr(dwFlags),
  1761  		uintptr(unsafe.Pointer(pbstrOut)),
  1762  		0,
  1763  		0)
  1764  	return HRESULT(ret1)
  1765  }
  1766  
  1767  func VarBstrFromUI8(ullIn ULONG64, lcid LCID, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  1768  	ret1 := syscall6(varBstrFromUI8, 4,
  1769  		uintptr(ullIn),
  1770  		uintptr(lcid),
  1771  		uintptr(dwFlags),
  1772  		uintptr(unsafe.Pointer(pbstrOut)),
  1773  		0,
  1774  		0)
  1775  	return HRESULT(ret1)
  1776  }
  1777  
  1778  func VarCat(left *VARIANT, right *VARIANT, out *VARIANT) HRESULT {
  1779  	ret1 := syscall3(varCat, 3,
  1780  		uintptr(unsafe.Pointer(left)),
  1781  		uintptr(unsafe.Pointer(right)),
  1782  		uintptr(unsafe.Pointer(out)))
  1783  	return HRESULT(ret1)
  1784  }
  1785  
  1786  func VarCmp(left *VARIANT, right *VARIANT, lcid LCID, flags DWORD) HRESULT {
  1787  	ret1 := syscall6(varCmp, 4,
  1788  		uintptr(unsafe.Pointer(left)),
  1789  		uintptr(unsafe.Pointer(right)),
  1790  		uintptr(lcid),
  1791  		uintptr(flags),
  1792  		0,
  1793  		0)
  1794  	return HRESULT(ret1)
  1795  }
  1796  
  1797  func VarCyAbs(cyIn /*const*/ CY, pCyOut *CY) HRESULT {
  1798  	ret1 := syscall3(varCyAbs, 3,
  1799  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  1800  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  1801  		uintptr(unsafe.Pointer(pCyOut)))
  1802  	return HRESULT(ret1)
  1803  }
  1804  
  1805  func VarCyAdd(cyLeft /*const*/ CY, cyRight /*const*/ CY, pCyOut *CY) HRESULT {
  1806  	ret1 := syscall6(varCyAdd, 5,
  1807  		uintptr(*(*uint32)(unsafe.Pointer(&cyLeft))),
  1808  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyLeft)) + uintptr(4)))),
  1809  		uintptr(*(*uint32)(unsafe.Pointer(&cyRight))),
  1810  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyRight)) + uintptr(4)))),
  1811  		uintptr(unsafe.Pointer(pCyOut)),
  1812  		0)
  1813  	return HRESULT(ret1)
  1814  }
  1815  
  1816  func VarCyCmp(cyLeft /*const*/ CY, cyRight /*const*/ CY) HRESULT {
  1817  	ret1 := syscall6(varCyCmp, 4,
  1818  		uintptr(*(*uint32)(unsafe.Pointer(&cyLeft))),
  1819  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyLeft)) + uintptr(4)))),
  1820  		uintptr(*(*uint32)(unsafe.Pointer(&cyRight))),
  1821  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyRight)) + uintptr(4)))),
  1822  		0,
  1823  		0)
  1824  	return HRESULT(ret1)
  1825  }
  1826  
  1827  func VarCyCmpR8(cyLeft /*const*/ CY, dblRight float64) HRESULT {
  1828  	ret1 := syscall3(varCyCmpR8, 3,
  1829  		uintptr(*(*uint32)(unsafe.Pointer(&cyLeft))),
  1830  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyLeft)) + uintptr(4)))),
  1831  		uintptr(dblRight))
  1832  	return HRESULT(ret1)
  1833  }
  1834  
  1835  func VarCyFix(cyIn /*const*/ CY, pCyOut *CY) HRESULT {
  1836  	ret1 := syscall3(varCyFix, 3,
  1837  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  1838  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  1839  		uintptr(unsafe.Pointer(pCyOut)))
  1840  	return HRESULT(ret1)
  1841  }
  1842  
  1843  func VarCyFromBool(boolIn VARIANT_BOOL, pCyOut *CY) HRESULT {
  1844  	ret1 := syscall3(varCyFromBool, 2,
  1845  		uintptr(boolIn),
  1846  		uintptr(unsafe.Pointer(pCyOut)),
  1847  		0)
  1848  	return HRESULT(ret1)
  1849  }
  1850  
  1851  func VarCyFromDate(dateIn DATE, pCyOut *CY) HRESULT {
  1852  	ret1 := syscall3(varCyFromDate, 2,
  1853  		uintptr(dateIn),
  1854  		uintptr(unsafe.Pointer(pCyOut)),
  1855  		0)
  1856  	return HRESULT(ret1)
  1857  }
  1858  
  1859  func VarCyFromDec(pdecIn *DECIMAL, pCyOut *CY) HRESULT {
  1860  	ret1 := syscall3(varCyFromDec, 2,
  1861  		uintptr(unsafe.Pointer(pdecIn)),
  1862  		uintptr(unsafe.Pointer(pCyOut)),
  1863  		0)
  1864  	return HRESULT(ret1)
  1865  }
  1866  
  1867  func VarCyFromDisp(pdispIn *IDispatch, lcid LCID, pCyOut *CY) HRESULT {
  1868  	ret1 := syscall3(varCyFromDisp, 3,
  1869  		uintptr(unsafe.Pointer(pdispIn)),
  1870  		uintptr(lcid),
  1871  		uintptr(unsafe.Pointer(pCyOut)))
  1872  	return HRESULT(ret1)
  1873  }
  1874  
  1875  func VarCyFromI1(cIn int8, pCyOut *CY) HRESULT {
  1876  	ret1 := syscall3(varCyFromI1, 2,
  1877  		uintptr(cIn),
  1878  		uintptr(unsafe.Pointer(pCyOut)),
  1879  		0)
  1880  	return HRESULT(ret1)
  1881  }
  1882  
  1883  func VarCyFromI2(sIn SHORT, pCyOut *CY) HRESULT {
  1884  	ret1 := syscall3(varCyFromI2, 2,
  1885  		uintptr(sIn),
  1886  		uintptr(unsafe.Pointer(pCyOut)),
  1887  		0)
  1888  	return HRESULT(ret1)
  1889  }
  1890  
  1891  func VarCyFromI4(lIn LONG, pCyOut *CY) HRESULT {
  1892  	ret1 := syscall3(varCyFromI4, 2,
  1893  		uintptr(lIn),
  1894  		uintptr(unsafe.Pointer(pCyOut)),
  1895  		0)
  1896  	return HRESULT(ret1)
  1897  }
  1898  
  1899  func VarCyFromI8(llIn LONG64, pCyOut *CY) HRESULT {
  1900  	ret1 := syscall3(varCyFromI8, 2,
  1901  		uintptr(llIn),
  1902  		uintptr(unsafe.Pointer(pCyOut)),
  1903  		0)
  1904  	return HRESULT(ret1)
  1905  }
  1906  
  1907  func VarCyFromR4(fltIn FLOAT, pCyOut *CY) HRESULT {
  1908  	ret1 := syscall3(varCyFromR4, 2,
  1909  		uintptr(fltIn),
  1910  		uintptr(unsafe.Pointer(pCyOut)),
  1911  		0)
  1912  	return HRESULT(ret1)
  1913  }
  1914  
  1915  func VarCyFromR8(dblIn float64, pCyOut *CY) HRESULT {
  1916  	ret1 := syscall3(varCyFromR8, 2,
  1917  		uintptr(dblIn),
  1918  		uintptr(unsafe.Pointer(pCyOut)),
  1919  		0)
  1920  	return HRESULT(ret1)
  1921  }
  1922  
  1923  func VarCyFromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pCyOut *CY) HRESULT {
  1924  	ret1 := syscall6(varCyFromStr, 4,
  1925  		uintptr(unsafe.Pointer(strIn)),
  1926  		uintptr(lcid),
  1927  		uintptr(dwFlags),
  1928  		uintptr(unsafe.Pointer(pCyOut)),
  1929  		0,
  1930  		0)
  1931  	return HRESULT(ret1)
  1932  }
  1933  
  1934  func VarCyFromUI1(bIn BYTE, pCyOut *CY) HRESULT {
  1935  	ret1 := syscall3(varCyFromUI1, 2,
  1936  		uintptr(bIn),
  1937  		uintptr(unsafe.Pointer(pCyOut)),
  1938  		0)
  1939  	return HRESULT(ret1)
  1940  }
  1941  
  1942  func VarCyFromUI2(usIn USHORT, pCyOut *CY) HRESULT {
  1943  	ret1 := syscall3(varCyFromUI2, 2,
  1944  		uintptr(usIn),
  1945  		uintptr(unsafe.Pointer(pCyOut)),
  1946  		0)
  1947  	return HRESULT(ret1)
  1948  }
  1949  
  1950  func VarCyFromUI4(ulIn ULONG, pCyOut *CY) HRESULT {
  1951  	ret1 := syscall3(varCyFromUI4, 2,
  1952  		uintptr(ulIn),
  1953  		uintptr(unsafe.Pointer(pCyOut)),
  1954  		0)
  1955  	return HRESULT(ret1)
  1956  }
  1957  
  1958  func VarCyFromUI8(ullIn ULONG64, pCyOut *CY) HRESULT {
  1959  	ret1 := syscall3(varCyFromUI8, 2,
  1960  		uintptr(ullIn),
  1961  		uintptr(unsafe.Pointer(pCyOut)),
  1962  		0)
  1963  	return HRESULT(ret1)
  1964  }
  1965  
  1966  func VarCyInt(cyIn /*const*/ CY, pCyOut *CY) HRESULT {
  1967  	ret1 := syscall3(varCyInt, 3,
  1968  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  1969  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  1970  		uintptr(unsafe.Pointer(pCyOut)))
  1971  	return HRESULT(ret1)
  1972  }
  1973  
  1974  func VarCyMul(cyLeft /*const*/ CY, cyRight /*const*/ CY, pCyOut *CY) HRESULT {
  1975  	ret1 := syscall6(varCyMul, 5,
  1976  		uintptr(*(*uint32)(unsafe.Pointer(&cyLeft))),
  1977  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyLeft)) + uintptr(4)))),
  1978  		uintptr(*(*uint32)(unsafe.Pointer(&cyRight))),
  1979  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyRight)) + uintptr(4)))),
  1980  		uintptr(unsafe.Pointer(pCyOut)),
  1981  		0)
  1982  	return HRESULT(ret1)
  1983  }
  1984  
  1985  func VarCyMulI4(cyLeft /*const*/ CY, lRight LONG, pCyOut *CY) HRESULT {
  1986  	ret1 := syscall6(varCyMulI4, 4,
  1987  		uintptr(*(*uint32)(unsafe.Pointer(&cyLeft))),
  1988  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyLeft)) + uintptr(4)))),
  1989  		uintptr(lRight),
  1990  		uintptr(unsafe.Pointer(pCyOut)),
  1991  		0,
  1992  		0)
  1993  	return HRESULT(ret1)
  1994  }
  1995  
  1996  func VarCyMulI8(cyLeft /*const*/ CY, llRight LONG64, pCyOut *CY) HRESULT {
  1997  	ret1 := syscall6(varCyMulI8, 4,
  1998  		uintptr(*(*uint32)(unsafe.Pointer(&cyLeft))),
  1999  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyLeft)) + uintptr(4)))),
  2000  		uintptr(llRight),
  2001  		uintptr(unsafe.Pointer(pCyOut)),
  2002  		0,
  2003  		0)
  2004  	return HRESULT(ret1)
  2005  }
  2006  
  2007  func VarCyNeg(cyIn /*const*/ CY, pCyOut *CY) HRESULT {
  2008  	ret1 := syscall3(varCyNeg, 3,
  2009  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  2010  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  2011  		uintptr(unsafe.Pointer(pCyOut)))
  2012  	return HRESULT(ret1)
  2013  }
  2014  
  2015  func VarCyRound(cyIn /*const*/ CY, cDecimals int32, pCyOut *CY) HRESULT {
  2016  	ret1 := syscall6(varCyRound, 4,
  2017  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  2018  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  2019  		uintptr(cDecimals),
  2020  		uintptr(unsafe.Pointer(pCyOut)),
  2021  		0,
  2022  		0)
  2023  	return HRESULT(ret1)
  2024  }
  2025  
  2026  func VarCySub(cyLeft /*const*/ CY, cyRight /*const*/ CY, pCyOut *CY) HRESULT {
  2027  	ret1 := syscall6(varCySub, 5,
  2028  		uintptr(*(*uint32)(unsafe.Pointer(&cyLeft))),
  2029  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyLeft)) + uintptr(4)))),
  2030  		uintptr(*(*uint32)(unsafe.Pointer(&cyRight))),
  2031  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyRight)) + uintptr(4)))),
  2032  		uintptr(unsafe.Pointer(pCyOut)),
  2033  		0)
  2034  	return HRESULT(ret1)
  2035  }
  2036  
  2037  func VarDateFromBool(boolIn VARIANT_BOOL, pdateOut *DATE) HRESULT {
  2038  	ret1 := syscall3(varDateFromBool, 2,
  2039  		uintptr(boolIn),
  2040  		uintptr(unsafe.Pointer(pdateOut)),
  2041  		0)
  2042  	return HRESULT(ret1)
  2043  }
  2044  
  2045  func VarDateFromCy(cyIn CY, pdateOut *DATE) HRESULT {
  2046  	ret1 := syscall3(varDateFromCy, 3,
  2047  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  2048  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  2049  		uintptr(unsafe.Pointer(pdateOut)))
  2050  	return HRESULT(ret1)
  2051  }
  2052  
  2053  func VarDateFromDec(pdecIn *DECIMAL, pdateOut *DATE) HRESULT {
  2054  	ret1 := syscall3(varDateFromDec, 2,
  2055  		uintptr(unsafe.Pointer(pdecIn)),
  2056  		uintptr(unsafe.Pointer(pdateOut)),
  2057  		0)
  2058  	return HRESULT(ret1)
  2059  }
  2060  
  2061  func VarDateFromDisp(pdispIn *IDispatch, lcid LCID, pdateOut *DATE) HRESULT {
  2062  	ret1 := syscall3(varDateFromDisp, 3,
  2063  		uintptr(unsafe.Pointer(pdispIn)),
  2064  		uintptr(lcid),
  2065  		uintptr(unsafe.Pointer(pdateOut)))
  2066  	return HRESULT(ret1)
  2067  }
  2068  
  2069  func VarDateFromI1(cIn int8, pdateOut *DATE) HRESULT {
  2070  	ret1 := syscall3(varDateFromI1, 2,
  2071  		uintptr(cIn),
  2072  		uintptr(unsafe.Pointer(pdateOut)),
  2073  		0)
  2074  	return HRESULT(ret1)
  2075  }
  2076  
  2077  func VarDateFromI2(sIn int16, pdateOut *DATE) HRESULT {
  2078  	ret1 := syscall3(varDateFromI2, 2,
  2079  		uintptr(sIn),
  2080  		uintptr(unsafe.Pointer(pdateOut)),
  2081  		0)
  2082  	return HRESULT(ret1)
  2083  }
  2084  
  2085  func VarDateFromI4(lIn LONG, pdateOut *DATE) HRESULT {
  2086  	ret1 := syscall3(varDateFromI4, 2,
  2087  		uintptr(lIn),
  2088  		uintptr(unsafe.Pointer(pdateOut)),
  2089  		0)
  2090  	return HRESULT(ret1)
  2091  }
  2092  
  2093  func VarDateFromI8(llIn LONG64, pdateOut *DATE) HRESULT {
  2094  	ret1 := syscall3(varDateFromI8, 2,
  2095  		uintptr(llIn),
  2096  		uintptr(unsafe.Pointer(pdateOut)),
  2097  		0)
  2098  	return HRESULT(ret1)
  2099  }
  2100  
  2101  func VarDateFromR4(fltIn FLOAT, pdateOut *DATE) HRESULT {
  2102  	ret1 := syscall3(varDateFromR4, 2,
  2103  		uintptr(fltIn),
  2104  		uintptr(unsafe.Pointer(pdateOut)),
  2105  		0)
  2106  	return HRESULT(ret1)
  2107  }
  2108  
  2109  func VarDateFromR8(dblIn float64, pdateOut *DATE) HRESULT {
  2110  	ret1 := syscall3(varDateFromR8, 2,
  2111  		uintptr(dblIn),
  2112  		uintptr(unsafe.Pointer(pdateOut)),
  2113  		0)
  2114  	return HRESULT(ret1)
  2115  }
  2116  
  2117  func VarDateFromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pdateOut *DATE) HRESULT {
  2118  	ret1 := syscall6(varDateFromStr, 4,
  2119  		uintptr(unsafe.Pointer(strIn)),
  2120  		uintptr(lcid),
  2121  		uintptr(dwFlags),
  2122  		uintptr(unsafe.Pointer(pdateOut)),
  2123  		0,
  2124  		0)
  2125  	return HRESULT(ret1)
  2126  }
  2127  
  2128  func VarDateFromUI1(bIn BYTE, pdateOut *DATE) HRESULT {
  2129  	ret1 := syscall3(varDateFromUI1, 2,
  2130  		uintptr(bIn),
  2131  		uintptr(unsafe.Pointer(pdateOut)),
  2132  		0)
  2133  	return HRESULT(ret1)
  2134  }
  2135  
  2136  func VarDateFromUI2(uiIn USHORT, pdateOut *DATE) HRESULT {
  2137  	ret1 := syscall3(varDateFromUI2, 2,
  2138  		uintptr(uiIn),
  2139  		uintptr(unsafe.Pointer(pdateOut)),
  2140  		0)
  2141  	return HRESULT(ret1)
  2142  }
  2143  
  2144  func VarDateFromUI4(ulIn ULONG, pdateOut *DATE) HRESULT {
  2145  	ret1 := syscall3(varDateFromUI4, 2,
  2146  		uintptr(ulIn),
  2147  		uintptr(unsafe.Pointer(pdateOut)),
  2148  		0)
  2149  	return HRESULT(ret1)
  2150  }
  2151  
  2152  func VarDateFromUI8(ullIn ULONG64, pdateOut *DATE) HRESULT {
  2153  	ret1 := syscall3(varDateFromUI8, 2,
  2154  		uintptr(ullIn),
  2155  		uintptr(unsafe.Pointer(pdateOut)),
  2156  		0)
  2157  	return HRESULT(ret1)
  2158  }
  2159  
  2160  func VarDateFromUdate(pUdateIn *UDATE, dwFlags ULONG, pDateOut *DATE) HRESULT {
  2161  	ret1 := syscall3(varDateFromUdate, 3,
  2162  		uintptr(unsafe.Pointer(pUdateIn)),
  2163  		uintptr(dwFlags),
  2164  		uintptr(unsafe.Pointer(pDateOut)))
  2165  	return HRESULT(ret1)
  2166  }
  2167  
  2168  func VarDateFromUdateEx(pUdateIn *UDATE, lcid LCID, dwFlags ULONG, pDateOut *DATE) HRESULT {
  2169  	ret1 := syscall6(varDateFromUdateEx, 4,
  2170  		uintptr(unsafe.Pointer(pUdateIn)),
  2171  		uintptr(lcid),
  2172  		uintptr(dwFlags),
  2173  		uintptr(unsafe.Pointer(pDateOut)),
  2174  		0,
  2175  		0)
  2176  	return HRESULT(ret1)
  2177  }
  2178  
  2179  func VarDecAbs(pDecIn /*const*/ *DECIMAL, pDecOut *DECIMAL) HRESULT {
  2180  	ret1 := syscall3(varDecAbs, 2,
  2181  		uintptr(unsafe.Pointer(pDecIn)),
  2182  		uintptr(unsafe.Pointer(pDecOut)),
  2183  		0)
  2184  	return HRESULT(ret1)
  2185  }
  2186  
  2187  func VarDecAdd(pDecLeft /*const*/ *DECIMAL, pDecRight /*const*/ *DECIMAL, pDecOut *DECIMAL) HRESULT {
  2188  	ret1 := syscall3(varDecAdd, 3,
  2189  		uintptr(unsafe.Pointer(pDecLeft)),
  2190  		uintptr(unsafe.Pointer(pDecRight)),
  2191  		uintptr(unsafe.Pointer(pDecOut)))
  2192  	return HRESULT(ret1)
  2193  }
  2194  
  2195  func VarDecCmp(pDecLeft /*const*/ *DECIMAL, pDecRight /*const*/ *DECIMAL) HRESULT {
  2196  	ret1 := syscall3(varDecCmp, 2,
  2197  		uintptr(unsafe.Pointer(pDecLeft)),
  2198  		uintptr(unsafe.Pointer(pDecRight)),
  2199  		0)
  2200  	return HRESULT(ret1)
  2201  }
  2202  
  2203  func VarDecCmpR8(pDecLeft /*const*/ *DECIMAL, dblRight float64) HRESULT {
  2204  	ret1 := syscall3(varDecCmpR8, 2,
  2205  		uintptr(unsafe.Pointer(pDecLeft)),
  2206  		uintptr(dblRight),
  2207  		0)
  2208  	return HRESULT(ret1)
  2209  }
  2210  
  2211  func VarDecDiv(pDecLeft /*const*/ *DECIMAL, pDecRight /*const*/ *DECIMAL, pDecOut *DECIMAL) HRESULT {
  2212  	ret1 := syscall3(varDecDiv, 3,
  2213  		uintptr(unsafe.Pointer(pDecLeft)),
  2214  		uintptr(unsafe.Pointer(pDecRight)),
  2215  		uintptr(unsafe.Pointer(pDecOut)))
  2216  	return HRESULT(ret1)
  2217  }
  2218  
  2219  func VarDecFix(pDecIn /*const*/ *DECIMAL, pDecOut *DECIMAL) HRESULT {
  2220  	ret1 := syscall3(varDecFix, 2,
  2221  		uintptr(unsafe.Pointer(pDecIn)),
  2222  		uintptr(unsafe.Pointer(pDecOut)),
  2223  		0)
  2224  	return HRESULT(ret1)
  2225  }
  2226  
  2227  func VarDecFromBool(bIn VARIANT_BOOL, pDecOut *DECIMAL) HRESULT {
  2228  	ret1 := syscall3(varDecFromBool, 2,
  2229  		uintptr(bIn),
  2230  		uintptr(unsafe.Pointer(pDecOut)),
  2231  		0)
  2232  	return HRESULT(ret1)
  2233  }
  2234  
  2235  func VarDecFromCy(cyIn CY, pDecOut *DECIMAL) HRESULT {
  2236  	ret1 := syscall3(varDecFromCy, 3,
  2237  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  2238  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  2239  		uintptr(unsafe.Pointer(pDecOut)))
  2240  	return HRESULT(ret1)
  2241  }
  2242  
  2243  func VarDecFromDate(dateIn DATE, pDecOut *DECIMAL) HRESULT {
  2244  	ret1 := syscall3(varDecFromDate, 2,
  2245  		uintptr(dateIn),
  2246  		uintptr(unsafe.Pointer(pDecOut)),
  2247  		0)
  2248  	return HRESULT(ret1)
  2249  }
  2250  
  2251  func VarDecFromDisp(pdispIn *IDispatch, lcid LCID, pDecOut *DECIMAL) HRESULT {
  2252  	ret1 := syscall3(varDecFromDisp, 3,
  2253  		uintptr(unsafe.Pointer(pdispIn)),
  2254  		uintptr(lcid),
  2255  		uintptr(unsafe.Pointer(pDecOut)))
  2256  	return HRESULT(ret1)
  2257  }
  2258  
  2259  func VarDecFromI1(cIn int8, pDecOut *DECIMAL) HRESULT {
  2260  	ret1 := syscall3(varDecFromI1, 2,
  2261  		uintptr(cIn),
  2262  		uintptr(unsafe.Pointer(pDecOut)),
  2263  		0)
  2264  	return HRESULT(ret1)
  2265  }
  2266  
  2267  func VarDecFromI2(sIn SHORT, pDecOut *DECIMAL) HRESULT {
  2268  	ret1 := syscall3(varDecFromI2, 2,
  2269  		uintptr(sIn),
  2270  		uintptr(unsafe.Pointer(pDecOut)),
  2271  		0)
  2272  	return HRESULT(ret1)
  2273  }
  2274  
  2275  func VarDecFromI4(lIn LONG, pDecOut *DECIMAL) HRESULT {
  2276  	ret1 := syscall3(varDecFromI4, 2,
  2277  		uintptr(lIn),
  2278  		uintptr(unsafe.Pointer(pDecOut)),
  2279  		0)
  2280  	return HRESULT(ret1)
  2281  }
  2282  
  2283  func VarDecFromI8(llIn LONG64, pDecOut *DECIMAL) HRESULT {
  2284  	ret1 := syscall3(varDecFromI8, 2,
  2285  		uintptr(llIn),
  2286  		uintptr(unsafe.Pointer(pDecOut)),
  2287  		0)
  2288  	return HRESULT(ret1)
  2289  }
  2290  
  2291  func VarDecFromR4(fltIn FLOAT, pDecOut *DECIMAL) HRESULT {
  2292  	ret1 := syscall3(varDecFromR4, 2,
  2293  		uintptr(fltIn),
  2294  		uintptr(unsafe.Pointer(pDecOut)),
  2295  		0)
  2296  	return HRESULT(ret1)
  2297  }
  2298  
  2299  func VarDecFromR8(dblIn float64, pDecOut *DECIMAL) HRESULT {
  2300  	ret1 := syscall3(varDecFromR8, 2,
  2301  		uintptr(dblIn),
  2302  		uintptr(unsafe.Pointer(pDecOut)),
  2303  		0)
  2304  	return HRESULT(ret1)
  2305  }
  2306  
  2307  func VarDecFromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pDecOut *DECIMAL) HRESULT {
  2308  	ret1 := syscall6(varDecFromStr, 4,
  2309  		uintptr(unsafe.Pointer(strIn)),
  2310  		uintptr(lcid),
  2311  		uintptr(dwFlags),
  2312  		uintptr(unsafe.Pointer(pDecOut)),
  2313  		0,
  2314  		0)
  2315  	return HRESULT(ret1)
  2316  }
  2317  
  2318  func VarDecFromUI1(bIn BYTE, pDecOut *DECIMAL) HRESULT {
  2319  	ret1 := syscall3(varDecFromUI1, 2,
  2320  		uintptr(bIn),
  2321  		uintptr(unsafe.Pointer(pDecOut)),
  2322  		0)
  2323  	return HRESULT(ret1)
  2324  }
  2325  
  2326  func VarDecFromUI2(usIn USHORT, pDecOut *DECIMAL) HRESULT {
  2327  	ret1 := syscall3(varDecFromUI2, 2,
  2328  		uintptr(usIn),
  2329  		uintptr(unsafe.Pointer(pDecOut)),
  2330  		0)
  2331  	return HRESULT(ret1)
  2332  }
  2333  
  2334  func VarDecFromUI4(ulIn ULONG, pDecOut *DECIMAL) HRESULT {
  2335  	ret1 := syscall3(varDecFromUI4, 2,
  2336  		uintptr(ulIn),
  2337  		uintptr(unsafe.Pointer(pDecOut)),
  2338  		0)
  2339  	return HRESULT(ret1)
  2340  }
  2341  
  2342  func VarDecFromUI8(ullIn ULONG64, pDecOut *DECIMAL) HRESULT {
  2343  	ret1 := syscall3(varDecFromUI8, 2,
  2344  		uintptr(ullIn),
  2345  		uintptr(unsafe.Pointer(pDecOut)),
  2346  		0)
  2347  	return HRESULT(ret1)
  2348  }
  2349  
  2350  func VarDecInt(pDecIn /*const*/ *DECIMAL, pDecOut *DECIMAL) HRESULT {
  2351  	ret1 := syscall3(varDecInt, 2,
  2352  		uintptr(unsafe.Pointer(pDecIn)),
  2353  		uintptr(unsafe.Pointer(pDecOut)),
  2354  		0)
  2355  	return HRESULT(ret1)
  2356  }
  2357  
  2358  func VarDecMul(pDecLeft /*const*/ *DECIMAL, pDecRight /*const*/ *DECIMAL, pDecOut *DECIMAL) HRESULT {
  2359  	ret1 := syscall3(varDecMul, 3,
  2360  		uintptr(unsafe.Pointer(pDecLeft)),
  2361  		uintptr(unsafe.Pointer(pDecRight)),
  2362  		uintptr(unsafe.Pointer(pDecOut)))
  2363  	return HRESULT(ret1)
  2364  }
  2365  
  2366  func VarDecNeg(pDecIn /*const*/ *DECIMAL, pDecOut *DECIMAL) HRESULT {
  2367  	ret1 := syscall3(varDecNeg, 2,
  2368  		uintptr(unsafe.Pointer(pDecIn)),
  2369  		uintptr(unsafe.Pointer(pDecOut)),
  2370  		0)
  2371  	return HRESULT(ret1)
  2372  }
  2373  
  2374  func VarDecRound(pDecIn /*const*/ *DECIMAL, cDecimals int32, pDecOut *DECIMAL) HRESULT {
  2375  	ret1 := syscall3(varDecRound, 3,
  2376  		uintptr(unsafe.Pointer(pDecIn)),
  2377  		uintptr(cDecimals),
  2378  		uintptr(unsafe.Pointer(pDecOut)))
  2379  	return HRESULT(ret1)
  2380  }
  2381  
  2382  func VarDecSub(pDecLeft /*const*/ *DECIMAL, pDecRight /*const*/ *DECIMAL, pDecOut *DECIMAL) HRESULT {
  2383  	ret1 := syscall3(varDecSub, 3,
  2384  		uintptr(unsafe.Pointer(pDecLeft)),
  2385  		uintptr(unsafe.Pointer(pDecRight)),
  2386  		uintptr(unsafe.Pointer(pDecOut)))
  2387  	return HRESULT(ret1)
  2388  }
  2389  
  2390  func VarDiv(left *VARIANT, right *VARIANT, result *VARIANT) HRESULT {
  2391  	ret1 := syscall3(varDiv, 3,
  2392  		uintptr(unsafe.Pointer(left)),
  2393  		uintptr(unsafe.Pointer(right)),
  2394  		uintptr(unsafe.Pointer(result)))
  2395  	return HRESULT(ret1)
  2396  }
  2397  
  2398  func VarEqv(pVarLeft *VARIANT, pVarRight *VARIANT, pVarOut *VARIANT) HRESULT {
  2399  	ret1 := syscall3(varEqv, 3,
  2400  		uintptr(unsafe.Pointer(pVarLeft)),
  2401  		uintptr(unsafe.Pointer(pVarRight)),
  2402  		uintptr(unsafe.Pointer(pVarOut)))
  2403  	return HRESULT(ret1)
  2404  }
  2405  
  2406  func VarFix(pVarIn *VARIANT, pVarOut *VARIANT) HRESULT {
  2407  	ret1 := syscall3(varFix, 2,
  2408  		uintptr(unsafe.Pointer(pVarIn)),
  2409  		uintptr(unsafe.Pointer(pVarOut)),
  2410  		0)
  2411  	return HRESULT(ret1)
  2412  }
  2413  
  2414  func VarFormat(pVarIn *VARIANT, lpszFormat LPOLESTR, nFirstDay int32, nFirstWeek int32, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  2415  	ret1 := syscall6(varFormat, 6,
  2416  		uintptr(unsafe.Pointer(pVarIn)),
  2417  		uintptr(unsafe.Pointer(lpszFormat)),
  2418  		uintptr(nFirstDay),
  2419  		uintptr(nFirstWeek),
  2420  		uintptr(dwFlags),
  2421  		uintptr(unsafe.Pointer(pbstrOut)))
  2422  	return HRESULT(ret1)
  2423  }
  2424  
  2425  func VarFormatCurrency(pVarIn *VARIANT, nDigits INT, nLeading INT, nParens INT, nGrouping INT, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  2426  	ret1 := syscall9(varFormatCurrency, 7,
  2427  		uintptr(unsafe.Pointer(pVarIn)),
  2428  		uintptr(nDigits),
  2429  		uintptr(nLeading),
  2430  		uintptr(nParens),
  2431  		uintptr(nGrouping),
  2432  		uintptr(dwFlags),
  2433  		uintptr(unsafe.Pointer(pbstrOut)),
  2434  		0,
  2435  		0)
  2436  	return HRESULT(ret1)
  2437  }
  2438  
  2439  func VarFormatDateTime(pVarIn *VARIANT, nFormat INT, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  2440  	ret1 := syscall6(varFormatDateTime, 4,
  2441  		uintptr(unsafe.Pointer(pVarIn)),
  2442  		uintptr(nFormat),
  2443  		uintptr(dwFlags),
  2444  		uintptr(unsafe.Pointer(pbstrOut)),
  2445  		0,
  2446  		0)
  2447  	return HRESULT(ret1)
  2448  }
  2449  
  2450  func VarFormatFromTokens(pVarIn *VARIANT, lpszFormat LPOLESTR, rgbTok *byte, dwFlags ULONG, pbstrOut *BSTR, lcid LCID) HRESULT {
  2451  	ret1 := syscall6(varFormatFromTokens, 6,
  2452  		uintptr(unsafe.Pointer(pVarIn)),
  2453  		uintptr(unsafe.Pointer(lpszFormat)),
  2454  		uintptr(unsafe.Pointer(rgbTok)),
  2455  		uintptr(dwFlags),
  2456  		uintptr(unsafe.Pointer(pbstrOut)),
  2457  		uintptr(lcid))
  2458  	return HRESULT(ret1)
  2459  }
  2460  
  2461  func VarFormatNumber(pVarIn *VARIANT, nDigits INT, nLeading INT, nParens INT, nGrouping INT, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  2462  	ret1 := syscall9(varFormatNumber, 7,
  2463  		uintptr(unsafe.Pointer(pVarIn)),
  2464  		uintptr(nDigits),
  2465  		uintptr(nLeading),
  2466  		uintptr(nParens),
  2467  		uintptr(nGrouping),
  2468  		uintptr(dwFlags),
  2469  		uintptr(unsafe.Pointer(pbstrOut)),
  2470  		0,
  2471  		0)
  2472  	return HRESULT(ret1)
  2473  }
  2474  
  2475  func VarFormatPercent(pVarIn *VARIANT, nDigits INT, nLeading INT, nParens INT, nGrouping INT, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  2476  	ret1 := syscall9(varFormatPercent, 7,
  2477  		uintptr(unsafe.Pointer(pVarIn)),
  2478  		uintptr(nDigits),
  2479  		uintptr(nLeading),
  2480  		uintptr(nParens),
  2481  		uintptr(nGrouping),
  2482  		uintptr(dwFlags),
  2483  		uintptr(unsafe.Pointer(pbstrOut)),
  2484  		0,
  2485  		0)
  2486  	return HRESULT(ret1)
  2487  }
  2488  
  2489  func VarI1FromBool(boolIn VARIANT_BOOL, pcOut *int8) HRESULT {
  2490  	ret1 := syscall3(varI1FromBool, 2,
  2491  		uintptr(boolIn),
  2492  		uintptr(unsafe.Pointer(pcOut)),
  2493  		0)
  2494  	return HRESULT(ret1)
  2495  }
  2496  
  2497  func VarI1FromCy(cyIn CY, pcOut *int8) HRESULT {
  2498  	ret1 := syscall3(varI1FromCy, 3,
  2499  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  2500  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  2501  		uintptr(unsafe.Pointer(pcOut)))
  2502  	return HRESULT(ret1)
  2503  }
  2504  
  2505  func VarI1FromDate(dateIn DATE, pcOut *int8) HRESULT {
  2506  	ret1 := syscall3(varI1FromDate, 2,
  2507  		uintptr(dateIn),
  2508  		uintptr(unsafe.Pointer(pcOut)),
  2509  		0)
  2510  	return HRESULT(ret1)
  2511  }
  2512  
  2513  func VarI1FromDec(pdecIn *DECIMAL, pcOut *int8) HRESULT {
  2514  	ret1 := syscall3(varI1FromDec, 2,
  2515  		uintptr(unsafe.Pointer(pdecIn)),
  2516  		uintptr(unsafe.Pointer(pcOut)),
  2517  		0)
  2518  	return HRESULT(ret1)
  2519  }
  2520  
  2521  func VarI1FromDisp(pdispIn *IDispatch, lcid LCID, pcOut *int8) HRESULT {
  2522  	ret1 := syscall3(varI1FromDisp, 3,
  2523  		uintptr(unsafe.Pointer(pdispIn)),
  2524  		uintptr(lcid),
  2525  		uintptr(unsafe.Pointer(pcOut)))
  2526  	return HRESULT(ret1)
  2527  }
  2528  
  2529  func VarI1FromI2(sIn SHORT, pcOut *int8) HRESULT {
  2530  	ret1 := syscall3(varI1FromI2, 2,
  2531  		uintptr(sIn),
  2532  		uintptr(unsafe.Pointer(pcOut)),
  2533  		0)
  2534  	return HRESULT(ret1)
  2535  }
  2536  
  2537  func VarI1FromI4(iIn LONG, pcOut *int8) HRESULT {
  2538  	ret1 := syscall3(varI1FromI4, 2,
  2539  		uintptr(iIn),
  2540  		uintptr(unsafe.Pointer(pcOut)),
  2541  		0)
  2542  	return HRESULT(ret1)
  2543  }
  2544  
  2545  func VarI1FromI8(llIn LONG64, pcOut *int8) HRESULT {
  2546  	ret1 := syscall3(varI1FromI8, 2,
  2547  		uintptr(llIn),
  2548  		uintptr(unsafe.Pointer(pcOut)),
  2549  		0)
  2550  	return HRESULT(ret1)
  2551  }
  2552  
  2553  func VarI1FromR4(fltIn FLOAT, pcOut *int8) HRESULT {
  2554  	ret1 := syscall3(varI1FromR4, 2,
  2555  		uintptr(fltIn),
  2556  		uintptr(unsafe.Pointer(pcOut)),
  2557  		0)
  2558  	return HRESULT(ret1)
  2559  }
  2560  
  2561  func VarI1FromR8(dblIn float64, pcOut *int8) HRESULT {
  2562  	ret1 := syscall3(varI1FromR8, 2,
  2563  		uintptr(dblIn),
  2564  		uintptr(unsafe.Pointer(pcOut)),
  2565  		0)
  2566  	return HRESULT(ret1)
  2567  }
  2568  
  2569  func VarI1FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pcOut *int8) HRESULT {
  2570  	ret1 := syscall6(varI1FromStr, 4,
  2571  		uintptr(unsafe.Pointer(strIn)),
  2572  		uintptr(lcid),
  2573  		uintptr(dwFlags),
  2574  		uintptr(unsafe.Pointer(pcOut)),
  2575  		0,
  2576  		0)
  2577  	return HRESULT(ret1)
  2578  }
  2579  
  2580  func VarI1FromUI1(bIn BYTE, pcOut *int8) HRESULT {
  2581  	ret1 := syscall3(varI1FromUI1, 2,
  2582  		uintptr(bIn),
  2583  		uintptr(unsafe.Pointer(pcOut)),
  2584  		0)
  2585  	return HRESULT(ret1)
  2586  }
  2587  
  2588  func VarI1FromUI2(usIn USHORT, pcOut *int8) HRESULT {
  2589  	ret1 := syscall3(varI1FromUI2, 2,
  2590  		uintptr(usIn),
  2591  		uintptr(unsafe.Pointer(pcOut)),
  2592  		0)
  2593  	return HRESULT(ret1)
  2594  }
  2595  
  2596  func VarI1FromUI4(ulIn ULONG, pcOut *int8) HRESULT {
  2597  	ret1 := syscall3(varI1FromUI4, 2,
  2598  		uintptr(ulIn),
  2599  		uintptr(unsafe.Pointer(pcOut)),
  2600  		0)
  2601  	return HRESULT(ret1)
  2602  }
  2603  
  2604  func VarI1FromUI8(ullIn ULONG64, pcOut *int8) HRESULT {
  2605  	ret1 := syscall3(varI1FromUI8, 2,
  2606  		uintptr(ullIn),
  2607  		uintptr(unsafe.Pointer(pcOut)),
  2608  		0)
  2609  	return HRESULT(ret1)
  2610  }
  2611  
  2612  func VarI2FromBool(boolIn VARIANT_BOOL, psOut *SHORT) HRESULT {
  2613  	ret1 := syscall3(varI2FromBool, 2,
  2614  		uintptr(boolIn),
  2615  		uintptr(unsafe.Pointer(psOut)),
  2616  		0)
  2617  	return HRESULT(ret1)
  2618  }
  2619  
  2620  func VarI2FromCy(cyIn CY, psOut *SHORT) HRESULT {
  2621  	ret1 := syscall3(varI2FromCy, 3,
  2622  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  2623  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  2624  		uintptr(unsafe.Pointer(psOut)))
  2625  	return HRESULT(ret1)
  2626  }
  2627  
  2628  func VarI2FromDate(dateIn DATE, psOut *SHORT) HRESULT {
  2629  	ret1 := syscall3(varI2FromDate, 2,
  2630  		uintptr(dateIn),
  2631  		uintptr(unsafe.Pointer(psOut)),
  2632  		0)
  2633  	return HRESULT(ret1)
  2634  }
  2635  
  2636  func VarI2FromDec(pdecIn *DECIMAL, psOut *SHORT) HRESULT {
  2637  	ret1 := syscall3(varI2FromDec, 2,
  2638  		uintptr(unsafe.Pointer(pdecIn)),
  2639  		uintptr(unsafe.Pointer(psOut)),
  2640  		0)
  2641  	return HRESULT(ret1)
  2642  }
  2643  
  2644  func VarI2FromDisp(pdispIn *IDispatch, lcid LCID, psOut *SHORT) HRESULT {
  2645  	ret1 := syscall3(varI2FromDisp, 3,
  2646  		uintptr(unsafe.Pointer(pdispIn)),
  2647  		uintptr(lcid),
  2648  		uintptr(unsafe.Pointer(psOut)))
  2649  	return HRESULT(ret1)
  2650  }
  2651  
  2652  func VarI2FromI1(cIn int8, psOut *SHORT) HRESULT {
  2653  	ret1 := syscall3(varI2FromI1, 2,
  2654  		uintptr(cIn),
  2655  		uintptr(unsafe.Pointer(psOut)),
  2656  		0)
  2657  	return HRESULT(ret1)
  2658  }
  2659  
  2660  func VarI2FromI4(iIn LONG, psOut *SHORT) HRESULT {
  2661  	ret1 := syscall3(varI2FromI4, 2,
  2662  		uintptr(iIn),
  2663  		uintptr(unsafe.Pointer(psOut)),
  2664  		0)
  2665  	return HRESULT(ret1)
  2666  }
  2667  
  2668  func VarI2FromI8(llIn LONG64, psOut *SHORT) HRESULT {
  2669  	ret1 := syscall3(varI2FromI8, 2,
  2670  		uintptr(llIn),
  2671  		uintptr(unsafe.Pointer(psOut)),
  2672  		0)
  2673  	return HRESULT(ret1)
  2674  }
  2675  
  2676  func VarI2FromR4(fltIn FLOAT, psOut *SHORT) HRESULT {
  2677  	ret1 := syscall3(varI2FromR4, 2,
  2678  		uintptr(fltIn),
  2679  		uintptr(unsafe.Pointer(psOut)),
  2680  		0)
  2681  	return HRESULT(ret1)
  2682  }
  2683  
  2684  func VarI2FromR8(dblIn float64, psOut *SHORT) HRESULT {
  2685  	ret1 := syscall3(varI2FromR8, 2,
  2686  		uintptr(dblIn),
  2687  		uintptr(unsafe.Pointer(psOut)),
  2688  		0)
  2689  	return HRESULT(ret1)
  2690  }
  2691  
  2692  func VarI2FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, psOut *SHORT) HRESULT {
  2693  	ret1 := syscall6(varI2FromStr, 4,
  2694  		uintptr(unsafe.Pointer(strIn)),
  2695  		uintptr(lcid),
  2696  		uintptr(dwFlags),
  2697  		uintptr(unsafe.Pointer(psOut)),
  2698  		0,
  2699  		0)
  2700  	return HRESULT(ret1)
  2701  }
  2702  
  2703  func VarI2FromUI1(bIn BYTE, psOut *SHORT) HRESULT {
  2704  	ret1 := syscall3(varI2FromUI1, 2,
  2705  		uintptr(bIn),
  2706  		uintptr(unsafe.Pointer(psOut)),
  2707  		0)
  2708  	return HRESULT(ret1)
  2709  }
  2710  
  2711  func VarI2FromUI2(usIn USHORT, psOut *SHORT) HRESULT {
  2712  	ret1 := syscall3(varI2FromUI2, 2,
  2713  		uintptr(usIn),
  2714  		uintptr(unsafe.Pointer(psOut)),
  2715  		0)
  2716  	return HRESULT(ret1)
  2717  }
  2718  
  2719  func VarI2FromUI4(ulIn ULONG, psOut *SHORT) HRESULT {
  2720  	ret1 := syscall3(varI2FromUI4, 2,
  2721  		uintptr(ulIn),
  2722  		uintptr(unsafe.Pointer(psOut)),
  2723  		0)
  2724  	return HRESULT(ret1)
  2725  }
  2726  
  2727  func VarI2FromUI8(ullIn ULONG64, psOut *SHORT) HRESULT {
  2728  	ret1 := syscall3(varI2FromUI8, 2,
  2729  		uintptr(ullIn),
  2730  		uintptr(unsafe.Pointer(psOut)),
  2731  		0)
  2732  	return HRESULT(ret1)
  2733  }
  2734  
  2735  func VarI4FromBool(boolIn VARIANT_BOOL, piOut *LONG) HRESULT {
  2736  	ret1 := syscall3(varI4FromBool, 2,
  2737  		uintptr(boolIn),
  2738  		uintptr(unsafe.Pointer(piOut)),
  2739  		0)
  2740  	return HRESULT(ret1)
  2741  }
  2742  
  2743  func VarI4FromCy(cyIn CY, piOut *LONG) HRESULT {
  2744  	ret1 := syscall3(varI4FromCy, 3,
  2745  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  2746  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  2747  		uintptr(unsafe.Pointer(piOut)))
  2748  	return HRESULT(ret1)
  2749  }
  2750  
  2751  func VarI4FromDate(dateIn DATE, piOut *LONG) HRESULT {
  2752  	ret1 := syscall3(varI4FromDate, 2,
  2753  		uintptr(dateIn),
  2754  		uintptr(unsafe.Pointer(piOut)),
  2755  		0)
  2756  	return HRESULT(ret1)
  2757  }
  2758  
  2759  func VarI4FromDec(pdecIn *DECIMAL, piOut *LONG) HRESULT {
  2760  	ret1 := syscall3(varI4FromDec, 2,
  2761  		uintptr(unsafe.Pointer(pdecIn)),
  2762  		uintptr(unsafe.Pointer(piOut)),
  2763  		0)
  2764  	return HRESULT(ret1)
  2765  }
  2766  
  2767  func VarI4FromDisp(pdispIn *IDispatch, lcid LCID, piOut *LONG) HRESULT {
  2768  	ret1 := syscall3(varI4FromDisp, 3,
  2769  		uintptr(unsafe.Pointer(pdispIn)),
  2770  		uintptr(lcid),
  2771  		uintptr(unsafe.Pointer(piOut)))
  2772  	return HRESULT(ret1)
  2773  }
  2774  
  2775  func VarI4FromI1(cIn int8, piOut *LONG) HRESULT {
  2776  	ret1 := syscall3(varI4FromI1, 2,
  2777  		uintptr(cIn),
  2778  		uintptr(unsafe.Pointer(piOut)),
  2779  		0)
  2780  	return HRESULT(ret1)
  2781  }
  2782  
  2783  func VarI4FromI2(sIn SHORT, piOut *LONG) HRESULT {
  2784  	ret1 := syscall3(varI4FromI2, 2,
  2785  		uintptr(sIn),
  2786  		uintptr(unsafe.Pointer(piOut)),
  2787  		0)
  2788  	return HRESULT(ret1)
  2789  }
  2790  
  2791  func VarI4FromI8(llIn LONG64, piOut *LONG) HRESULT {
  2792  	ret1 := syscall3(varI4FromI8, 2,
  2793  		uintptr(llIn),
  2794  		uintptr(unsafe.Pointer(piOut)),
  2795  		0)
  2796  	return HRESULT(ret1)
  2797  }
  2798  
  2799  func VarI4FromR4(fltIn FLOAT, piOut *LONG) HRESULT {
  2800  	ret1 := syscall3(varI4FromR4, 2,
  2801  		uintptr(fltIn),
  2802  		uintptr(unsafe.Pointer(piOut)),
  2803  		0)
  2804  	return HRESULT(ret1)
  2805  }
  2806  
  2807  func VarI4FromR8(dblIn float64, piOut *LONG) HRESULT {
  2808  	ret1 := syscall3(varI4FromR8, 2,
  2809  		uintptr(dblIn),
  2810  		uintptr(unsafe.Pointer(piOut)),
  2811  		0)
  2812  	return HRESULT(ret1)
  2813  }
  2814  
  2815  func VarI4FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, piOut *LONG) HRESULT {
  2816  	ret1 := syscall6(varI4FromStr, 4,
  2817  		uintptr(unsafe.Pointer(strIn)),
  2818  		uintptr(lcid),
  2819  		uintptr(dwFlags),
  2820  		uintptr(unsafe.Pointer(piOut)),
  2821  		0,
  2822  		0)
  2823  	return HRESULT(ret1)
  2824  }
  2825  
  2826  func VarI4FromUI1(bIn BYTE, piOut *LONG) HRESULT {
  2827  	ret1 := syscall3(varI4FromUI1, 2,
  2828  		uintptr(bIn),
  2829  		uintptr(unsafe.Pointer(piOut)),
  2830  		0)
  2831  	return HRESULT(ret1)
  2832  }
  2833  
  2834  func VarI4FromUI2(usIn USHORT, piOut *LONG) HRESULT {
  2835  	ret1 := syscall3(varI4FromUI2, 2,
  2836  		uintptr(usIn),
  2837  		uintptr(unsafe.Pointer(piOut)),
  2838  		0)
  2839  	return HRESULT(ret1)
  2840  }
  2841  
  2842  func VarI4FromUI4(ulIn ULONG, piOut *LONG) HRESULT {
  2843  	ret1 := syscall3(varI4FromUI4, 2,
  2844  		uintptr(ulIn),
  2845  		uintptr(unsafe.Pointer(piOut)),
  2846  		0)
  2847  	return HRESULT(ret1)
  2848  }
  2849  
  2850  func VarI4FromUI8(ullIn ULONG64, piOut *LONG) HRESULT {
  2851  	ret1 := syscall3(varI4FromUI8, 2,
  2852  		uintptr(ullIn),
  2853  		uintptr(unsafe.Pointer(piOut)),
  2854  		0)
  2855  	return HRESULT(ret1)
  2856  }
  2857  
  2858  func VarI8FromBool(boolIn VARIANT_BOOL, pi64Out *LONG64) HRESULT {
  2859  	ret1 := syscall3(varI8FromBool, 2,
  2860  		uintptr(boolIn),
  2861  		uintptr(unsafe.Pointer(pi64Out)),
  2862  		0)
  2863  	return HRESULT(ret1)
  2864  }
  2865  
  2866  func VarI8FromCy(cyIn CY, pi64Out *LONG64) HRESULT {
  2867  	ret1 := syscall3(varI8FromCy, 3,
  2868  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  2869  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  2870  		uintptr(unsafe.Pointer(pi64Out)))
  2871  	return HRESULT(ret1)
  2872  }
  2873  
  2874  func VarI8FromDate(dateIn DATE, pi64Out *LONG64) HRESULT {
  2875  	ret1 := syscall3(varI8FromDate, 2,
  2876  		uintptr(dateIn),
  2877  		uintptr(unsafe.Pointer(pi64Out)),
  2878  		0)
  2879  	return HRESULT(ret1)
  2880  }
  2881  
  2882  func VarI8FromDec(pdecIn *DECIMAL, pi64Out *LONG64) HRESULT {
  2883  	ret1 := syscall3(varI8FromDec, 2,
  2884  		uintptr(unsafe.Pointer(pdecIn)),
  2885  		uintptr(unsafe.Pointer(pi64Out)),
  2886  		0)
  2887  	return HRESULT(ret1)
  2888  }
  2889  
  2890  func VarI8FromDisp(pdispIn *IDispatch, lcid LCID, pi64Out *LONG64) HRESULT {
  2891  	ret1 := syscall3(varI8FromDisp, 3,
  2892  		uintptr(unsafe.Pointer(pdispIn)),
  2893  		uintptr(lcid),
  2894  		uintptr(unsafe.Pointer(pi64Out)))
  2895  	return HRESULT(ret1)
  2896  }
  2897  
  2898  func VarI8FromI1(cIn int8, pi64Out *LONG64) HRESULT {
  2899  	ret1 := syscall3(varI8FromI1, 2,
  2900  		uintptr(cIn),
  2901  		uintptr(unsafe.Pointer(pi64Out)),
  2902  		0)
  2903  	return HRESULT(ret1)
  2904  }
  2905  
  2906  func VarI8FromI2(sIn SHORT, pi64Out *LONG64) HRESULT {
  2907  	ret1 := syscall3(varI8FromI2, 2,
  2908  		uintptr(sIn),
  2909  		uintptr(unsafe.Pointer(pi64Out)),
  2910  		0)
  2911  	return HRESULT(ret1)
  2912  }
  2913  
  2914  func VarI8FromR4(fltIn FLOAT, pi64Out *LONG64) HRESULT {
  2915  	ret1 := syscall3(varI8FromR4, 2,
  2916  		uintptr(fltIn),
  2917  		uintptr(unsafe.Pointer(pi64Out)),
  2918  		0)
  2919  	return HRESULT(ret1)
  2920  }
  2921  
  2922  func VarI8FromR8(dblIn float64, pi64Out *LONG64) HRESULT {
  2923  	ret1 := syscall3(varI8FromR8, 2,
  2924  		uintptr(dblIn),
  2925  		uintptr(unsafe.Pointer(pi64Out)),
  2926  		0)
  2927  	return HRESULT(ret1)
  2928  }
  2929  
  2930  func VarI8FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pi64Out *LONG64) HRESULT {
  2931  	ret1 := syscall6(varI8FromStr, 4,
  2932  		uintptr(unsafe.Pointer(strIn)),
  2933  		uintptr(lcid),
  2934  		uintptr(dwFlags),
  2935  		uintptr(unsafe.Pointer(pi64Out)),
  2936  		0,
  2937  		0)
  2938  	return HRESULT(ret1)
  2939  }
  2940  
  2941  func VarI8FromUI1(bIn BYTE, pi64Out *LONG64) HRESULT {
  2942  	ret1 := syscall3(varI8FromUI1, 2,
  2943  		uintptr(bIn),
  2944  		uintptr(unsafe.Pointer(pi64Out)),
  2945  		0)
  2946  	return HRESULT(ret1)
  2947  }
  2948  
  2949  func VarI8FromUI2(usIn USHORT, pi64Out *LONG64) HRESULT {
  2950  	ret1 := syscall3(varI8FromUI2, 2,
  2951  		uintptr(usIn),
  2952  		uintptr(unsafe.Pointer(pi64Out)),
  2953  		0)
  2954  	return HRESULT(ret1)
  2955  }
  2956  
  2957  func VarI8FromUI4(ulIn ULONG, pi64Out *LONG64) HRESULT {
  2958  	ret1 := syscall3(varI8FromUI4, 2,
  2959  		uintptr(ulIn),
  2960  		uintptr(unsafe.Pointer(pi64Out)),
  2961  		0)
  2962  	return HRESULT(ret1)
  2963  }
  2964  
  2965  func VarI8FromUI8(ullIn ULONG64, pi64Out *LONG64) HRESULT {
  2966  	ret1 := syscall3(varI8FromUI8, 2,
  2967  		uintptr(ullIn),
  2968  		uintptr(unsafe.Pointer(pi64Out)),
  2969  		0)
  2970  	return HRESULT(ret1)
  2971  }
  2972  
  2973  func VarIdiv(left *VARIANT, right *VARIANT, result *VARIANT) HRESULT {
  2974  	ret1 := syscall3(varIdiv, 3,
  2975  		uintptr(unsafe.Pointer(left)),
  2976  		uintptr(unsafe.Pointer(right)),
  2977  		uintptr(unsafe.Pointer(result)))
  2978  	return HRESULT(ret1)
  2979  }
  2980  
  2981  func VarImp(left *VARIANT, right *VARIANT, result *VARIANT) HRESULT {
  2982  	ret1 := syscall3(varImp, 3,
  2983  		uintptr(unsafe.Pointer(left)),
  2984  		uintptr(unsafe.Pointer(right)),
  2985  		uintptr(unsafe.Pointer(result)))
  2986  	return HRESULT(ret1)
  2987  }
  2988  
  2989  func VarInt(pVarIn *VARIANT, pVarOut *VARIANT) HRESULT {
  2990  	ret1 := syscall3(varInt, 2,
  2991  		uintptr(unsafe.Pointer(pVarIn)),
  2992  		uintptr(unsafe.Pointer(pVarOut)),
  2993  		0)
  2994  	return HRESULT(ret1)
  2995  }
  2996  
  2997  func VarMod(left *VARIANT, right *VARIANT, result *VARIANT) HRESULT {
  2998  	ret1 := syscall3(varMod, 3,
  2999  		uintptr(unsafe.Pointer(left)),
  3000  		uintptr(unsafe.Pointer(right)),
  3001  		uintptr(unsafe.Pointer(result)))
  3002  	return HRESULT(ret1)
  3003  }
  3004  
  3005  func VarMonthName(iMonth INT, fAbbrev INT, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  3006  	ret1 := syscall6(varMonthName, 4,
  3007  		uintptr(iMonth),
  3008  		uintptr(fAbbrev),
  3009  		uintptr(dwFlags),
  3010  		uintptr(unsafe.Pointer(pbstrOut)),
  3011  		0,
  3012  		0)
  3013  	return HRESULT(ret1)
  3014  }
  3015  
  3016  func VarMul(left *VARIANT, right *VARIANT, result *VARIANT) HRESULT {
  3017  	ret1 := syscall3(varMul, 3,
  3018  		uintptr(unsafe.Pointer(left)),
  3019  		uintptr(unsafe.Pointer(right)),
  3020  		uintptr(unsafe.Pointer(result)))
  3021  	return HRESULT(ret1)
  3022  }
  3023  
  3024  func VarNeg(pVarIn *VARIANT, pVarOut *VARIANT) HRESULT {
  3025  	ret1 := syscall3(varNeg, 2,
  3026  		uintptr(unsafe.Pointer(pVarIn)),
  3027  		uintptr(unsafe.Pointer(pVarOut)),
  3028  		0)
  3029  	return HRESULT(ret1)
  3030  }
  3031  
  3032  func VarNot(pVarIn *VARIANT, pVarOut *VARIANT) HRESULT {
  3033  	ret1 := syscall3(varNot, 2,
  3034  		uintptr(unsafe.Pointer(pVarIn)),
  3035  		uintptr(unsafe.Pointer(pVarOut)),
  3036  		0)
  3037  	return HRESULT(ret1)
  3038  }
  3039  
  3040  func VarNumFromParseNum(pNumprs *NUMPARSE, rgbDig *byte, dwVtBits ULONG, pVarDst *VARIANT) HRESULT {
  3041  	ret1 := syscall6(varNumFromParseNum, 4,
  3042  		uintptr(unsafe.Pointer(pNumprs)),
  3043  		uintptr(unsafe.Pointer(rgbDig)),
  3044  		uintptr(dwVtBits),
  3045  		uintptr(unsafe.Pointer(pVarDst)),
  3046  		0,
  3047  		0)
  3048  	return HRESULT(ret1)
  3049  }
  3050  
  3051  func VarOr(pVarLeft *VARIANT, pVarRight *VARIANT, pVarOut *VARIANT) HRESULT {
  3052  	ret1 := syscall3(varOr, 3,
  3053  		uintptr(unsafe.Pointer(pVarLeft)),
  3054  		uintptr(unsafe.Pointer(pVarRight)),
  3055  		uintptr(unsafe.Pointer(pVarOut)))
  3056  	return HRESULT(ret1)
  3057  }
  3058  
  3059  func VarParseNumFromStr(lpszStr *OLECHAR, lcid LCID, dwFlags ULONG, pNumprs *NUMPARSE, rgbDig *byte) HRESULT {
  3060  	ret1 := syscall6(varParseNumFromStr, 5,
  3061  		uintptr(unsafe.Pointer(lpszStr)),
  3062  		uintptr(lcid),
  3063  		uintptr(dwFlags),
  3064  		uintptr(unsafe.Pointer(pNumprs)),
  3065  		uintptr(unsafe.Pointer(rgbDig)),
  3066  		0)
  3067  	return HRESULT(ret1)
  3068  }
  3069  
  3070  func VarPow(left *VARIANT, right *VARIANT, result *VARIANT) HRESULT {
  3071  	ret1 := syscall3(varPow, 3,
  3072  		uintptr(unsafe.Pointer(left)),
  3073  		uintptr(unsafe.Pointer(right)),
  3074  		uintptr(unsafe.Pointer(result)))
  3075  	return HRESULT(ret1)
  3076  }
  3077  
  3078  func VarR4CmpR8(fltLeft float32, dblRight float64) HRESULT {
  3079  	ret1 := syscall3(varR4CmpR8, 2,
  3080  		uintptr(fltLeft),
  3081  		uintptr(dblRight),
  3082  		0)
  3083  	return HRESULT(ret1)
  3084  }
  3085  
  3086  func VarR4FromBool(boolIn VARIANT_BOOL, pFltOut *float32) HRESULT {
  3087  	ret1 := syscall3(varR4FromBool, 2,
  3088  		uintptr(boolIn),
  3089  		uintptr(unsafe.Pointer(pFltOut)),
  3090  		0)
  3091  	return HRESULT(ret1)
  3092  }
  3093  
  3094  func VarR4FromCy(cyIn CY, pFltOut *float32) HRESULT {
  3095  	ret1 := syscall3(varR4FromCy, 3,
  3096  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  3097  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  3098  		uintptr(unsafe.Pointer(pFltOut)))
  3099  	return HRESULT(ret1)
  3100  }
  3101  
  3102  func VarR4FromDate(dateIn DATE, pFltOut *float32) HRESULT {
  3103  	ret1 := syscall3(varR4FromDate, 2,
  3104  		uintptr(dateIn),
  3105  		uintptr(unsafe.Pointer(pFltOut)),
  3106  		0)
  3107  	return HRESULT(ret1)
  3108  }
  3109  
  3110  func VarR4FromDec(pDecIn *DECIMAL, pFltOut *float32) HRESULT {
  3111  	ret1 := syscall3(varR4FromDec, 2,
  3112  		uintptr(unsafe.Pointer(pDecIn)),
  3113  		uintptr(unsafe.Pointer(pFltOut)),
  3114  		0)
  3115  	return HRESULT(ret1)
  3116  }
  3117  
  3118  func VarR4FromDisp(pdispIn *IDispatch, lcid LCID, pFltOut *float32) HRESULT {
  3119  	ret1 := syscall3(varR4FromDisp, 3,
  3120  		uintptr(unsafe.Pointer(pdispIn)),
  3121  		uintptr(lcid),
  3122  		uintptr(unsafe.Pointer(pFltOut)))
  3123  	return HRESULT(ret1)
  3124  }
  3125  
  3126  func VarR4FromI1(cIn int8, pFltOut *float32) HRESULT {
  3127  	ret1 := syscall3(varR4FromI1, 2,
  3128  		uintptr(cIn),
  3129  		uintptr(unsafe.Pointer(pFltOut)),
  3130  		0)
  3131  	return HRESULT(ret1)
  3132  }
  3133  
  3134  func VarR4FromI2(sIn SHORT, pFltOut *float32) HRESULT {
  3135  	ret1 := syscall3(varR4FromI2, 2,
  3136  		uintptr(sIn),
  3137  		uintptr(unsafe.Pointer(pFltOut)),
  3138  		0)
  3139  	return HRESULT(ret1)
  3140  }
  3141  
  3142  func VarR4FromI4(lIn LONG, pFltOut *float32) HRESULT {
  3143  	ret1 := syscall3(varR4FromI4, 2,
  3144  		uintptr(lIn),
  3145  		uintptr(unsafe.Pointer(pFltOut)),
  3146  		0)
  3147  	return HRESULT(ret1)
  3148  }
  3149  
  3150  func VarR4FromI8(llIn LONG64, pFltOut *float32) HRESULT {
  3151  	ret1 := syscall3(varR4FromI8, 2,
  3152  		uintptr(llIn),
  3153  		uintptr(unsafe.Pointer(pFltOut)),
  3154  		0)
  3155  	return HRESULT(ret1)
  3156  }
  3157  
  3158  func VarR4FromR8(dblIn float64, pFltOut *float32) HRESULT {
  3159  	ret1 := syscall3(varR4FromR8, 2,
  3160  		uintptr(dblIn),
  3161  		uintptr(unsafe.Pointer(pFltOut)),
  3162  		0)
  3163  	return HRESULT(ret1)
  3164  }
  3165  
  3166  func VarR4FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pFltOut *float32) HRESULT {
  3167  	ret1 := syscall6(varR4FromStr, 4,
  3168  		uintptr(unsafe.Pointer(strIn)),
  3169  		uintptr(lcid),
  3170  		uintptr(dwFlags),
  3171  		uintptr(unsafe.Pointer(pFltOut)),
  3172  		0,
  3173  		0)
  3174  	return HRESULT(ret1)
  3175  }
  3176  
  3177  func VarR4FromUI1(bIn BYTE, pFltOut *float32) HRESULT {
  3178  	ret1 := syscall3(varR4FromUI1, 2,
  3179  		uintptr(bIn),
  3180  		uintptr(unsafe.Pointer(pFltOut)),
  3181  		0)
  3182  	return HRESULT(ret1)
  3183  }
  3184  
  3185  func VarR4FromUI2(usIn USHORT, pFltOut *float32) HRESULT {
  3186  	ret1 := syscall3(varR4FromUI2, 2,
  3187  		uintptr(usIn),
  3188  		uintptr(unsafe.Pointer(pFltOut)),
  3189  		0)
  3190  	return HRESULT(ret1)
  3191  }
  3192  
  3193  func VarR4FromUI4(ulIn ULONG, pFltOut *float32) HRESULT {
  3194  	ret1 := syscall3(varR4FromUI4, 2,
  3195  		uintptr(ulIn),
  3196  		uintptr(unsafe.Pointer(pFltOut)),
  3197  		0)
  3198  	return HRESULT(ret1)
  3199  }
  3200  
  3201  func VarR4FromUI8(ullIn ULONG64, pFltOut *float32) HRESULT {
  3202  	ret1 := syscall3(varR4FromUI8, 2,
  3203  		uintptr(ullIn),
  3204  		uintptr(unsafe.Pointer(pFltOut)),
  3205  		0)
  3206  	return HRESULT(ret1)
  3207  }
  3208  
  3209  func VarR8FromBool(boolIn VARIANT_BOOL, pDblOut *float64) HRESULT {
  3210  	ret1 := syscall3(varR8FromBool, 2,
  3211  		uintptr(boolIn),
  3212  		uintptr(unsafe.Pointer(pDblOut)),
  3213  		0)
  3214  	return HRESULT(ret1)
  3215  }
  3216  
  3217  func VarR8FromCy(cyIn CY, pDblOut *float64) HRESULT {
  3218  	ret1 := syscall3(varR8FromCy, 3,
  3219  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  3220  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  3221  		uintptr(unsafe.Pointer(pDblOut)))
  3222  	return HRESULT(ret1)
  3223  }
  3224  
  3225  func VarR8FromDate(dateIn DATE, pDblOut *float64) HRESULT {
  3226  	ret1 := syscall3(varR8FromDate, 2,
  3227  		uintptr(dateIn),
  3228  		uintptr(unsafe.Pointer(pDblOut)),
  3229  		0)
  3230  	return HRESULT(ret1)
  3231  }
  3232  
  3233  func VarR8FromDec(pDecIn /*const*/ *DECIMAL, pDblOut *float64) HRESULT {
  3234  	ret1 := syscall3(varR8FromDec, 2,
  3235  		uintptr(unsafe.Pointer(pDecIn)),
  3236  		uintptr(unsafe.Pointer(pDblOut)),
  3237  		0)
  3238  	return HRESULT(ret1)
  3239  }
  3240  
  3241  func VarR8FromDisp(pdispIn *IDispatch, lcid LCID, pDblOut *float64) HRESULT {
  3242  	ret1 := syscall3(varR8FromDisp, 3,
  3243  		uintptr(unsafe.Pointer(pdispIn)),
  3244  		uintptr(lcid),
  3245  		uintptr(unsafe.Pointer(pDblOut)))
  3246  	return HRESULT(ret1)
  3247  }
  3248  
  3249  func VarR8FromI1(cIn int8, pDblOut *float64) HRESULT {
  3250  	ret1 := syscall3(varR8FromI1, 2,
  3251  		uintptr(cIn),
  3252  		uintptr(unsafe.Pointer(pDblOut)),
  3253  		0)
  3254  	return HRESULT(ret1)
  3255  }
  3256  
  3257  func VarR8FromI2(sIn SHORT, pDblOut *float64) HRESULT {
  3258  	ret1 := syscall3(varR8FromI2, 2,
  3259  		uintptr(sIn),
  3260  		uintptr(unsafe.Pointer(pDblOut)),
  3261  		0)
  3262  	return HRESULT(ret1)
  3263  }
  3264  
  3265  func VarR8FromI4(lIn LONG, pDblOut *float64) HRESULT {
  3266  	ret1 := syscall3(varR8FromI4, 2,
  3267  		uintptr(lIn),
  3268  		uintptr(unsafe.Pointer(pDblOut)),
  3269  		0)
  3270  	return HRESULT(ret1)
  3271  }
  3272  
  3273  func VarR8FromI8(llIn LONG64, pDblOut *float64) HRESULT {
  3274  	ret1 := syscall3(varR8FromI8, 2,
  3275  		uintptr(llIn),
  3276  		uintptr(unsafe.Pointer(pDblOut)),
  3277  		0)
  3278  	return HRESULT(ret1)
  3279  }
  3280  
  3281  func VarR8FromR4(fltIn FLOAT, pDblOut *float64) HRESULT {
  3282  	ret1 := syscall3(varR8FromR4, 2,
  3283  		uintptr(fltIn),
  3284  		uintptr(unsafe.Pointer(pDblOut)),
  3285  		0)
  3286  	return HRESULT(ret1)
  3287  }
  3288  
  3289  func VarR8FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pDblOut *float64) HRESULT {
  3290  	ret1 := syscall6(varR8FromStr, 4,
  3291  		uintptr(unsafe.Pointer(strIn)),
  3292  		uintptr(lcid),
  3293  		uintptr(dwFlags),
  3294  		uintptr(unsafe.Pointer(pDblOut)),
  3295  		0,
  3296  		0)
  3297  	return HRESULT(ret1)
  3298  }
  3299  
  3300  func VarR8FromUI1(bIn BYTE, pDblOut *float64) HRESULT {
  3301  	ret1 := syscall3(varR8FromUI1, 2,
  3302  		uintptr(bIn),
  3303  		uintptr(unsafe.Pointer(pDblOut)),
  3304  		0)
  3305  	return HRESULT(ret1)
  3306  }
  3307  
  3308  func VarR8FromUI2(usIn USHORT, pDblOut *float64) HRESULT {
  3309  	ret1 := syscall3(varR8FromUI2, 2,
  3310  		uintptr(usIn),
  3311  		uintptr(unsafe.Pointer(pDblOut)),
  3312  		0)
  3313  	return HRESULT(ret1)
  3314  }
  3315  
  3316  func VarR8FromUI4(ulIn ULONG, pDblOut *float64) HRESULT {
  3317  	ret1 := syscall3(varR8FromUI4, 2,
  3318  		uintptr(ulIn),
  3319  		uintptr(unsafe.Pointer(pDblOut)),
  3320  		0)
  3321  	return HRESULT(ret1)
  3322  }
  3323  
  3324  func VarR8FromUI8(ullIn ULONG64, pDblOut *float64) HRESULT {
  3325  	ret1 := syscall3(varR8FromUI8, 2,
  3326  		uintptr(ullIn),
  3327  		uintptr(unsafe.Pointer(pDblOut)),
  3328  		0)
  3329  	return HRESULT(ret1)
  3330  }
  3331  
  3332  func VarR8Pow(dblLeft float64, dblPow float64, pDblOut *float64) HRESULT {
  3333  	ret1 := syscall3(varR8Pow, 3,
  3334  		uintptr(dblLeft),
  3335  		uintptr(dblPow),
  3336  		uintptr(unsafe.Pointer(pDblOut)))
  3337  	return HRESULT(ret1)
  3338  }
  3339  
  3340  func VarR8Round(dblIn float64, nDig int32, pDblOut *float64) HRESULT {
  3341  	ret1 := syscall3(varR8Round, 3,
  3342  		uintptr(dblIn),
  3343  		uintptr(nDig),
  3344  		uintptr(unsafe.Pointer(pDblOut)))
  3345  	return HRESULT(ret1)
  3346  }
  3347  
  3348  func VarRound(pVarIn *VARIANT, deci int32, pVarOut *VARIANT) HRESULT {
  3349  	ret1 := syscall3(varRound, 3,
  3350  		uintptr(unsafe.Pointer(pVarIn)),
  3351  		uintptr(deci),
  3352  		uintptr(unsafe.Pointer(pVarOut)))
  3353  	return HRESULT(ret1)
  3354  }
  3355  
  3356  func VarSub(left *VARIANT, right *VARIANT, result *VARIANT) HRESULT {
  3357  	ret1 := syscall3(varSub, 3,
  3358  		uintptr(unsafe.Pointer(left)),
  3359  		uintptr(unsafe.Pointer(right)),
  3360  		uintptr(unsafe.Pointer(result)))
  3361  	return HRESULT(ret1)
  3362  }
  3363  
  3364  func VarTokenizeFormatString(lpszFormat LPOLESTR, rgbTok *byte, cbTok int32, nFirstDay int32, nFirstWeek int32, lcid LCID, pcbActual *int) HRESULT {
  3365  	ret1 := syscall9(varTokenizeFormatString, 7,
  3366  		uintptr(unsafe.Pointer(lpszFormat)),
  3367  		uintptr(unsafe.Pointer(rgbTok)),
  3368  		uintptr(cbTok),
  3369  		uintptr(nFirstDay),
  3370  		uintptr(nFirstWeek),
  3371  		uintptr(lcid),
  3372  		uintptr(unsafe.Pointer(pcbActual)),
  3373  		0,
  3374  		0)
  3375  	return HRESULT(ret1)
  3376  }
  3377  
  3378  func VarUI1FromBool(boolIn VARIANT_BOOL, pbOut *byte) HRESULT {
  3379  	ret1 := syscall3(varUI1FromBool, 2,
  3380  		uintptr(boolIn),
  3381  		uintptr(unsafe.Pointer(pbOut)),
  3382  		0)
  3383  	return HRESULT(ret1)
  3384  }
  3385  
  3386  func VarUI1FromCy(cyIn CY, pbOut *byte) HRESULT {
  3387  	ret1 := syscall3(varUI1FromCy, 3,
  3388  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  3389  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  3390  		uintptr(unsafe.Pointer(pbOut)))
  3391  	return HRESULT(ret1)
  3392  }
  3393  
  3394  func VarUI1FromDate(dateIn DATE, pbOut *byte) HRESULT {
  3395  	ret1 := syscall3(varUI1FromDate, 2,
  3396  		uintptr(dateIn),
  3397  		uintptr(unsafe.Pointer(pbOut)),
  3398  		0)
  3399  	return HRESULT(ret1)
  3400  }
  3401  
  3402  func VarUI1FromDec(pdecIn *DECIMAL, pbOut *byte) HRESULT {
  3403  	ret1 := syscall3(varUI1FromDec, 2,
  3404  		uintptr(unsafe.Pointer(pdecIn)),
  3405  		uintptr(unsafe.Pointer(pbOut)),
  3406  		0)
  3407  	return HRESULT(ret1)
  3408  }
  3409  
  3410  func VarUI1FromDisp(pdispIn *IDispatch, lcid LCID, pbOut *byte) HRESULT {
  3411  	ret1 := syscall3(varUI1FromDisp, 3,
  3412  		uintptr(unsafe.Pointer(pdispIn)),
  3413  		uintptr(lcid),
  3414  		uintptr(unsafe.Pointer(pbOut)))
  3415  	return HRESULT(ret1)
  3416  }
  3417  
  3418  func VarUI1FromI1(cIn int8, pbOut *byte) HRESULT {
  3419  	ret1 := syscall3(varUI1FromI1, 2,
  3420  		uintptr(cIn),
  3421  		uintptr(unsafe.Pointer(pbOut)),
  3422  		0)
  3423  	return HRESULT(ret1)
  3424  }
  3425  
  3426  func VarUI1FromI2(sIn SHORT, pbOut *byte) HRESULT {
  3427  	ret1 := syscall3(varUI1FromI2, 2,
  3428  		uintptr(sIn),
  3429  		uintptr(unsafe.Pointer(pbOut)),
  3430  		0)
  3431  	return HRESULT(ret1)
  3432  }
  3433  
  3434  func VarUI1FromI4(iIn LONG, pbOut *byte) HRESULT {
  3435  	ret1 := syscall3(varUI1FromI4, 2,
  3436  		uintptr(iIn),
  3437  		uintptr(unsafe.Pointer(pbOut)),
  3438  		0)
  3439  	return HRESULT(ret1)
  3440  }
  3441  
  3442  func VarUI1FromI8(llIn LONG64, pbOut *byte) HRESULT {
  3443  	ret1 := syscall3(varUI1FromI8, 2,
  3444  		uintptr(llIn),
  3445  		uintptr(unsafe.Pointer(pbOut)),
  3446  		0)
  3447  	return HRESULT(ret1)
  3448  }
  3449  
  3450  func VarUI1FromR4(fltIn FLOAT, pbOut *byte) HRESULT {
  3451  	ret1 := syscall3(varUI1FromR4, 2,
  3452  		uintptr(fltIn),
  3453  		uintptr(unsafe.Pointer(pbOut)),
  3454  		0)
  3455  	return HRESULT(ret1)
  3456  }
  3457  
  3458  func VarUI1FromR8(dblIn float64, pbOut *byte) HRESULT {
  3459  	ret1 := syscall3(varUI1FromR8, 2,
  3460  		uintptr(dblIn),
  3461  		uintptr(unsafe.Pointer(pbOut)),
  3462  		0)
  3463  	return HRESULT(ret1)
  3464  }
  3465  
  3466  func VarUI1FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pbOut *byte) HRESULT {
  3467  	ret1 := syscall6(varUI1FromStr, 4,
  3468  		uintptr(unsafe.Pointer(strIn)),
  3469  		uintptr(lcid),
  3470  		uintptr(dwFlags),
  3471  		uintptr(unsafe.Pointer(pbOut)),
  3472  		0,
  3473  		0)
  3474  	return HRESULT(ret1)
  3475  }
  3476  
  3477  func VarUI1FromUI2(usIn USHORT, pbOut *byte) HRESULT {
  3478  	ret1 := syscall3(varUI1FromUI2, 2,
  3479  		uintptr(usIn),
  3480  		uintptr(unsafe.Pointer(pbOut)),
  3481  		0)
  3482  	return HRESULT(ret1)
  3483  }
  3484  
  3485  func VarUI1FromUI4(ulIn ULONG, pbOut *byte) HRESULT {
  3486  	ret1 := syscall3(varUI1FromUI4, 2,
  3487  		uintptr(ulIn),
  3488  		uintptr(unsafe.Pointer(pbOut)),
  3489  		0)
  3490  	return HRESULT(ret1)
  3491  }
  3492  
  3493  func VarUI1FromUI8(ullIn ULONG64, pbOut *byte) HRESULT {
  3494  	ret1 := syscall3(varUI1FromUI8, 2,
  3495  		uintptr(ullIn),
  3496  		uintptr(unsafe.Pointer(pbOut)),
  3497  		0)
  3498  	return HRESULT(ret1)
  3499  }
  3500  
  3501  func VarUI2FromBool(boolIn VARIANT_BOOL, pusOut *USHORT) HRESULT {
  3502  	ret1 := syscall3(varUI2FromBool, 2,
  3503  		uintptr(boolIn),
  3504  		uintptr(unsafe.Pointer(pusOut)),
  3505  		0)
  3506  	return HRESULT(ret1)
  3507  }
  3508  
  3509  func VarUI2FromCy(cyIn CY, pusOut *USHORT) HRESULT {
  3510  	ret1 := syscall3(varUI2FromCy, 3,
  3511  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  3512  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  3513  		uintptr(unsafe.Pointer(pusOut)))
  3514  	return HRESULT(ret1)
  3515  }
  3516  
  3517  func VarUI2FromDate(dateIn DATE, pusOut *USHORT) HRESULT {
  3518  	ret1 := syscall3(varUI2FromDate, 2,
  3519  		uintptr(dateIn),
  3520  		uintptr(unsafe.Pointer(pusOut)),
  3521  		0)
  3522  	return HRESULT(ret1)
  3523  }
  3524  
  3525  func VarUI2FromDec(pdecIn *DECIMAL, pusOut *USHORT) HRESULT {
  3526  	ret1 := syscall3(varUI2FromDec, 2,
  3527  		uintptr(unsafe.Pointer(pdecIn)),
  3528  		uintptr(unsafe.Pointer(pusOut)),
  3529  		0)
  3530  	return HRESULT(ret1)
  3531  }
  3532  
  3533  func VarUI2FromDisp(pdispIn *IDispatch, lcid LCID, pusOut *USHORT) HRESULT {
  3534  	ret1 := syscall3(varUI2FromDisp, 3,
  3535  		uintptr(unsafe.Pointer(pdispIn)),
  3536  		uintptr(lcid),
  3537  		uintptr(unsafe.Pointer(pusOut)))
  3538  	return HRESULT(ret1)
  3539  }
  3540  
  3541  func VarUI2FromI1(cIn int8, pusOut *USHORT) HRESULT {
  3542  	ret1 := syscall3(varUI2FromI1, 2,
  3543  		uintptr(cIn),
  3544  		uintptr(unsafe.Pointer(pusOut)),
  3545  		0)
  3546  	return HRESULT(ret1)
  3547  }
  3548  
  3549  func VarUI2FromI2(sIn SHORT, pusOut *USHORT) HRESULT {
  3550  	ret1 := syscall3(varUI2FromI2, 2,
  3551  		uintptr(sIn),
  3552  		uintptr(unsafe.Pointer(pusOut)),
  3553  		0)
  3554  	return HRESULT(ret1)
  3555  }
  3556  
  3557  func VarUI2FromI4(iIn LONG, pusOut *USHORT) HRESULT {
  3558  	ret1 := syscall3(varUI2FromI4, 2,
  3559  		uintptr(iIn),
  3560  		uintptr(unsafe.Pointer(pusOut)),
  3561  		0)
  3562  	return HRESULT(ret1)
  3563  }
  3564  
  3565  func VarUI2FromI8(llIn LONG64, pusOut *USHORT) HRESULT {
  3566  	ret1 := syscall3(varUI2FromI8, 2,
  3567  		uintptr(llIn),
  3568  		uintptr(unsafe.Pointer(pusOut)),
  3569  		0)
  3570  	return HRESULT(ret1)
  3571  }
  3572  
  3573  func VarUI2FromR4(fltIn FLOAT, pusOut *USHORT) HRESULT {
  3574  	ret1 := syscall3(varUI2FromR4, 2,
  3575  		uintptr(fltIn),
  3576  		uintptr(unsafe.Pointer(pusOut)),
  3577  		0)
  3578  	return HRESULT(ret1)
  3579  }
  3580  
  3581  func VarUI2FromR8(dblIn float64, pusOut *USHORT) HRESULT {
  3582  	ret1 := syscall3(varUI2FromR8, 2,
  3583  		uintptr(dblIn),
  3584  		uintptr(unsafe.Pointer(pusOut)),
  3585  		0)
  3586  	return HRESULT(ret1)
  3587  }
  3588  
  3589  func VarUI2FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pusOut *USHORT) HRESULT {
  3590  	ret1 := syscall6(varUI2FromStr, 4,
  3591  		uintptr(unsafe.Pointer(strIn)),
  3592  		uintptr(lcid),
  3593  		uintptr(dwFlags),
  3594  		uintptr(unsafe.Pointer(pusOut)),
  3595  		0,
  3596  		0)
  3597  	return HRESULT(ret1)
  3598  }
  3599  
  3600  func VarUI2FromUI1(bIn BYTE, pusOut *USHORT) HRESULT {
  3601  	ret1 := syscall3(varUI2FromUI1, 2,
  3602  		uintptr(bIn),
  3603  		uintptr(unsafe.Pointer(pusOut)),
  3604  		0)
  3605  	return HRESULT(ret1)
  3606  }
  3607  
  3608  func VarUI2FromUI4(ulIn ULONG, pusOut *USHORT) HRESULT {
  3609  	ret1 := syscall3(varUI2FromUI4, 2,
  3610  		uintptr(ulIn),
  3611  		uintptr(unsafe.Pointer(pusOut)),
  3612  		0)
  3613  	return HRESULT(ret1)
  3614  }
  3615  
  3616  func VarUI2FromUI8(ullIn ULONG64, pusOut *USHORT) HRESULT {
  3617  	ret1 := syscall3(varUI2FromUI8, 2,
  3618  		uintptr(ullIn),
  3619  		uintptr(unsafe.Pointer(pusOut)),
  3620  		0)
  3621  	return HRESULT(ret1)
  3622  }
  3623  
  3624  func VarUI4FromBool(boolIn VARIANT_BOOL, pulOut *ULONG) HRESULT {
  3625  	ret1 := syscall3(varUI4FromBool, 2,
  3626  		uintptr(boolIn),
  3627  		uintptr(unsafe.Pointer(pulOut)),
  3628  		0)
  3629  	return HRESULT(ret1)
  3630  }
  3631  
  3632  func VarUI4FromCy(cyIn CY, pulOut *ULONG) HRESULT {
  3633  	ret1 := syscall3(varUI4FromCy, 3,
  3634  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  3635  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  3636  		uintptr(unsafe.Pointer(pulOut)))
  3637  	return HRESULT(ret1)
  3638  }
  3639  
  3640  func VarUI4FromDate(dateIn DATE, pulOut *ULONG) HRESULT {
  3641  	ret1 := syscall3(varUI4FromDate, 2,
  3642  		uintptr(dateIn),
  3643  		uintptr(unsafe.Pointer(pulOut)),
  3644  		0)
  3645  	return HRESULT(ret1)
  3646  }
  3647  
  3648  func VarUI4FromDec(pdecIn *DECIMAL, pulOut *ULONG) HRESULT {
  3649  	ret1 := syscall3(varUI4FromDec, 2,
  3650  		uintptr(unsafe.Pointer(pdecIn)),
  3651  		uintptr(unsafe.Pointer(pulOut)),
  3652  		0)
  3653  	return HRESULT(ret1)
  3654  }
  3655  
  3656  func VarUI4FromDisp(pdispIn *IDispatch, lcid LCID, pulOut *ULONG) HRESULT {
  3657  	ret1 := syscall3(varUI4FromDisp, 3,
  3658  		uintptr(unsafe.Pointer(pdispIn)),
  3659  		uintptr(lcid),
  3660  		uintptr(unsafe.Pointer(pulOut)))
  3661  	return HRESULT(ret1)
  3662  }
  3663  
  3664  func VarUI4FromI1(cIn int8, pulOut *ULONG) HRESULT {
  3665  	ret1 := syscall3(varUI4FromI1, 2,
  3666  		uintptr(cIn),
  3667  		uintptr(unsafe.Pointer(pulOut)),
  3668  		0)
  3669  	return HRESULT(ret1)
  3670  }
  3671  
  3672  func VarUI4FromI2(sIn SHORT, pulOut *ULONG) HRESULT {
  3673  	ret1 := syscall3(varUI4FromI2, 2,
  3674  		uintptr(sIn),
  3675  		uintptr(unsafe.Pointer(pulOut)),
  3676  		0)
  3677  	return HRESULT(ret1)
  3678  }
  3679  
  3680  func VarUI4FromI4(iIn LONG, pulOut *ULONG) HRESULT {
  3681  	ret1 := syscall3(varUI4FromI4, 2,
  3682  		uintptr(iIn),
  3683  		uintptr(unsafe.Pointer(pulOut)),
  3684  		0)
  3685  	return HRESULT(ret1)
  3686  }
  3687  
  3688  func VarUI4FromI8(llIn LONG64, pulOut *ULONG) HRESULT {
  3689  	ret1 := syscall3(varUI4FromI8, 2,
  3690  		uintptr(llIn),
  3691  		uintptr(unsafe.Pointer(pulOut)),
  3692  		0)
  3693  	return HRESULT(ret1)
  3694  }
  3695  
  3696  func VarUI4FromR4(fltIn FLOAT, pulOut *ULONG) HRESULT {
  3697  	ret1 := syscall3(varUI4FromR4, 2,
  3698  		uintptr(fltIn),
  3699  		uintptr(unsafe.Pointer(pulOut)),
  3700  		0)
  3701  	return HRESULT(ret1)
  3702  }
  3703  
  3704  func VarUI4FromR8(dblIn float64, pulOut *ULONG) HRESULT {
  3705  	ret1 := syscall3(varUI4FromR8, 2,
  3706  		uintptr(dblIn),
  3707  		uintptr(unsafe.Pointer(pulOut)),
  3708  		0)
  3709  	return HRESULT(ret1)
  3710  }
  3711  
  3712  func VarUI4FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pulOut *ULONG) HRESULT {
  3713  	ret1 := syscall6(varUI4FromStr, 4,
  3714  		uintptr(unsafe.Pointer(strIn)),
  3715  		uintptr(lcid),
  3716  		uintptr(dwFlags),
  3717  		uintptr(unsafe.Pointer(pulOut)),
  3718  		0,
  3719  		0)
  3720  	return HRESULT(ret1)
  3721  }
  3722  
  3723  func VarUI4FromUI1(bIn BYTE, pulOut *ULONG) HRESULT {
  3724  	ret1 := syscall3(varUI4FromUI1, 2,
  3725  		uintptr(bIn),
  3726  		uintptr(unsafe.Pointer(pulOut)),
  3727  		0)
  3728  	return HRESULT(ret1)
  3729  }
  3730  
  3731  func VarUI4FromUI2(usIn USHORT, pulOut *ULONG) HRESULT {
  3732  	ret1 := syscall3(varUI4FromUI2, 2,
  3733  		uintptr(usIn),
  3734  		uintptr(unsafe.Pointer(pulOut)),
  3735  		0)
  3736  	return HRESULT(ret1)
  3737  }
  3738  
  3739  func VarUI4FromUI8(ullIn ULONG64, pulOut *ULONG) HRESULT {
  3740  	ret1 := syscall3(varUI4FromUI8, 2,
  3741  		uintptr(ullIn),
  3742  		uintptr(unsafe.Pointer(pulOut)),
  3743  		0)
  3744  	return HRESULT(ret1)
  3745  }
  3746  
  3747  func VarUI8FromBool(boolIn VARIANT_BOOL, pui64Out *ULONG64) HRESULT {
  3748  	ret1 := syscall3(varUI8FromBool, 2,
  3749  		uintptr(boolIn),
  3750  		uintptr(unsafe.Pointer(pui64Out)),
  3751  		0)
  3752  	return HRESULT(ret1)
  3753  }
  3754  
  3755  func VarUI8FromCy(cyIn CY, pui64Out *ULONG64) HRESULT {
  3756  	ret1 := syscall3(varUI8FromCy, 3,
  3757  		uintptr(*(*uint32)(unsafe.Pointer(&cyIn))),
  3758  		uintptr(*(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cyIn)) + uintptr(4)))),
  3759  		uintptr(unsafe.Pointer(pui64Out)))
  3760  	return HRESULT(ret1)
  3761  }
  3762  
  3763  func VarUI8FromDate(dateIn DATE, pui64Out *ULONG64) HRESULT {
  3764  	ret1 := syscall3(varUI8FromDate, 2,
  3765  		uintptr(dateIn),
  3766  		uintptr(unsafe.Pointer(pui64Out)),
  3767  		0)
  3768  	return HRESULT(ret1)
  3769  }
  3770  
  3771  func VarUI8FromDec(pdecIn *DECIMAL, pui64Out *ULONG64) HRESULT {
  3772  	ret1 := syscall3(varUI8FromDec, 2,
  3773  		uintptr(unsafe.Pointer(pdecIn)),
  3774  		uintptr(unsafe.Pointer(pui64Out)),
  3775  		0)
  3776  	return HRESULT(ret1)
  3777  }
  3778  
  3779  func VarUI8FromDisp(pdispIn *IDispatch, lcid LCID, pui64Out *ULONG64) HRESULT {
  3780  	ret1 := syscall3(varUI8FromDisp, 3,
  3781  		uintptr(unsafe.Pointer(pdispIn)),
  3782  		uintptr(lcid),
  3783  		uintptr(unsafe.Pointer(pui64Out)))
  3784  	return HRESULT(ret1)
  3785  }
  3786  
  3787  func VarUI8FromI1(cIn int8, pui64Out *ULONG64) HRESULT {
  3788  	ret1 := syscall3(varUI8FromI1, 2,
  3789  		uintptr(cIn),
  3790  		uintptr(unsafe.Pointer(pui64Out)),
  3791  		0)
  3792  	return HRESULT(ret1)
  3793  }
  3794  
  3795  func VarUI8FromI2(sIn SHORT, pui64Out *ULONG64) HRESULT {
  3796  	ret1 := syscall3(varUI8FromI2, 2,
  3797  		uintptr(sIn),
  3798  		uintptr(unsafe.Pointer(pui64Out)),
  3799  		0)
  3800  	return HRESULT(ret1)
  3801  }
  3802  
  3803  func VarUI8FromI8(llIn LONG64, pui64Out *ULONG64) HRESULT {
  3804  	ret1 := syscall3(varUI8FromI8, 2,
  3805  		uintptr(llIn),
  3806  		uintptr(unsafe.Pointer(pui64Out)),
  3807  		0)
  3808  	return HRESULT(ret1)
  3809  }
  3810  
  3811  func VarUI8FromR4(fltIn FLOAT, pui64Out *ULONG64) HRESULT {
  3812  	ret1 := syscall3(varUI8FromR4, 2,
  3813  		uintptr(fltIn),
  3814  		uintptr(unsafe.Pointer(pui64Out)),
  3815  		0)
  3816  	return HRESULT(ret1)
  3817  }
  3818  
  3819  func VarUI8FromR8(dblIn float64, pui64Out *ULONG64) HRESULT {
  3820  	ret1 := syscall3(varUI8FromR8, 2,
  3821  		uintptr(dblIn),
  3822  		uintptr(unsafe.Pointer(pui64Out)),
  3823  		0)
  3824  	return HRESULT(ret1)
  3825  }
  3826  
  3827  func VarUI8FromStr(strIn *OLECHAR, lcid LCID, dwFlags ULONG, pui64Out *ULONG64) HRESULT {
  3828  	ret1 := syscall6(varUI8FromStr, 4,
  3829  		uintptr(unsafe.Pointer(strIn)),
  3830  		uintptr(lcid),
  3831  		uintptr(dwFlags),
  3832  		uintptr(unsafe.Pointer(pui64Out)),
  3833  		0,
  3834  		0)
  3835  	return HRESULT(ret1)
  3836  }
  3837  
  3838  func VarUI8FromUI1(bIn BYTE, pui64Out *ULONG64) HRESULT {
  3839  	ret1 := syscall3(varUI8FromUI1, 2,
  3840  		uintptr(bIn),
  3841  		uintptr(unsafe.Pointer(pui64Out)),
  3842  		0)
  3843  	return HRESULT(ret1)
  3844  }
  3845  
  3846  func VarUI8FromUI2(usIn USHORT, pui64Out *ULONG64) HRESULT {
  3847  	ret1 := syscall3(varUI8FromUI2, 2,
  3848  		uintptr(usIn),
  3849  		uintptr(unsafe.Pointer(pui64Out)),
  3850  		0)
  3851  	return HRESULT(ret1)
  3852  }
  3853  
  3854  func VarUI8FromUI4(ulIn ULONG, pui64Out *ULONG64) HRESULT {
  3855  	ret1 := syscall3(varUI8FromUI4, 2,
  3856  		uintptr(ulIn),
  3857  		uintptr(unsafe.Pointer(pui64Out)),
  3858  		0)
  3859  	return HRESULT(ret1)
  3860  }
  3861  
  3862  func VarUdateFromDate(dateIn DATE, dwFlags ULONG, lpUdate *UDATE) HRESULT {
  3863  	ret1 := syscall3(varUdateFromDate, 3,
  3864  		uintptr(dateIn),
  3865  		uintptr(dwFlags),
  3866  		uintptr(unsafe.Pointer(lpUdate)))
  3867  	return HRESULT(ret1)
  3868  }
  3869  
  3870  func VarWeekdayName(iWeekday INT, fAbbrev INT, iFirstDay INT, dwFlags ULONG, pbstrOut *BSTR) HRESULT {
  3871  	ret1 := syscall6(varWeekdayName, 5,
  3872  		uintptr(iWeekday),
  3873  		uintptr(fAbbrev),
  3874  		uintptr(iFirstDay),
  3875  		uintptr(dwFlags),
  3876  		uintptr(unsafe.Pointer(pbstrOut)),
  3877  		0)
  3878  	return HRESULT(ret1)
  3879  }
  3880  
  3881  func VarXor(pVarLeft *VARIANT, pVarRight *VARIANT, pVarOut *VARIANT) HRESULT {
  3882  	ret1 := syscall3(varXor, 3,
  3883  		uintptr(unsafe.Pointer(pVarLeft)),
  3884  		uintptr(unsafe.Pointer(pVarRight)),
  3885  		uintptr(unsafe.Pointer(pVarOut)))
  3886  	return HRESULT(ret1)
  3887  }
  3888  
  3889  func VariantChangeType(pvargDest *VARIANTARG, pvargSrc *VARIANTARG, wFlags USHORT, vt VARTYPE) HRESULT {
  3890  	ret1 := syscall6(variantChangeType, 4,
  3891  		uintptr(unsafe.Pointer(pvargDest)),
  3892  		uintptr(unsafe.Pointer(pvargSrc)),
  3893  		uintptr(wFlags),
  3894  		uintptr(vt),
  3895  		0,
  3896  		0)
  3897  	return HRESULT(ret1)
  3898  }
  3899  
  3900  func VariantChangeTypeEx(pvargDest *VARIANTARG, pvargSrc *VARIANTARG, lcid LCID, wFlags USHORT, vt VARTYPE) HRESULT {
  3901  	ret1 := syscall6(variantChangeTypeEx, 5,
  3902  		uintptr(unsafe.Pointer(pvargDest)),
  3903  		uintptr(unsafe.Pointer(pvargSrc)),
  3904  		uintptr(lcid),
  3905  		uintptr(wFlags),
  3906  		uintptr(vt),
  3907  		0)
  3908  	return HRESULT(ret1)
  3909  }
  3910  
  3911  func VariantClear(pVarg *VARIANTARG) HRESULT {
  3912  	ret1 := syscall3(variantClear, 1,
  3913  		uintptr(unsafe.Pointer(pVarg)),
  3914  		0,
  3915  		0)
  3916  	return HRESULT(ret1)
  3917  }
  3918  
  3919  func VariantCopy(pvargDest *VARIANTARG, pvargSrc *VARIANTARG) HRESULT {
  3920  	ret1 := syscall3(variantCopy, 2,
  3921  		uintptr(unsafe.Pointer(pvargDest)),
  3922  		uintptr(unsafe.Pointer(pvargSrc)),
  3923  		0)
  3924  	return HRESULT(ret1)
  3925  }
  3926  
  3927  func VariantCopyInd(pvargDest *VARIANT, pvargSrc *VARIANTARG) HRESULT {
  3928  	ret1 := syscall3(variantCopyInd, 2,
  3929  		uintptr(unsafe.Pointer(pvargDest)),
  3930  		uintptr(unsafe.Pointer(pvargSrc)),
  3931  		0)
  3932  	return HRESULT(ret1)
  3933  }
  3934  
  3935  func VariantInit(pVarg *VARIANTARG) {
  3936  	syscall3(variantInit, 1,
  3937  		uintptr(unsafe.Pointer(pVarg)),
  3938  		0,
  3939  		0)
  3940  }
  3941  
  3942  func VariantTimeToDosDateTime(dateIn float64, pwDosDate *USHORT, pwDosTime *USHORT) INT {
  3943  	ret1 := syscall3(variantTimeToDosDateTime, 3,
  3944  		uintptr(dateIn),
  3945  		uintptr(unsafe.Pointer(pwDosDate)),
  3946  		uintptr(unsafe.Pointer(pwDosTime)))
  3947  	return INT(ret1)
  3948  }
  3949  
  3950  func VariantTimeToSystemTime(dateIn float64, lpSt *SYSTEMTIME) INT {
  3951  	ret1 := syscall3(variantTimeToSystemTime, 2,
  3952  		uintptr(dateIn),
  3953  		uintptr(unsafe.Pointer(lpSt)),
  3954  		0)
  3955  	return INT(ret1)
  3956  }
  3957  
  3958  func VectorFromBstr(bstr BSTR, ppsa **SAFEARRAY) HRESULT {
  3959  	ret1 := syscall3(vectorFromBstr, 2,
  3960  		uintptr(unsafe.Pointer(bstr)),
  3961  		uintptr(unsafe.Pointer(ppsa)),
  3962  		0)
  3963  	return HRESULT(ret1)
  3964  }