github.com/kbinani/win@v0.3.0/shell32.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 libshell32 uintptr 16 17 // Functions 18 sHAddFromPropSheetExtArray uintptr 19 sHCreatePropSheetExtArray uintptr 20 sHDestroyPropSheetExtArray uintptr 21 sHReplaceFromPropSheetExtArray uintptr 22 cDefFolderMenu_Create2 uintptr 23 cIDLData_CreateFromIDArray uintptr 24 callCPLEntry16 uintptr 25 checkEscapes uintptr 26 control_FillCache_RunDLL uintptr 27 control_RunDLL uintptr 28 dAD_AutoScroll uintptr 29 dAD_DragEnterEx uintptr 30 dAD_DragLeave uintptr 31 dAD_DragMove uintptr 32 dAD_SetDragImage uintptr 33 dAD_ShowDragImage uintptr 34 doEnvironmentSubst uintptr 35 dragAcceptFiles uintptr 36 dragFinish uintptr 37 dragQueryFile uintptr 38 dragQueryPoint uintptr 39 driveType uintptr 40 duplicateIcon uintptr 41 extractAssociatedIconEx uintptr 42 extractAssociatedIcon uintptr 43 extractIconEx uintptr 44 extractIcon uintptr 45 extractVersionResource16W uintptr 46 findExecutable uintptr 47 freeIconList uintptr 48 getCurrentProcessExplicitAppUserModelID uintptr 49 iLAppendID uintptr 50 iLClone uintptr 51 iLCloneFirst uintptr 52 iLCombine uintptr 53 iLCreateFromPath uintptr 54 iLFindChild uintptr 55 iLFindLastID uintptr 56 iLFree uintptr 57 iLGetNext uintptr 58 iLGetSize uintptr 59 iLIsEqual uintptr 60 iLIsParent uintptr 61 iLLoadFromStream uintptr 62 iLRemoveLastID uintptr 63 iLSaveToStream uintptr 64 initNetworkAddressControl uintptr 65 isLFNDrive uintptr 66 isNetDrive uintptr 67 isUserAnAdmin uintptr 68 openAs_RunDLL uintptr 69 pathCleanupSpec uintptr 70 pathYetAnotherMakeUniqueName uintptr 71 pickIconDlg uintptr 72 readCabinetState uintptr 73 realDriveType uintptr 74 regenerateUserEnvironment uintptr 75 restartDialog uintptr 76 restartDialogEx uintptr 77 sHAddToRecentDocs uintptr 78 sHAlloc uintptr 79 sHAppBarMessage uintptr 80 sHAssocEnumHandlers uintptr 81 sHBindToParent uintptr 82 sHBrowseForFolder uintptr 83 sHChangeNotification_Lock uintptr 84 sHChangeNotification_Unlock uintptr 85 sHChangeNotify uintptr 86 sHChangeNotifyDeregister uintptr 87 sHChangeNotifyRegister uintptr 88 sHCloneSpecialIDList uintptr 89 sHCoCreateInstance uintptr 90 sHCreateDefaultContextMenu uintptr 91 sHCreateDirectory uintptr 92 sHCreateDirectoryEx uintptr 93 sHCreateFileExtractIconW uintptr 94 sHCreateItemFromIDList uintptr 95 sHCreateItemFromParsingName uintptr 96 sHCreateQueryCancelAutoPlayMoniker uintptr 97 sHCreateShellFolderView uintptr 98 sHCreateShellFolderViewEx uintptr 99 sHCreateShellItem uintptr 100 sHCreateShellItemArray uintptr 101 sHCreateShellItemArrayFromDataObject uintptr 102 sHCreateShellItemArrayFromIDLists uintptr 103 sHCreateShellItemArrayFromShellItem uintptr 104 sHCreateStdEnumFmtEtc uintptr 105 sHDefExtractIcon uintptr 106 sHDoDragDrop uintptr 107 sHEmptyRecycleBin uintptr 108 sHEnumerateUnreadMailAccountsW uintptr 109 sHFileOperation uintptr 110 sHFindFiles uintptr 111 sHFind_InitMenuPopup uintptr 112 sHFlushClipboard uintptr 113 sHFlushSFCache uintptr 114 sHFormatDrive uintptr 115 sHFree uintptr 116 sHFreeNameMappings uintptr 117 sHGetDataFromIDList uintptr 118 sHGetDesktopFolder uintptr 119 sHGetFileInfo uintptr 120 sHGetFolderLocation uintptr 121 sHGetFolderPathAndSubDir uintptr 122 sHGetFolderPathEx uintptr 123 sHGetFolderPath uintptr 124 sHGetIDListFromObject uintptr 125 sHGetIconOverlayIndex uintptr 126 sHGetImageList uintptr 127 sHGetInstanceExplorer uintptr 128 sHGetItemFromDataObject uintptr 129 sHGetItemFromObject uintptr 130 sHGetKnownFolderIDList uintptr 131 sHGetKnownFolderItem uintptr 132 sHGetKnownFolderPath uintptr 133 sHGetLocalizedName uintptr 134 sHGetMalloc uintptr 135 sHGetNameFromIDList uintptr 136 sHGetNewLinkInfo uintptr 137 sHGetPathFromIDList uintptr 138 sHGetPropertyStoreForWindow uintptr 139 sHGetPropertyStoreFromParsingName uintptr 140 sHGetRealIDL uintptr 141 sHGetSetSettings uintptr 142 sHGetSettings uintptr 143 sHGetSpecialFolderLocation uintptr 144 sHGetSpecialFolderPath uintptr 145 sHGetStockIconInfo uintptr 146 sHHandleUpdateImage uintptr 147 sHHelpShortcuts_RunDLL uintptr 148 sHIsFileAvailableOffline uintptr 149 sHLimitInputEdit uintptr 150 sHLoadInProc uintptr 151 sHLoadNonloadedIconOverlayIdentifiers uintptr 152 sHMapIDListToImageListIndexAsync uintptr 153 sHMapPIDLToSystemImageListIndex uintptr 154 sHObjectProperties uintptr 155 sHOpenFolderAndSelectItems uintptr 156 sHParseDisplayName uintptr 157 sHPathPrepareForWrite uintptr 158 sHPropStgCreate uintptr 159 sHPropStgReadMultiple uintptr 160 sHPropStgWriteMultiple uintptr 161 sHQueryRecycleBin uintptr 162 sHQueryUserNotificationState uintptr 163 sHRemoveLocalizedName uintptr 164 sHRestricted uintptr 165 sHRunControlPanel uintptr 166 sHSetInstanceExplorer uintptr 167 sHSetLocalizedName uintptr 168 sHSetUnreadMailCountW uintptr 169 sHShellFolderView_Message uintptr 170 sHUpdateImage uintptr 171 sHUpdateRecycleBinIcon uintptr 172 sHValidateUNC uintptr 173 setCurrentProcessExplicitAppUserModelID uintptr 174 sheChangeDir uintptr 175 sheGetDir uintptr 176 shellAbout uintptr 177 shellExecute uintptr 178 shell_GetImageLists uintptr 179 shell_MergeMenus uintptr 180 shell_NotifyIcon uintptr 181 signalFileOpen uintptr 182 wOWShellExecute uintptr 183 writeCabinetState uintptr 184 ) 185 186 func init() { 187 // Library 188 libshell32 = doLoadLibrary("shell32.dll") 189 190 // Functions 191 sHAddFromPropSheetExtArray = doGetProcAddress(libshell32, "SHAddFromPropSheetExtArray") 192 sHCreatePropSheetExtArray = doGetProcAddress(libshell32, "SHCreatePropSheetExtArray") 193 sHDestroyPropSheetExtArray = doGetProcAddress(libshell32, "SHDestroyPropSheetExtArray") 194 sHReplaceFromPropSheetExtArray = doGetProcAddress(libshell32, "SHReplaceFromPropSheetExtArray") 195 cDefFolderMenu_Create2 = doGetProcAddress(libshell32, "CDefFolderMenu_Create2") 196 cIDLData_CreateFromIDArray = doGetProcAddress(libshell32, "CIDLData_CreateFromIDArray") 197 callCPLEntry16 = doGetProcAddress(libshell32, "CallCPLEntry16") 198 checkEscapes = doGetProcAddress(libshell32, "CheckEscapesW") 199 control_FillCache_RunDLL = doGetProcAddress(libshell32, "Control_FillCache_RunDLLW") 200 control_RunDLL = doGetProcAddress(libshell32, "Control_RunDLLW") 201 dAD_AutoScroll = doGetProcAddress(libshell32, "DAD_AutoScroll") 202 dAD_DragEnterEx = doGetProcAddress(libshell32, "DAD_DragEnterEx") 203 dAD_DragLeave = doGetProcAddress(libshell32, "DAD_DragLeave") 204 dAD_DragMove = doGetProcAddress(libshell32, "DAD_DragMove") 205 dAD_SetDragImage = doGetProcAddress(libshell32, "DAD_SetDragImage") 206 dAD_ShowDragImage = doGetProcAddress(libshell32, "DAD_ShowDragImage") 207 doEnvironmentSubst = doGetProcAddress(libshell32, "DoEnvironmentSubstW") 208 dragAcceptFiles = doGetProcAddress(libshell32, "DragAcceptFiles") 209 dragFinish = doGetProcAddress(libshell32, "DragFinish") 210 dragQueryFile = doGetProcAddress(libshell32, "DragQueryFileW") 211 dragQueryPoint = doGetProcAddress(libshell32, "DragQueryPoint") 212 driveType = doGetProcAddress(libshell32, "DriveType") 213 duplicateIcon = doGetProcAddress(libshell32, "DuplicateIcon") 214 extractAssociatedIconEx = doGetProcAddress(libshell32, "ExtractAssociatedIconExW") 215 extractAssociatedIcon = doGetProcAddress(libshell32, "ExtractAssociatedIconW") 216 extractIconEx = doGetProcAddress(libshell32, "ExtractIconExW") 217 extractIcon = doGetProcAddress(libshell32, "ExtractIconW") 218 extractVersionResource16W = doGetProcAddress(libshell32, "ExtractVersionResource16W") 219 findExecutable = doGetProcAddress(libshell32, "FindExecutableW") 220 freeIconList = doGetProcAddress(libshell32, "FreeIconList") 221 getCurrentProcessExplicitAppUserModelID = doGetProcAddress(libshell32, "GetCurrentProcessExplicitAppUserModelID") 222 iLAppendID = doGetProcAddress(libshell32, "ILAppendID") 223 iLClone = doGetProcAddress(libshell32, "ILClone") 224 iLCloneFirst = doGetProcAddress(libshell32, "ILCloneFirst") 225 iLCombine = doGetProcAddress(libshell32, "ILCombine") 226 iLCreateFromPath = doGetProcAddress(libshell32, "ILCreateFromPathW") 227 iLFindChild = doGetProcAddress(libshell32, "ILFindChild") 228 iLFindLastID = doGetProcAddress(libshell32, "ILFindLastID") 229 iLFree = doGetProcAddress(libshell32, "ILFree") 230 iLGetNext = doGetProcAddress(libshell32, "ILGetNext") 231 iLGetSize = doGetProcAddress(libshell32, "ILGetSize") 232 iLIsEqual = doGetProcAddress(libshell32, "ILIsEqual") 233 iLIsParent = doGetProcAddress(libshell32, "ILIsParent") 234 iLLoadFromStream = doGetProcAddress(libshell32, "ILLoadFromStream") 235 iLRemoveLastID = doGetProcAddress(libshell32, "ILRemoveLastID") 236 iLSaveToStream = doGetProcAddress(libshell32, "ILSaveToStream") 237 initNetworkAddressControl = doGetProcAddress(libshell32, "InitNetworkAddressControl") 238 isLFNDrive = doGetProcAddress(libshell32, "IsLFNDriveW") 239 isNetDrive = doGetProcAddress(libshell32, "IsNetDrive") 240 isUserAnAdmin = doGetProcAddress(libshell32, "IsUserAnAdmin") 241 openAs_RunDLL = doGetProcAddress(libshell32, "OpenAs_RunDLLW") 242 pathCleanupSpec = doGetProcAddress(libshell32, "PathCleanupSpec") 243 pathYetAnotherMakeUniqueName = doGetProcAddress(libshell32, "PathYetAnotherMakeUniqueName") 244 pickIconDlg = doGetProcAddress(libshell32, "PickIconDlg") 245 readCabinetState = doGetProcAddress(libshell32, "ReadCabinetState") 246 realDriveType = doGetProcAddress(libshell32, "RealDriveType") 247 regenerateUserEnvironment = doGetProcAddress(libshell32, "RegenerateUserEnvironment") 248 restartDialog = doGetProcAddress(libshell32, "RestartDialog") 249 restartDialogEx = doGetProcAddress(libshell32, "RestartDialogEx") 250 sHAddToRecentDocs = doGetProcAddress(libshell32, "SHAddToRecentDocs") 251 sHAlloc = doGetProcAddress(libshell32, "SHAlloc") 252 sHAppBarMessage = doGetProcAddress(libshell32, "SHAppBarMessage") 253 sHAssocEnumHandlers = doGetProcAddress(libshell32, "SHAssocEnumHandlers") 254 sHBindToParent = doGetProcAddress(libshell32, "SHBindToParent") 255 sHBrowseForFolder = doGetProcAddress(libshell32, "SHBrowseForFolderW") 256 sHChangeNotification_Lock = doGetProcAddress(libshell32, "SHChangeNotification_Lock") 257 sHChangeNotification_Unlock = doGetProcAddress(libshell32, "SHChangeNotification_Unlock") 258 sHChangeNotify = doGetProcAddress(libshell32, "SHChangeNotify") 259 sHChangeNotifyDeregister = doGetProcAddress(libshell32, "SHChangeNotifyDeregister") 260 sHChangeNotifyRegister = doGetProcAddress(libshell32, "SHChangeNotifyRegister") 261 sHCloneSpecialIDList = doGetProcAddress(libshell32, "SHCloneSpecialIDList") 262 sHCoCreateInstance = doGetProcAddress(libshell32, "SHCoCreateInstance") 263 sHCreateDefaultContextMenu = doGetProcAddress(libshell32, "SHCreateDefaultContextMenu") 264 sHCreateDirectory = doGetProcAddress(libshell32, "SHCreateDirectory") 265 sHCreateDirectoryEx = doGetProcAddress(libshell32, "SHCreateDirectoryExW") 266 sHCreateFileExtractIconW = doGetProcAddress(libshell32, "SHCreateFileExtractIconW") 267 sHCreateItemFromIDList = doGetProcAddress(libshell32, "SHCreateItemFromIDList") 268 sHCreateItemFromParsingName = doGetProcAddress(libshell32, "SHCreateItemFromParsingName") 269 sHCreateQueryCancelAutoPlayMoniker = doGetProcAddress(libshell32, "SHCreateQueryCancelAutoPlayMoniker") 270 sHCreateShellFolderView = doGetProcAddress(libshell32, "SHCreateShellFolderView") 271 sHCreateShellFolderViewEx = doGetProcAddress(libshell32, "SHCreateShellFolderViewEx") 272 sHCreateShellItem = doGetProcAddress(libshell32, "SHCreateShellItem") 273 sHCreateShellItemArray = doGetProcAddress(libshell32, "SHCreateShellItemArray") 274 sHCreateShellItemArrayFromDataObject = doGetProcAddress(libshell32, "SHCreateShellItemArrayFromDataObject") 275 sHCreateShellItemArrayFromIDLists = doGetProcAddress(libshell32, "SHCreateShellItemArrayFromIDLists") 276 sHCreateShellItemArrayFromShellItem = doGetProcAddress(libshell32, "SHCreateShellItemArrayFromShellItem") 277 sHCreateStdEnumFmtEtc = doGetProcAddress(libshell32, "SHCreateStdEnumFmtEtc") 278 sHDefExtractIcon = doGetProcAddress(libshell32, "SHDefExtractIconW") 279 sHDoDragDrop = doGetProcAddress(libshell32, "SHDoDragDrop") 280 sHEmptyRecycleBin = doGetProcAddress(libshell32, "SHEmptyRecycleBinW") 281 sHEnumerateUnreadMailAccountsW = doGetProcAddress(libshell32, "SHEnumerateUnreadMailAccountsW") 282 sHFileOperation = doGetProcAddress(libshell32, "SHFileOperationW") 283 sHFindFiles = doGetProcAddress(libshell32, "SHFindFiles") 284 sHFind_InitMenuPopup = doGetProcAddress(libshell32, "SHFind_InitMenuPopup") 285 sHFlushClipboard = doGetProcAddress(libshell32, "SHFlushClipboard") 286 sHFlushSFCache = doGetProcAddress(libshell32, "SHFlushSFCache") 287 sHFormatDrive = doGetProcAddress(libshell32, "SHFormatDrive") 288 sHFree = doGetProcAddress(libshell32, "SHFree") 289 sHFreeNameMappings = doGetProcAddress(libshell32, "SHFreeNameMappings") 290 sHGetDataFromIDList = doGetProcAddress(libshell32, "SHGetDataFromIDListW") 291 sHGetDesktopFolder = doGetProcAddress(libshell32, "SHGetDesktopFolder") 292 sHGetFileInfo = doGetProcAddress(libshell32, "SHGetFileInfoW") 293 sHGetFolderLocation = doGetProcAddress(libshell32, "SHGetFolderLocation") 294 sHGetFolderPathAndSubDir = doGetProcAddress(libshell32, "SHGetFolderPathAndSubDirW") 295 sHGetFolderPathEx = doGetProcAddress(libshell32, "SHGetFolderPathEx") 296 sHGetFolderPath = doGetProcAddress(libshell32, "SHGetFolderPathW") 297 sHGetIDListFromObject = doGetProcAddress(libshell32, "SHGetIDListFromObject") 298 sHGetIconOverlayIndex = doGetProcAddress(libshell32, "SHGetIconOverlayIndexW") 299 sHGetImageList = doGetProcAddress(libshell32, "SHGetImageList") 300 sHGetInstanceExplorer = doGetProcAddress(libshell32, "SHGetInstanceExplorer") 301 sHGetItemFromDataObject = doGetProcAddress(libshell32, "SHGetItemFromDataObject") 302 sHGetItemFromObject = doGetProcAddress(libshell32, "SHGetItemFromObject") 303 sHGetKnownFolderIDList = doGetProcAddress(libshell32, "SHGetKnownFolderIDList") 304 sHGetKnownFolderItem = doGetProcAddress(libshell32, "SHGetKnownFolderItem") 305 sHGetKnownFolderPath = doGetProcAddress(libshell32, "SHGetKnownFolderPath") 306 sHGetLocalizedName = doGetProcAddress(libshell32, "SHGetLocalizedName") 307 sHGetMalloc = doGetProcAddress(libshell32, "SHGetMalloc") 308 sHGetNameFromIDList = doGetProcAddress(libshell32, "SHGetNameFromIDList") 309 sHGetNewLinkInfo = doGetProcAddress(libshell32, "SHGetNewLinkInfoW") 310 sHGetPathFromIDList = doGetProcAddress(libshell32, "SHGetPathFromIDListW") 311 sHGetPropertyStoreForWindow = doGetProcAddress(libshell32, "SHGetPropertyStoreForWindow") 312 sHGetPropertyStoreFromParsingName = doGetProcAddress(libshell32, "SHGetPropertyStoreFromParsingName") 313 sHGetRealIDL = doGetProcAddress(libshell32, "SHGetRealIDL") 314 sHGetSetSettings = doGetProcAddress(libshell32, "SHGetSetSettings") 315 sHGetSettings = doGetProcAddress(libshell32, "SHGetSettings") 316 sHGetSpecialFolderLocation = doGetProcAddress(libshell32, "SHGetSpecialFolderLocation") 317 sHGetSpecialFolderPath = doGetProcAddress(libshell32, "SHGetSpecialFolderPathW") 318 sHGetStockIconInfo = doGetProcAddress(libshell32, "SHGetStockIconInfo") 319 sHHandleUpdateImage = doGetProcAddress(libshell32, "SHHandleUpdateImage") 320 sHHelpShortcuts_RunDLL = doGetProcAddress(libshell32, "SHHelpShortcuts_RunDLLW") 321 sHIsFileAvailableOffline = doGetProcAddress(libshell32, "SHIsFileAvailableOffline") 322 sHLimitInputEdit = doGetProcAddress(libshell32, "SHLimitInputEdit") 323 sHLoadInProc = doGetProcAddress(libshell32, "SHLoadInProc") 324 sHLoadNonloadedIconOverlayIdentifiers = doGetProcAddress(libshell32, "SHLoadNonloadedIconOverlayIdentifiers") 325 sHMapIDListToImageListIndexAsync = doGetProcAddress(libshell32, "SHMapIDListToImageListIndexAsync") 326 sHMapPIDLToSystemImageListIndex = doGetProcAddress(libshell32, "SHMapPIDLToSystemImageListIndex") 327 sHObjectProperties = doGetProcAddress(libshell32, "SHObjectProperties") 328 sHOpenFolderAndSelectItems = doGetProcAddress(libshell32, "SHOpenFolderAndSelectItems") 329 sHParseDisplayName = doGetProcAddress(libshell32, "SHParseDisplayName") 330 sHPathPrepareForWrite = doGetProcAddress(libshell32, "SHPathPrepareForWriteW") 331 sHPropStgCreate = doGetProcAddress(libshell32, "SHPropStgCreate") 332 sHPropStgReadMultiple = doGetProcAddress(libshell32, "SHPropStgReadMultiple") 333 sHPropStgWriteMultiple = doGetProcAddress(libshell32, "SHPropStgWriteMultiple") 334 sHQueryRecycleBin = doGetProcAddress(libshell32, "SHQueryRecycleBinW") 335 sHQueryUserNotificationState = doGetProcAddress(libshell32, "SHQueryUserNotificationState") 336 sHRemoveLocalizedName = doGetProcAddress(libshell32, "SHRemoveLocalizedName") 337 sHRestricted = doGetProcAddress(libshell32, "SHRestricted") 338 sHRunControlPanel = doGetProcAddress(libshell32, "SHRunControlPanel") 339 sHSetInstanceExplorer = doGetProcAddress(libshell32, "SHSetInstanceExplorer") 340 sHSetLocalizedName = doGetProcAddress(libshell32, "SHSetLocalizedName") 341 sHSetUnreadMailCountW = doGetProcAddress(libshell32, "SHSetUnreadMailCountW") 342 sHShellFolderView_Message = doGetProcAddress(libshell32, "SHShellFolderView_Message") 343 sHUpdateImage = doGetProcAddress(libshell32, "SHUpdateImageW") 344 sHUpdateRecycleBinIcon = doGetProcAddress(libshell32, "SHUpdateRecycleBinIcon") 345 sHValidateUNC = doGetProcAddress(libshell32, "SHValidateUNC") 346 setCurrentProcessExplicitAppUserModelID = doGetProcAddress(libshell32, "SetCurrentProcessExplicitAppUserModelID") 347 sheChangeDir = doGetProcAddress(libshell32, "SheChangeDirW") 348 sheGetDir = doGetProcAddress(libshell32, "SheGetDirW") 349 shellAbout = doGetProcAddress(libshell32, "ShellAboutW") 350 shellExecute = doGetProcAddress(libshell32, "ShellExecuteW") 351 shell_GetImageLists = doGetProcAddress(libshell32, "Shell_GetImageLists") 352 shell_MergeMenus = doGetProcAddress(libshell32, "Shell_MergeMenus") 353 shell_NotifyIcon = doGetProcAddress(libshell32, "Shell_NotifyIconW") 354 signalFileOpen = doGetProcAddress(libshell32, "SignalFileOpen") 355 wOWShellExecute = doGetProcAddress(libshell32, "WOWShellExecute") 356 writeCabinetState = doGetProcAddress(libshell32, "WriteCabinetState") 357 } 358 359 func SHAddFromPropSheetExtArray(hpsxa HPSXA, lpfnAddPage LPFNADDPROPSHEETPAGE, lParam LPARAM) UINT { 360 lpfnAddPageCallback := syscall.NewCallback(func(unnamed0RawArg HPROPSHEETPAGE, unnamed1RawArg LPARAM) uintptr { 361 ret := lpfnAddPage(unnamed0RawArg, unnamed1RawArg) 362 return uintptr(ret) 363 }) 364 ret1 := syscall3(sHAddFromPropSheetExtArray, 3, 365 uintptr(hpsxa), 366 lpfnAddPageCallback, 367 uintptr(lParam)) 368 return UINT(ret1) 369 } 370 371 func SHCreatePropSheetExtArray(hKey HKEY, pszSubKey string, max_iface UINT) HPSXA { 372 pszSubKeyStr := unicode16FromString(pszSubKey) 373 ret1 := syscall3(sHCreatePropSheetExtArray, 3, 374 uintptr(hKey), 375 uintptr(unsafe.Pointer(&pszSubKeyStr[0])), 376 uintptr(max_iface)) 377 return HPSXA(ret1) 378 } 379 380 func SHDestroyPropSheetExtArray(hpsxa HPSXA) { 381 syscall3(sHDestroyPropSheetExtArray, 1, 382 uintptr(hpsxa), 383 0, 384 0) 385 } 386 387 func SHReplaceFromPropSheetExtArray(hpsxa HPSXA, uPageID UINT, lpfnReplaceWith LPFNADDPROPSHEETPAGE, lParam LPARAM) UINT { 388 lpfnReplaceWithCallback := syscall.NewCallback(func(unnamed0RawArg HPROPSHEETPAGE, unnamed1RawArg LPARAM) uintptr { 389 ret := lpfnReplaceWith(unnamed0RawArg, unnamed1RawArg) 390 return uintptr(ret) 391 }) 392 ret1 := syscall6(sHReplaceFromPropSheetExtArray, 4, 393 uintptr(hpsxa), 394 uintptr(uPageID), 395 lpfnReplaceWithCallback, 396 uintptr(lParam), 397 0, 398 0) 399 return UINT(ret1) 400 } 401 402 func CDefFolderMenu_Create2(pidlFolder /*const*/ LPCITEMIDLIST, hwnd HWND, cidl UINT, apidl *LPCITEMIDLIST, psf *IShellFolder, lpfn LPFNDFMCALLBACK, nKeys UINT, ahkeys /*const*/ *HKEY, ppcm **IContextMenu) HRESULT { 403 lpfnCallback := syscall.NewCallback(func(psfRawArg *IShellFolder, hwndRawArg HWND, pdtobjRawArg *IDataObject, uMsgRawArg UINT, wParamRawArg WPARAM, lParamRawArg LPARAM) uintptr { 404 ret := lpfn(psfRawArg, hwndRawArg, pdtobjRawArg, uMsgRawArg, wParamRawArg, lParamRawArg) 405 return uintptr(ret) 406 }) 407 ret1 := syscall9(cDefFolderMenu_Create2, 9, 408 uintptr(unsafe.Pointer(pidlFolder)), 409 uintptr(hwnd), 410 uintptr(cidl), 411 uintptr(unsafe.Pointer(apidl)), 412 uintptr(unsafe.Pointer(psf)), 413 lpfnCallback, 414 uintptr(nKeys), 415 uintptr(unsafe.Pointer(ahkeys)), 416 uintptr(unsafe.Pointer(ppcm))) 417 return HRESULT(ret1) 418 } 419 420 func CIDLData_CreateFromIDArray(pidlFolder /*const*/ LPCITEMIDLIST, cpidlFiles DWORD, lppidlFiles *LPCITEMIDLIST, ppdataObject *LPDATAOBJECT) HRESULT { 421 ret1 := syscall6(cIDLData_CreateFromIDArray, 4, 422 uintptr(unsafe.Pointer(pidlFolder)), 423 uintptr(cpidlFiles), 424 uintptr(unsafe.Pointer(lppidlFiles)), 425 uintptr(unsafe.Pointer(ppdataObject)), 426 0, 427 0) 428 return HRESULT(ret1) 429 } 430 431 func CallCPLEntry16(hMod HMODULE, pFunc FARPROC, dw3 DWORD, dw4 DWORD, dw5 DWORD, dw6 DWORD) DWORD { 432 pFuncCallback := syscall.NewCallback(func() uintptr { 433 ret := pFunc() 434 return uintptr(unsafe.Pointer(ret)) 435 }) 436 ret1 := syscall6(callCPLEntry16, 6, 437 uintptr(hMod), 438 pFuncCallback, 439 uintptr(dw3), 440 uintptr(dw4), 441 uintptr(dw5), 442 uintptr(dw6)) 443 return DWORD(ret1) 444 } 445 446 func CheckEscapes(string LPWSTR, aLen DWORD) DWORD { 447 ret1 := syscall3(checkEscapes, 2, 448 uintptr(unsafe.Pointer(string)), 449 uintptr(aLen), 450 0) 451 return DWORD(ret1) 452 } 453 454 func Control_FillCache_RunDLL(hWnd HWND, hModule HANDLE, w DWORD, x DWORD) HRESULT { 455 ret1 := syscall6(control_FillCache_RunDLL, 4, 456 uintptr(hWnd), 457 uintptr(hModule), 458 uintptr(w), 459 uintptr(x), 460 0, 461 0) 462 return HRESULT(ret1) 463 } 464 465 func Control_RunDLL(hWnd HWND, hInst HINSTANCE, cmd string, nCmdShow DWORD) { 466 cmdStr := unicode16FromString(cmd) 467 syscall6(control_RunDLL, 4, 468 uintptr(hWnd), 469 uintptr(hInst), 470 uintptr(unsafe.Pointer(&cmdStr[0])), 471 uintptr(nCmdShow), 472 0, 473 0) 474 } 475 476 func DAD_AutoScroll(hwnd HWND, samples *AUTO_SCROLL_DATA, pt *POINT) bool { 477 ret1 := syscall3(dAD_AutoScroll, 3, 478 uintptr(hwnd), 479 uintptr(unsafe.Pointer(samples)), 480 uintptr(unsafe.Pointer(pt))) 481 return ret1 != 0 482 } 483 484 func DAD_DragEnterEx(hwnd HWND, p POINT) bool { 485 ret1 := syscall3(dAD_DragEnterEx, 3, 486 uintptr(hwnd), 487 uintptr(p.X), 488 uintptr(p.Y)) 489 return ret1 != 0 490 } 491 492 func DAD_DragLeave() bool { 493 ret1 := syscall3(dAD_DragLeave, 0, 494 0, 495 0, 496 0) 497 return ret1 != 0 498 } 499 500 func DAD_DragMove(p POINT) bool { 501 ret1 := syscall3(dAD_DragMove, 2, 502 uintptr(p.X), 503 uintptr(p.Y), 504 0) 505 return ret1 != 0 506 } 507 508 func DAD_SetDragImage(himlTrack HIMAGELIST, lppt *POINT) bool { 509 ret1 := syscall3(dAD_SetDragImage, 2, 510 uintptr(himlTrack), 511 uintptr(unsafe.Pointer(lppt)), 512 0) 513 return ret1 != 0 514 } 515 516 func DAD_ShowDragImage(bShow bool) bool { 517 ret1 := syscall3(dAD_ShowDragImage, 1, 518 getUintptrFromBool(bShow), 519 0, 520 0) 521 return ret1 != 0 522 } 523 524 func DoEnvironmentSubst(pszString LPWSTR, cchString UINT) DWORD { 525 ret1 := syscall3(doEnvironmentSubst, 2, 526 uintptr(unsafe.Pointer(pszString)), 527 uintptr(cchString), 528 0) 529 return DWORD(ret1) 530 } 531 532 func DragAcceptFiles(hWnd HWND, b bool) { 533 syscall3(dragAcceptFiles, 2, 534 uintptr(hWnd), 535 getUintptrFromBool(b), 536 0) 537 } 538 539 func DragFinish(h HDROP) { 540 syscall3(dragFinish, 1, 541 uintptr(h), 542 0, 543 0) 544 } 545 546 func DragQueryFile(hDrop HDROP, lFile UINT, lpszwFile LPWSTR, lLength UINT) UINT { 547 ret1 := syscall6(dragQueryFile, 4, 548 uintptr(hDrop), 549 uintptr(lFile), 550 uintptr(unsafe.Pointer(lpszwFile)), 551 uintptr(lLength), 552 0, 553 0) 554 return UINT(ret1) 555 } 556 557 func DragQueryPoint(hDrop HDROP, p *POINT) bool { 558 ret1 := syscall3(dragQueryPoint, 2, 559 uintptr(hDrop), 560 uintptr(unsafe.Pointer(p)), 561 0) 562 return ret1 != 0 563 } 564 565 func DriveType(u int32) int32 { 566 ret1 := syscall3(driveType, 1, 567 uintptr(u), 568 0, 569 0) 570 return int32(ret1) 571 } 572 573 func DuplicateIcon(hInstance HINSTANCE, hIcon HICON) HICON { 574 ret1 := syscall3(duplicateIcon, 2, 575 uintptr(hInstance), 576 uintptr(hIcon), 577 0) 578 return HICON(ret1) 579 } 580 581 func ExtractAssociatedIconEx(hInst HINSTANCE, lpIconPath LPWSTR, lpiIconIdx *uint16, lpiIconId *uint16) HICON { 582 ret1 := syscall6(extractAssociatedIconEx, 4, 583 uintptr(hInst), 584 uintptr(unsafe.Pointer(lpIconPath)), 585 uintptr(unsafe.Pointer(lpiIconIdx)), 586 uintptr(unsafe.Pointer(lpiIconId)), 587 0, 588 0) 589 return HICON(ret1) 590 } 591 592 func ExtractAssociatedIcon(hInst HINSTANCE, lpIconPath LPWSTR, lpiIcon *uint16) HICON { 593 ret1 := syscall3(extractAssociatedIcon, 3, 594 uintptr(hInst), 595 uintptr(unsafe.Pointer(lpIconPath)), 596 uintptr(unsafe.Pointer(lpiIcon))) 597 return HICON(ret1) 598 } 599 600 func ExtractIconEx(lpszFile string, nIconIndex INT, phiconLarge *HICON, phiconSmall *HICON, nIcons UINT) UINT { 601 lpszFileStr := unicode16FromString(lpszFile) 602 ret1 := syscall6(extractIconEx, 5, 603 uintptr(unsafe.Pointer(&lpszFileStr[0])), 604 uintptr(nIconIndex), 605 uintptr(unsafe.Pointer(phiconLarge)), 606 uintptr(unsafe.Pointer(phiconSmall)), 607 uintptr(nIcons), 608 0) 609 return UINT(ret1) 610 } 611 612 func ExtractIcon(hInstance HINSTANCE, lpszFile string, nIconIndex UINT) HICON { 613 lpszFileStr := unicode16FromString(lpszFile) 614 ret1 := syscall3(extractIcon, 3, 615 uintptr(hInstance), 616 uintptr(unsafe.Pointer(&lpszFileStr[0])), 617 uintptr(nIconIndex)) 618 return HICON(ret1) 619 } 620 621 func ExtractVersionResource16W(s LPWSTR, d DWORD) bool { 622 ret1 := syscall3(extractVersionResource16W, 2, 623 uintptr(unsafe.Pointer(s)), 624 uintptr(d), 625 0) 626 return ret1 != 0 627 } 628 629 func FindExecutable(lpFile string, lpDirectory string, lpResult LPWSTR) HINSTANCE { 630 lpFileStr := unicode16FromString(lpFile) 631 lpDirectoryStr := unicode16FromString(lpDirectory) 632 ret1 := syscall3(findExecutable, 3, 633 uintptr(unsafe.Pointer(&lpFileStr[0])), 634 uintptr(unsafe.Pointer(&lpDirectoryStr[0])), 635 uintptr(unsafe.Pointer(lpResult))) 636 return HINSTANCE(ret1) 637 } 638 639 func FreeIconList(dw DWORD) { 640 syscall3(freeIconList, 1, 641 uintptr(dw), 642 0, 643 0) 644 } 645 646 func GetCurrentProcessExplicitAppUserModelID(appid *PWSTR) HRESULT { 647 ret1 := syscall3(getCurrentProcessExplicitAppUserModelID, 1, 648 uintptr(unsafe.Pointer(appid)), 649 0, 650 0) 651 return HRESULT(ret1) 652 } 653 654 func ILAppendID(pidl LPITEMIDLIST, item /*const*/ *SHITEMID, bEnd bool) LPITEMIDLIST { 655 ret1 := syscall3(iLAppendID, 3, 656 uintptr(unsafe.Pointer(pidl)), 657 uintptr(unsafe.Pointer(item)), 658 getUintptrFromBool(bEnd)) 659 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 660 } 661 662 func ILClone(pidl /*const*/ LPCITEMIDLIST) LPITEMIDLIST { 663 ret1 := syscall3(iLClone, 1, 664 uintptr(unsafe.Pointer(pidl)), 665 0, 666 0) 667 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 668 } 669 670 func ILCloneFirst(pidl /*const*/ LPCITEMIDLIST) LPITEMIDLIST { 671 ret1 := syscall3(iLCloneFirst, 1, 672 uintptr(unsafe.Pointer(pidl)), 673 0, 674 0) 675 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 676 } 677 678 func ILCombine(pidl1 /*const*/ LPCITEMIDLIST, pidl2 /*const*/ LPCITEMIDLIST) LPITEMIDLIST { 679 ret1 := syscall3(iLCombine, 2, 680 uintptr(unsafe.Pointer(pidl1)), 681 uintptr(unsafe.Pointer(pidl2)), 682 0) 683 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 684 } 685 686 func ILCreateFromPath(path string) LPITEMIDLIST { 687 pathStr := unicode16FromString(path) 688 ret1 := syscall3(iLCreateFromPath, 1, 689 uintptr(unsafe.Pointer(&pathStr[0])), 690 0, 691 0) 692 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 693 } 694 695 func ILFindChild(pidl1 /*const*/ LPCITEMIDLIST, pidl2 /*const*/ LPCITEMIDLIST) LPITEMIDLIST { 696 ret1 := syscall3(iLFindChild, 2, 697 uintptr(unsafe.Pointer(pidl1)), 698 uintptr(unsafe.Pointer(pidl2)), 699 0) 700 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 701 } 702 703 func ILFindLastID(pidl /*const*/ LPCITEMIDLIST) LPITEMIDLIST { 704 ret1 := syscall3(iLFindLastID, 1, 705 uintptr(unsafe.Pointer(pidl)), 706 0, 707 0) 708 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 709 } 710 711 func ILFree(pidl LPITEMIDLIST) { 712 syscall3(iLFree, 1, 713 uintptr(unsafe.Pointer(pidl)), 714 0, 715 0) 716 } 717 718 func ILGetNext(pidl /*const*/ LPCITEMIDLIST) LPITEMIDLIST { 719 ret1 := syscall3(iLGetNext, 1, 720 uintptr(unsafe.Pointer(pidl)), 721 0, 722 0) 723 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 724 } 725 726 func ILGetSize(pidl /*const*/ LPCITEMIDLIST) UINT { 727 ret1 := syscall3(iLGetSize, 1, 728 uintptr(unsafe.Pointer(pidl)), 729 0, 730 0) 731 return UINT(ret1) 732 } 733 734 func ILIsEqual(pidl1 /*const*/ LPCITEMIDLIST, pidl2 /*const*/ LPCITEMIDLIST) bool { 735 ret1 := syscall3(iLIsEqual, 2, 736 uintptr(unsafe.Pointer(pidl1)), 737 uintptr(unsafe.Pointer(pidl2)), 738 0) 739 return ret1 != 0 740 } 741 742 func ILIsParent(pidlParent /*const*/ LPCITEMIDLIST, pidlChild /*const*/ LPCITEMIDLIST, bImmediate bool) bool { 743 ret1 := syscall3(iLIsParent, 3, 744 uintptr(unsafe.Pointer(pidlParent)), 745 uintptr(unsafe.Pointer(pidlChild)), 746 getUintptrFromBool(bImmediate)) 747 return ret1 != 0 748 } 749 750 func ILLoadFromStream(pStream *IStream, ppPidl *LPITEMIDLIST) HRESULT { 751 ret1 := syscall3(iLLoadFromStream, 2, 752 uintptr(unsafe.Pointer(pStream)), 753 uintptr(unsafe.Pointer(ppPidl)), 754 0) 755 return HRESULT(ret1) 756 } 757 758 func ILRemoveLastID(pidl LPITEMIDLIST) bool { 759 ret1 := syscall3(iLRemoveLastID, 1, 760 uintptr(unsafe.Pointer(pidl)), 761 0, 762 0) 763 return ret1 != 0 764 } 765 766 func ILSaveToStream(pStream *IStream, pPidl /*const*/ LPCITEMIDLIST) HRESULT { 767 ret1 := syscall3(iLSaveToStream, 2, 768 uintptr(unsafe.Pointer(pStream)), 769 uintptr(unsafe.Pointer(pPidl)), 770 0) 771 return HRESULT(ret1) 772 } 773 774 func InitNetworkAddressControl() bool { 775 ret1 := syscall3(initNetworkAddressControl, 0, 776 0, 777 0, 778 0) 779 return ret1 != 0 780 } 781 782 func IsLFNDrive(lpszPath string) bool { 783 lpszPathStr := unicode16FromString(lpszPath) 784 ret1 := syscall3(isLFNDrive, 1, 785 uintptr(unsafe.Pointer(&lpszPathStr[0])), 786 0, 787 0) 788 return ret1 != 0 789 } 790 791 func IsNetDrive(drive int32) int32 { 792 ret1 := syscall3(isNetDrive, 1, 793 uintptr(drive), 794 0, 795 0) 796 return int32(ret1) 797 } 798 799 func IsUserAnAdmin() bool { 800 ret1 := syscall3(isUserAnAdmin, 0, 801 0, 802 0, 803 0) 804 return ret1 != 0 805 } 806 807 func OpenAs_RunDLL(hwnd HWND, hinst HINSTANCE, cmdline string, cmdshow int32) { 808 cmdlineStr := unicode16FromString(cmdline) 809 syscall6(openAs_RunDLL, 4, 810 uintptr(hwnd), 811 uintptr(hinst), 812 uintptr(unsafe.Pointer(&cmdlineStr[0])), 813 uintptr(cmdshow), 814 0, 815 0) 816 } 817 818 func PathCleanupSpec(lpszPathW string, lpszFileW LPWSTR) int32 { 819 lpszPathWStr := unicode16FromString(lpszPathW) 820 ret1 := syscall3(pathCleanupSpec, 2, 821 uintptr(unsafe.Pointer(&lpszPathWStr[0])), 822 uintptr(unsafe.Pointer(lpszFileW)), 823 0) 824 return int32(ret1) 825 } 826 827 func PathYetAnotherMakeUniqueName(buffer LPWSTR, path string, shortname string, longname string) bool { 828 pathStr := unicode16FromString(path) 829 shortnameStr := unicode16FromString(shortname) 830 longnameStr := unicode16FromString(longname) 831 ret1 := syscall6(pathYetAnotherMakeUniqueName, 4, 832 uintptr(unsafe.Pointer(buffer)), 833 uintptr(unsafe.Pointer(&pathStr[0])), 834 uintptr(unsafe.Pointer(&shortnameStr[0])), 835 uintptr(unsafe.Pointer(&longnameStr[0])), 836 0, 837 0) 838 return ret1 != 0 839 } 840 841 func PickIconDlg(hwndOwner HWND, lpstrFile LPSTR, nMaxFile DWORD, lpdwIconIndex *uint32) INT { 842 ret1 := syscall6(pickIconDlg, 4, 843 uintptr(hwndOwner), 844 uintptr(unsafe.Pointer(lpstrFile)), 845 uintptr(nMaxFile), 846 uintptr(unsafe.Pointer(lpdwIconIndex)), 847 0, 848 0) 849 return INT(ret1) 850 } 851 852 func ReadCabinetState(cs *CABINETSTATE, length int32) bool { 853 ret1 := syscall3(readCabinetState, 2, 854 uintptr(unsafe.Pointer(cs)), 855 uintptr(length), 856 0) 857 return ret1 != 0 858 } 859 860 func RealDriveType(drive int32, bQueryNet bool) int32 { 861 ret1 := syscall3(realDriveType, 2, 862 uintptr(drive), 863 getUintptrFromBool(bQueryNet), 864 0) 865 return int32(ret1) 866 } 867 868 func RegenerateUserEnvironment(wunknown *WCHAR, bunknown bool) bool { 869 ret1 := syscall3(regenerateUserEnvironment, 2, 870 uintptr(unsafe.Pointer(wunknown)), 871 getUintptrFromBool(bunknown), 872 0) 873 return ret1 != 0 874 } 875 876 func RestartDialog(hWndOwner HWND, lpstrReason string, uFlags DWORD) int32 { 877 lpstrReasonStr := unicode16FromString(lpstrReason) 878 ret1 := syscall3(restartDialog, 3, 879 uintptr(hWndOwner), 880 uintptr(unsafe.Pointer(&lpstrReasonStr[0])), 881 uintptr(uFlags)) 882 return int32(ret1) 883 } 884 885 func RestartDialogEx(hWndOwner HWND, lpwstrReason string, uFlags DWORD, uReason DWORD) int32 { 886 lpwstrReasonStr := unicode16FromString(lpwstrReason) 887 ret1 := syscall6(restartDialogEx, 4, 888 uintptr(hWndOwner), 889 uintptr(unsafe.Pointer(&lpwstrReasonStr[0])), 890 uintptr(uFlags), 891 uintptr(uReason), 892 0, 893 0) 894 return int32(ret1) 895 } 896 897 func SHAddToRecentDocs(uFlags UINT, pv /*const*/ uintptr) { 898 syscall3(sHAddToRecentDocs, 2, 899 uintptr(uFlags), 900 pv, 901 0) 902 } 903 904 func SHAlloc(aLen DWORD) LPVOID { 905 ret1 := syscall3(sHAlloc, 1, 906 uintptr(aLen), 907 0, 908 0) 909 return (LPVOID)(unsafe.Pointer(ret1)) 910 } 911 912 func SHAppBarMessage(msg DWORD, data PAPPBARDATA) *uint32 { 913 ret1 := syscall3(sHAppBarMessage, 2, 914 uintptr(msg), 915 uintptr(unsafe.Pointer(data)), 916 0) 917 return (*uint32)(unsafe.Pointer(ret1)) 918 } 919 920 func SHAssocEnumHandlers(extra /*const*/ *WCHAR, filter ASSOC_FILTER, enumhandlers **IEnumAssocHandlers) HRESULT { 921 ret1 := syscall3(sHAssocEnumHandlers, 3, 922 uintptr(unsafe.Pointer(extra)), 923 uintptr(filter), 924 uintptr(unsafe.Pointer(enumhandlers))) 925 return HRESULT(ret1) 926 } 927 928 func SHBindToParent(pidl /*const*/ LPCITEMIDLIST, riid REFIID, ppv *LPVOID, ppidlLast *LPCITEMIDLIST) HRESULT { 929 ret1 := syscall6(sHBindToParent, 4, 930 uintptr(unsafe.Pointer(pidl)), 931 uintptr(unsafe.Pointer(riid)), 932 uintptr(unsafe.Pointer(ppv)), 933 uintptr(unsafe.Pointer(ppidlLast)), 934 0, 935 0) 936 return HRESULT(ret1) 937 } 938 939 func SHBrowseForFolder(lpbi LPBROWSEINFO) LPITEMIDLIST { 940 ret1 := syscall3(sHBrowseForFolder, 1, 941 uintptr(unsafe.Pointer(lpbi)), 942 0, 943 0) 944 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 945 } 946 947 func SHChangeNotification_Lock(hChange HANDLE, dwProcessId DWORD, lppidls **LPITEMIDLIST, lpwEventId *LONG) HANDLE { 948 ret1 := syscall6(sHChangeNotification_Lock, 4, 949 uintptr(hChange), 950 uintptr(dwProcessId), 951 uintptr(unsafe.Pointer(lppidls)), 952 uintptr(unsafe.Pointer(lpwEventId)), 953 0, 954 0) 955 return HANDLE(ret1) 956 } 957 958 func SHChangeNotification_Unlock(hLock HANDLE) bool { 959 ret1 := syscall3(sHChangeNotification_Unlock, 1, 960 uintptr(hLock), 961 0, 962 0) 963 return ret1 != 0 964 } 965 966 func SHChangeNotify(wEventId LONG, uFlags UINT, dwItem1 /*const*/ uintptr, dwItem2 /*const*/ uintptr) { 967 syscall6(sHChangeNotify, 4, 968 uintptr(wEventId), 969 uintptr(uFlags), 970 dwItem1, 971 dwItem2, 972 0, 973 0) 974 } 975 976 func SHChangeNotifyDeregister(hNotify ULONG) bool { 977 ret1 := syscall3(sHChangeNotifyDeregister, 1, 978 uintptr(hNotify), 979 0, 980 0) 981 return ret1 != 0 982 } 983 984 func SHChangeNotifyRegister(hwnd HWND, fSources int32, wEventMask LONG, uMsg UINT, cItems int32, lpItems *SHChangeNotifyEntry) ULONG { 985 ret1 := syscall6(sHChangeNotifyRegister, 6, 986 uintptr(hwnd), 987 uintptr(fSources), 988 uintptr(wEventMask), 989 uintptr(uMsg), 990 uintptr(cItems), 991 uintptr(unsafe.Pointer(lpItems))) 992 return ULONG(ret1) 993 } 994 995 func SHCloneSpecialIDList(hwndOwner HWND, nFolder DWORD, fCreate bool) LPITEMIDLIST { 996 ret1 := syscall3(sHCloneSpecialIDList, 3, 997 uintptr(hwndOwner), 998 uintptr(nFolder), 999 getUintptrFromBool(fCreate)) 1000 return (LPITEMIDLIST)(unsafe.Pointer(ret1)) 1001 } 1002 1003 func SHCoCreateInstance(aclsid string, clsid /*const*/ *CLSID, pUnkOuter LPUNKNOWN, refiid REFIID, ppv *LPVOID) HRESULT { 1004 aclsidStr := unicode16FromString(aclsid) 1005 ret1 := syscall6(sHCoCreateInstance, 5, 1006 uintptr(unsafe.Pointer(&aclsidStr[0])), 1007 uintptr(unsafe.Pointer(clsid)), 1008 uintptr(unsafe.Pointer(pUnkOuter)), 1009 uintptr(unsafe.Pointer(refiid)), 1010 uintptr(unsafe.Pointer(ppv)), 1011 0) 1012 return HRESULT(ret1) 1013 } 1014 1015 func SHCreateDefaultContextMenu(pdcm /*const*/ *DEFCONTEXTMENU, riid REFIID, ppv uintptr) HRESULT { 1016 ret1 := syscall3(sHCreateDefaultContextMenu, 3, 1017 uintptr(unsafe.Pointer(pdcm)), 1018 uintptr(unsafe.Pointer(riid)), 1019 ppv) 1020 return HRESULT(ret1) 1021 } 1022 1023 func SHCreateDirectory(hWnd HWND, path /*const*/ uintptr) DWORD { 1024 ret1 := syscall3(sHCreateDirectory, 2, 1025 uintptr(hWnd), 1026 path, 1027 0) 1028 return DWORD(ret1) 1029 } 1030 1031 func SHCreateDirectoryEx(hWnd HWND, path string, sec *SECURITY_ATTRIBUTES) int32 { 1032 pathStr := unicode16FromString(path) 1033 ret1 := syscall3(sHCreateDirectoryEx, 3, 1034 uintptr(hWnd), 1035 uintptr(unsafe.Pointer(&pathStr[0])), 1036 uintptr(unsafe.Pointer(sec))) 1037 return int32(ret1) 1038 } 1039 1040 func SHCreateFileExtractIconW(file string, attribs DWORD, riid REFIID, ppv uintptr) HRESULT { 1041 fileStr := unicode16FromString(file) 1042 ret1 := syscall6(sHCreateFileExtractIconW, 4, 1043 uintptr(unsafe.Pointer(&fileStr[0])), 1044 uintptr(attribs), 1045 uintptr(unsafe.Pointer(riid)), 1046 ppv, 1047 0, 1048 0) 1049 return HRESULT(ret1) 1050 } 1051 1052 func SHCreateItemFromIDList(pidl /*const*/ PCIDLIST_ABSOLUTE, riid REFIID, ppv uintptr) HRESULT { 1053 ret1 := syscall3(sHCreateItemFromIDList, 3, 1054 uintptr(unsafe.Pointer(pidl)), 1055 uintptr(unsafe.Pointer(riid)), 1056 ppv) 1057 return HRESULT(ret1) 1058 } 1059 1060 func SHCreateItemFromParsingName(pszPath string, pbc *IBindCtx, riid REFIID, ppv uintptr) HRESULT { 1061 pszPathStr := unicode16FromString(pszPath) 1062 ret1 := syscall6(sHCreateItemFromParsingName, 4, 1063 uintptr(unsafe.Pointer(&pszPathStr[0])), 1064 uintptr(unsafe.Pointer(pbc)), 1065 uintptr(unsafe.Pointer(riid)), 1066 ppv, 1067 0, 1068 0) 1069 return HRESULT(ret1) 1070 } 1071 1072 func SHCreateQueryCancelAutoPlayMoniker(moniker **IMoniker) HRESULT { 1073 ret1 := syscall3(sHCreateQueryCancelAutoPlayMoniker, 1, 1074 uintptr(unsafe.Pointer(moniker)), 1075 0, 1076 0) 1077 return HRESULT(ret1) 1078 } 1079 1080 func SHCreateShellFolderView(pcsfv /*const*/ *SFV_CREATE, ppsv **IShellView) HRESULT { 1081 ret1 := syscall3(sHCreateShellFolderView, 2, 1082 uintptr(unsafe.Pointer(pcsfv)), 1083 uintptr(unsafe.Pointer(ppsv)), 1084 0) 1085 return HRESULT(ret1) 1086 } 1087 1088 func SHCreateShellFolderViewEx(psvcbi LPCSFV, ppv **IShellView) HRESULT { 1089 ret1 := syscall3(sHCreateShellFolderViewEx, 2, 1090 uintptr(unsafe.Pointer(psvcbi)), 1091 uintptr(unsafe.Pointer(ppv)), 1092 0) 1093 return HRESULT(ret1) 1094 } 1095 1096 func SHCreateShellItem(pidlParent /*const*/ LPCITEMIDLIST, psfParent *IShellFolder, pidl /*const*/ LPCITEMIDLIST, ppsi **IShellItem) HRESULT { 1097 ret1 := syscall6(sHCreateShellItem, 4, 1098 uintptr(unsafe.Pointer(pidlParent)), 1099 uintptr(unsafe.Pointer(psfParent)), 1100 uintptr(unsafe.Pointer(pidl)), 1101 uintptr(unsafe.Pointer(ppsi)), 1102 0, 1103 0) 1104 return HRESULT(ret1) 1105 } 1106 1107 func SHCreateShellItemArray(pidlParent /*const*/ PCIDLIST_ABSOLUTE, psf *IShellFolder, cidl UINT, ppidl PCUITEMID_CHILD_ARRAY, ppsiItemArray **IShellItemArray) HRESULT { 1108 ret1 := syscall6(sHCreateShellItemArray, 5, 1109 uintptr(unsafe.Pointer(pidlParent)), 1110 uintptr(unsafe.Pointer(psf)), 1111 uintptr(cidl), 1112 uintptr(unsafe.Pointer(ppidl)), 1113 uintptr(unsafe.Pointer(ppsiItemArray)), 1114 0) 1115 return HRESULT(ret1) 1116 } 1117 1118 func SHCreateShellItemArrayFromDataObject(pdo *IDataObject, riid REFIID, ppv uintptr) HRESULT { 1119 ret1 := syscall3(sHCreateShellItemArrayFromDataObject, 3, 1120 uintptr(unsafe.Pointer(pdo)), 1121 uintptr(unsafe.Pointer(riid)), 1122 ppv) 1123 return HRESULT(ret1) 1124 } 1125 1126 func SHCreateShellItemArrayFromIDLists(cidl UINT, pidl_array PCIDLIST_ABSOLUTE_ARRAY, psia **IShellItemArray) HRESULT { 1127 ret1 := syscall3(sHCreateShellItemArrayFromIDLists, 3, 1128 uintptr(cidl), 1129 uintptr(unsafe.Pointer(pidl_array)), 1130 uintptr(unsafe.Pointer(psia))) 1131 return HRESULT(ret1) 1132 } 1133 1134 func SHCreateShellItemArrayFromShellItem(item *IShellItem, riid REFIID, ppv uintptr) HRESULT { 1135 ret1 := syscall3(sHCreateShellItemArrayFromShellItem, 3, 1136 uintptr(unsafe.Pointer(item)), 1137 uintptr(unsafe.Pointer(riid)), 1138 ppv) 1139 return HRESULT(ret1) 1140 } 1141 1142 func SHCreateStdEnumFmtEtc(cFormats DWORD, lpFormats /*const*/ *FORMATETC, ppenumFormatetc *LPENUMFORMATETC) HRESULT { 1143 ret1 := syscall3(sHCreateStdEnumFmtEtc, 3, 1144 uintptr(cFormats), 1145 uintptr(unsafe.Pointer(lpFormats)), 1146 uintptr(unsafe.Pointer(ppenumFormatetc))) 1147 return HRESULT(ret1) 1148 } 1149 1150 func SHDefExtractIcon(pszIconFile string, iIndex int32, uFlags UINT, phiconLarge *HICON, phiconSmall *HICON, nIconSize UINT) HRESULT { 1151 pszIconFileStr := unicode16FromString(pszIconFile) 1152 ret1 := syscall6(sHDefExtractIcon, 6, 1153 uintptr(unsafe.Pointer(&pszIconFileStr[0])), 1154 uintptr(iIndex), 1155 uintptr(uFlags), 1156 uintptr(unsafe.Pointer(phiconLarge)), 1157 uintptr(unsafe.Pointer(phiconSmall)), 1158 uintptr(nIconSize)) 1159 return HRESULT(ret1) 1160 } 1161 1162 func SHDoDragDrop(hWnd HWND, lpDataObject LPDATAOBJECT, lpDropSource LPDROPSOURCE, dwOKEffect DWORD, pdwEffect *uint32) HRESULT { 1163 ret1 := syscall6(sHDoDragDrop, 5, 1164 uintptr(hWnd), 1165 uintptr(unsafe.Pointer(lpDataObject)), 1166 uintptr(unsafe.Pointer(lpDropSource)), 1167 uintptr(dwOKEffect), 1168 uintptr(unsafe.Pointer(pdwEffect)), 1169 0) 1170 return HRESULT(ret1) 1171 } 1172 1173 func SHEmptyRecycleBin(hwnd HWND, pszRootPath string, dwFlags DWORD) HRESULT { 1174 pszRootPathStr := unicode16FromString(pszRootPath) 1175 ret1 := syscall3(sHEmptyRecycleBin, 3, 1176 uintptr(hwnd), 1177 uintptr(unsafe.Pointer(&pszRootPathStr[0])), 1178 uintptr(dwFlags)) 1179 return HRESULT(ret1) 1180 } 1181 1182 func SHEnumerateUnreadMailAccountsW(user HKEY, idx DWORD, mailaddress LPWSTR, mailaddresslen INT) HRESULT { 1183 ret1 := syscall6(sHEnumerateUnreadMailAccountsW, 4, 1184 uintptr(user), 1185 uintptr(idx), 1186 uintptr(unsafe.Pointer(mailaddress)), 1187 uintptr(mailaddresslen), 1188 0, 1189 0) 1190 return HRESULT(ret1) 1191 } 1192 1193 func SHFileOperation(lpFileOp LPSHFILEOPSTRUCT) int32 { 1194 ret1 := syscall3(sHFileOperation, 1, 1195 uintptr(unsafe.Pointer(lpFileOp)), 1196 0, 1197 0) 1198 return int32(ret1) 1199 } 1200 1201 func SHFindFiles(pidlFolder /*const*/ LPCITEMIDLIST, pidlSaveFile /*const*/ LPCITEMIDLIST) bool { 1202 ret1 := syscall3(sHFindFiles, 2, 1203 uintptr(unsafe.Pointer(pidlFolder)), 1204 uintptr(unsafe.Pointer(pidlSaveFile)), 1205 0) 1206 return ret1 != 0 1207 } 1208 1209 func SHFind_InitMenuPopup(hMenu HMENU, hWndParent HWND, w DWORD, x DWORD) LPVOID { 1210 ret1 := syscall6(sHFind_InitMenuPopup, 4, 1211 uintptr(hMenu), 1212 uintptr(hWndParent), 1213 uintptr(w), 1214 uintptr(x), 1215 0, 1216 0) 1217 return (LPVOID)(unsafe.Pointer(ret1)) 1218 } 1219 1220 func SHFlushClipboard() HRESULT { 1221 ret1 := syscall3(sHFlushClipboard, 0, 1222 0, 1223 0, 1224 0) 1225 return HRESULT(ret1) 1226 } 1227 1228 func SHFlushSFCache() { 1229 syscall3(sHFlushSFCache, 0, 1230 0, 1231 0, 1232 0) 1233 } 1234 1235 func SHFormatDrive(hwnd HWND, drive UINT, fmtID UINT, options UINT) DWORD { 1236 ret1 := syscall6(sHFormatDrive, 4, 1237 uintptr(hwnd), 1238 uintptr(drive), 1239 uintptr(fmtID), 1240 uintptr(options), 1241 0, 1242 0) 1243 return DWORD(ret1) 1244 } 1245 1246 func SHFree(pv LPVOID) { 1247 syscall3(sHFree, 1, 1248 uintptr(unsafe.Pointer(pv)), 1249 0, 1250 0) 1251 } 1252 1253 func SHFreeNameMappings(hNameMapping HANDLE) { 1254 syscall3(sHFreeNameMappings, 1, 1255 uintptr(hNameMapping), 1256 0, 1257 0) 1258 } 1259 1260 func SHGetDataFromIDList(psf LPSHELLFOLDER, pidl /*const*/ LPCITEMIDLIST, nFormat int32, dest LPVOID, aLen int32) HRESULT { 1261 ret1 := syscall6(sHGetDataFromIDList, 5, 1262 uintptr(unsafe.Pointer(psf)), 1263 uintptr(unsafe.Pointer(pidl)), 1264 uintptr(nFormat), 1265 uintptr(unsafe.Pointer(dest)), 1266 uintptr(aLen), 1267 0) 1268 return HRESULT(ret1) 1269 } 1270 1271 func SHGetDesktopFolder(psf **IShellFolder) HRESULT { 1272 ret1 := syscall3(sHGetDesktopFolder, 1, 1273 uintptr(unsafe.Pointer(psf)), 1274 0, 1275 0) 1276 return HRESULT(ret1) 1277 } 1278 1279 func SHGetFileInfo(path string, dwFileAttributes DWORD, psfi *SHFILEINFO, sizeofpsfi UINT, flags UINT) *uint32 { 1280 pathStr := unicode16FromString(path) 1281 ret1 := syscall6(sHGetFileInfo, 5, 1282 uintptr(unsafe.Pointer(&pathStr[0])), 1283 uintptr(dwFileAttributes), 1284 uintptr(unsafe.Pointer(psfi)), 1285 uintptr(sizeofpsfi), 1286 uintptr(flags), 1287 0) 1288 return (*uint32)(unsafe.Pointer(ret1)) 1289 } 1290 1291 func SHGetFolderLocation(hwndOwner HWND, nFolder int32, hToken HANDLE, dwReserved DWORD, ppidl *LPITEMIDLIST) HRESULT { 1292 ret1 := syscall6(sHGetFolderLocation, 5, 1293 uintptr(hwndOwner), 1294 uintptr(nFolder), 1295 uintptr(hToken), 1296 uintptr(dwReserved), 1297 uintptr(unsafe.Pointer(ppidl)), 1298 0) 1299 return HRESULT(ret1) 1300 } 1301 1302 func SHGetFolderPathAndSubDir(hwndOwner HWND, nFolder int32, hToken HANDLE, dwFlags DWORD, pszSubPath string, pszPath LPWSTR) HRESULT { 1303 pszSubPathStr := unicode16FromString(pszSubPath) 1304 ret1 := syscall6(sHGetFolderPathAndSubDir, 6, 1305 uintptr(hwndOwner), 1306 uintptr(nFolder), 1307 uintptr(hToken), 1308 uintptr(dwFlags), 1309 uintptr(unsafe.Pointer(&pszSubPathStr[0])), 1310 uintptr(unsafe.Pointer(pszPath))) 1311 return HRESULT(ret1) 1312 } 1313 1314 func SHGetFolderPathEx(rfid REFKNOWNFOLDERID, flags DWORD, token HANDLE, path LPWSTR, aLen DWORD) HRESULT { 1315 ret1 := syscall6(sHGetFolderPathEx, 5, 1316 uintptr(unsafe.Pointer(rfid)), 1317 uintptr(flags), 1318 uintptr(token), 1319 uintptr(unsafe.Pointer(path)), 1320 uintptr(aLen), 1321 0) 1322 return HRESULT(ret1) 1323 } 1324 1325 func SHGetFolderPath(hwndOwner HWND, nFolder int32, hToken HANDLE, dwFlags DWORD, pszPath LPWSTR) HRESULT { 1326 ret1 := syscall6(sHGetFolderPath, 5, 1327 uintptr(hwndOwner), 1328 uintptr(nFolder), 1329 uintptr(hToken), 1330 uintptr(dwFlags), 1331 uintptr(unsafe.Pointer(pszPath)), 1332 0) 1333 return HRESULT(ret1) 1334 } 1335 1336 func SHGetIDListFromObject(punk *IUnknown, ppidl *PIDLIST_ABSOLUTE) HRESULT { 1337 ret1 := syscall3(sHGetIDListFromObject, 2, 1338 uintptr(unsafe.Pointer(punk)), 1339 uintptr(unsafe.Pointer(ppidl)), 1340 0) 1341 return HRESULT(ret1) 1342 } 1343 1344 func SHGetIconOverlayIndex(pszIconPath string, iIconIndex INT) INT { 1345 pszIconPathStr := unicode16FromString(pszIconPath) 1346 ret1 := syscall3(sHGetIconOverlayIndex, 2, 1347 uintptr(unsafe.Pointer(&pszIconPathStr[0])), 1348 uintptr(iIconIndex), 1349 0) 1350 return INT(ret1) 1351 } 1352 1353 func SHGetImageList(iImageList int32, riid REFIID, ppv uintptr) HRESULT { 1354 ret1 := syscall3(sHGetImageList, 3, 1355 uintptr(iImageList), 1356 uintptr(unsafe.Pointer(riid)), 1357 ppv) 1358 return HRESULT(ret1) 1359 } 1360 1361 func SHGetInstanceExplorer(lpUnknown **IUnknown) HRESULT { 1362 ret1 := syscall3(sHGetInstanceExplorer, 1, 1363 uintptr(unsafe.Pointer(lpUnknown)), 1364 0, 1365 0) 1366 return HRESULT(ret1) 1367 } 1368 1369 func SHGetItemFromDataObject(pdtobj *IDataObject, dwFlags DATAOBJ_GET_ITEM_FLAGS, riid REFIID, ppv uintptr) HRESULT { 1370 ret1 := syscall6(sHGetItemFromDataObject, 4, 1371 uintptr(unsafe.Pointer(pdtobj)), 1372 uintptr(dwFlags), 1373 uintptr(unsafe.Pointer(riid)), 1374 ppv, 1375 0, 1376 0) 1377 return HRESULT(ret1) 1378 } 1379 1380 func SHGetItemFromObject(punk *IUnknown, riid REFIID, ppv uintptr) HRESULT { 1381 ret1 := syscall3(sHGetItemFromObject, 3, 1382 uintptr(unsafe.Pointer(punk)), 1383 uintptr(unsafe.Pointer(riid)), 1384 ppv) 1385 return HRESULT(ret1) 1386 } 1387 1388 func SHGetKnownFolderIDList(rfid REFKNOWNFOLDERID, flags DWORD, token HANDLE, pidl *PIDLIST_ABSOLUTE) HRESULT { 1389 ret1 := syscall6(sHGetKnownFolderIDList, 4, 1390 uintptr(unsafe.Pointer(rfid)), 1391 uintptr(flags), 1392 uintptr(token), 1393 uintptr(unsafe.Pointer(pidl)), 1394 0, 1395 0) 1396 return HRESULT(ret1) 1397 } 1398 1399 func SHGetKnownFolderItem(rfid REFKNOWNFOLDERID, flags KNOWN_FOLDER_FLAG, hToken HANDLE, riid REFIID, ppv uintptr) HRESULT { 1400 ret1 := syscall6(sHGetKnownFolderItem, 5, 1401 uintptr(unsafe.Pointer(rfid)), 1402 uintptr(flags), 1403 uintptr(hToken), 1404 uintptr(unsafe.Pointer(riid)), 1405 ppv, 1406 0) 1407 return HRESULT(ret1) 1408 } 1409 1410 func SHGetKnownFolderPath(rfid REFKNOWNFOLDERID, flags DWORD, token HANDLE, path *PWSTR) HRESULT { 1411 ret1 := syscall6(sHGetKnownFolderPath, 4, 1412 uintptr(unsafe.Pointer(rfid)), 1413 uintptr(flags), 1414 uintptr(token), 1415 uintptr(unsafe.Pointer(path)), 1416 0, 1417 0) 1418 return HRESULT(ret1) 1419 } 1420 1421 func SHGetLocalizedName(path string, module LPWSTR, size UINT, res *int32) HRESULT { 1422 pathStr := unicode16FromString(path) 1423 ret1 := syscall6(sHGetLocalizedName, 4, 1424 uintptr(unsafe.Pointer(&pathStr[0])), 1425 uintptr(unsafe.Pointer(module)), 1426 uintptr(size), 1427 uintptr(unsafe.Pointer(res)), 1428 0, 1429 0) 1430 return HRESULT(ret1) 1431 } 1432 1433 func SHGetMalloc(lpmal *LPMALLOC) HRESULT { 1434 ret1 := syscall3(sHGetMalloc, 1, 1435 uintptr(unsafe.Pointer(lpmal)), 1436 0, 1437 0) 1438 return HRESULT(ret1) 1439 } 1440 1441 func SHGetNameFromIDList(pidl /*const*/ PCIDLIST_ABSOLUTE, sigdnName SIGDN, ppszName *PWSTR) HRESULT { 1442 ret1 := syscall3(sHGetNameFromIDList, 3, 1443 uintptr(unsafe.Pointer(pidl)), 1444 uintptr(sigdnName), 1445 uintptr(unsafe.Pointer(ppszName))) 1446 return HRESULT(ret1) 1447 } 1448 1449 func SHGetNewLinkInfo(pszLinkTo string, pszDir string, pszName LPWSTR, pfMustCopy *BOOL, uFlags UINT) bool { 1450 pszLinkToStr := unicode16FromString(pszLinkTo) 1451 pszDirStr := unicode16FromString(pszDir) 1452 ret1 := syscall6(sHGetNewLinkInfo, 5, 1453 uintptr(unsafe.Pointer(&pszLinkToStr[0])), 1454 uintptr(unsafe.Pointer(&pszDirStr[0])), 1455 uintptr(unsafe.Pointer(pszName)), 1456 uintptr(unsafe.Pointer(pfMustCopy)), 1457 uintptr(uFlags), 1458 0) 1459 return ret1 != 0 1460 } 1461 1462 func SHGetPathFromIDList(pidl /*const*/ LPCITEMIDLIST, pszPath LPWSTR) bool { 1463 ret1 := syscall3(sHGetPathFromIDList, 2, 1464 uintptr(unsafe.Pointer(pidl)), 1465 uintptr(unsafe.Pointer(pszPath)), 1466 0) 1467 return ret1 != 0 1468 } 1469 1470 func SHGetPropertyStoreForWindow(hwnd HWND, riid REFIID, ppv uintptr) HRESULT { 1471 ret1 := syscall3(sHGetPropertyStoreForWindow, 3, 1472 uintptr(hwnd), 1473 uintptr(unsafe.Pointer(riid)), 1474 ppv) 1475 return HRESULT(ret1) 1476 } 1477 1478 func SHGetPropertyStoreFromParsingName(pszPath string, pbc *IBindCtx, flags GETPROPERTYSTOREFLAGS, riid REFIID, ppv uintptr) HRESULT { 1479 pszPathStr := unicode16FromString(pszPath) 1480 ret1 := syscall6(sHGetPropertyStoreFromParsingName, 5, 1481 uintptr(unsafe.Pointer(&pszPathStr[0])), 1482 uintptr(unsafe.Pointer(pbc)), 1483 uintptr(flags), 1484 uintptr(unsafe.Pointer(riid)), 1485 ppv, 1486 0) 1487 return HRESULT(ret1) 1488 } 1489 1490 func SHGetRealIDL(lpsf LPSHELLFOLDER, pidlSimple /*const*/ LPCITEMIDLIST, pidlReal *LPITEMIDLIST) HRESULT { 1491 ret1 := syscall3(sHGetRealIDL, 3, 1492 uintptr(unsafe.Pointer(lpsf)), 1493 uintptr(unsafe.Pointer(pidlSimple)), 1494 uintptr(unsafe.Pointer(pidlReal))) 1495 return HRESULT(ret1) 1496 } 1497 1498 func SHGetSetSettings(lpss LPSHELLSTATE, dwMask DWORD, bSet bool) { 1499 syscall3(sHGetSetSettings, 3, 1500 uintptr(unsafe.Pointer(lpss)), 1501 uintptr(dwMask), 1502 getUintptrFromBool(bSet)) 1503 } 1504 1505 func SHGetSettings(lpsfs LPSHELLFLAGSTATE, dwMask DWORD) { 1506 syscall3(sHGetSettings, 2, 1507 uintptr(unsafe.Pointer(lpsfs)), 1508 uintptr(dwMask), 1509 0) 1510 } 1511 1512 func SHGetSpecialFolderLocation(hwndOwner HWND, nFolder INT, ppidl *LPITEMIDLIST) HRESULT { 1513 ret1 := syscall3(sHGetSpecialFolderLocation, 3, 1514 uintptr(hwndOwner), 1515 uintptr(nFolder), 1516 uintptr(unsafe.Pointer(ppidl))) 1517 return HRESULT(ret1) 1518 } 1519 1520 func SHGetSpecialFolderPath(hwndOwner HWND, szPath LPWSTR, nFolder int32, bCreate bool) bool { 1521 ret1 := syscall6(sHGetSpecialFolderPath, 4, 1522 uintptr(hwndOwner), 1523 uintptr(unsafe.Pointer(szPath)), 1524 uintptr(nFolder), 1525 getUintptrFromBool(bCreate), 1526 0, 1527 0) 1528 return ret1 != 0 1529 } 1530 1531 func SHGetStockIconInfo(id SHSTOCKICONID, flags UINT, sii *SHSTOCKICONINFO) HRESULT { 1532 ret1 := syscall3(sHGetStockIconInfo, 3, 1533 uintptr(id), 1534 uintptr(flags), 1535 uintptr(unsafe.Pointer(sii))) 1536 return HRESULT(ret1) 1537 } 1538 1539 func SHHandleUpdateImage(pidlExtra /*const*/ LPCITEMIDLIST) INT { 1540 ret1 := syscall3(sHHandleUpdateImage, 1, 1541 uintptr(unsafe.Pointer(pidlExtra)), 1542 0, 1543 0) 1544 return INT(ret1) 1545 } 1546 1547 func SHHelpShortcuts_RunDLL(dwArg1 DWORD, dwArg2 DWORD, dwArg3 DWORD, dwArg4 DWORD) DWORD { 1548 ret1 := syscall6(sHHelpShortcuts_RunDLL, 4, 1549 uintptr(dwArg1), 1550 uintptr(dwArg2), 1551 uintptr(dwArg3), 1552 uintptr(dwArg4), 1553 0, 1554 0) 1555 return DWORD(ret1) 1556 } 1557 1558 func SHIsFileAvailableOffline(path string, status *uint32) HRESULT { 1559 pathStr := unicode16FromString(path) 1560 ret1 := syscall3(sHIsFileAvailableOffline, 2, 1561 uintptr(unsafe.Pointer(&pathStr[0])), 1562 uintptr(unsafe.Pointer(status)), 1563 0) 1564 return HRESULT(ret1) 1565 } 1566 1567 func SHLimitInputEdit(textbox HWND, folder *IShellFolder) HRESULT { 1568 ret1 := syscall3(sHLimitInputEdit, 2, 1569 uintptr(textbox), 1570 uintptr(unsafe.Pointer(folder)), 1571 0) 1572 return HRESULT(ret1) 1573 } 1574 1575 func SHLoadInProc(rclsid /*const*/ REFCLSID) HRESULT { 1576 ret1 := syscall3(sHLoadInProc, 1, 1577 uintptr(unsafe.Pointer(rclsid)), 1578 0, 1579 0) 1580 return HRESULT(ret1) 1581 } 1582 1583 func SHLoadNonloadedIconOverlayIdentifiers() HRESULT { 1584 ret1 := syscall3(sHLoadNonloadedIconOverlayIdentifiers, 0, 1585 0, 1586 0, 1587 0) 1588 return HRESULT(ret1) 1589 } 1590 1591 func SHMapIDListToImageListIndexAsync(pts *IUnknown, psf *IShellFolder, pidl /*const*/ LPCITEMIDLIST, flags UINT, pfn uintptr, pvData uintptr, pvHint uintptr, piIndex *int, piIndexSel *int) HRESULT { 1592 ret1 := syscall9(sHMapIDListToImageListIndexAsync, 9, 1593 uintptr(unsafe.Pointer(pts)), 1594 uintptr(unsafe.Pointer(psf)), 1595 uintptr(unsafe.Pointer(pidl)), 1596 uintptr(flags), 1597 pfn, 1598 pvData, 1599 pvHint, 1600 uintptr(unsafe.Pointer(piIndex)), 1601 uintptr(unsafe.Pointer(piIndexSel))) 1602 return HRESULT(ret1) 1603 } 1604 1605 func SHMapPIDLToSystemImageListIndex(sh *IShellFolder, pidl /*const*/ LPCITEMIDLIST, pIndex *int) int32 { 1606 ret1 := syscall3(sHMapPIDLToSystemImageListIndex, 3, 1607 uintptr(unsafe.Pointer(sh)), 1608 uintptr(unsafe.Pointer(pidl)), 1609 uintptr(unsafe.Pointer(pIndex))) 1610 return int32(ret1) 1611 } 1612 1613 func SHObjectProperties(hwnd HWND, dwType DWORD, szObject string, szPage string) bool { 1614 szObjectStr := unicode16FromString(szObject) 1615 szPageStr := unicode16FromString(szPage) 1616 ret1 := syscall6(sHObjectProperties, 4, 1617 uintptr(hwnd), 1618 uintptr(dwType), 1619 uintptr(unsafe.Pointer(&szObjectStr[0])), 1620 uintptr(unsafe.Pointer(&szPageStr[0])), 1621 0, 1622 0) 1623 return ret1 != 0 1624 } 1625 1626 func SHOpenFolderAndSelectItems(pidlFolder /*const*/ PCIDLIST_ABSOLUTE, cidl UINT, apidl *PCUITEMID_CHILD_ARRAY, flags DWORD) HRESULT { 1627 ret1 := syscall6(sHOpenFolderAndSelectItems, 4, 1628 uintptr(unsafe.Pointer(pidlFolder)), 1629 uintptr(cidl), 1630 uintptr(unsafe.Pointer(apidl)), 1631 uintptr(flags), 1632 0, 1633 0) 1634 return HRESULT(ret1) 1635 } 1636 1637 func SHParseDisplayName(name string, bindctx *IBindCtx, pidlist *LPITEMIDLIST, attr_in SFGAOF, attr_out *SFGAOF) HRESULT { 1638 nameStr := unicode16FromString(name) 1639 ret1 := syscall6(sHParseDisplayName, 5, 1640 uintptr(unsafe.Pointer(&nameStr[0])), 1641 uintptr(unsafe.Pointer(bindctx)), 1642 uintptr(unsafe.Pointer(pidlist)), 1643 uintptr(attr_in), 1644 uintptr(unsafe.Pointer(attr_out)), 1645 0) 1646 return HRESULT(ret1) 1647 } 1648 1649 func SHPathPrepareForWrite(hwnd HWND, modless *IUnknown, path string, flags DWORD) HRESULT { 1650 pathStr := unicode16FromString(path) 1651 ret1 := syscall6(sHPathPrepareForWrite, 4, 1652 uintptr(hwnd), 1653 uintptr(unsafe.Pointer(modless)), 1654 uintptr(unsafe.Pointer(&pathStr[0])), 1655 uintptr(flags), 1656 0, 1657 0) 1658 return HRESULT(ret1) 1659 } 1660 1661 func SHPropStgCreate(psstg *IPropertySetStorage, fmtid REFFMTID, pclsid /*const*/ *CLSID, grfFlags DWORD, grfMode DWORD, dwDisposition DWORD, ppstg **IPropertyStorage, puCodePage *UINT) HRESULT { 1662 ret1 := syscall9(sHPropStgCreate, 8, 1663 uintptr(unsafe.Pointer(psstg)), 1664 uintptr(unsafe.Pointer(fmtid)), 1665 uintptr(unsafe.Pointer(pclsid)), 1666 uintptr(grfFlags), 1667 uintptr(grfMode), 1668 uintptr(dwDisposition), 1669 uintptr(unsafe.Pointer(ppstg)), 1670 uintptr(unsafe.Pointer(puCodePage)), 1671 0) 1672 return HRESULT(ret1) 1673 } 1674 1675 func SHPropStgReadMultiple(pps *IPropertyStorage, uCodePage UINT, cpspec ULONG, rgpspec /*const*/ *PROPSPEC, rgvar *PROPVARIANT) HRESULT { 1676 ret1 := syscall6(sHPropStgReadMultiple, 5, 1677 uintptr(unsafe.Pointer(pps)), 1678 uintptr(uCodePage), 1679 uintptr(cpspec), 1680 uintptr(unsafe.Pointer(rgpspec)), 1681 uintptr(unsafe.Pointer(rgvar)), 1682 0) 1683 return HRESULT(ret1) 1684 } 1685 1686 func SHPropStgWriteMultiple(pps *IPropertyStorage, uCodePage *UINT, cpspec ULONG, rgpspec /*const*/ *PROPSPEC, rgvar *PROPVARIANT, propidNameFirst PROPID) HRESULT { 1687 ret1 := syscall6(sHPropStgWriteMultiple, 6, 1688 uintptr(unsafe.Pointer(pps)), 1689 uintptr(unsafe.Pointer(uCodePage)), 1690 uintptr(cpspec), 1691 uintptr(unsafe.Pointer(rgpspec)), 1692 uintptr(unsafe.Pointer(rgvar)), 1693 uintptr(propidNameFirst)) 1694 return HRESULT(ret1) 1695 } 1696 1697 func SHQueryRecycleBin(pszRootPath string, pSHQueryRBInfo LPSHQUERYRBINFO) HRESULT { 1698 pszRootPathStr := unicode16FromString(pszRootPath) 1699 ret1 := syscall3(sHQueryRecycleBin, 2, 1700 uintptr(unsafe.Pointer(&pszRootPathStr[0])), 1701 uintptr(unsafe.Pointer(pSHQueryRBInfo)), 1702 0) 1703 return HRESULT(ret1) 1704 } 1705 1706 func SHQueryUserNotificationState(state *QUERY_USER_NOTIFICATION_STATE) HRESULT { 1707 ret1 := syscall3(sHQueryUserNotificationState, 1, 1708 uintptr(unsafe.Pointer(state)), 1709 0, 1710 0) 1711 return HRESULT(ret1) 1712 } 1713 1714 func SHRemoveLocalizedName(path /*const*/ *WCHAR) HRESULT { 1715 ret1 := syscall3(sHRemoveLocalizedName, 1, 1716 uintptr(unsafe.Pointer(path)), 1717 0, 1718 0) 1719 return HRESULT(ret1) 1720 } 1721 1722 func SHRestricted(policy RESTRICTIONS) DWORD { 1723 ret1 := syscall3(sHRestricted, 1, 1724 uintptr(policy), 1725 0, 1726 0) 1727 return DWORD(ret1) 1728 } 1729 1730 func SHRunControlPanel(commandLine string, parent HWND) bool { 1731 commandLineStr := unicode16FromString(commandLine) 1732 ret1 := syscall3(sHRunControlPanel, 2, 1733 uintptr(unsafe.Pointer(&commandLineStr[0])), 1734 uintptr(parent), 1735 0) 1736 return ret1 != 0 1737 } 1738 1739 func SHSetInstanceExplorer(lpUnknown LPUNKNOWN) { 1740 syscall3(sHSetInstanceExplorer, 1, 1741 uintptr(unsafe.Pointer(lpUnknown)), 1742 0, 1743 0) 1744 } 1745 1746 func SHSetLocalizedName(pszPath LPWSTR, pszResModule string, idsRes int32) HRESULT { 1747 pszResModuleStr := unicode16FromString(pszResModule) 1748 ret1 := syscall3(sHSetLocalizedName, 3, 1749 uintptr(unsafe.Pointer(pszPath)), 1750 uintptr(unsafe.Pointer(&pszResModuleStr[0])), 1751 uintptr(idsRes)) 1752 return HRESULT(ret1) 1753 } 1754 1755 func SHSetUnreadMailCountW(mailaddress string, count DWORD, executecommand string) HRESULT { 1756 mailaddressStr := unicode16FromString(mailaddress) 1757 executecommandStr := unicode16FromString(executecommand) 1758 ret1 := syscall3(sHSetUnreadMailCountW, 3, 1759 uintptr(unsafe.Pointer(&mailaddressStr[0])), 1760 uintptr(count), 1761 uintptr(unsafe.Pointer(&executecommandStr[0]))) 1762 return HRESULT(ret1) 1763 } 1764 1765 func SHShellFolderView_Message(hwndCabinet HWND, uMessage UINT, lParam LPARAM) LRESULT { 1766 ret1 := syscall3(sHShellFolderView_Message, 3, 1767 uintptr(hwndCabinet), 1768 uintptr(uMessage), 1769 uintptr(lParam)) 1770 return LRESULT(ret1) 1771 } 1772 1773 func SHUpdateImage(pszHashItem string, iIndex int32, uFlags UINT, iImageIndex int32) { 1774 pszHashItemStr := unicode16FromString(pszHashItem) 1775 syscall6(sHUpdateImage, 4, 1776 uintptr(unsafe.Pointer(&pszHashItemStr[0])), 1777 uintptr(iIndex), 1778 uintptr(uFlags), 1779 uintptr(iImageIndex), 1780 0, 1781 0) 1782 } 1783 1784 func SHUpdateRecycleBinIcon() HRESULT { 1785 ret1 := syscall3(sHUpdateRecycleBinIcon, 0, 1786 0, 1787 0, 1788 0) 1789 return HRESULT(ret1) 1790 } 1791 1792 func SHValidateUNC(hwndOwner HWND, pszFile PWSTR, fConnect UINT) bool { 1793 ret1 := syscall3(sHValidateUNC, 3, 1794 uintptr(hwndOwner), 1795 uintptr(unsafe.Pointer(pszFile)), 1796 uintptr(fConnect)) 1797 return ret1 != 0 1798 } 1799 1800 func SetCurrentProcessExplicitAppUserModelID(appid string) HRESULT { 1801 appidStr := unicode16FromString(appid) 1802 ret1 := syscall3(setCurrentProcessExplicitAppUserModelID, 1, 1803 uintptr(unsafe.Pointer(&appidStr[0])), 1804 0, 1805 0) 1806 return HRESULT(ret1) 1807 } 1808 1809 func SheChangeDir(path LPWSTR) DWORD { 1810 ret1 := syscall3(sheChangeDir, 1, 1811 uintptr(unsafe.Pointer(path)), 1812 0, 1813 0) 1814 return DWORD(ret1) 1815 } 1816 1817 func SheGetDir(drive DWORD, buffer LPWSTR) DWORD { 1818 ret1 := syscall3(sheGetDir, 2, 1819 uintptr(drive), 1820 uintptr(unsafe.Pointer(buffer)), 1821 0) 1822 return DWORD(ret1) 1823 } 1824 1825 func ShellAbout(hWnd HWND, szApp string, szOtherStuff string, hIcon HICON) bool { 1826 szAppStr := unicode16FromString(szApp) 1827 szOtherStuffStr := unicode16FromString(szOtherStuff) 1828 ret1 := syscall6(shellAbout, 4, 1829 uintptr(hWnd), 1830 uintptr(unsafe.Pointer(&szAppStr[0])), 1831 uintptr(unsafe.Pointer(&szOtherStuffStr[0])), 1832 uintptr(hIcon), 1833 0, 1834 0) 1835 return ret1 != 0 1836 } 1837 1838 func ShellExecute(hwnd HWND, lpVerb string, lpFile string, lpParameters string, lpDirectory string, nShowCmd INT) HINSTANCE { 1839 lpVerbStr := unicode16FromString(lpVerb) 1840 lpFileStr := unicode16FromString(lpFile) 1841 lpParametersStr := unicode16FromString(lpParameters) 1842 lpDirectoryStr := unicode16FromString(lpDirectory) 1843 ret1 := syscall6(shellExecute, 6, 1844 uintptr(hwnd), 1845 uintptr(unsafe.Pointer(&lpVerbStr[0])), 1846 uintptr(unsafe.Pointer(&lpFileStr[0])), 1847 uintptr(unsafe.Pointer(&lpParametersStr[0])), 1848 uintptr(unsafe.Pointer(&lpDirectoryStr[0])), 1849 uintptr(nShowCmd)) 1850 return HINSTANCE(ret1) 1851 } 1852 1853 func Shell_GetImageLists(lpBigList *HIMAGELIST, lpSmallList *HIMAGELIST) bool { 1854 ret1 := syscall3(shell_GetImageLists, 2, 1855 uintptr(unsafe.Pointer(lpBigList)), 1856 uintptr(unsafe.Pointer(lpSmallList)), 1857 0) 1858 return ret1 != 0 1859 } 1860 1861 func Shell_MergeMenus(hmDst HMENU, hmSrc HMENU, uInsert UINT, uIDAdjust UINT, uIDAdjustMax UINT, uFlags ULONG) UINT { 1862 ret1 := syscall6(shell_MergeMenus, 6, 1863 uintptr(hmDst), 1864 uintptr(hmSrc), 1865 uintptr(uInsert), 1866 uintptr(uIDAdjust), 1867 uintptr(uIDAdjustMax), 1868 uintptr(uFlags)) 1869 return UINT(ret1) 1870 } 1871 1872 func Shell_NotifyIcon(dwMessage DWORD, nid PNOTIFYICONDATA) bool { 1873 ret1 := syscall3(shell_NotifyIcon, 2, 1874 uintptr(dwMessage), 1875 uintptr(unsafe.Pointer(nid)), 1876 0) 1877 return ret1 != 0 1878 } 1879 1880 func SignalFileOpen(pidl /*const*/ PCIDLIST_ABSOLUTE) bool { 1881 ret1 := syscall3(signalFileOpen, 1, 1882 uintptr(unsafe.Pointer(pidl)), 1883 0, 1884 0) 1885 return ret1 != 0 1886 } 1887 1888 func WOWShellExecute(hWnd HWND, lpOperation /*const*/ LPCSTR, lpFile /*const*/ LPCSTR, lpParameters /*const*/ LPCSTR, lpDirectory /*const*/ LPCSTR, iShowCmd INT, callback uintptr) HINSTANCE { 1889 ret1 := syscall9(wOWShellExecute, 7, 1890 uintptr(hWnd), 1891 uintptr(unsafe.Pointer(lpOperation)), 1892 uintptr(unsafe.Pointer(lpFile)), 1893 uintptr(unsafe.Pointer(lpParameters)), 1894 uintptr(unsafe.Pointer(lpDirectory)), 1895 uintptr(iShowCmd), 1896 callback, 1897 0, 1898 0) 1899 return HINSTANCE(ret1) 1900 } 1901 1902 func WriteCabinetState(cs *CABINETSTATE) bool { 1903 ret1 := syscall3(writeCabinetState, 1, 1904 uintptr(unsafe.Pointer(cs)), 1905 0, 1906 0) 1907 return ret1 != 0 1908 }