github.com/kbinani/win@v0.3.0/shlwapi.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 "syscall" 10 "unsafe" 11 ) 12 13 var ( 14 // Library 15 libshlwapi uintptr 16 17 // Functions 18 assocCreate uintptr 19 assocGetPerceivedType uintptr 20 assocIsDangerous uintptr 21 assocQueryKey uintptr 22 assocQueryStringByKey uintptr 23 assocQueryString uintptr 24 chrCmpI uintptr 25 colorAdjustLuma uintptr 26 colorHLSToRGB uintptr 27 colorRGBToHLS uintptr 28 connectToConnectionPoint uintptr 29 getAcceptLanguages uintptr 30 getMenuPosFromID uintptr 31 hashData uintptr 32 iStream_Reset uintptr 33 iStream_Size uintptr 34 iUnknown_AtomicRelease uintptr 35 iUnknown_GetSite uintptr 36 iUnknown_GetWindow uintptr 37 iUnknown_QueryService uintptr 38 iUnknown_Set uintptr 39 iUnknown_SetSite uintptr 40 intlStrEqWorker uintptr 41 isCharSpace uintptr 42 isInternetESCEnabled uintptr 43 isOS uintptr 44 mLFreeLibrary uintptr 45 mLLoadLibrary uintptr 46 parseURL uintptr 47 pathAddBackslash uintptr 48 pathAddExtension uintptr 49 pathAppend uintptr 50 pathBuildRoot uintptr 51 pathCanonicalize uintptr 52 pathCombine uintptr 53 pathCommonPrefix uintptr 54 pathCompactPathEx uintptr 55 pathCompactPath uintptr 56 pathCreateFromUrlAlloc uintptr 57 pathCreateFromUrl uintptr 58 pathFileExists uintptr 59 pathFindExtension uintptr 60 pathFindFileName uintptr 61 pathFindNextComponent uintptr 62 pathFindOnPath uintptr 63 pathFindSuffixArray uintptr 64 pathGetArgs uintptr 65 pathGetCharType uintptr 66 pathGetDriveNumber uintptr 67 pathIsContentType uintptr 68 pathIsDirectoryEmpty uintptr 69 pathIsDirectory uintptr 70 pathIsFileSpec uintptr 71 pathIsLFNFileSpec uintptr 72 pathIsNetworkPath uintptr 73 pathIsPrefix uintptr 74 pathIsRelative uintptr 75 pathIsRoot uintptr 76 pathIsSameRoot uintptr 77 pathIsSystemFolder uintptr 78 pathIsUNCServerShare uintptr 79 pathIsUNCServer uintptr 80 pathIsUNC uintptr 81 pathIsURL uintptr 82 pathMakePretty uintptr 83 pathMakeSystemFolder uintptr 84 pathMatchSpec uintptr 85 pathParseIconLocation uintptr 86 pathQuoteSpaces uintptr 87 pathRelativePathTo uintptr 88 pathRemoveArgs uintptr 89 pathRemoveBackslash uintptr 90 pathRemoveBlanks uintptr 91 pathRemoveExtension uintptr 92 pathRemoveFileSpec uintptr 93 pathRenameExtension uintptr 94 pathSearchAndQualify uintptr 95 pathSetDlgItemPath uintptr 96 pathSkipRoot uintptr 97 pathStripPath uintptr 98 pathStripToRoot uintptr 99 pathUnExpandEnvStrings uintptr 100 pathUndecorate uintptr 101 pathUnmakeSystemFolder uintptr 102 pathUnquoteSpaces uintptr 103 qISearch uintptr 104 sHAllocShared uintptr 105 sHAnsiToAnsi uintptr 106 sHAnsiToUnicode uintptr 107 sHAutoComplete uintptr 108 sHCopyKey uintptr 109 sHCreateShellPalette uintptr 110 sHCreateStreamOnFileEx uintptr 111 sHCreateStreamOnFile uintptr 112 sHCreateStreamWrapper uintptr 113 sHCreateThread uintptr 114 sHCreateThreadRef uintptr 115 sHDeleteEmptyKey uintptr 116 sHDeleteKey uintptr 117 sHDeleteOrphanKey uintptr 118 sHDeleteValue uintptr 119 sHEnumKeyEx uintptr 120 sHEnumValue uintptr 121 sHFormatDateTime uintptr 122 sHFreeShared uintptr 123 sHGetInverseCMAP uintptr 124 sHGetThreadRef uintptr 125 sHGetValue uintptr 126 sHGetViewStatePropertyBag uintptr 127 sHIsChildOrSelf uintptr 128 sHIsLowMemoryMachine uintptr 129 sHLoadIndirectString uintptr 130 sHLockShared uintptr 131 sHMessageBoxCheck uintptr 132 sHQueryInfoKey uintptr 133 sHQueryValueEx uintptr 134 sHRegCloseUSKey uintptr 135 sHRegCreateUSKey uintptr 136 sHRegDeleteEmptyUSKey uintptr 137 sHRegDeleteUSValue uintptr 138 sHRegDuplicateHKey uintptr 139 sHRegEnumUSKey uintptr 140 sHRegEnumUSValue uintptr 141 sHRegGetBoolUSValue uintptr 142 sHRegGetIntW uintptr 143 sHRegGetPath uintptr 144 sHRegGetUSValue uintptr 145 sHRegOpenUSKey uintptr 146 sHRegQueryInfoUSKey uintptr 147 sHRegQueryUSValue uintptr 148 sHRegSetPath uintptr 149 sHRegSetUSValue uintptr 150 sHRegWriteUSValue uintptr 151 sHRegisterValidateTemplate uintptr 152 sHReleaseThreadRef uintptr 153 sHSendMessageBroadcast uintptr 154 sHSetThreadRef uintptr 155 sHSetValue uintptr 156 sHSkipJunction uintptr 157 sHStrDup uintptr 158 sHStripMneumonic uintptr 159 sHUnicodeToAnsi uintptr 160 sHUnicodeToUnicode uintptr 161 sHUnlockShared uintptr 162 strCSpnI uintptr 163 strCSpn uintptr 164 strCatBuff uintptr 165 strCatChainW uintptr 166 strCatW uintptr 167 strChrI uintptr 168 strChrNW uintptr 169 strChr uintptr 170 strCmpC uintptr 171 strCmpIC uintptr 172 strCmpIW uintptr 173 strCmpLogicalW uintptr 174 strCmpNC uintptr 175 strCmpNIC uintptr 176 strCmpNI uintptr 177 strCmpN uintptr 178 strCmpW uintptr 179 strCpyNW uintptr 180 strCpyW uintptr 181 strDup uintptr 182 strFormatByteSize64A uintptr 183 strFormatByteSize uintptr 184 strFormatKBSize uintptr 185 strFromTimeInterval uintptr 186 strIsIntlEqual uintptr 187 strNCat uintptr 188 strPBrk uintptr 189 strRChrI uintptr 190 strRChr uintptr 191 strRStrI uintptr 192 strRetToBSTR uintptr 193 strRetToBuf uintptr 194 strRetToStr uintptr 195 strSpn uintptr 196 strStrI uintptr 197 strStrNIW uintptr 198 strStrNW uintptr 199 strStr uintptr 200 strToInt64Ex uintptr 201 strToIntEx uintptr 202 strToInt uintptr 203 strTrim uintptr 204 urlApplyScheme uintptr 205 urlCanonicalize uintptr 206 urlCombine uintptr 207 urlCompare uintptr 208 urlCreateFromPath uintptr 209 urlEscape uintptr 210 urlFixupW uintptr 211 urlGetLocation uintptr 212 urlGetPart uintptr 213 urlHash uintptr 214 urlIsNoHistory uintptr 215 urlIsOpaque uintptr 216 urlIs uintptr 217 urlUnescape uintptr 218 whichPlatform uintptr 219 ) 220 221 func init() { 222 // Library 223 libshlwapi = doLoadLibrary("shlwapi.dll") 224 225 // Functions 226 assocCreate = doGetProcAddress(libshlwapi, "AssocCreate") 227 assocGetPerceivedType = doGetProcAddress(libshlwapi, "AssocGetPerceivedType") 228 assocIsDangerous = doGetProcAddress(libshlwapi, "AssocIsDangerous") 229 assocQueryKey = doGetProcAddress(libshlwapi, "AssocQueryKeyW") 230 assocQueryStringByKey = doGetProcAddress(libshlwapi, "AssocQueryStringByKeyW") 231 assocQueryString = doGetProcAddress(libshlwapi, "AssocQueryStringW") 232 chrCmpI = doGetProcAddress(libshlwapi, "ChrCmpIW") 233 colorAdjustLuma = doGetProcAddress(libshlwapi, "ColorAdjustLuma") 234 colorHLSToRGB = doGetProcAddress(libshlwapi, "ColorHLSToRGB") 235 colorRGBToHLS = doGetProcAddress(libshlwapi, "ColorRGBToHLS") 236 connectToConnectionPoint = doGetProcAddress(libshlwapi, "ConnectToConnectionPoint") 237 getAcceptLanguages = doGetProcAddress(libshlwapi, "GetAcceptLanguagesW") 238 getMenuPosFromID = doGetProcAddress(libshlwapi, "GetMenuPosFromID") 239 hashData = doGetProcAddress(libshlwapi, "HashData") 240 iStream_Reset = doGetProcAddress(libshlwapi, "IStream_Reset") 241 iStream_Size = doGetProcAddress(libshlwapi, "IStream_Size") 242 iUnknown_AtomicRelease = doGetProcAddress(libshlwapi, "IUnknown_AtomicRelease") 243 iUnknown_GetSite = doGetProcAddress(libshlwapi, "IUnknown_GetSite") 244 iUnknown_GetWindow = doGetProcAddress(libshlwapi, "IUnknown_GetWindow") 245 iUnknown_QueryService = doGetProcAddress(libshlwapi, "IUnknown_QueryService") 246 iUnknown_Set = doGetProcAddress(libshlwapi, "IUnknown_Set") 247 iUnknown_SetSite = doGetProcAddress(libshlwapi, "IUnknown_SetSite") 248 intlStrEqWorker = doGetProcAddress(libshlwapi, "IntlStrEqWorkerW") 249 isCharSpace = doGetProcAddress(libshlwapi, "IsCharSpaceW") 250 isInternetESCEnabled = doGetProcAddress(libshlwapi, "IsInternetESCEnabled") 251 isOS = doGetProcAddress(libshlwapi, "IsOS") 252 mLFreeLibrary = doGetProcAddress(libshlwapi, "MLFreeLibrary") 253 mLLoadLibrary = doGetProcAddress(libshlwapi, "MLLoadLibraryW") 254 parseURL = doGetProcAddress(libshlwapi, "ParseURLW") 255 pathAddBackslash = doGetProcAddress(libshlwapi, "PathAddBackslashW") 256 pathAddExtension = doGetProcAddress(libshlwapi, "PathAddExtensionW") 257 pathAppend = doGetProcAddress(libshlwapi, "PathAppendW") 258 pathBuildRoot = doGetProcAddress(libshlwapi, "PathBuildRootW") 259 pathCanonicalize = doGetProcAddress(libshlwapi, "PathCanonicalizeW") 260 pathCombine = doGetProcAddress(libshlwapi, "PathCombineW") 261 pathCommonPrefix = doGetProcAddress(libshlwapi, "PathCommonPrefixW") 262 pathCompactPathEx = doGetProcAddress(libshlwapi, "PathCompactPathExW") 263 pathCompactPath = doGetProcAddress(libshlwapi, "PathCompactPathW") 264 pathCreateFromUrlAlloc = doGetProcAddress(libshlwapi, "PathCreateFromUrlAlloc") 265 pathCreateFromUrl = doGetProcAddress(libshlwapi, "PathCreateFromUrlW") 266 pathFileExists = doGetProcAddress(libshlwapi, "PathFileExistsW") 267 pathFindExtension = doGetProcAddress(libshlwapi, "PathFindExtensionW") 268 pathFindFileName = doGetProcAddress(libshlwapi, "PathFindFileNameW") 269 pathFindNextComponent = doGetProcAddress(libshlwapi, "PathFindNextComponentW") 270 pathFindOnPath = doGetProcAddress(libshlwapi, "PathFindOnPathW") 271 pathFindSuffixArray = doGetProcAddress(libshlwapi, "PathFindSuffixArrayW") 272 pathGetArgs = doGetProcAddress(libshlwapi, "PathGetArgsW") 273 pathGetCharType = doGetProcAddress(libshlwapi, "PathGetCharTypeW") 274 pathGetDriveNumber = doGetProcAddress(libshlwapi, "PathGetDriveNumberW") 275 pathIsContentType = doGetProcAddress(libshlwapi, "PathIsContentTypeW") 276 pathIsDirectoryEmpty = doGetProcAddress(libshlwapi, "PathIsDirectoryEmptyW") 277 pathIsDirectory = doGetProcAddress(libshlwapi, "PathIsDirectoryW") 278 pathIsFileSpec = doGetProcAddress(libshlwapi, "PathIsFileSpecW") 279 pathIsLFNFileSpec = doGetProcAddress(libshlwapi, "PathIsLFNFileSpecW") 280 pathIsNetworkPath = doGetProcAddress(libshlwapi, "PathIsNetworkPathW") 281 pathIsPrefix = doGetProcAddress(libshlwapi, "PathIsPrefixW") 282 pathIsRelative = doGetProcAddress(libshlwapi, "PathIsRelativeW") 283 pathIsRoot = doGetProcAddress(libshlwapi, "PathIsRootW") 284 pathIsSameRoot = doGetProcAddress(libshlwapi, "PathIsSameRootW") 285 pathIsSystemFolder = doGetProcAddress(libshlwapi, "PathIsSystemFolderW") 286 pathIsUNCServerShare = doGetProcAddress(libshlwapi, "PathIsUNCServerShareW") 287 pathIsUNCServer = doGetProcAddress(libshlwapi, "PathIsUNCServerW") 288 pathIsUNC = doGetProcAddress(libshlwapi, "PathIsUNCW") 289 pathIsURL = doGetProcAddress(libshlwapi, "PathIsURLW") 290 pathMakePretty = doGetProcAddress(libshlwapi, "PathMakePrettyW") 291 pathMakeSystemFolder = doGetProcAddress(libshlwapi, "PathMakeSystemFolderW") 292 pathMatchSpec = doGetProcAddress(libshlwapi, "PathMatchSpecW") 293 pathParseIconLocation = doGetProcAddress(libshlwapi, "PathParseIconLocationW") 294 pathQuoteSpaces = doGetProcAddress(libshlwapi, "PathQuoteSpacesW") 295 pathRelativePathTo = doGetProcAddress(libshlwapi, "PathRelativePathToW") 296 pathRemoveArgs = doGetProcAddress(libshlwapi, "PathRemoveArgsW") 297 pathRemoveBackslash = doGetProcAddress(libshlwapi, "PathRemoveBackslashW") 298 pathRemoveBlanks = doGetProcAddress(libshlwapi, "PathRemoveBlanksW") 299 pathRemoveExtension = doGetProcAddress(libshlwapi, "PathRemoveExtensionW") 300 pathRemoveFileSpec = doGetProcAddress(libshlwapi, "PathRemoveFileSpecW") 301 pathRenameExtension = doGetProcAddress(libshlwapi, "PathRenameExtensionW") 302 pathSearchAndQualify = doGetProcAddress(libshlwapi, "PathSearchAndQualifyW") 303 pathSetDlgItemPath = doGetProcAddress(libshlwapi, "PathSetDlgItemPathW") 304 pathSkipRoot = doGetProcAddress(libshlwapi, "PathSkipRootW") 305 pathStripPath = doGetProcAddress(libshlwapi, "PathStripPathW") 306 pathStripToRoot = doGetProcAddress(libshlwapi, "PathStripToRootW") 307 pathUnExpandEnvStrings = doGetProcAddress(libshlwapi, "PathUnExpandEnvStringsW") 308 pathUndecorate = doGetProcAddress(libshlwapi, "PathUndecorateW") 309 pathUnmakeSystemFolder = doGetProcAddress(libshlwapi, "PathUnmakeSystemFolderW") 310 pathUnquoteSpaces = doGetProcAddress(libshlwapi, "PathUnquoteSpacesW") 311 qISearch = doGetProcAddress(libshlwapi, "QISearch") 312 sHAllocShared = doGetProcAddress(libshlwapi, "SHAllocShared") 313 sHAnsiToAnsi = doGetProcAddress(libshlwapi, "SHAnsiToAnsi") 314 sHAnsiToUnicode = doGetProcAddress(libshlwapi, "SHAnsiToUnicode") 315 sHAutoComplete = doGetProcAddress(libshlwapi, "SHAutoComplete") 316 sHCopyKey = doGetProcAddress(libshlwapi, "SHCopyKeyW") 317 sHCreateShellPalette = doGetProcAddress(libshlwapi, "SHCreateShellPalette") 318 sHCreateStreamOnFileEx = doGetProcAddress(libshlwapi, "SHCreateStreamOnFileEx") 319 sHCreateStreamOnFile = doGetProcAddress(libshlwapi, "SHCreateStreamOnFileW") 320 sHCreateStreamWrapper = doGetProcAddress(libshlwapi, "SHCreateStreamWrapper") 321 sHCreateThread = doGetProcAddress(libshlwapi, "SHCreateThread") 322 sHCreateThreadRef = doGetProcAddress(libshlwapi, "SHCreateThreadRef") 323 sHDeleteEmptyKey = doGetProcAddress(libshlwapi, "SHDeleteEmptyKeyW") 324 sHDeleteKey = doGetProcAddress(libshlwapi, "SHDeleteKeyW") 325 sHDeleteOrphanKey = doGetProcAddress(libshlwapi, "SHDeleteOrphanKeyW") 326 sHDeleteValue = doGetProcAddress(libshlwapi, "SHDeleteValueW") 327 sHEnumKeyEx = doGetProcAddress(libshlwapi, "SHEnumKeyExW") 328 sHEnumValue = doGetProcAddress(libshlwapi, "SHEnumValueW") 329 sHFormatDateTime = doGetProcAddress(libshlwapi, "SHFormatDateTimeW") 330 sHFreeShared = doGetProcAddress(libshlwapi, "SHFreeShared") 331 sHGetInverseCMAP = doGetProcAddress(libshlwapi, "SHGetInverseCMAP") 332 sHGetThreadRef = doGetProcAddress(libshlwapi, "SHGetThreadRef") 333 sHGetValue = doGetProcAddress(libshlwapi, "SHGetValueW") 334 sHGetViewStatePropertyBag = doGetProcAddress(libshlwapi, "SHGetViewStatePropertyBag") 335 sHIsChildOrSelf = doGetProcAddress(libshlwapi, "SHIsChildOrSelf") 336 sHIsLowMemoryMachine = doGetProcAddress(libshlwapi, "SHIsLowMemoryMachine") 337 sHLoadIndirectString = doGetProcAddress(libshlwapi, "SHLoadIndirectString") 338 sHLockShared = doGetProcAddress(libshlwapi, "SHLockShared") 339 sHMessageBoxCheck = doGetProcAddress(libshlwapi, "SHMessageBoxCheckW") 340 sHQueryInfoKey = doGetProcAddress(libshlwapi, "SHQueryInfoKeyW") 341 sHQueryValueEx = doGetProcAddress(libshlwapi, "SHQueryValueExW") 342 sHRegCloseUSKey = doGetProcAddress(libshlwapi, "SHRegCloseUSKey") 343 sHRegCreateUSKey = doGetProcAddress(libshlwapi, "SHRegCreateUSKeyW") 344 sHRegDeleteEmptyUSKey = doGetProcAddress(libshlwapi, "SHRegDeleteEmptyUSKeyW") 345 sHRegDeleteUSValue = doGetProcAddress(libshlwapi, "SHRegDeleteUSValueW") 346 sHRegDuplicateHKey = doGetProcAddress(libshlwapi, "SHRegDuplicateHKey") 347 sHRegEnumUSKey = doGetProcAddress(libshlwapi, "SHRegEnumUSKeyW") 348 sHRegEnumUSValue = doGetProcAddress(libshlwapi, "SHRegEnumUSValueW") 349 sHRegGetBoolUSValue = doGetProcAddress(libshlwapi, "SHRegGetBoolUSValueW") 350 sHRegGetIntW = doGetProcAddress(libshlwapi, "SHRegGetIntW") 351 sHRegGetPath = doGetProcAddress(libshlwapi, "SHRegGetPathW") 352 sHRegGetUSValue = doGetProcAddress(libshlwapi, "SHRegGetUSValueW") 353 sHRegOpenUSKey = doGetProcAddress(libshlwapi, "SHRegOpenUSKeyW") 354 sHRegQueryInfoUSKey = doGetProcAddress(libshlwapi, "SHRegQueryInfoUSKeyW") 355 sHRegQueryUSValue = doGetProcAddress(libshlwapi, "SHRegQueryUSValueW") 356 sHRegSetPath = doGetProcAddress(libshlwapi, "SHRegSetPathW") 357 sHRegSetUSValue = doGetProcAddress(libshlwapi, "SHRegSetUSValueW") 358 sHRegWriteUSValue = doGetProcAddress(libshlwapi, "SHRegWriteUSValueW") 359 sHRegisterValidateTemplate = doGetProcAddress(libshlwapi, "SHRegisterValidateTemplate") 360 sHReleaseThreadRef = doGetProcAddress(libshlwapi, "SHReleaseThreadRef") 361 sHSendMessageBroadcast = doGetProcAddress(libshlwapi, "SHSendMessageBroadcastW") 362 sHSetThreadRef = doGetProcAddress(libshlwapi, "SHSetThreadRef") 363 sHSetValue = doGetProcAddress(libshlwapi, "SHSetValueW") 364 sHSkipJunction = doGetProcAddress(libshlwapi, "SHSkipJunction") 365 sHStrDup = doGetProcAddress(libshlwapi, "SHStrDupW") 366 sHStripMneumonic = doGetProcAddress(libshlwapi, "SHStripMneumonicW") 367 sHUnicodeToAnsi = doGetProcAddress(libshlwapi, "SHUnicodeToAnsi") 368 sHUnicodeToUnicode = doGetProcAddress(libshlwapi, "SHUnicodeToUnicode") 369 sHUnlockShared = doGetProcAddress(libshlwapi, "SHUnlockShared") 370 strCSpnI = doGetProcAddress(libshlwapi, "StrCSpnIW") 371 strCSpn = doGetProcAddress(libshlwapi, "StrCSpnW") 372 strCatBuff = doGetProcAddress(libshlwapi, "StrCatBuffW") 373 strCatChainW = doGetProcAddress(libshlwapi, "StrCatChainW") 374 strCatW = doGetProcAddress(libshlwapi, "StrCatW") 375 strChrI = doGetProcAddress(libshlwapi, "StrChrIW") 376 strChrNW = doGetProcAddress(libshlwapi, "StrChrNW") 377 strChr = doGetProcAddress(libshlwapi, "StrChrW") 378 strCmpC = doGetProcAddress(libshlwapi, "StrCmpCW") 379 strCmpIC = doGetProcAddress(libshlwapi, "StrCmpICW") 380 strCmpIW = doGetProcAddress(libshlwapi, "StrCmpIW") 381 strCmpLogicalW = doGetProcAddress(libshlwapi, "StrCmpLogicalW") 382 strCmpNC = doGetProcAddress(libshlwapi, "StrCmpNCW") 383 strCmpNIC = doGetProcAddress(libshlwapi, "StrCmpNICW") 384 strCmpNI = doGetProcAddress(libshlwapi, "StrCmpNIW") 385 strCmpN = doGetProcAddress(libshlwapi, "StrCmpNW") 386 strCmpW = doGetProcAddress(libshlwapi, "StrCmpW") 387 strCpyNW = doGetProcAddress(libshlwapi, "StrCpyNW") 388 strCpyW = doGetProcAddress(libshlwapi, "StrCpyW") 389 strDup = doGetProcAddress(libshlwapi, "StrDupW") 390 strFormatByteSize64A = doGetProcAddress(libshlwapi, "StrFormatByteSize64A") 391 strFormatByteSize = doGetProcAddress(libshlwapi, "StrFormatByteSizeW") 392 strFormatKBSize = doGetProcAddress(libshlwapi, "StrFormatKBSizeW") 393 strFromTimeInterval = doGetProcAddress(libshlwapi, "StrFromTimeIntervalW") 394 strIsIntlEqual = doGetProcAddress(libshlwapi, "StrIsIntlEqualW") 395 strNCat = doGetProcAddress(libshlwapi, "StrNCatW") 396 strPBrk = doGetProcAddress(libshlwapi, "StrPBrkW") 397 strRChrI = doGetProcAddress(libshlwapi, "StrRChrIW") 398 strRChr = doGetProcAddress(libshlwapi, "StrRChrW") 399 strRStrI = doGetProcAddress(libshlwapi, "StrRStrIW") 400 strRetToBSTR = doGetProcAddress(libshlwapi, "StrRetToBSTR") 401 strRetToBuf = doGetProcAddress(libshlwapi, "StrRetToBufW") 402 strRetToStr = doGetProcAddress(libshlwapi, "StrRetToStrW") 403 strSpn = doGetProcAddress(libshlwapi, "StrSpnW") 404 strStrI = doGetProcAddress(libshlwapi, "StrStrIW") 405 strStrNIW = doGetProcAddress(libshlwapi, "StrStrNIW") 406 strStrNW = doGetProcAddress(libshlwapi, "StrStrNW") 407 strStr = doGetProcAddress(libshlwapi, "StrStrW") 408 strToInt64Ex = doGetProcAddress(libshlwapi, "StrToInt64ExW") 409 strToIntEx = doGetProcAddress(libshlwapi, "StrToIntExW") 410 strToInt = doGetProcAddress(libshlwapi, "StrToIntW") 411 strTrim = doGetProcAddress(libshlwapi, "StrTrimW") 412 urlApplyScheme = doGetProcAddress(libshlwapi, "UrlApplySchemeW") 413 urlCanonicalize = doGetProcAddress(libshlwapi, "UrlCanonicalizeW") 414 urlCombine = doGetProcAddress(libshlwapi, "UrlCombineW") 415 urlCompare = doGetProcAddress(libshlwapi, "UrlCompareW") 416 urlCreateFromPath = doGetProcAddress(libshlwapi, "UrlCreateFromPathW") 417 urlEscape = doGetProcAddress(libshlwapi, "UrlEscapeW") 418 urlFixupW = doGetProcAddress(libshlwapi, "UrlFixupW") 419 urlGetLocation = doGetProcAddress(libshlwapi, "UrlGetLocationW") 420 urlGetPart = doGetProcAddress(libshlwapi, "UrlGetPartW") 421 urlHash = doGetProcAddress(libshlwapi, "UrlHashW") 422 urlIsNoHistory = doGetProcAddress(libshlwapi, "UrlIsNoHistoryW") 423 urlIsOpaque = doGetProcAddress(libshlwapi, "UrlIsOpaqueW") 424 urlIs = doGetProcAddress(libshlwapi, "UrlIsW") 425 urlUnescape = doGetProcAddress(libshlwapi, "UrlUnescapeW") 426 whichPlatform = doGetProcAddress(libshlwapi, "WhichPlatform") 427 } 428 429 func AssocCreate(clsid CLSID, refiid REFIID, lpInterface uintptr) HRESULT { 430 ret1 := syscall6(assocCreate, 6, 431 uintptr(clsid.Data1), 432 uintptr((uint32(clsid.Data2)<<16)|uint32(clsid.Data3)), 433 uintptr((uint32(clsid.Data4[0])<<24)|(uint32(clsid.Data4[1]<<16))|(uint32(clsid.Data4[2]<<8))|uint32(clsid.Data4[3])), 434 uintptr((uint32(clsid.Data4[4])<<24)|(uint32(clsid.Data4[5]<<16))|(uint32(clsid.Data4[6]<<8))|uint32(clsid.Data4[7])), 435 uintptr(unsafe.Pointer(refiid)), 436 lpInterface) 437 return HRESULT(ret1) 438 } 439 440 func AssocGetPerceivedType(lpszExt string, lpType *PERCEIVED, lpFlag *int32, lppszType *LPWSTR) HRESULT { 441 lpszExtStr := unicode16FromString(lpszExt) 442 ret1 := syscall6(assocGetPerceivedType, 4, 443 uintptr(unsafe.Pointer(&lpszExtStr[0])), 444 uintptr(unsafe.Pointer(lpType)), 445 uintptr(unsafe.Pointer(lpFlag)), 446 uintptr(unsafe.Pointer(lppszType)), 447 0, 448 0) 449 return HRESULT(ret1) 450 } 451 452 func AssocIsDangerous(lpszAssoc string) bool { 453 lpszAssocStr := unicode16FromString(lpszAssoc) 454 ret1 := syscall3(assocIsDangerous, 1, 455 uintptr(unsafe.Pointer(&lpszAssocStr[0])), 456 0, 457 0) 458 return ret1 != 0 459 } 460 461 func AssocQueryKey(cfFlags ASSOCF, assockey ASSOCKEY, pszAssoc string, pszExtra string, phkeyOut *HKEY) HRESULT { 462 pszAssocStr := unicode16FromString(pszAssoc) 463 pszExtraStr := unicode16FromString(pszExtra) 464 ret1 := syscall6(assocQueryKey, 5, 465 uintptr(cfFlags), 466 uintptr(assockey), 467 uintptr(unsafe.Pointer(&pszAssocStr[0])), 468 uintptr(unsafe.Pointer(&pszExtraStr[0])), 469 uintptr(unsafe.Pointer(phkeyOut)), 470 0) 471 return HRESULT(ret1) 472 } 473 474 func AssocQueryStringByKey(cfFlags ASSOCF, str ASSOCSTR, hkAssoc HKEY, pszExtra string, pszOut LPWSTR, pcchOut *uint32) HRESULT { 475 pszExtraStr := unicode16FromString(pszExtra) 476 ret1 := syscall6(assocQueryStringByKey, 6, 477 uintptr(cfFlags), 478 uintptr(str), 479 uintptr(hkAssoc), 480 uintptr(unsafe.Pointer(&pszExtraStr[0])), 481 uintptr(unsafe.Pointer(pszOut)), 482 uintptr(unsafe.Pointer(pcchOut))) 483 return HRESULT(ret1) 484 } 485 486 func AssocQueryString(cfFlags ASSOCF, str ASSOCSTR, pszAssoc string, pszExtra string, pszOut LPWSTR, pcchOut *uint32) HRESULT { 487 pszAssocStr := unicode16FromString(pszAssoc) 488 pszExtraStr := unicode16FromString(pszExtra) 489 ret1 := syscall6(assocQueryString, 6, 490 uintptr(cfFlags), 491 uintptr(str), 492 uintptr(unsafe.Pointer(&pszAssocStr[0])), 493 uintptr(unsafe.Pointer(&pszExtraStr[0])), 494 uintptr(unsafe.Pointer(pszOut)), 495 uintptr(unsafe.Pointer(pcchOut))) 496 return HRESULT(ret1) 497 } 498 499 func ChrCmpI(ch1 WCHAR, ch2 WCHAR) bool { 500 ret1 := syscall3(chrCmpI, 2, 501 uintptr(ch1), 502 uintptr(ch2), 503 0) 504 return ret1 != 0 505 } 506 507 func ColorAdjustLuma(cRGB COLORREF, dwLuma int32, bUnknown bool) COLORREF { 508 ret1 := syscall3(colorAdjustLuma, 3, 509 uintptr(cRGB), 510 uintptr(dwLuma), 511 getUintptrFromBool(bUnknown)) 512 return COLORREF(ret1) 513 } 514 515 func ColorHLSToRGB(wHue WORD, wLuminosity WORD, wSaturation WORD) COLORREF { 516 ret1 := syscall3(colorHLSToRGB, 3, 517 uintptr(wHue), 518 uintptr(wLuminosity), 519 uintptr(wSaturation)) 520 return COLORREF(ret1) 521 } 522 523 func ColorRGBToHLS(cRGB COLORREF, pwHue *uint16, pwLuminance *uint16, pwSaturation *uint16) { 524 syscall6(colorRGBToHLS, 4, 525 uintptr(cRGB), 526 uintptr(unsafe.Pointer(pwHue)), 527 uintptr(unsafe.Pointer(pwLuminance)), 528 uintptr(unsafe.Pointer(pwSaturation)), 529 0, 530 0) 531 } 532 533 func ConnectToConnectionPoint(lpUnkSink *IUnknown, riid REFIID, fConnect bool, lpUnknown *IUnknown, lpCookie *uint32, lppCP **IConnectionPoint) HRESULT { 534 ret1 := syscall6(connectToConnectionPoint, 6, 535 uintptr(unsafe.Pointer(lpUnkSink)), 536 uintptr(unsafe.Pointer(riid)), 537 getUintptrFromBool(fConnect), 538 uintptr(unsafe.Pointer(lpUnknown)), 539 uintptr(unsafe.Pointer(lpCookie)), 540 uintptr(unsafe.Pointer(lppCP))) 541 return HRESULT(ret1) 542 } 543 544 func GetAcceptLanguages(langbuf LPWSTR, buflen *uint32) HRESULT { 545 ret1 := syscall3(getAcceptLanguages, 2, 546 uintptr(unsafe.Pointer(langbuf)), 547 uintptr(unsafe.Pointer(buflen)), 548 0) 549 return HRESULT(ret1) 550 } 551 552 func GetMenuPosFromID(hMenu HMENU, wID UINT) INT { 553 ret1 := syscall3(getMenuPosFromID, 2, 554 uintptr(hMenu), 555 uintptr(wID), 556 0) 557 return INT(ret1) 558 } 559 560 func HashData(lpSrc /*const*/ *byte, nSrcLen DWORD, lpDest *byte, nDestLen DWORD) HRESULT { 561 ret1 := syscall6(hashData, 4, 562 uintptr(unsafe.Pointer(lpSrc)), 563 uintptr(nSrcLen), 564 uintptr(unsafe.Pointer(lpDest)), 565 uintptr(nDestLen), 566 0, 567 0) 568 return HRESULT(ret1) 569 } 570 571 func IStream_Reset(lpStream *IStream) HRESULT { 572 ret1 := syscall3(iStream_Reset, 1, 573 uintptr(unsafe.Pointer(lpStream)), 574 0, 575 0) 576 return HRESULT(ret1) 577 } 578 579 func IStream_Size(lpStream *IStream, lpulSize *ULARGE_INTEGER) HRESULT { 580 ret1 := syscall3(iStream_Size, 2, 581 uintptr(unsafe.Pointer(lpStream)), 582 uintptr(unsafe.Pointer(lpulSize)), 583 0) 584 return HRESULT(ret1) 585 } 586 587 func IUnknown_AtomicRelease(lpUnknown **IUnknown) { 588 syscall3(iUnknown_AtomicRelease, 1, 589 uintptr(unsafe.Pointer(lpUnknown)), 590 0, 591 0) 592 } 593 594 func IUnknown_GetSite(lpUnknown LPUNKNOWN, iid REFIID, lppSite *PVOID) HRESULT { 595 ret1 := syscall3(iUnknown_GetSite, 3, 596 uintptr(unsafe.Pointer(lpUnknown)), 597 uintptr(unsafe.Pointer(iid)), 598 uintptr(unsafe.Pointer(lppSite))) 599 return HRESULT(ret1) 600 } 601 602 func IUnknown_GetWindow(lpUnknown *IUnknown, lphWnd *HWND) HRESULT { 603 ret1 := syscall3(iUnknown_GetWindow, 2, 604 uintptr(unsafe.Pointer(lpUnknown)), 605 uintptr(unsafe.Pointer(lphWnd)), 606 0) 607 return HRESULT(ret1) 608 } 609 610 func IUnknown_QueryService(unnamed0 *IUnknown, unnamed1 REFGUID, unnamed2 REFIID, unnamed3 *LPVOID) HRESULT { 611 ret1 := syscall6(iUnknown_QueryService, 4, 612 uintptr(unsafe.Pointer(unnamed0)), 613 uintptr(unsafe.Pointer(unnamed1)), 614 uintptr(unsafe.Pointer(unnamed2)), 615 uintptr(unsafe.Pointer(unnamed3)), 616 0, 617 0) 618 return HRESULT(ret1) 619 } 620 621 func IUnknown_Set(lppDest **IUnknown, lpUnknown *IUnknown) { 622 syscall3(iUnknown_Set, 2, 623 uintptr(unsafe.Pointer(lppDest)), 624 uintptr(unsafe.Pointer(lpUnknown)), 625 0) 626 } 627 628 func IUnknown_SetSite(obj *IUnknown, site *IUnknown) HRESULT { 629 ret1 := syscall3(iUnknown_SetSite, 2, 630 uintptr(unsafe.Pointer(obj)), 631 uintptr(unsafe.Pointer(site)), 632 0) 633 return HRESULT(ret1) 634 } 635 636 func IntlStrEqWorker(bCase bool, lpszStr string, lpszComp string, iLen int32) bool { 637 lpszStrStr := unicode16FromString(lpszStr) 638 lpszCompStr := unicode16FromString(lpszComp) 639 ret1 := syscall6(intlStrEqWorker, 4, 640 getUintptrFromBool(bCase), 641 uintptr(unsafe.Pointer(&lpszStrStr[0])), 642 uintptr(unsafe.Pointer(&lpszCompStr[0])), 643 uintptr(iLen), 644 0, 645 0) 646 return ret1 != 0 647 } 648 649 func IsCharSpace(wc WCHAR) bool { 650 ret1 := syscall3(isCharSpace, 1, 651 uintptr(wc), 652 0, 653 0) 654 return ret1 != 0 655 } 656 657 func IsInternetESCEnabled() bool { 658 ret1 := syscall3(isInternetESCEnabled, 0, 659 0, 660 0, 661 0) 662 return ret1 != 0 663 } 664 665 func IsOS(feature DWORD) bool { 666 ret1 := syscall3(isOS, 1, 667 uintptr(feature), 668 0, 669 0) 670 return ret1 != 0 671 } 672 673 func MLFreeLibrary(hModule HMODULE) bool { 674 ret1 := syscall3(mLFreeLibrary, 1, 675 uintptr(hModule), 676 0, 677 0) 678 return ret1 != 0 679 } 680 681 func MLLoadLibrary(new_mod string, inst_hwnd HMODULE, dwCrossCodePage DWORD) HMODULE { 682 new_modStr := unicode16FromString(new_mod) 683 ret1 := syscall3(mLLoadLibrary, 3, 684 uintptr(unsafe.Pointer(&new_modStr[0])), 685 uintptr(inst_hwnd), 686 uintptr(dwCrossCodePage)) 687 return HMODULE(ret1) 688 } 689 690 func ParseURL(x string, y *PARSEDURL) HRESULT { 691 xStr := unicode16FromString(x) 692 ret1 := syscall3(parseURL, 2, 693 uintptr(unsafe.Pointer(&xStr[0])), 694 uintptr(unsafe.Pointer(y)), 695 0) 696 return HRESULT(ret1) 697 } 698 699 func PathAddBackslash(lpszPath LPWSTR) LPWSTR { 700 ret1 := syscall3(pathAddBackslash, 1, 701 uintptr(unsafe.Pointer(lpszPath)), 702 0, 703 0) 704 return (LPWSTR)(unsafe.Pointer(ret1)) 705 } 706 707 func PathAddExtension(lpszPath LPWSTR, lpszExtension string) bool { 708 lpszExtensionStr := unicode16FromString(lpszExtension) 709 ret1 := syscall3(pathAddExtension, 2, 710 uintptr(unsafe.Pointer(lpszPath)), 711 uintptr(unsafe.Pointer(&lpszExtensionStr[0])), 712 0) 713 return ret1 != 0 714 } 715 716 func PathAppend(lpszPath LPWSTR, lpszAppend string) bool { 717 lpszAppendStr := unicode16FromString(lpszAppend) 718 ret1 := syscall3(pathAppend, 2, 719 uintptr(unsafe.Pointer(lpszPath)), 720 uintptr(unsafe.Pointer(&lpszAppendStr[0])), 721 0) 722 return ret1 != 0 723 } 724 725 func PathBuildRoot(lpszPath LPWSTR, drive int32) LPWSTR { 726 ret1 := syscall3(pathBuildRoot, 2, 727 uintptr(unsafe.Pointer(lpszPath)), 728 uintptr(drive), 729 0) 730 return (LPWSTR)(unsafe.Pointer(ret1)) 731 } 732 733 func PathCanonicalize(lpszBuf LPWSTR, lpszPath string) bool { 734 lpszPathStr := unicode16FromString(lpszPath) 735 ret1 := syscall3(pathCanonicalize, 2, 736 uintptr(unsafe.Pointer(lpszBuf)), 737 uintptr(unsafe.Pointer(&lpszPathStr[0])), 738 0) 739 return ret1 != 0 740 } 741 742 func PathCombine(lpszDest LPWSTR, lpszDir string, lpszFile string) LPWSTR { 743 lpszDirStr := unicode16FromString(lpszDir) 744 lpszFileStr := unicode16FromString(lpszFile) 745 ret1 := syscall3(pathCombine, 3, 746 uintptr(unsafe.Pointer(lpszDest)), 747 uintptr(unsafe.Pointer(&lpszDirStr[0])), 748 uintptr(unsafe.Pointer(&lpszFileStr[0]))) 749 return (LPWSTR)(unsafe.Pointer(ret1)) 750 } 751 752 func PathCommonPrefix(lpszFile1 string, lpszFile2 string, achPath LPWSTR) int32 { 753 lpszFile1Str := unicode16FromString(lpszFile1) 754 lpszFile2Str := unicode16FromString(lpszFile2) 755 ret1 := syscall3(pathCommonPrefix, 3, 756 uintptr(unsafe.Pointer(&lpszFile1Str[0])), 757 uintptr(unsafe.Pointer(&lpszFile2Str[0])), 758 uintptr(unsafe.Pointer(achPath))) 759 return int32(ret1) 760 } 761 762 func PathCompactPathEx(lpszDest LPWSTR, lpszPath string, cchMax UINT, dwFlags DWORD) bool { 763 lpszPathStr := unicode16FromString(lpszPath) 764 ret1 := syscall6(pathCompactPathEx, 4, 765 uintptr(unsafe.Pointer(lpszDest)), 766 uintptr(unsafe.Pointer(&lpszPathStr[0])), 767 uintptr(cchMax), 768 uintptr(dwFlags), 769 0, 770 0) 771 return ret1 != 0 772 } 773 774 func PathCompactPath(hDC HDC, lpszPath LPWSTR, dx UINT) bool { 775 ret1 := syscall3(pathCompactPath, 3, 776 uintptr(hDC), 777 uintptr(unsafe.Pointer(lpszPath)), 778 uintptr(dx)) 779 return ret1 != 0 780 } 781 782 func PathCreateFromUrlAlloc(pszUrl string, pszPath *LPWSTR, dwReserved DWORD) HRESULT { 783 pszUrlStr := unicode16FromString(pszUrl) 784 ret1 := syscall3(pathCreateFromUrlAlloc, 3, 785 uintptr(unsafe.Pointer(&pszUrlStr[0])), 786 uintptr(unsafe.Pointer(pszPath)), 787 uintptr(dwReserved)) 788 return HRESULT(ret1) 789 } 790 791 func PathCreateFromUrl(pszUrl string, pszPath LPWSTR, pcchPath *uint32, dwReserved DWORD) HRESULT { 792 pszUrlStr := unicode16FromString(pszUrl) 793 ret1 := syscall6(pathCreateFromUrl, 4, 794 uintptr(unsafe.Pointer(&pszUrlStr[0])), 795 uintptr(unsafe.Pointer(pszPath)), 796 uintptr(unsafe.Pointer(pcchPath)), 797 uintptr(dwReserved), 798 0, 799 0) 800 return HRESULT(ret1) 801 } 802 803 func PathFileExists(lpszPath string) bool { 804 lpszPathStr := unicode16FromString(lpszPath) 805 ret1 := syscall3(pathFileExists, 1, 806 uintptr(unsafe.Pointer(&lpszPathStr[0])), 807 0, 808 0) 809 return ret1 != 0 810 } 811 812 func PathFindExtension(lpszPath string) LPWSTR { 813 lpszPathStr := unicode16FromString(lpszPath) 814 ret1 := syscall3(pathFindExtension, 1, 815 uintptr(unsafe.Pointer(&lpszPathStr[0])), 816 0, 817 0) 818 return (LPWSTR)(unsafe.Pointer(ret1)) 819 } 820 821 func PathFindFileName(lpszPath string) LPWSTR { 822 lpszPathStr := unicode16FromString(lpszPath) 823 ret1 := syscall3(pathFindFileName, 1, 824 uintptr(unsafe.Pointer(&lpszPathStr[0])), 825 0, 826 0) 827 return (LPWSTR)(unsafe.Pointer(ret1)) 828 } 829 830 func PathFindNextComponent(lpszPath string) LPWSTR { 831 lpszPathStr := unicode16FromString(lpszPath) 832 ret1 := syscall3(pathFindNextComponent, 1, 833 uintptr(unsafe.Pointer(&lpszPathStr[0])), 834 0, 835 0) 836 return (LPWSTR)(unsafe.Pointer(ret1)) 837 } 838 839 func PathFindOnPath(lpszFile LPWSTR, lppszOtherDirs *LPCWSTR) bool { 840 ret1 := syscall3(pathFindOnPath, 2, 841 uintptr(unsafe.Pointer(lpszFile)), 842 uintptr(unsafe.Pointer(lppszOtherDirs)), 843 0) 844 return ret1 != 0 845 } 846 847 func PathFindSuffixArray(lpszSuffix string, lppszArray *LPCWSTR, dwCount int32) string { 848 lpszSuffixStr := unicode16FromString(lpszSuffix) 849 ret1 := syscall3(pathFindSuffixArray, 3, 850 uintptr(unsafe.Pointer(&lpszSuffixStr[0])), 851 uintptr(unsafe.Pointer(lppszArray)), 852 uintptr(dwCount)) 853 return stringFromUnicode16((*uint16)(unsafe.Pointer(ret1))) 854 } 855 856 func PathGetArgs(lpszPath string) LPWSTR { 857 lpszPathStr := unicode16FromString(lpszPath) 858 ret1 := syscall3(pathGetArgs, 1, 859 uintptr(unsafe.Pointer(&lpszPathStr[0])), 860 0, 861 0) 862 return (LPWSTR)(unsafe.Pointer(ret1)) 863 } 864 865 func PathGetCharType(ch WCHAR) UINT { 866 ret1 := syscall3(pathGetCharType, 1, 867 uintptr(ch), 868 0, 869 0) 870 return UINT(ret1) 871 } 872 873 func PathGetDriveNumber(lpszPath string) int32 { 874 lpszPathStr := unicode16FromString(lpszPath) 875 ret1 := syscall3(pathGetDriveNumber, 1, 876 uintptr(unsafe.Pointer(&lpszPathStr[0])), 877 0, 878 0) 879 return int32(ret1) 880 } 881 882 func PathIsContentType(lpszPath string, lpszContentType string) bool { 883 lpszPathStr := unicode16FromString(lpszPath) 884 lpszContentTypeStr := unicode16FromString(lpszContentType) 885 ret1 := syscall3(pathIsContentType, 2, 886 uintptr(unsafe.Pointer(&lpszPathStr[0])), 887 uintptr(unsafe.Pointer(&lpszContentTypeStr[0])), 888 0) 889 return ret1 != 0 890 } 891 892 func PathIsDirectoryEmpty(lpszPath string) bool { 893 lpszPathStr := unicode16FromString(lpszPath) 894 ret1 := syscall3(pathIsDirectoryEmpty, 1, 895 uintptr(unsafe.Pointer(&lpszPathStr[0])), 896 0, 897 0) 898 return ret1 != 0 899 } 900 901 func PathIsDirectory(lpszPath string) bool { 902 lpszPathStr := unicode16FromString(lpszPath) 903 ret1 := syscall3(pathIsDirectory, 1, 904 uintptr(unsafe.Pointer(&lpszPathStr[0])), 905 0, 906 0) 907 return ret1 != 0 908 } 909 910 func PathIsFileSpec(lpszPath string) bool { 911 lpszPathStr := unicode16FromString(lpszPath) 912 ret1 := syscall3(pathIsFileSpec, 1, 913 uintptr(unsafe.Pointer(&lpszPathStr[0])), 914 0, 915 0) 916 return ret1 != 0 917 } 918 919 func PathIsLFNFileSpec(lpszPath string) bool { 920 lpszPathStr := unicode16FromString(lpszPath) 921 ret1 := syscall3(pathIsLFNFileSpec, 1, 922 uintptr(unsafe.Pointer(&lpszPathStr[0])), 923 0, 924 0) 925 return ret1 != 0 926 } 927 928 func PathIsNetworkPath(lpszPath string) bool { 929 lpszPathStr := unicode16FromString(lpszPath) 930 ret1 := syscall3(pathIsNetworkPath, 1, 931 uintptr(unsafe.Pointer(&lpszPathStr[0])), 932 0, 933 0) 934 return ret1 != 0 935 } 936 937 func PathIsPrefix(lpszPrefix string, lpszPath string) bool { 938 lpszPrefixStr := unicode16FromString(lpszPrefix) 939 lpszPathStr := unicode16FromString(lpszPath) 940 ret1 := syscall3(pathIsPrefix, 2, 941 uintptr(unsafe.Pointer(&lpszPrefixStr[0])), 942 uintptr(unsafe.Pointer(&lpszPathStr[0])), 943 0) 944 return ret1 != 0 945 } 946 947 func PathIsRelative(lpszPath string) bool { 948 lpszPathStr := unicode16FromString(lpszPath) 949 ret1 := syscall3(pathIsRelative, 1, 950 uintptr(unsafe.Pointer(&lpszPathStr[0])), 951 0, 952 0) 953 return ret1 != 0 954 } 955 956 func PathIsRoot(lpszPath string) bool { 957 lpszPathStr := unicode16FromString(lpszPath) 958 ret1 := syscall3(pathIsRoot, 1, 959 uintptr(unsafe.Pointer(&lpszPathStr[0])), 960 0, 961 0) 962 return ret1 != 0 963 } 964 965 func PathIsSameRoot(lpszPath1 string, lpszPath2 string) bool { 966 lpszPath1Str := unicode16FromString(lpszPath1) 967 lpszPath2Str := unicode16FromString(lpszPath2) 968 ret1 := syscall3(pathIsSameRoot, 2, 969 uintptr(unsafe.Pointer(&lpszPath1Str[0])), 970 uintptr(unsafe.Pointer(&lpszPath2Str[0])), 971 0) 972 return ret1 != 0 973 } 974 975 func PathIsSystemFolder(lpszPath string, dwAttrib DWORD) bool { 976 lpszPathStr := unicode16FromString(lpszPath) 977 ret1 := syscall3(pathIsSystemFolder, 2, 978 uintptr(unsafe.Pointer(&lpszPathStr[0])), 979 uintptr(dwAttrib), 980 0) 981 return ret1 != 0 982 } 983 984 func PathIsUNCServerShare(lpszPath string) bool { 985 lpszPathStr := unicode16FromString(lpszPath) 986 ret1 := syscall3(pathIsUNCServerShare, 1, 987 uintptr(unsafe.Pointer(&lpszPathStr[0])), 988 0, 989 0) 990 return ret1 != 0 991 } 992 993 func PathIsUNCServer(lpszPath string) bool { 994 lpszPathStr := unicode16FromString(lpszPath) 995 ret1 := syscall3(pathIsUNCServer, 1, 996 uintptr(unsafe.Pointer(&lpszPathStr[0])), 997 0, 998 0) 999 return ret1 != 0 1000 } 1001 1002 func PathIsUNC(lpszPath string) bool { 1003 lpszPathStr := unicode16FromString(lpszPath) 1004 ret1 := syscall3(pathIsUNC, 1, 1005 uintptr(unsafe.Pointer(&lpszPathStr[0])), 1006 0, 1007 0) 1008 return ret1 != 0 1009 } 1010 1011 func PathIsURL(lpstrPath string) bool { 1012 lpstrPathStr := unicode16FromString(lpstrPath) 1013 ret1 := syscall3(pathIsURL, 1, 1014 uintptr(unsafe.Pointer(&lpstrPathStr[0])), 1015 0, 1016 0) 1017 return ret1 != 0 1018 } 1019 1020 func PathMakePretty(lpszPath LPWSTR) bool { 1021 ret1 := syscall3(pathMakePretty, 1, 1022 uintptr(unsafe.Pointer(lpszPath)), 1023 0, 1024 0) 1025 return ret1 != 0 1026 } 1027 1028 func PathMakeSystemFolder(lpszPath string) bool { 1029 lpszPathStr := unicode16FromString(lpszPath) 1030 ret1 := syscall3(pathMakeSystemFolder, 1, 1031 uintptr(unsafe.Pointer(&lpszPathStr[0])), 1032 0, 1033 0) 1034 return ret1 != 0 1035 } 1036 1037 func PathMatchSpec(lpszPath string, lpszMask string) bool { 1038 lpszPathStr := unicode16FromString(lpszPath) 1039 lpszMaskStr := unicode16FromString(lpszMask) 1040 ret1 := syscall3(pathMatchSpec, 2, 1041 uintptr(unsafe.Pointer(&lpszPathStr[0])), 1042 uintptr(unsafe.Pointer(&lpszMaskStr[0])), 1043 0) 1044 return ret1 != 0 1045 } 1046 1047 func PathParseIconLocation(lpszPath LPWSTR) int32 { 1048 ret1 := syscall3(pathParseIconLocation, 1, 1049 uintptr(unsafe.Pointer(lpszPath)), 1050 0, 1051 0) 1052 return int32(ret1) 1053 } 1054 1055 func PathQuoteSpaces(lpszPath LPWSTR) { 1056 syscall3(pathQuoteSpaces, 1, 1057 uintptr(unsafe.Pointer(lpszPath)), 1058 0, 1059 0) 1060 } 1061 1062 func PathRelativePathTo(lpszPath LPWSTR, lpszFrom string, dwAttrFrom DWORD, lpszTo string, dwAttrTo DWORD) bool { 1063 lpszFromStr := unicode16FromString(lpszFrom) 1064 lpszToStr := unicode16FromString(lpszTo) 1065 ret1 := syscall6(pathRelativePathTo, 5, 1066 uintptr(unsafe.Pointer(lpszPath)), 1067 uintptr(unsafe.Pointer(&lpszFromStr[0])), 1068 uintptr(dwAttrFrom), 1069 uintptr(unsafe.Pointer(&lpszToStr[0])), 1070 uintptr(dwAttrTo), 1071 0) 1072 return ret1 != 0 1073 } 1074 1075 func PathRemoveArgs(lpszPath LPWSTR) { 1076 syscall3(pathRemoveArgs, 1, 1077 uintptr(unsafe.Pointer(lpszPath)), 1078 0, 1079 0) 1080 } 1081 1082 func PathRemoveBackslash(lpszPath LPWSTR) LPWSTR { 1083 ret1 := syscall3(pathRemoveBackslash, 1, 1084 uintptr(unsafe.Pointer(lpszPath)), 1085 0, 1086 0) 1087 return (LPWSTR)(unsafe.Pointer(ret1)) 1088 } 1089 1090 func PathRemoveBlanks(lpszPath LPWSTR) { 1091 syscall3(pathRemoveBlanks, 1, 1092 uintptr(unsafe.Pointer(lpszPath)), 1093 0, 1094 0) 1095 } 1096 1097 func PathRemoveExtension(lpszPath LPWSTR) { 1098 syscall3(pathRemoveExtension, 1, 1099 uintptr(unsafe.Pointer(lpszPath)), 1100 0, 1101 0) 1102 } 1103 1104 func PathRemoveFileSpec(lpszPath LPWSTR) bool { 1105 ret1 := syscall3(pathRemoveFileSpec, 1, 1106 uintptr(unsafe.Pointer(lpszPath)), 1107 0, 1108 0) 1109 return ret1 != 0 1110 } 1111 1112 func PathRenameExtension(lpszPath LPWSTR, lpszExt string) bool { 1113 lpszExtStr := unicode16FromString(lpszExt) 1114 ret1 := syscall3(pathRenameExtension, 2, 1115 uintptr(unsafe.Pointer(lpszPath)), 1116 uintptr(unsafe.Pointer(&lpszExtStr[0])), 1117 0) 1118 return ret1 != 0 1119 } 1120 1121 func PathSearchAndQualify(lpszPath string, lpszBuf LPWSTR, cchBuf UINT) bool { 1122 lpszPathStr := unicode16FromString(lpszPath) 1123 ret1 := syscall3(pathSearchAndQualify, 3, 1124 uintptr(unsafe.Pointer(&lpszPathStr[0])), 1125 uintptr(unsafe.Pointer(lpszBuf)), 1126 uintptr(cchBuf)) 1127 return ret1 != 0 1128 } 1129 1130 func PathSetDlgItemPath(hDlg HWND, id int32, lpszPath string) { 1131 lpszPathStr := unicode16FromString(lpszPath) 1132 syscall3(pathSetDlgItemPath, 3, 1133 uintptr(hDlg), 1134 uintptr(id), 1135 uintptr(unsafe.Pointer(&lpszPathStr[0]))) 1136 } 1137 1138 func PathSkipRoot(lpszPath string) LPWSTR { 1139 lpszPathStr := unicode16FromString(lpszPath) 1140 ret1 := syscall3(pathSkipRoot, 1, 1141 uintptr(unsafe.Pointer(&lpszPathStr[0])), 1142 0, 1143 0) 1144 return (LPWSTR)(unsafe.Pointer(ret1)) 1145 } 1146 1147 func PathStripPath(lpszPath LPWSTR) { 1148 syscall3(pathStripPath, 1, 1149 uintptr(unsafe.Pointer(lpszPath)), 1150 0, 1151 0) 1152 } 1153 1154 func PathStripToRoot(lpszPath LPWSTR) bool { 1155 ret1 := syscall3(pathStripToRoot, 1, 1156 uintptr(unsafe.Pointer(lpszPath)), 1157 0, 1158 0) 1159 return ret1 != 0 1160 } 1161 1162 func PathUnExpandEnvStrings(path string, buffer LPWSTR, buf_len UINT) bool { 1163 pathStr := unicode16FromString(path) 1164 ret1 := syscall3(pathUnExpandEnvStrings, 3, 1165 uintptr(unsafe.Pointer(&pathStr[0])), 1166 uintptr(unsafe.Pointer(buffer)), 1167 uintptr(buf_len)) 1168 return ret1 != 0 1169 } 1170 1171 func PathUndecorate(lpszPath LPWSTR) { 1172 syscall3(pathUndecorate, 1, 1173 uintptr(unsafe.Pointer(lpszPath)), 1174 0, 1175 0) 1176 } 1177 1178 func PathUnmakeSystemFolder(lpszPath string) bool { 1179 lpszPathStr := unicode16FromString(lpszPath) 1180 ret1 := syscall3(pathUnmakeSystemFolder, 1, 1181 uintptr(unsafe.Pointer(&lpszPathStr[0])), 1182 0, 1183 0) 1184 return ret1 != 0 1185 } 1186 1187 func PathUnquoteSpaces(lpszPath LPWSTR) { 1188 syscall3(pathUnquoteSpaces, 1, 1189 uintptr(unsafe.Pointer(lpszPath)), 1190 0, 1191 0) 1192 } 1193 1194 func QISearch(base uintptr, table /*const*/ *QITAB, riid REFIID, ppv uintptr) HRESULT { 1195 ret1 := syscall6(qISearch, 4, 1196 base, 1197 uintptr(unsafe.Pointer(table)), 1198 uintptr(unsafe.Pointer(riid)), 1199 ppv, 1200 0, 1201 0) 1202 return HRESULT(ret1) 1203 } 1204 1205 func SHAllocShared(lpvData LPVOID, dwSize DWORD, dwProcId DWORD) HANDLE { 1206 ret1 := syscall3(sHAllocShared, 3, 1207 uintptr(unsafe.Pointer(lpvData)), 1208 uintptr(dwSize), 1209 uintptr(dwProcId)) 1210 return HANDLE(ret1) 1211 } 1212 1213 func SHAnsiToAnsi(lpszSrc /*const*/ LPCSTR, lpszDst LPSTR, iLen int32) DWORD { 1214 ret1 := syscall3(sHAnsiToAnsi, 3, 1215 uintptr(unsafe.Pointer(lpszSrc)), 1216 uintptr(unsafe.Pointer(lpszDst)), 1217 uintptr(iLen)) 1218 return DWORD(ret1) 1219 } 1220 1221 func SHAnsiToUnicode(lpSrcStr /*const*/ LPCSTR, lpDstStr LPWSTR, iLen int32) DWORD { 1222 ret1 := syscall3(sHAnsiToUnicode, 3, 1223 uintptr(unsafe.Pointer(lpSrcStr)), 1224 uintptr(unsafe.Pointer(lpDstStr)), 1225 uintptr(iLen)) 1226 return DWORD(ret1) 1227 } 1228 1229 func SHAutoComplete(hwndEdit HWND, dwFlags DWORD) HRESULT { 1230 ret1 := syscall3(sHAutoComplete, 2, 1231 uintptr(hwndEdit), 1232 uintptr(dwFlags), 1233 0) 1234 return HRESULT(ret1) 1235 } 1236 1237 func SHCopyKey(hKeySrc HKEY, lpszSrcSubKey string, hKeyDst HKEY, dwReserved DWORD) DWORD { 1238 lpszSrcSubKeyStr := unicode16FromString(lpszSrcSubKey) 1239 ret1 := syscall6(sHCopyKey, 4, 1240 uintptr(hKeySrc), 1241 uintptr(unsafe.Pointer(&lpszSrcSubKeyStr[0])), 1242 uintptr(hKeyDst), 1243 uintptr(dwReserved), 1244 0, 1245 0) 1246 return DWORD(ret1) 1247 } 1248 1249 func SHCreateShellPalette(hdc HDC) HPALETTE { 1250 ret1 := syscall3(sHCreateShellPalette, 1, 1251 uintptr(hdc), 1252 0, 1253 0) 1254 return HPALETTE(ret1) 1255 } 1256 1257 func SHCreateStreamOnFileEx(lpszPath string, dwMode DWORD, dwAttributes DWORD, bCreate bool, lpTemplate *IStream, lppStream **IStream) HRESULT { 1258 lpszPathStr := unicode16FromString(lpszPath) 1259 ret1 := syscall6(sHCreateStreamOnFileEx, 6, 1260 uintptr(unsafe.Pointer(&lpszPathStr[0])), 1261 uintptr(dwMode), 1262 uintptr(dwAttributes), 1263 getUintptrFromBool(bCreate), 1264 uintptr(unsafe.Pointer(lpTemplate)), 1265 uintptr(unsafe.Pointer(lppStream))) 1266 return HRESULT(ret1) 1267 } 1268 1269 func SHCreateStreamOnFile(lpszPath string, dwMode DWORD, lppStream **IStream) HRESULT { 1270 lpszPathStr := unicode16FromString(lpszPath) 1271 ret1 := syscall3(sHCreateStreamOnFile, 3, 1272 uintptr(unsafe.Pointer(&lpszPathStr[0])), 1273 uintptr(dwMode), 1274 uintptr(unsafe.Pointer(lppStream))) 1275 return HRESULT(ret1) 1276 } 1277 1278 func SHCreateStreamWrapper(lpbData *byte, dwDataLen DWORD, dwReserved DWORD, lppStream **IStream) HRESULT { 1279 ret1 := syscall6(sHCreateStreamWrapper, 4, 1280 uintptr(unsafe.Pointer(lpbData)), 1281 uintptr(dwDataLen), 1282 uintptr(dwReserved), 1283 uintptr(unsafe.Pointer(lppStream)), 1284 0, 1285 0) 1286 return HRESULT(ret1) 1287 } 1288 1289 func SHCreateThread(pfnThreadProc THREAD_START_ROUTINE, pData uintptr, dwFlags DWORD, pfnCallback THREAD_START_ROUTINE) bool { 1290 pfnThreadProcCallback := syscall.NewCallback(func(lpThreadParameterRawArg LPVOID) uintptr { 1291 ret := pfnThreadProc(lpThreadParameterRawArg) 1292 return uintptr(ret) 1293 }) 1294 pfnCallbackCallback := syscall.NewCallback(func(lpThreadParameterRawArg LPVOID) uintptr { 1295 ret := pfnCallback(lpThreadParameterRawArg) 1296 return uintptr(ret) 1297 }) 1298 ret1 := syscall6(sHCreateThread, 4, 1299 pfnThreadProcCallback, 1300 pData, 1301 uintptr(dwFlags), 1302 pfnCallbackCallback, 1303 0, 1304 0) 1305 return ret1 != 0 1306 } 1307 1308 func SHCreateThreadRef(lprefcount *LONG, lppUnknown **IUnknown) HRESULT { 1309 ret1 := syscall3(sHCreateThreadRef, 2, 1310 uintptr(unsafe.Pointer(lprefcount)), 1311 uintptr(unsafe.Pointer(lppUnknown)), 1312 0) 1313 return HRESULT(ret1) 1314 } 1315 1316 func SHDeleteEmptyKey(hKey HKEY, lpszSubKey string) DWORD { 1317 lpszSubKeyStr := unicode16FromString(lpszSubKey) 1318 ret1 := syscall3(sHDeleteEmptyKey, 2, 1319 uintptr(hKey), 1320 uintptr(unsafe.Pointer(&lpszSubKeyStr[0])), 1321 0) 1322 return DWORD(ret1) 1323 } 1324 1325 func SHDeleteKey(hKey HKEY, lpszSubKey string) DWORD { 1326 lpszSubKeyStr := unicode16FromString(lpszSubKey) 1327 ret1 := syscall3(sHDeleteKey, 2, 1328 uintptr(hKey), 1329 uintptr(unsafe.Pointer(&lpszSubKeyStr[0])), 1330 0) 1331 return DWORD(ret1) 1332 } 1333 1334 func SHDeleteOrphanKey(hKey HKEY, lpszSubKey string) DWORD { 1335 lpszSubKeyStr := unicode16FromString(lpszSubKey) 1336 ret1 := syscall3(sHDeleteOrphanKey, 2, 1337 uintptr(hKey), 1338 uintptr(unsafe.Pointer(&lpszSubKeyStr[0])), 1339 0) 1340 return DWORD(ret1) 1341 } 1342 1343 func SHDeleteValue(hKey HKEY, lpszSubKey string, lpszValue string) DWORD { 1344 lpszSubKeyStr := unicode16FromString(lpszSubKey) 1345 lpszValueStr := unicode16FromString(lpszValue) 1346 ret1 := syscall3(sHDeleteValue, 3, 1347 uintptr(hKey), 1348 uintptr(unsafe.Pointer(&lpszSubKeyStr[0])), 1349 uintptr(unsafe.Pointer(&lpszValueStr[0]))) 1350 return DWORD(ret1) 1351 } 1352 1353 func SHEnumKeyEx(hKey HKEY, dwIndex DWORD, lpszSubKey LPWSTR, pwLen *uint32) LONG { 1354 ret1 := syscall6(sHEnumKeyEx, 4, 1355 uintptr(hKey), 1356 uintptr(dwIndex), 1357 uintptr(unsafe.Pointer(lpszSubKey)), 1358 uintptr(unsafe.Pointer(pwLen)), 1359 0, 1360 0) 1361 return LONG(ret1) 1362 } 1363 1364 func SHEnumValue(hKey HKEY, dwIndex DWORD, lpszValue LPWSTR, pwLen *uint32, pwType *uint32, pvData LPVOID, pcbData *uint32) LONG { 1365 ret1 := syscall9(sHEnumValue, 7, 1366 uintptr(hKey), 1367 uintptr(dwIndex), 1368 uintptr(unsafe.Pointer(lpszValue)), 1369 uintptr(unsafe.Pointer(pwLen)), 1370 uintptr(unsafe.Pointer(pwType)), 1371 uintptr(unsafe.Pointer(pvData)), 1372 uintptr(unsafe.Pointer(pcbData)), 1373 0, 1374 0) 1375 return LONG(ret1) 1376 } 1377 1378 func SHFormatDateTime(fileTime /*const*/ *FILETIME, flags *uint32, buf LPWSTR, size UINT) INT { 1379 ret1 := syscall6(sHFormatDateTime, 4, 1380 uintptr(unsafe.Pointer(fileTime)), 1381 uintptr(unsafe.Pointer(flags)), 1382 uintptr(unsafe.Pointer(buf)), 1383 uintptr(size), 1384 0, 1385 0) 1386 return INT(ret1) 1387 } 1388 1389 func SHFreeShared(hShared HANDLE, dwProcId DWORD) bool { 1390 ret1 := syscall3(sHFreeShared, 2, 1391 uintptr(hShared), 1392 uintptr(dwProcId), 1393 0) 1394 return ret1 != 0 1395 } 1396 1397 func SHGetInverseCMAP(dest *uint32, dwSize DWORD) HRESULT { 1398 ret1 := syscall3(sHGetInverseCMAP, 2, 1399 uintptr(unsafe.Pointer(dest)), 1400 uintptr(dwSize), 1401 0) 1402 return HRESULT(ret1) 1403 } 1404 1405 func SHGetThreadRef(lppUnknown **IUnknown) HRESULT { 1406 ret1 := syscall3(sHGetThreadRef, 1, 1407 uintptr(unsafe.Pointer(lppUnknown)), 1408 0, 1409 0) 1410 return HRESULT(ret1) 1411 } 1412 1413 func SHGetValue(hKey HKEY, lpszSubKey string, lpszValue string, pwType *uint32, pvData LPVOID, pcbData *uint32) DWORD { 1414 lpszSubKeyStr := unicode16FromString(lpszSubKey) 1415 lpszValueStr := unicode16FromString(lpszValue) 1416 ret1 := syscall6(sHGetValue, 6, 1417 uintptr(hKey), 1418 uintptr(unsafe.Pointer(&lpszSubKeyStr[0])), 1419 uintptr(unsafe.Pointer(&lpszValueStr[0])), 1420 uintptr(unsafe.Pointer(pwType)), 1421 uintptr(unsafe.Pointer(pvData)), 1422 uintptr(unsafe.Pointer(pcbData))) 1423 return DWORD(ret1) 1424 } 1425 1426 func SHGetViewStatePropertyBag(pidl /*const*/ LPCITEMIDLIST, bag_name LPWSTR, flags DWORD, riid REFIID, ppv uintptr) HRESULT { 1427 ret1 := syscall6(sHGetViewStatePropertyBag, 5, 1428 uintptr(unsafe.Pointer(pidl)), 1429 uintptr(unsafe.Pointer(bag_name)), 1430 uintptr(flags), 1431 uintptr(unsafe.Pointer(riid)), 1432 ppv, 1433 0) 1434 return HRESULT(ret1) 1435 } 1436 1437 func SHIsChildOrSelf(hParent HWND, hChild HWND) bool { 1438 ret1 := syscall3(sHIsChildOrSelf, 2, 1439 uintptr(hParent), 1440 uintptr(hChild), 1441 0) 1442 return ret1 != 0 1443 } 1444 1445 func SHIsLowMemoryMachine(x DWORD) bool { 1446 ret1 := syscall3(sHIsLowMemoryMachine, 1, 1447 uintptr(x), 1448 0, 1449 0) 1450 return ret1 != 0 1451 } 1452 1453 func SHLoadIndirectString(src string, dst LPWSTR, dst_len UINT, reserved uintptr) HRESULT { 1454 srcStr := unicode16FromString(src) 1455 ret1 := syscall6(sHLoadIndirectString, 4, 1456 uintptr(unsafe.Pointer(&srcStr[0])), 1457 uintptr(unsafe.Pointer(dst)), 1458 uintptr(dst_len), 1459 reserved, 1460 0, 1461 0) 1462 return HRESULT(ret1) 1463 } 1464 1465 func SHLockShared(hShared HANDLE, dwProcId DWORD) LPVOID { 1466 ret1 := syscall3(sHLockShared, 2, 1467 uintptr(hShared), 1468 uintptr(dwProcId), 1469 0) 1470 return (LPVOID)(unsafe.Pointer(ret1)) 1471 } 1472 1473 func SHMessageBoxCheck(unnamed0 HWND, unnamed1 string, unnamed2 string, unnamed3 DWORD, unnamed4 INT_PTR, unnamed5 string) INT_PTR { 1474 unnamed1Str := unicode16FromString(unnamed1) 1475 unnamed2Str := unicode16FromString(unnamed2) 1476 unnamed5Str := unicode16FromString(unnamed5) 1477 ret1 := syscall6(sHMessageBoxCheck, 6, 1478 uintptr(unnamed0), 1479 uintptr(unsafe.Pointer(&unnamed1Str[0])), 1480 uintptr(unsafe.Pointer(&unnamed2Str[0])), 1481 uintptr(unnamed3), 1482 uintptr(unsafe.Pointer(unnamed4)), 1483 uintptr(unsafe.Pointer(&unnamed5Str[0]))) 1484 return (INT_PTR)(unsafe.Pointer(ret1)) 1485 } 1486 1487 func SHQueryInfoKey(hKey HKEY, pwSubKeys *uint32, pwSubKeyMax *uint32, pwValues *uint32, pwValueMax *uint32) LONG { 1488 ret1 := syscall6(sHQueryInfoKey, 5, 1489 uintptr(hKey), 1490 uintptr(unsafe.Pointer(pwSubKeys)), 1491 uintptr(unsafe.Pointer(pwSubKeyMax)), 1492 uintptr(unsafe.Pointer(pwValues)), 1493 uintptr(unsafe.Pointer(pwValueMax)), 1494 0) 1495 return LONG(ret1) 1496 } 1497 1498 func SHQueryValueEx(hKey HKEY, lpszValue string, lpReserved *uint32, pwType *uint32, pvData LPVOID, pcbData *uint32) DWORD { 1499 lpszValueStr := unicode16FromString(lpszValue) 1500 ret1 := syscall6(sHQueryValueEx, 6, 1501 uintptr(hKey), 1502 uintptr(unsafe.Pointer(&lpszValueStr[0])), 1503 uintptr(unsafe.Pointer(lpReserved)), 1504 uintptr(unsafe.Pointer(pwType)), 1505 uintptr(unsafe.Pointer(pvData)), 1506 uintptr(unsafe.Pointer(pcbData))) 1507 return DWORD(ret1) 1508 } 1509 1510 func SHRegCloseUSKey(hUSKey HUSKEY) LONG { 1511 ret1 := syscall3(sHRegCloseUSKey, 1, 1512 uintptr(hUSKey), 1513 0, 1514 0) 1515 return LONG(ret1) 1516 } 1517 1518 func SHRegCreateUSKey(path string, samDesired REGSAM, relative_key HUSKEY, new_uskey PHUSKEY, flags DWORD) LONG { 1519 pathStr := unicode16FromString(path) 1520 ret1 := syscall6(sHRegCreateUSKey, 5, 1521 uintptr(unsafe.Pointer(&pathStr[0])), 1522 uintptr(samDesired), 1523 uintptr(relative_key), 1524 uintptr(unsafe.Pointer(new_uskey)), 1525 uintptr(flags), 1526 0) 1527 return LONG(ret1) 1528 } 1529 1530 func SHRegDeleteEmptyUSKey(hUSKey HUSKEY, pszValue string, delRegFlags SHREGDEL_FLAGS) LONG { 1531 pszValueStr := unicode16FromString(pszValue) 1532 ret1 := syscall3(sHRegDeleteEmptyUSKey, 3, 1533 uintptr(hUSKey), 1534 uintptr(unsafe.Pointer(&pszValueStr[0])), 1535 uintptr(delRegFlags)) 1536 return LONG(ret1) 1537 } 1538 1539 func SHRegDeleteUSValue(hUSKey HUSKEY, pszValue string, delRegFlags SHREGDEL_FLAGS) LONG { 1540 pszValueStr := unicode16FromString(pszValue) 1541 ret1 := syscall3(sHRegDeleteUSValue, 3, 1542 uintptr(hUSKey), 1543 uintptr(unsafe.Pointer(&pszValueStr[0])), 1544 uintptr(delRegFlags)) 1545 return LONG(ret1) 1546 } 1547 1548 func SHRegDuplicateHKey(hKey HKEY) HKEY { 1549 ret1 := syscall3(sHRegDuplicateHKey, 1, 1550 uintptr(hKey), 1551 0, 1552 0) 1553 return HKEY(ret1) 1554 } 1555 1556 func SHRegEnumUSKey(hUSKey HUSKEY, dwIndex DWORD, pszName LPWSTR, pcchValueNameLen *uint32, enumRegFlags SHREGENUM_FLAGS) LONG { 1557 ret1 := syscall6(sHRegEnumUSKey, 5, 1558 uintptr(hUSKey), 1559 uintptr(dwIndex), 1560 uintptr(unsafe.Pointer(pszName)), 1561 uintptr(unsafe.Pointer(pcchValueNameLen)), 1562 uintptr(enumRegFlags), 1563 0) 1564 return LONG(ret1) 1565 } 1566 1567 func SHRegEnumUSValue(hUSKey HUSKEY, dwIndex DWORD, pszValueName LPWSTR, pcchValueNameLen *uint32, pdwType *uint32, pvData LPVOID, pcbData *uint32, enumRegFlags SHREGENUM_FLAGS) LONG { 1568 ret1 := syscall9(sHRegEnumUSValue, 8, 1569 uintptr(hUSKey), 1570 uintptr(dwIndex), 1571 uintptr(unsafe.Pointer(pszValueName)), 1572 uintptr(unsafe.Pointer(pcchValueNameLen)), 1573 uintptr(unsafe.Pointer(pdwType)), 1574 uintptr(unsafe.Pointer(pvData)), 1575 uintptr(unsafe.Pointer(pcbData)), 1576 uintptr(enumRegFlags), 1577 0) 1578 return LONG(ret1) 1579 } 1580 1581 func SHRegGetBoolUSValue(pszSubKey string, pszValue string, fIgnoreHKCU bool, fDefault bool) bool { 1582 pszSubKeyStr := unicode16FromString(pszSubKey) 1583 pszValueStr := unicode16FromString(pszValue) 1584 ret1 := syscall6(sHRegGetBoolUSValue, 4, 1585 uintptr(unsafe.Pointer(&pszSubKeyStr[0])), 1586 uintptr(unsafe.Pointer(&pszValueStr[0])), 1587 getUintptrFromBool(fIgnoreHKCU), 1588 getUintptrFromBool(fDefault), 1589 0, 1590 0) 1591 return ret1 != 0 1592 } 1593 1594 func SHRegGetIntW(hKey HKEY, lpszValue string, iDefault int32) int32 { 1595 lpszValueStr := unicode16FromString(lpszValue) 1596 ret1 := syscall3(sHRegGetIntW, 3, 1597 uintptr(hKey), 1598 uintptr(unsafe.Pointer(&lpszValueStr[0])), 1599 uintptr(iDefault)) 1600 return int32(ret1) 1601 } 1602 1603 func SHRegGetPath(hKey HKEY, lpszSubKey string, lpszValue string, lpszPath LPWSTR, dwFlags DWORD) DWORD { 1604 lpszSubKeyStr := unicode16FromString(lpszSubKey) 1605 lpszValueStr := unicode16FromString(lpszValue) 1606 ret1 := syscall6(sHRegGetPath, 5, 1607 uintptr(hKey), 1608 uintptr(unsafe.Pointer(&lpszSubKeyStr[0])), 1609 uintptr(unsafe.Pointer(&lpszValueStr[0])), 1610 uintptr(unsafe.Pointer(lpszPath)), 1611 uintptr(dwFlags), 1612 0) 1613 return DWORD(ret1) 1614 } 1615 1616 func SHRegGetUSValue(pSubKey string, pValue string, pwType *uint32, pvData LPVOID, pcbData *uint32, flagIgnoreHKCU bool, pDefaultData LPVOID, wDefaultDataSize DWORD) LONG { 1617 pSubKeyStr := unicode16FromString(pSubKey) 1618 pValueStr := unicode16FromString(pValue) 1619 ret1 := syscall9(sHRegGetUSValue, 8, 1620 uintptr(unsafe.Pointer(&pSubKeyStr[0])), 1621 uintptr(unsafe.Pointer(&pValueStr[0])), 1622 uintptr(unsafe.Pointer(pwType)), 1623 uintptr(unsafe.Pointer(pvData)), 1624 uintptr(unsafe.Pointer(pcbData)), 1625 getUintptrFromBool(flagIgnoreHKCU), 1626 uintptr(unsafe.Pointer(pDefaultData)), 1627 uintptr(wDefaultDataSize), 1628 0) 1629 return LONG(ret1) 1630 } 1631 1632 func SHRegOpenUSKey(path string, accessType REGSAM, hRelativeUSKey HUSKEY, phNewUSKey PHUSKEY, fIgnoreHKCU bool) LONG { 1633 pathStr := unicode16FromString(path) 1634 ret1 := syscall6(sHRegOpenUSKey, 5, 1635 uintptr(unsafe.Pointer(&pathStr[0])), 1636 uintptr(accessType), 1637 uintptr(hRelativeUSKey), 1638 uintptr(unsafe.Pointer(phNewUSKey)), 1639 getUintptrFromBool(fIgnoreHKCU), 1640 0) 1641 return LONG(ret1) 1642 } 1643 1644 func SHRegQueryInfoUSKey(hUSKey HUSKEY, pcSubKeys *uint32, pcchMaxSubKeyLen *uint32, pcValues *uint32, pcchMaxValueNameLen *uint32, enumRegFlags SHREGENUM_FLAGS) LONG { 1645 ret1 := syscall6(sHRegQueryInfoUSKey, 6, 1646 uintptr(hUSKey), 1647 uintptr(unsafe.Pointer(pcSubKeys)), 1648 uintptr(unsafe.Pointer(pcchMaxSubKeyLen)), 1649 uintptr(unsafe.Pointer(pcValues)), 1650 uintptr(unsafe.Pointer(pcchMaxValueNameLen)), 1651 uintptr(enumRegFlags)) 1652 return LONG(ret1) 1653 } 1654 1655 func SHRegQueryUSValue(hUSKey HUSKEY, pszValue string, pdwType *uint32, pvData LPVOID, pcbData *uint32, fIgnoreHKCU bool, pvDefaultData LPVOID, dwDefaultDataSize DWORD) LONG { 1656 pszValueStr := unicode16FromString(pszValue) 1657 ret1 := syscall9(sHRegQueryUSValue, 8, 1658 uintptr(hUSKey), 1659 uintptr(unsafe.Pointer(&pszValueStr[0])), 1660 uintptr(unsafe.Pointer(pdwType)), 1661 uintptr(unsafe.Pointer(pvData)), 1662 uintptr(unsafe.Pointer(pcbData)), 1663 getUintptrFromBool(fIgnoreHKCU), 1664 uintptr(unsafe.Pointer(pvDefaultData)), 1665 uintptr(dwDefaultDataSize), 1666 0) 1667 return LONG(ret1) 1668 } 1669 1670 func SHRegSetPath(hKey HKEY, lpszSubKey string, lpszValue string, lpszPath string, dwFlags DWORD) DWORD { 1671 lpszSubKeyStr := unicode16FromString(lpszSubKey) 1672 lpszValueStr := unicode16FromString(lpszValue) 1673 lpszPathStr := unicode16FromString(lpszPath) 1674 ret1 := syscall6(sHRegSetPath, 5, 1675 uintptr(hKey), 1676 uintptr(unsafe.Pointer(&lpszSubKeyStr[0])), 1677 uintptr(unsafe.Pointer(&lpszValueStr[0])), 1678 uintptr(unsafe.Pointer(&lpszPathStr[0])), 1679 uintptr(dwFlags), 1680 0) 1681 return DWORD(ret1) 1682 } 1683 1684 func SHRegSetUSValue(pszSubKey string, pszValue string, dwType DWORD, pvData LPVOID, cbData DWORD, dwFlags DWORD) LONG { 1685 pszSubKeyStr := unicode16FromString(pszSubKey) 1686 pszValueStr := unicode16FromString(pszValue) 1687 ret1 := syscall6(sHRegSetUSValue, 6, 1688 uintptr(unsafe.Pointer(&pszSubKeyStr[0])), 1689 uintptr(unsafe.Pointer(&pszValueStr[0])), 1690 uintptr(dwType), 1691 uintptr(unsafe.Pointer(pvData)), 1692 uintptr(cbData), 1693 uintptr(dwFlags)) 1694 return LONG(ret1) 1695 } 1696 1697 func SHRegWriteUSValue(hUSKey HUSKEY, pszValue string, dwType DWORD, pvData LPVOID, cbData DWORD, dwFlags DWORD) LONG { 1698 pszValueStr := unicode16FromString(pszValue) 1699 ret1 := syscall6(sHRegWriteUSValue, 6, 1700 uintptr(hUSKey), 1701 uintptr(unsafe.Pointer(&pszValueStr[0])), 1702 uintptr(dwType), 1703 uintptr(unsafe.Pointer(pvData)), 1704 uintptr(cbData), 1705 uintptr(dwFlags)) 1706 return LONG(ret1) 1707 } 1708 1709 func SHRegisterValidateTemplate(filename string, unknown bool) HRESULT { 1710 filenameStr := unicode16FromString(filename) 1711 ret1 := syscall3(sHRegisterValidateTemplate, 2, 1712 uintptr(unsafe.Pointer(&filenameStr[0])), 1713 getUintptrFromBool(unknown), 1714 0) 1715 return HRESULT(ret1) 1716 } 1717 1718 func SHReleaseThreadRef() HRESULT { 1719 ret1 := syscall3(sHReleaseThreadRef, 0, 1720 0, 1721 0, 1722 0) 1723 return HRESULT(ret1) 1724 } 1725 1726 func SHSendMessageBroadcast(uMsg UINT, wParam WPARAM, lParam LPARAM) DWORD { 1727 ret1 := syscall3(sHSendMessageBroadcast, 3, 1728 uintptr(uMsg), 1729 uintptr(wParam), 1730 uintptr(lParam)) 1731 return DWORD(ret1) 1732 } 1733 1734 func SHSetThreadRef(lpUnknown *IUnknown) HRESULT { 1735 ret1 := syscall3(sHSetThreadRef, 1, 1736 uintptr(unsafe.Pointer(lpUnknown)), 1737 0, 1738 0) 1739 return HRESULT(ret1) 1740 } 1741 1742 func SHSetValue(hKey HKEY, lpszSubKey string, lpszValue string, dwType DWORD, pvData /*const*/ uintptr, cbData DWORD) DWORD { 1743 lpszSubKeyStr := unicode16FromString(lpszSubKey) 1744 lpszValueStr := unicode16FromString(lpszValue) 1745 ret1 := syscall6(sHSetValue, 6, 1746 uintptr(hKey), 1747 uintptr(unsafe.Pointer(&lpszSubKeyStr[0])), 1748 uintptr(unsafe.Pointer(&lpszValueStr[0])), 1749 uintptr(dwType), 1750 pvData, 1751 uintptr(cbData)) 1752 return DWORD(ret1) 1753 } 1754 1755 func SHSkipJunction(pbc *IBindCtx, pclsid /*const*/ *CLSID) bool { 1756 ret1 := syscall3(sHSkipJunction, 2, 1757 uintptr(unsafe.Pointer(pbc)), 1758 uintptr(unsafe.Pointer(pclsid)), 1759 0) 1760 return ret1 != 0 1761 } 1762 1763 func SHStrDup(src string, dest *LPWSTR) HRESULT { 1764 srcStr := unicode16FromString(src) 1765 ret1 := syscall3(sHStrDup, 2, 1766 uintptr(unsafe.Pointer(&srcStr[0])), 1767 uintptr(unsafe.Pointer(dest)), 1768 0) 1769 return HRESULT(ret1) 1770 } 1771 1772 func SHStripMneumonic(lpszStr string) WCHAR { 1773 lpszStrStr := unicode16FromString(lpszStr) 1774 ret1 := syscall3(sHStripMneumonic, 1, 1775 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1776 0, 1777 0) 1778 return WCHAR(ret1) 1779 } 1780 1781 func SHUnicodeToAnsi(lpSrcStr string, lpDstStr LPSTR, iLen INT) INT { 1782 lpSrcStrStr := unicode16FromString(lpSrcStr) 1783 ret1 := syscall3(sHUnicodeToAnsi, 3, 1784 uintptr(unsafe.Pointer(&lpSrcStrStr[0])), 1785 uintptr(unsafe.Pointer(lpDstStr)), 1786 uintptr(iLen)) 1787 return INT(ret1) 1788 } 1789 1790 func SHUnicodeToUnicode(lpszSrc string, lpszDst LPWSTR, iLen int32) DWORD { 1791 lpszSrcStr := unicode16FromString(lpszSrc) 1792 ret1 := syscall3(sHUnicodeToUnicode, 3, 1793 uintptr(unsafe.Pointer(&lpszSrcStr[0])), 1794 uintptr(unsafe.Pointer(lpszDst)), 1795 uintptr(iLen)) 1796 return DWORD(ret1) 1797 } 1798 1799 func SHUnlockShared(lpView LPVOID) bool { 1800 ret1 := syscall3(sHUnlockShared, 1, 1801 uintptr(unsafe.Pointer(lpView)), 1802 0, 1803 0) 1804 return ret1 != 0 1805 } 1806 1807 func StrCSpnI(lpszStr string, lpszMatch string) int32 { 1808 lpszStrStr := unicode16FromString(lpszStr) 1809 lpszMatchStr := unicode16FromString(lpszMatch) 1810 ret1 := syscall3(strCSpnI, 2, 1811 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1812 uintptr(unsafe.Pointer(&lpszMatchStr[0])), 1813 0) 1814 return int32(ret1) 1815 } 1816 1817 func StrCSpn(lpszStr string, lpszMatch string) int32 { 1818 lpszStrStr := unicode16FromString(lpszStr) 1819 lpszMatchStr := unicode16FromString(lpszMatch) 1820 ret1 := syscall3(strCSpn, 2, 1821 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1822 uintptr(unsafe.Pointer(&lpszMatchStr[0])), 1823 0) 1824 return int32(ret1) 1825 } 1826 1827 func StrCatBuff(lpszStr LPWSTR, lpszCat string, cchMax INT) LPWSTR { 1828 lpszCatStr := unicode16FromString(lpszCat) 1829 ret1 := syscall3(strCatBuff, 3, 1830 uintptr(unsafe.Pointer(lpszStr)), 1831 uintptr(unsafe.Pointer(&lpszCatStr[0])), 1832 uintptr(cchMax)) 1833 return (LPWSTR)(unsafe.Pointer(ret1)) 1834 } 1835 1836 func StrCatChainW(lpszStr LPWSTR, cchMax DWORD, ichAt DWORD, lpszCat string) DWORD { 1837 lpszCatStr := unicode16FromString(lpszCat) 1838 ret1 := syscall6(strCatChainW, 4, 1839 uintptr(unsafe.Pointer(lpszStr)), 1840 uintptr(cchMax), 1841 uintptr(ichAt), 1842 uintptr(unsafe.Pointer(&lpszCatStr[0])), 1843 0, 1844 0) 1845 return DWORD(ret1) 1846 } 1847 1848 func StrCatW(lpszStr LPWSTR, lpszSrc string) LPWSTR { 1849 lpszSrcStr := unicode16FromString(lpszSrc) 1850 ret1 := syscall3(strCatW, 2, 1851 uintptr(unsafe.Pointer(lpszStr)), 1852 uintptr(unsafe.Pointer(&lpszSrcStr[0])), 1853 0) 1854 return (LPWSTR)(unsafe.Pointer(ret1)) 1855 } 1856 1857 func StrChrI(lpszStr string, ch WCHAR) LPWSTR { 1858 lpszStrStr := unicode16FromString(lpszStr) 1859 ret1 := syscall3(strChrI, 2, 1860 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1861 uintptr(ch), 1862 0) 1863 return (LPWSTR)(unsafe.Pointer(ret1)) 1864 } 1865 1866 func StrChrNW(lpszStr string, ch WCHAR, cchMax UINT) LPWSTR { 1867 lpszStrStr := unicode16FromString(lpszStr) 1868 ret1 := syscall3(strChrNW, 3, 1869 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1870 uintptr(ch), 1871 uintptr(cchMax)) 1872 return (LPWSTR)(unsafe.Pointer(ret1)) 1873 } 1874 1875 func StrChr(lpszStr string, ch WCHAR) LPWSTR { 1876 lpszStrStr := unicode16FromString(lpszStr) 1877 ret1 := syscall3(strChr, 2, 1878 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1879 uintptr(ch), 1880 0) 1881 return (LPWSTR)(unsafe.Pointer(ret1)) 1882 } 1883 1884 func StrCmpC(lpszSrc string, lpszCmp string) DWORD { 1885 lpszSrcStr := unicode16FromString(lpszSrc) 1886 lpszCmpStr := unicode16FromString(lpszCmp) 1887 ret1 := syscall3(strCmpC, 2, 1888 uintptr(unsafe.Pointer(&lpszSrcStr[0])), 1889 uintptr(unsafe.Pointer(&lpszCmpStr[0])), 1890 0) 1891 return DWORD(ret1) 1892 } 1893 1894 func StrCmpIC(lpszSrc string, lpszCmp string) DWORD { 1895 lpszSrcStr := unicode16FromString(lpszSrc) 1896 lpszCmpStr := unicode16FromString(lpszCmp) 1897 ret1 := syscall3(strCmpIC, 2, 1898 uintptr(unsafe.Pointer(&lpszSrcStr[0])), 1899 uintptr(unsafe.Pointer(&lpszCmpStr[0])), 1900 0) 1901 return DWORD(ret1) 1902 } 1903 1904 func StrCmpIW(lpszStr string, lpszComp string) int32 { 1905 lpszStrStr := unicode16FromString(lpszStr) 1906 lpszCompStr := unicode16FromString(lpszComp) 1907 ret1 := syscall3(strCmpIW, 2, 1908 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1909 uintptr(unsafe.Pointer(&lpszCompStr[0])), 1910 0) 1911 return int32(ret1) 1912 } 1913 1914 func StrCmpLogicalW(lpszStr string, lpszComp string) INT { 1915 lpszStrStr := unicode16FromString(lpszStr) 1916 lpszCompStr := unicode16FromString(lpszComp) 1917 ret1 := syscall3(strCmpLogicalW, 2, 1918 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1919 uintptr(unsafe.Pointer(&lpszCompStr[0])), 1920 0) 1921 return INT(ret1) 1922 } 1923 1924 func StrCmpNC(lpszSrc string, lpszCmp string, aLen INT) DWORD { 1925 lpszSrcStr := unicode16FromString(lpszSrc) 1926 lpszCmpStr := unicode16FromString(lpszCmp) 1927 ret1 := syscall3(strCmpNC, 3, 1928 uintptr(unsafe.Pointer(&lpszSrcStr[0])), 1929 uintptr(unsafe.Pointer(&lpszCmpStr[0])), 1930 uintptr(aLen)) 1931 return DWORD(ret1) 1932 } 1933 1934 func StrCmpNIC(lpszSrc string, lpszCmp string, aLen DWORD) DWORD { 1935 lpszSrcStr := unicode16FromString(lpszSrc) 1936 lpszCmpStr := unicode16FromString(lpszCmp) 1937 ret1 := syscall3(strCmpNIC, 3, 1938 uintptr(unsafe.Pointer(&lpszSrcStr[0])), 1939 uintptr(unsafe.Pointer(&lpszCmpStr[0])), 1940 uintptr(aLen)) 1941 return DWORD(ret1) 1942 } 1943 1944 func StrCmpNI(lpszStr string, lpszComp string, iLen INT) INT { 1945 lpszStrStr := unicode16FromString(lpszStr) 1946 lpszCompStr := unicode16FromString(lpszComp) 1947 ret1 := syscall3(strCmpNI, 3, 1948 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1949 uintptr(unsafe.Pointer(&lpszCompStr[0])), 1950 uintptr(iLen)) 1951 return INT(ret1) 1952 } 1953 1954 func StrCmpN(lpszStr string, lpszComp string, iLen INT) INT { 1955 lpszStrStr := unicode16FromString(lpszStr) 1956 lpszCompStr := unicode16FromString(lpszComp) 1957 ret1 := syscall3(strCmpN, 3, 1958 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1959 uintptr(unsafe.Pointer(&lpszCompStr[0])), 1960 uintptr(iLen)) 1961 return INT(ret1) 1962 } 1963 1964 func StrCmpW(lpszStr string, lpszComp string) int32 { 1965 lpszStrStr := unicode16FromString(lpszStr) 1966 lpszCompStr := unicode16FromString(lpszComp) 1967 ret1 := syscall3(strCmpW, 2, 1968 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1969 uintptr(unsafe.Pointer(&lpszCompStr[0])), 1970 0) 1971 return int32(ret1) 1972 } 1973 1974 func StrCpyNW(dst LPWSTR, src string, count int32) LPWSTR { 1975 srcStr := unicode16FromString(src) 1976 ret1 := syscall3(strCpyNW, 3, 1977 uintptr(unsafe.Pointer(dst)), 1978 uintptr(unsafe.Pointer(&srcStr[0])), 1979 uintptr(count)) 1980 return (LPWSTR)(unsafe.Pointer(ret1)) 1981 } 1982 1983 func StrCpyW(lpszStr LPWSTR, lpszSrc string) LPWSTR { 1984 lpszSrcStr := unicode16FromString(lpszSrc) 1985 ret1 := syscall3(strCpyW, 2, 1986 uintptr(unsafe.Pointer(lpszStr)), 1987 uintptr(unsafe.Pointer(&lpszSrcStr[0])), 1988 0) 1989 return (LPWSTR)(unsafe.Pointer(ret1)) 1990 } 1991 1992 func StrDup(lpszStr string) LPWSTR { 1993 lpszStrStr := unicode16FromString(lpszStr) 1994 ret1 := syscall3(strDup, 1, 1995 uintptr(unsafe.Pointer(&lpszStrStr[0])), 1996 0, 1997 0) 1998 return (LPWSTR)(unsafe.Pointer(ret1)) 1999 } 2000 2001 func StrFormatByteSize64A(llBytes LONGLONG, lpszDest LPSTR, cchMax UINT) LPSTR { 2002 ret1 := syscall3(strFormatByteSize64A, 3, 2003 uintptr(llBytes), 2004 uintptr(unsafe.Pointer(lpszDest)), 2005 uintptr(cchMax)) 2006 return (LPSTR)(unsafe.Pointer(ret1)) 2007 } 2008 2009 func StrFormatByteSize(llBytes LONGLONG, lpszDest LPWSTR, cchMax UINT) LPWSTR { 2010 ret1 := syscall3(strFormatByteSize, 3, 2011 uintptr(llBytes), 2012 uintptr(unsafe.Pointer(lpszDest)), 2013 uintptr(cchMax)) 2014 return (LPWSTR)(unsafe.Pointer(ret1)) 2015 } 2016 2017 func StrFormatKBSize(llBytes LONGLONG, lpszDest LPWSTR, cchMax UINT) LPWSTR { 2018 ret1 := syscall3(strFormatKBSize, 3, 2019 uintptr(llBytes), 2020 uintptr(unsafe.Pointer(lpszDest)), 2021 uintptr(cchMax)) 2022 return (LPWSTR)(unsafe.Pointer(ret1)) 2023 } 2024 2025 func StrFromTimeInterval(lpszStr LPWSTR, cchMax UINT, dwMS DWORD, iDigits int32) INT { 2026 ret1 := syscall6(strFromTimeInterval, 4, 2027 uintptr(unsafe.Pointer(lpszStr)), 2028 uintptr(cchMax), 2029 uintptr(dwMS), 2030 uintptr(iDigits), 2031 0, 2032 0) 2033 return INT(ret1) 2034 } 2035 2036 func StrIsIntlEqual(bCase bool, lpszStr string, lpszComp string, iLen int32) bool { 2037 lpszStrStr := unicode16FromString(lpszStr) 2038 lpszCompStr := unicode16FromString(lpszComp) 2039 ret1 := syscall6(strIsIntlEqual, 4, 2040 getUintptrFromBool(bCase), 2041 uintptr(unsafe.Pointer(&lpszStrStr[0])), 2042 uintptr(unsafe.Pointer(&lpszCompStr[0])), 2043 uintptr(iLen), 2044 0, 2045 0) 2046 return ret1 != 0 2047 } 2048 2049 func StrNCat(lpszStr LPWSTR, lpszCat string, cchMax INT) LPWSTR { 2050 lpszCatStr := unicode16FromString(lpszCat) 2051 ret1 := syscall3(strNCat, 3, 2052 uintptr(unsafe.Pointer(lpszStr)), 2053 uintptr(unsafe.Pointer(&lpszCatStr[0])), 2054 uintptr(cchMax)) 2055 return (LPWSTR)(unsafe.Pointer(ret1)) 2056 } 2057 2058 func StrPBrk(lpszStr string, lpszMatch string) LPWSTR { 2059 lpszStrStr := unicode16FromString(lpszStr) 2060 lpszMatchStr := unicode16FromString(lpszMatch) 2061 ret1 := syscall3(strPBrk, 2, 2062 uintptr(unsafe.Pointer(&lpszStrStr[0])), 2063 uintptr(unsafe.Pointer(&lpszMatchStr[0])), 2064 0) 2065 return (LPWSTR)(unsafe.Pointer(ret1)) 2066 } 2067 2068 func StrRChrI(str string, end string, ch WORD) LPWSTR { 2069 strStr := unicode16FromString(str) 2070 endStr := unicode16FromString(end) 2071 ret1 := syscall3(strRChrI, 3, 2072 uintptr(unsafe.Pointer(&strStr[0])), 2073 uintptr(unsafe.Pointer(&endStr[0])), 2074 uintptr(ch)) 2075 return (LPWSTR)(unsafe.Pointer(ret1)) 2076 } 2077 2078 func StrRChr(str string, end string, ch WORD) LPWSTR { 2079 strStr := unicode16FromString(str) 2080 endStr := unicode16FromString(end) 2081 ret1 := syscall3(strRChr, 3, 2082 uintptr(unsafe.Pointer(&strStr[0])), 2083 uintptr(unsafe.Pointer(&endStr[0])), 2084 uintptr(ch)) 2085 return (LPWSTR)(unsafe.Pointer(ret1)) 2086 } 2087 2088 func StrRStrI(lpszStr string, lpszEnd string, lpszSearch string) LPWSTR { 2089 lpszStrStr := unicode16FromString(lpszStr) 2090 lpszEndStr := unicode16FromString(lpszEnd) 2091 lpszSearchStr := unicode16FromString(lpszSearch) 2092 ret1 := syscall3(strRStrI, 3, 2093 uintptr(unsafe.Pointer(&lpszStrStr[0])), 2094 uintptr(unsafe.Pointer(&lpszEndStr[0])), 2095 uintptr(unsafe.Pointer(&lpszSearchStr[0]))) 2096 return (LPWSTR)(unsafe.Pointer(ret1)) 2097 } 2098 2099 func StrRetToBSTR(lpStrRet *STRRET, pidl /*const*/ LPCITEMIDLIST, pBstrOut *BSTR) HRESULT { 2100 ret1 := syscall3(strRetToBSTR, 3, 2101 uintptr(unsafe.Pointer(lpStrRet)), 2102 uintptr(unsafe.Pointer(pidl)), 2103 uintptr(unsafe.Pointer(pBstrOut))) 2104 return HRESULT(ret1) 2105 } 2106 2107 func StrRetToBuf(src *STRRET, pidl /*const*/ *ITEMIDLIST, dest LPWSTR, aLen UINT) HRESULT { 2108 ret1 := syscall6(strRetToBuf, 4, 2109 uintptr(unsafe.Pointer(src)), 2110 uintptr(unsafe.Pointer(pidl)), 2111 uintptr(unsafe.Pointer(dest)), 2112 uintptr(aLen), 2113 0, 2114 0) 2115 return HRESULT(ret1) 2116 } 2117 2118 func StrRetToStr(lpStrRet *STRRET, pidl /*const*/ *ITEMIDLIST, ppszName *LPWSTR) HRESULT { 2119 ret1 := syscall3(strRetToStr, 3, 2120 uintptr(unsafe.Pointer(lpStrRet)), 2121 uintptr(unsafe.Pointer(pidl)), 2122 uintptr(unsafe.Pointer(ppszName))) 2123 return HRESULT(ret1) 2124 } 2125 2126 func StrSpn(lpszStr string, lpszMatch string) int32 { 2127 lpszStrStr := unicode16FromString(lpszStr) 2128 lpszMatchStr := unicode16FromString(lpszMatch) 2129 ret1 := syscall3(strSpn, 2, 2130 uintptr(unsafe.Pointer(&lpszStrStr[0])), 2131 uintptr(unsafe.Pointer(&lpszMatchStr[0])), 2132 0) 2133 return int32(ret1) 2134 } 2135 2136 func StrStrI(lpszStr string, lpszSearch string) LPWSTR { 2137 lpszStrStr := unicode16FromString(lpszStr) 2138 lpszSearchStr := unicode16FromString(lpszSearch) 2139 ret1 := syscall3(strStrI, 2, 2140 uintptr(unsafe.Pointer(&lpszStrStr[0])), 2141 uintptr(unsafe.Pointer(&lpszSearchStr[0])), 2142 0) 2143 return (LPWSTR)(unsafe.Pointer(ret1)) 2144 } 2145 2146 func StrStrNIW(lpFirst string, lpSrch string, cchMax UINT) LPWSTR { 2147 lpFirstStr := unicode16FromString(lpFirst) 2148 lpSrchStr := unicode16FromString(lpSrch) 2149 ret1 := syscall3(strStrNIW, 3, 2150 uintptr(unsafe.Pointer(&lpFirstStr[0])), 2151 uintptr(unsafe.Pointer(&lpSrchStr[0])), 2152 uintptr(cchMax)) 2153 return (LPWSTR)(unsafe.Pointer(ret1)) 2154 } 2155 2156 func StrStrNW(lpFirst string, lpSrch string, cchMax UINT) LPWSTR { 2157 lpFirstStr := unicode16FromString(lpFirst) 2158 lpSrchStr := unicode16FromString(lpSrch) 2159 ret1 := syscall3(strStrNW, 3, 2160 uintptr(unsafe.Pointer(&lpFirstStr[0])), 2161 uintptr(unsafe.Pointer(&lpSrchStr[0])), 2162 uintptr(cchMax)) 2163 return (LPWSTR)(unsafe.Pointer(ret1)) 2164 } 2165 2166 func StrStr(lpszStr string, lpszSearch string) LPWSTR { 2167 lpszStrStr := unicode16FromString(lpszStr) 2168 lpszSearchStr := unicode16FromString(lpszSearch) 2169 ret1 := syscall3(strStr, 2, 2170 uintptr(unsafe.Pointer(&lpszStrStr[0])), 2171 uintptr(unsafe.Pointer(&lpszSearchStr[0])), 2172 0) 2173 return (LPWSTR)(unsafe.Pointer(ret1)) 2174 } 2175 2176 func StrToInt64Ex(lpszStr string, dwFlags DWORD, lpiRet *LONGLONG) bool { 2177 lpszStrStr := unicode16FromString(lpszStr) 2178 ret1 := syscall3(strToInt64Ex, 3, 2179 uintptr(unsafe.Pointer(&lpszStrStr[0])), 2180 uintptr(dwFlags), 2181 uintptr(unsafe.Pointer(lpiRet))) 2182 return ret1 != 0 2183 } 2184 2185 func StrToIntEx(lpszStr string, dwFlags DWORD, lpiRet *int32) bool { 2186 lpszStrStr := unicode16FromString(lpszStr) 2187 ret1 := syscall3(strToIntEx, 3, 2188 uintptr(unsafe.Pointer(&lpszStrStr[0])), 2189 uintptr(dwFlags), 2190 uintptr(unsafe.Pointer(lpiRet))) 2191 return ret1 != 0 2192 } 2193 2194 func StrToInt(lpString string) INT { 2195 lpStringStr := unicode16FromString(lpString) 2196 ret1 := syscall3(strToInt, 1, 2197 uintptr(unsafe.Pointer(&lpStringStr[0])), 2198 0, 2199 0) 2200 return INT(ret1) 2201 } 2202 2203 func StrTrim(lpszStr LPWSTR, lpszTrim string) bool { 2204 lpszTrimStr := unicode16FromString(lpszTrim) 2205 ret1 := syscall3(strTrim, 2, 2206 uintptr(unsafe.Pointer(lpszStr)), 2207 uintptr(unsafe.Pointer(&lpszTrimStr[0])), 2208 0) 2209 return ret1 != 0 2210 } 2211 2212 func UrlApplyScheme(pszIn string, pszOut LPWSTR, pcchOut *uint32, dwFlags DWORD) HRESULT { 2213 pszInStr := unicode16FromString(pszIn) 2214 ret1 := syscall6(urlApplyScheme, 4, 2215 uintptr(unsafe.Pointer(&pszInStr[0])), 2216 uintptr(unsafe.Pointer(pszOut)), 2217 uintptr(unsafe.Pointer(pcchOut)), 2218 uintptr(dwFlags), 2219 0, 2220 0) 2221 return HRESULT(ret1) 2222 } 2223 2224 func UrlCanonicalize(pszUrl string, pszCanonicalized LPWSTR, pcchCanonicalized *uint32, dwFlags DWORD) HRESULT { 2225 pszUrlStr := unicode16FromString(pszUrl) 2226 ret1 := syscall6(urlCanonicalize, 4, 2227 uintptr(unsafe.Pointer(&pszUrlStr[0])), 2228 uintptr(unsafe.Pointer(pszCanonicalized)), 2229 uintptr(unsafe.Pointer(pcchCanonicalized)), 2230 uintptr(dwFlags), 2231 0, 2232 0) 2233 return HRESULT(ret1) 2234 } 2235 2236 func UrlCombine(pszBase string, pszRelative string, pszCombined LPWSTR, pcchCombined *uint32, dwFlags DWORD) HRESULT { 2237 pszBaseStr := unicode16FromString(pszBase) 2238 pszRelativeStr := unicode16FromString(pszRelative) 2239 ret1 := syscall6(urlCombine, 5, 2240 uintptr(unsafe.Pointer(&pszBaseStr[0])), 2241 uintptr(unsafe.Pointer(&pszRelativeStr[0])), 2242 uintptr(unsafe.Pointer(pszCombined)), 2243 uintptr(unsafe.Pointer(pcchCombined)), 2244 uintptr(dwFlags), 2245 0) 2246 return HRESULT(ret1) 2247 } 2248 2249 func UrlCompare(pszUrl1 string, pszUrl2 string, fIgnoreSlash bool) INT { 2250 pszUrl1Str := unicode16FromString(pszUrl1) 2251 pszUrl2Str := unicode16FromString(pszUrl2) 2252 ret1 := syscall3(urlCompare, 3, 2253 uintptr(unsafe.Pointer(&pszUrl1Str[0])), 2254 uintptr(unsafe.Pointer(&pszUrl2Str[0])), 2255 getUintptrFromBool(fIgnoreSlash)) 2256 return INT(ret1) 2257 } 2258 2259 func UrlCreateFromPath(pszPath string, pszUrl LPWSTR, pcchUrl *uint32, dwReserved DWORD) HRESULT { 2260 pszPathStr := unicode16FromString(pszPath) 2261 ret1 := syscall6(urlCreateFromPath, 4, 2262 uintptr(unsafe.Pointer(&pszPathStr[0])), 2263 uintptr(unsafe.Pointer(pszUrl)), 2264 uintptr(unsafe.Pointer(pcchUrl)), 2265 uintptr(dwReserved), 2266 0, 2267 0) 2268 return HRESULT(ret1) 2269 } 2270 2271 func UrlEscape(pszUrl string, pszEscaped LPWSTR, pcchEscaped *uint32, dwFlags DWORD) HRESULT { 2272 pszUrlStr := unicode16FromString(pszUrl) 2273 ret1 := syscall6(urlEscape, 4, 2274 uintptr(unsafe.Pointer(&pszUrlStr[0])), 2275 uintptr(unsafe.Pointer(pszEscaped)), 2276 uintptr(unsafe.Pointer(pcchEscaped)), 2277 uintptr(dwFlags), 2278 0, 2279 0) 2280 return HRESULT(ret1) 2281 } 2282 2283 func UrlFixupW(url string, translatedUrl LPWSTR, maxChars DWORD) HRESULT { 2284 urlStr := unicode16FromString(url) 2285 ret1 := syscall3(urlFixupW, 3, 2286 uintptr(unsafe.Pointer(&urlStr[0])), 2287 uintptr(unsafe.Pointer(translatedUrl)), 2288 uintptr(maxChars)) 2289 return HRESULT(ret1) 2290 } 2291 2292 func UrlGetLocation(pszUrl string) string { 2293 pszUrlStr := unicode16FromString(pszUrl) 2294 ret1 := syscall3(urlGetLocation, 1, 2295 uintptr(unsafe.Pointer(&pszUrlStr[0])), 2296 0, 2297 0) 2298 return stringFromUnicode16((*uint16)(unsafe.Pointer(ret1))) 2299 } 2300 2301 func UrlGetPart(pszIn string, pszOut LPWSTR, pcchOut *uint32, dwPart DWORD, dwFlags DWORD) HRESULT { 2302 pszInStr := unicode16FromString(pszIn) 2303 ret1 := syscall6(urlGetPart, 5, 2304 uintptr(unsafe.Pointer(&pszInStr[0])), 2305 uintptr(unsafe.Pointer(pszOut)), 2306 uintptr(unsafe.Pointer(pcchOut)), 2307 uintptr(dwPart), 2308 uintptr(dwFlags), 2309 0) 2310 return HRESULT(ret1) 2311 } 2312 2313 func UrlHash(pszUrl string, lpDest *byte, nDestLen DWORD) HRESULT { 2314 pszUrlStr := unicode16FromString(pszUrl) 2315 ret1 := syscall3(urlHash, 3, 2316 uintptr(unsafe.Pointer(&pszUrlStr[0])), 2317 uintptr(unsafe.Pointer(lpDest)), 2318 uintptr(nDestLen)) 2319 return HRESULT(ret1) 2320 } 2321 2322 func UrlIsNoHistory(pszUrl string) bool { 2323 pszUrlStr := unicode16FromString(pszUrl) 2324 ret1 := syscall3(urlIsNoHistory, 1, 2325 uintptr(unsafe.Pointer(&pszUrlStr[0])), 2326 0, 2327 0) 2328 return ret1 != 0 2329 } 2330 2331 func UrlIsOpaque(pszUrl string) bool { 2332 pszUrlStr := unicode16FromString(pszUrl) 2333 ret1 := syscall3(urlIsOpaque, 1, 2334 uintptr(unsafe.Pointer(&pszUrlStr[0])), 2335 0, 2336 0) 2337 return ret1 != 0 2338 } 2339 2340 func UrlIs(pszUrl string, urlis URLIS) bool { 2341 pszUrlStr := unicode16FromString(pszUrl) 2342 ret1 := syscall3(urlIs, 2, 2343 uintptr(unsafe.Pointer(&pszUrlStr[0])), 2344 uintptr(urlis), 2345 0) 2346 return ret1 != 0 2347 } 2348 2349 func UrlUnescape(pszUrl LPWSTR, pszUnescaped LPWSTR, pcchUnescaped *uint32, dwFlags DWORD) HRESULT { 2350 ret1 := syscall6(urlUnescape, 4, 2351 uintptr(unsafe.Pointer(pszUrl)), 2352 uintptr(unsafe.Pointer(pszUnescaped)), 2353 uintptr(unsafe.Pointer(pcchUnescaped)), 2354 uintptr(dwFlags), 2355 0, 2356 0) 2357 return HRESULT(ret1) 2358 } 2359 2360 func WhichPlatform() DWORD { 2361 ret1 := syscall3(whichPlatform, 0, 2362 0, 2363 0, 2364 0) 2365 return DWORD(ret1) 2366 }