4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * shlobj.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 9b639cf2d6 2015-05-05 kinaba: * Translated from MinGW API for MS-Windows 4.0 * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ 4e2933c620 2015-04-21 kinaba: module win32.shlobj; 9b639cf2d6 2015-05-05 kinaba: pragma(lib, "shell32"); 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // TODO: fix bitfields 4e2933c620 2015-04-21 kinaba: // TODO: CMIC_VALID_SEE_FLAGS 4e2933c620 2015-04-21 kinaba: // SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: import win32.commctrl, win32.ole2, win32.shlguid, win32.shellapi; 4e2933c620 2015-04-21 kinaba: private import win32.prsht, win32.unknwn, win32.w32api, win32.winbase, 4e2933c620 2015-04-21 kinaba: win32.winnt, win32.winuser, win32.wtypes, win32.objfwd, win32.objidl; 4e2933c620 2015-04-21 kinaba: private import win32.winnetwk; // for NETRESOURCE 9b639cf2d6 2015-05-05 kinaba: private import win32.oaidl : VARIANT; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // FIXME: clean up Windows version support 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(1): 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const BIF_RETURNONLYFSDIRS = 1; 4e2933c620 2015-04-21 kinaba: const BIF_DONTGOBELOWDOMAIN = 2; 4e2933c620 2015-04-21 kinaba: const BIF_STATUSTEXT = 4; 4e2933c620 2015-04-21 kinaba: const BIF_RETURNFSANCESTORS = 8; 4e2933c620 2015-04-21 kinaba: const BIF_EDITBOX = 16; 4e2933c620 2015-04-21 kinaba: const BIF_VALIDATE = 32; 4e2933c620 2015-04-21 kinaba: const BIF_NEWDIALOGSTYLE = 64; 4e2933c620 2015-04-21 kinaba: const BIF_BROWSEINCLUDEURLS = 128; 4e2933c620 2015-04-21 kinaba: const BIF_USENEWUI = BIF_EDITBOX | BIF_NEWDIALOGSTYLE; 4e2933c620 2015-04-21 kinaba: const BIF_BROWSEFORCOMPUTER = 0x1000; 4e2933c620 2015-04-21 kinaba: const BIF_BROWSEFORPRINTER = 0x2000; 4e2933c620 2015-04-21 kinaba: const BIF_BROWSEINCLUDEFILES = 0x4000; 4e2933c620 2015-04-21 kinaba: const BIF_SHAREABLE = 0x8000; 4e2933c620 2015-04-21 kinaba: const BFFM_INITIALIZED = 1; 4e2933c620 2015-04-21 kinaba: const BFFM_SELCHANGED = 2; 4e2933c620 2015-04-21 kinaba: const BFFM_VALIDATEFAILEDA = 3; 4e2933c620 2015-04-21 kinaba: const BFFM_VALIDATEFAILEDW = 4; 4e2933c620 2015-04-21 kinaba: const BFFM_SETSTATUSTEXTA = WM_USER + 100; 4e2933c620 2015-04-21 kinaba: const BFFM_ENABLEOK = WM_USER + 101; 4e2933c620 2015-04-21 kinaba: const BFFM_SETSELECTIONA = WM_USER + 102; 4e2933c620 2015-04-21 kinaba: const BFFM_SETSELECTIONW = WM_USER + 103; 4e2933c620 2015-04-21 kinaba: const BFFM_SETSTATUSTEXTW = WM_USER + 104; 4e2933c620 2015-04-21 kinaba: const BFFM_SETOKTEXT = WM_USER + 105; 4e2933c620 2015-04-21 kinaba: const BFFM_SETEXPANDED = WM_USER + 106; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version(Unicode) { 4e2933c620 2015-04-21 kinaba: alias BFFM_SETSTATUSTEXTW BFFM_SETSTATUSTEXT; 4e2933c620 2015-04-21 kinaba: alias BFFM_SETSELECTIONW BFFM_SETSELECTION; 4e2933c620 2015-04-21 kinaba: alias BFFM_VALIDATEFAILEDW BFFM_VALIDATEFAILED; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias BFFM_SETSTATUSTEXTA BFFM_SETSTATUSTEXT; 4e2933c620 2015-04-21 kinaba: alias BFFM_SETSELECTIONA BFFM_SETSELECTION; 4e2933c620 2015-04-21 kinaba: alias BFFM_VALIDATEFAILEDA BFFM_VALIDATEFAILED; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DVASPECT_SHORTNAME = 2; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum SHARD { 9b639cf2d6 2015-05-05 kinaba: SHARD_PIDL = 1, 9b639cf2d6 2015-05-05 kinaba: SHARD_PATHA, 9b639cf2d6 2015-05-05 kinaba: SHARD_PATHW, 9b639cf2d6 2015-05-05 kinaba: SHARD_APPIDINFO, 9b639cf2d6 2015-05-05 kinaba: SHARD_APPIDINFOIDLIST, 9b639cf2d6 2015-05-05 kinaba: SHARD_LINK, 9b639cf2d6 2015-05-05 kinaba: SHARD_APPIDINFOLINK, 9b639cf2d6 2015-05-05 kinaba: SHARD_SHELLITEM, // = 8 9b639cf2d6 2015-05-05 kinaba: SHARD_PATH = (_WIN32_UNICODE ? SHARD_PATHW : SHARD_PATHA) 9b639cf2d6 2015-05-05 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SHCNE_RENAMEITEM = 1; 4e2933c620 2015-04-21 kinaba: const SHCNE_CREATE = 2; 4e2933c620 2015-04-21 kinaba: const SHCNE_DELETE = 4; 4e2933c620 2015-04-21 kinaba: const SHCNE_MKDIR = 8; 4e2933c620 2015-04-21 kinaba: const SHCNE_RMDIR = 16; 4e2933c620 2015-04-21 kinaba: const SHCNE_MEDIAINSERTED = 32; 4e2933c620 2015-04-21 kinaba: const SHCNE_MEDIAREMOVED = 64; 4e2933c620 2015-04-21 kinaba: const SHCNE_DRIVEREMOVED = 128; 4e2933c620 2015-04-21 kinaba: const SHCNE_DRIVEADD = 256; 4e2933c620 2015-04-21 kinaba: const SHCNE_NETSHARE = 512; 4e2933c620 2015-04-21 kinaba: const SHCNE_NETUNSHARE = 1024; 4e2933c620 2015-04-21 kinaba: const SHCNE_ATTRIBUTES = 2048; 4e2933c620 2015-04-21 kinaba: const SHCNE_UPDATEDIR = 4096; 4e2933c620 2015-04-21 kinaba: const SHCNE_UPDATEITEM = 8192; 4e2933c620 2015-04-21 kinaba: const SHCNE_SERVERDISCONNECT = 16384; 4e2933c620 2015-04-21 kinaba: const SHCNE_UPDATEIMAGE = 32768; 4e2933c620 2015-04-21 kinaba: const SHCNE_DRIVEADDGUI = 65536; 4e2933c620 2015-04-21 kinaba: const SHCNE_RENAMEFOLDER = 0x20000; 4e2933c620 2015-04-21 kinaba: const SHCNE_FREESPACE = 0x40000; 4e2933c620 2015-04-21 kinaba: const SHCNE_ASSOCCHANGED = 0x8000000; 4e2933c620 2015-04-21 kinaba: const SHCNE_DISKEVENTS = 0x2381F; 4e2933c620 2015-04-21 kinaba: const SHCNE_GLOBALEVENTS = 0xC0581E0; 4e2933c620 2015-04-21 kinaba: const SHCNE_ALLEVENTS = 0x7FFFFFFF; 4e2933c620 2015-04-21 kinaba: const SHCNE_INTERRUPT = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SHCNF_IDLIST = 0; 4e2933c620 2015-04-21 kinaba: const SHCNF_PATHA = 1; 4e2933c620 2015-04-21 kinaba: const SHCNF_PRINTERA = 2; 4e2933c620 2015-04-21 kinaba: const SHCNF_DWORD = 3; 4e2933c620 2015-04-21 kinaba: const SHCNF_PATHW = 5; 4e2933c620 2015-04-21 kinaba: const SHCNF_PRINTERW = 6; 4e2933c620 2015-04-21 kinaba: const SHCNF_TYPE = 0xFF; 4e2933c620 2015-04-21 kinaba: const SHCNF_FLUSH = 0x1000; 4e2933c620 2015-04-21 kinaba: const SHCNF_FLUSHNOWAIT = 0x2000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version(Unicode) { 4e2933c620 2015-04-21 kinaba: alias SHCNF_PATHW SHCNF_PATH; 4e2933c620 2015-04-21 kinaba: alias SHCNF_PRINTERW SHCNF_PRINTER; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias SHCNF_PATHA SHCNF_PATH; 4e2933c620 2015-04-21 kinaba: alias SHCNF_PRINTERA SHCNF_PRINTER; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum SFGAOF : DWORD { 9b639cf2d6 2015-05-05 kinaba: SFGAO_CANCOPY = DROPEFFECT.DROPEFFECT_COPY, 9b639cf2d6 2015-05-05 kinaba: SFGAO_CANMOVE = DROPEFFECT.DROPEFFECT_MOVE, 9b639cf2d6 2015-05-05 kinaba: SFGAO_CANLINK = DROPEFFECT.DROPEFFECT_LINK, 9b639cf2d6 2015-05-05 kinaba: SFGAO_CANRENAME = 0x00000010L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_CANDELETE = 0x00000020L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_HASPROPSHEET = 0x00000040L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_DROPTARGET = 0x00000100L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_CAPABILITYMASK = 0x00000177L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_ISSLOW = 0x00004000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_GHOSTED = 0x00008000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_LINK = 0x00010000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_SHARE = 0x00020000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_READONLY = 0x00040000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_HIDDEN = 0x00080000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_DISPLAYATTRMASK = (SFGAO_ISSLOW | SFGAO_GHOSTED | SFGAO_LINK 9b639cf2d6 2015-05-05 kinaba: | SFGAO_SHARE | SFGAO_READONLY | SFGAO_HIDDEN), 9b639cf2d6 2015-05-05 kinaba: SFGAO_FILESYSANCESTOR = 0x10000000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_FOLDER = 0x20000000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_FILESYSTEM = 0x40000000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_HASSUBFOLDER = 0x80000000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_CONTENTSMASK = 0x80000000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_VALIDATE = 0x01000000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_REMOVABLE = 0x02000000L, 9b639cf2d6 2015-05-05 kinaba: SFGAO_COMPRESSED = 0x04000000L 9b639cf2d6 2015-05-05 kinaba: } 4e2933c620 2015-04-21 kinaba: const STRRET_WSTR = 0; 4e2933c620 2015-04-21 kinaba: const STRRET_OFFSET = 1; 4e2933c620 2015-04-21 kinaba: const STRRET_CSTR = 2; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: SHGDFIL_FINDDATA = 1, 4e2933c620 2015-04-21 kinaba: SHGDFIL_NETRESOURCE, 4e2933c620 2015-04-21 kinaba: SHGDFIL_DESCRIPTIONID 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: SHDID_ROOT_REGITEM = 1, 4e2933c620 2015-04-21 kinaba: SHDID_FS_FILE, 4e2933c620 2015-04-21 kinaba: SHDID_FS_DIRECTORY, 4e2933c620 2015-04-21 kinaba: SHDID_FS_OTHER, 4e2933c620 2015-04-21 kinaba: SHDID_COMPUTER_DRIVE35, 4e2933c620 2015-04-21 kinaba: SHDID_COMPUTER_DRIVE525, 4e2933c620 2015-04-21 kinaba: SHDID_COMPUTER_REMOVABLE, 4e2933c620 2015-04-21 kinaba: SHDID_COMPUTER_FIXED, 4e2933c620 2015-04-21 kinaba: SHDID_COMPUTER_NETDRIVE, 4e2933c620 2015-04-21 kinaba: SHDID_COMPUTER_CDROM, 4e2933c620 2015-04-21 kinaba: SHDID_COMPUTER_RAMDISK, 4e2933c620 2015-04-21 kinaba: SHDID_COMPUTER_OTHER, 4e2933c620 2015-04-21 kinaba: SHDID_NET_DOMAIN, 4e2933c620 2015-04-21 kinaba: SHDID_NET_SERVER, 4e2933c620 2015-04-21 kinaba: SHDID_NET_SHARE, 4e2933c620 2015-04-21 kinaba: SHDID_NET_RESTOFNET, 4e2933c620 2015-04-21 kinaba: SHDID_NET_OTHER 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const TCHAR[] REGSTR_PATH_EXPLORER = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer"; 4e2933c620 2015-04-21 kinaba: const TCHAR[] REGSTR_PATH_SPECIAL_FOLDERS=REGSTR_PATH_EXPLORER ~ "\\Shell Folders"; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 9b639cf2d6 2015-05-05 kinaba: CSIDL_DESKTOP = 0, 4e2933c620 2015-04-21 kinaba: CSIDL_INTERNET, 4e2933c620 2015-04-21 kinaba: CSIDL_PROGRAMS, 4e2933c620 2015-04-21 kinaba: CSIDL_CONTROLS, 4e2933c620 2015-04-21 kinaba: CSIDL_PRINTERS, 4e2933c620 2015-04-21 kinaba: CSIDL_PERSONAL, 4e2933c620 2015-04-21 kinaba: CSIDL_FAVORITES, 4e2933c620 2015-04-21 kinaba: CSIDL_STARTUP, 4e2933c620 2015-04-21 kinaba: CSIDL_RECENT, 4e2933c620 2015-04-21 kinaba: CSIDL_SENDTO, 4e2933c620 2015-04-21 kinaba: CSIDL_BITBUCKET, 9b639cf2d6 2015-05-05 kinaba: CSIDL_STARTMENU, // = 11 9b639cf2d6 2015-05-05 kinaba: CSIDL_MYMUSIC = 13, 9b639cf2d6 2015-05-05 kinaba: CSIDL_MYVIDEO, // = 14 9b639cf2d6 2015-05-05 kinaba: CSIDL_DESKTOPDIRECTORY = 16, 4e2933c620 2015-04-21 kinaba: CSIDL_DRIVES, 4e2933c620 2015-04-21 kinaba: CSIDL_NETWORK, 4e2933c620 2015-04-21 kinaba: CSIDL_NETHOOD, 4e2933c620 2015-04-21 kinaba: CSIDL_FONTS, 4e2933c620 2015-04-21 kinaba: CSIDL_TEMPLATES, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_STARTMENU, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_PROGRAMS, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_STARTUP, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_DESKTOPDIRECTORY, 4e2933c620 2015-04-21 kinaba: CSIDL_APPDATA, 4e2933c620 2015-04-21 kinaba: CSIDL_PRINTHOOD, 4e2933c620 2015-04-21 kinaba: CSIDL_LOCAL_APPDATA, 4e2933c620 2015-04-21 kinaba: CSIDL_ALTSTARTUP, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_ALTSTARTUP, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_FAVORITES, 4e2933c620 2015-04-21 kinaba: CSIDL_INTERNET_CACHE, 4e2933c620 2015-04-21 kinaba: CSIDL_COOKIES, 4e2933c620 2015-04-21 kinaba: CSIDL_HISTORY, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_APPDATA, 4e2933c620 2015-04-21 kinaba: CSIDL_WINDOWS, 4e2933c620 2015-04-21 kinaba: CSIDL_SYSTEM, 4e2933c620 2015-04-21 kinaba: CSIDL_PROGRAM_FILES, 4e2933c620 2015-04-21 kinaba: CSIDL_MYPICTURES, 4e2933c620 2015-04-21 kinaba: CSIDL_PROFILE, 4e2933c620 2015-04-21 kinaba: CSIDL_SYSTEMX86, 4e2933c620 2015-04-21 kinaba: CSIDL_PROGRAM_FILESX86, 4e2933c620 2015-04-21 kinaba: CSIDL_PROGRAM_FILES_COMMON, 4e2933c620 2015-04-21 kinaba: CSIDL_PROGRAM_FILES_COMMONX86, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_TEMPLATES, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_DOCUMENTS, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_ADMINTOOLS, 4e2933c620 2015-04-21 kinaba: CSIDL_ADMINTOOLS, 9b639cf2d6 2015-05-05 kinaba: CSIDL_CONNECTIONS, // = 49 9b639cf2d6 2015-05-05 kinaba: CSIDL_COMMON_MUSIC = 53, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_PICTURES, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_VIDEO, 4e2933c620 2015-04-21 kinaba: CSIDL_RESOURCES, 4e2933c620 2015-04-21 kinaba: CSIDL_RESOURCES_LOCALIZED, 4e2933c620 2015-04-21 kinaba: CSIDL_COMMON_OEM_LINKS, 9b639cf2d6 2015-05-05 kinaba: CSIDL_CDBURN_AREA, // = 59 9b639cf2d6 2015-05-05 kinaba: CSIDL_COMPUTERSNEARME = 61, 4e2933c620 2015-04-21 kinaba: CSIDL_FLAG_DONT_VERIFY = 0x4000, 9b639cf2d6 2015-05-05 kinaba: CSIDL_FLAG_CREATE = 0x8000, 9b639cf2d6 2015-05-05 kinaba: CSIDL_FLAG_MASK = 0xFF00 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const TCHAR[] 4e2933c620 2015-04-21 kinaba: CFSTR_SHELLIDLIST = "Shell IDList Array", 4e2933c620 2015-04-21 kinaba: CFSTR_SHELLIDLISTOFFSET = "Shell Object Offsets", 4e2933c620 2015-04-21 kinaba: CFSTR_NETRESOURCES = "Net Resource", 4e2933c620 2015-04-21 kinaba: CFSTR_FILECONTENTS = "FileContents", 4e2933c620 2015-04-21 kinaba: CFSTR_FILENAMEA = "FileName", 4e2933c620 2015-04-21 kinaba: CFSTR_FILENAMEMAPA = "FileNameMap", 4e2933c620 2015-04-21 kinaba: CFSTR_FILEDESCRIPTORA = "FileGroupDescriptor", 4e2933c620 2015-04-21 kinaba: CFSTR_INETURLA = "UniformResourceLocator", 4e2933c620 2015-04-21 kinaba: CFSTR_SHELLURL = CFSTR_INETURLA, 4e2933c620 2015-04-21 kinaba: CFSTR_FILENAMEW = "FileNameW", 4e2933c620 2015-04-21 kinaba: CFSTR_FILENAMEMAPW = "FileNameMapW", 4e2933c620 2015-04-21 kinaba: CFSTR_FILEDESCRIPTORW = "FileGroupDescriptorW", 4e2933c620 2015-04-21 kinaba: CFSTR_INETURLW = "UniformResourceLocatorW"; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version(Unicode) { 4e2933c620 2015-04-21 kinaba: alias CFSTR_FILENAMEW CFSTR_FILENAME; 4e2933c620 2015-04-21 kinaba: alias CFSTR_FILENAMEMAPW CFSTR_FILENAMEMAP; 4e2933c620 2015-04-21 kinaba: alias CFSTR_FILEDESCRIPTORW CFSTR_FILEDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: alias CFSTR_INETURLW CFSTR_INETURL; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias CFSTR_FILENAMEA CFSTR_FILENAME; 4e2933c620 2015-04-21 kinaba: alias CFSTR_FILENAMEMAPA CFSTR_FILENAMEMAP; 4e2933c620 2015-04-21 kinaba: alias CFSTR_FILEDESCRIPTORA CFSTR_FILEDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: alias CFSTR_INETURLA CFSTR_INETURL; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: const TCHAR[] 4e2933c620 2015-04-21 kinaba: CFSTR_PRINTERGROUP = "PrinterFriendlyName", 4e2933c620 2015-04-21 kinaba: CFSTR_INDRAGLOOP = "InShellDragLoop", 4e2933c620 2015-04-21 kinaba: CFSTR_PASTESUCCEEDED = "Paste Succeeded", 4e2933c620 2015-04-21 kinaba: CFSTR_PERFORMEDDROPEFFECT = "Performed DropEffect", 4e2933c620 2015-04-21 kinaba: CFSTR_PREFERREDDROPEFFECT = "Preferred DropEffect"; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const CMF_NORMAL=0; 4e2933c620 2015-04-21 kinaba: const CMF_DEFAULTONLY=1; 4e2933c620 2015-04-21 kinaba: const CMF_VERBSONLY=2; 4e2933c620 2015-04-21 kinaba: const CMF_EXPLORE=4; 4e2933c620 2015-04-21 kinaba: const CMF_NOVERBS=8; 4e2933c620 2015-04-21 kinaba: const CMF_CANRENAME=16; 4e2933c620 2015-04-21 kinaba: const CMF_NODEFAULT=32; 4e2933c620 2015-04-21 kinaba: const CMF_INCLUDESTATIC=64; 4e2933c620 2015-04-21 kinaba: const CMF_RESERVED=0xffff0000; 4e2933c620 2015-04-21 kinaba: const GCS_VERBA=0; 4e2933c620 2015-04-21 kinaba: const GCS_HELPTEXTA=1; 4e2933c620 2015-04-21 kinaba: const GCS_VALIDATEA=2; 4e2933c620 2015-04-21 kinaba: const GCS_VERBW=4; 4e2933c620 2015-04-21 kinaba: const GCS_HELPTEXTW=5; 4e2933c620 2015-04-21 kinaba: const GCS_VALIDATEW=6; 4e2933c620 2015-04-21 kinaba: const GCS_UNICODE=4; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version(Unicode) { 4e2933c620 2015-04-21 kinaba: alias GCS_VERBW GCS_VERB; 4e2933c620 2015-04-21 kinaba: alias GCS_HELPTEXTW GCS_HELPTEXT; 4e2933c620 2015-04-21 kinaba: alias GCS_VALIDATEW GCS_VALIDATE; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias GCS_VERBA GCS_VERB; 4e2933c620 2015-04-21 kinaba: alias GCS_HELPTEXTA GCS_HELPTEXT; 4e2933c620 2015-04-21 kinaba: alias GCS_VALIDATEA GCS_VALIDATE; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const TCHAR[] 4e2933c620 2015-04-21 kinaba: CMDSTR_NEWFOLDER = "NewFolder", 4e2933c620 2015-04-21 kinaba: CMDSTR_VIEWLIST = "ViewList", 4e2933c620 2015-04-21 kinaba: CMDSTR_VIEWDETAILS = "ViewDetails"; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const CMIC_MASK_HOTKEY = SEE_MASK_HOTKEY; 4e2933c620 2015-04-21 kinaba: const CMIC_MASK_ICON = SEE_MASK_ICON; 4e2933c620 2015-04-21 kinaba: const CMIC_MASK_FLAG_NO_UI = SEE_MASK_FLAG_NO_UI; 4e2933c620 2015-04-21 kinaba: const CMIC_MASK_MODAL = 0x80000000; 4e2933c620 2015-04-21 kinaba: // TODO: This isn't defined anywhere in MinGW. 4e2933c620 2015-04-21 kinaba: //const CMIC_VALID_SEE_FLAGS=SEE_VALID_CMIC_FLAGS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const GIL_OPENICON = 1; 4e2933c620 2015-04-21 kinaba: const GIL_FORSHELL = 2; 4e2933c620 2015-04-21 kinaba: const GIL_SIMULATEDOC = 1; 4e2933c620 2015-04-21 kinaba: const GIL_PERINSTANCE = 2; 4e2933c620 2015-04-21 kinaba: const GIL_PERCLASS = 4; 4e2933c620 2015-04-21 kinaba: const GIL_NOTFILENAME = 8; 4e2933c620 2015-04-21 kinaba: const GIL_DONTCACHE = 16; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const FVSIF_RECT = 1; 4e2933c620 2015-04-21 kinaba: const FVSIF_PINNED = 2; 4e2933c620 2015-04-21 kinaba: const FVSIF_NEWFAILED = 0x8000000; 4e2933c620 2015-04-21 kinaba: const FVSIF_NEWFILE = 0x80000000; 4e2933c620 2015-04-21 kinaba: const FVSIF_CANVIEWIT = 0x40000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const CDBOSC_SETFOCUS = 0; 4e2933c620 2015-04-21 kinaba: const CDBOSC_KILLFOCUS = 1; 4e2933c620 2015-04-21 kinaba: const CDBOSC_SELCHANGE = 2; 4e2933c620 2015-04-21 kinaba: const CDBOSC_RENAME = 3; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const FCIDM_SHVIEWFIRST = 0; 4e2933c620 2015-04-21 kinaba: const FCIDM_SHVIEWLAST = 0x7fff; 4e2933c620 2015-04-21 kinaba: const FCIDM_BROWSERFIRST = 0xa000; 4e2933c620 2015-04-21 kinaba: const FCIDM_BROWSERLAST = 0xbf00; 4e2933c620 2015-04-21 kinaba: const FCIDM_GLOBALFIRST = 0x8000; 4e2933c620 2015-04-21 kinaba: const FCIDM_GLOBALLAST = 0x9fff; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_FILE = FCIDM_GLOBALFIRST; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_EDIT = FCIDM_GLOBALFIRST+0x0040; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_VIEW = FCIDM_GLOBALFIRST+0x0080; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_VIEW_SEP_OPTIONS = FCIDM_GLOBALFIRST+0x0081; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_TOOLS = FCIDM_GLOBALFIRST+0x00c0; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_TOOLS_SEP_GOTO = FCIDM_GLOBALFIRST+0x00c1; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_HELP = FCIDM_GLOBALFIRST+0x0100; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_FIND = FCIDM_GLOBALFIRST+0x0140; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_EXPLORE = FCIDM_GLOBALFIRST+0x0150; 4e2933c620 2015-04-21 kinaba: const FCIDM_MENU_FAVORITES = FCIDM_GLOBALFIRST+0x0170; 4e2933c620 2015-04-21 kinaba: const FCIDM_TOOLBAR = FCIDM_BROWSERFIRST; 4e2933c620 2015-04-21 kinaba: const FCIDM_STATUS = FCIDM_BROWSERFIRST+1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SBSP_DEFBROWSER = 0; 4e2933c620 2015-04-21 kinaba: const SBSP_SAMEBROWSER = 1; 4e2933c620 2015-04-21 kinaba: const SBSP_NEWBROWSER = 2; 4e2933c620 2015-04-21 kinaba: const SBSP_DEFMODE = 0; 4e2933c620 2015-04-21 kinaba: const SBSP_OPENMODE = 16; 4e2933c620 2015-04-21 kinaba: const SBSP_EXPLOREMODE = 32; 4e2933c620 2015-04-21 kinaba: const SBSP_ABSOLUTE = 0; 4e2933c620 2015-04-21 kinaba: const SBSP_RELATIVE = 0x1000; 4e2933c620 2015-04-21 kinaba: const SBSP_PARENT = 0x2000; 4e2933c620 2015-04-21 kinaba: const SBSP_INITIATEDBYHLINKFRAME = 0x80000000; 4e2933c620 2015-04-21 kinaba: const SBSP_REDIRECT = 0x40000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: FCW_STATUS=1, 4e2933c620 2015-04-21 kinaba: FCW_TOOLBAR, 4e2933c620 2015-04-21 kinaba: FCW_TREE 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const FCT_MERGE=1; 4e2933c620 2015-04-21 kinaba: const FCT_CONFIGABLE=2; 4e2933c620 2015-04-21 kinaba: const FCT_ADDTOEND=4; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SVSI_DESELECT=0; 4e2933c620 2015-04-21 kinaba: const SVSI_SELECT=1; 4e2933c620 2015-04-21 kinaba: const SVSI_EDIT=3; 4e2933c620 2015-04-21 kinaba: const SVSI_DESELECTOTHERS=4; 4e2933c620 2015-04-21 kinaba: const SVSI_ENSUREVISIBLE=8; 4e2933c620 2015-04-21 kinaba: const SVSI_FOCUSED=16; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SVGIO_BACKGROUND=0; 4e2933c620 2015-04-21 kinaba: const SVGIO_SELECTION=1; 4e2933c620 2015-04-21 kinaba: const SVGIO_ALLVIEW=2; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const UINT SV2GV_CURRENTVIEW=-1; 4e2933c620 2015-04-21 kinaba: const UINT SV2GV_DEFAULTVIEW=-2; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias DWORD SHGDNF; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct CIDA { 4e2933c620 2015-04-21 kinaba: UINT cidl; 4e2933c620 2015-04-21 kinaba: UINT[1] aoffset; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias CIDA* LPIDA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SHITEMID { 4e2933c620 2015-04-21 kinaba: USHORT cb; 4e2933c620 2015-04-21 kinaba: BYTE[1] abID; 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias SHITEMID* LPSHITEMID; 9b639cf2d6 2015-05-05 kinaba: alias const(SHITEMID)* LPCSHITEMID; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ITEMIDLIST { 4e2933c620 2015-04-21 kinaba: SHITEMID mkid; 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias ITEMIDLIST* LPITEMIDLIST; 9b639cf2d6 2015-05-05 kinaba: alias const(ITEMIDLIST)* LPCITEMIDLIST; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias int function(HWND, UINT, LPARAM, LPARAM) BFFCALLBACK; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct BROWSEINFOA { 4e2933c620 2015-04-21 kinaba: HWND hwndOwner; 4e2933c620 2015-04-21 kinaba: LPCITEMIDLIST pidlRoot; 4e2933c620 2015-04-21 kinaba: LPSTR pszDisplayName; 4e2933c620 2015-04-21 kinaba: LPCSTR lpszTitle; 4e2933c620 2015-04-21 kinaba: UINT ulFlags; 4e2933c620 2015-04-21 kinaba: BFFCALLBACK lpfn; 4e2933c620 2015-04-21 kinaba: LPARAM lParam; 4e2933c620 2015-04-21 kinaba: int iImage; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias BROWSEINFOA* PBROWSEINFOA, LPBROWSEINFOA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct BROWSEINFOW { 4e2933c620 2015-04-21 kinaba: HWND hwndOwner; 4e2933c620 2015-04-21 kinaba: LPCITEMIDLIST pidlRoot; 4e2933c620 2015-04-21 kinaba: LPWSTR pszDisplayName; 4e2933c620 2015-04-21 kinaba: LPCWSTR lpszTitle; 4e2933c620 2015-04-21 kinaba: UINT ulFlags; 4e2933c620 2015-04-21 kinaba: BFFCALLBACK lpfn; 4e2933c620 2015-04-21 kinaba: LPARAM lParam; 4e2933c620 2015-04-21 kinaba: int iImage; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias BROWSEINFOW* PBROWSEINFOW, LPBROWSEINFOW; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct CMINVOKECOMMANDINFO { 4e2933c620 2015-04-21 kinaba: DWORD cbSize = this.sizeof; 4e2933c620 2015-04-21 kinaba: DWORD fMask; 4e2933c620 2015-04-21 kinaba: HWND hwnd; 4e2933c620 2015-04-21 kinaba: LPCSTR lpVerb; 4e2933c620 2015-04-21 kinaba: LPCSTR lpParameters; 4e2933c620 2015-04-21 kinaba: LPCSTR lpDirectory; 4e2933c620 2015-04-21 kinaba: int nShow; 4e2933c620 2015-04-21 kinaba: DWORD dwHotKey; 4e2933c620 2015-04-21 kinaba: HANDLE hIcon; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias CMINVOKECOMMANDINFO* LPCMINVOKECOMMANDINFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct DROPFILES { 4e2933c620 2015-04-21 kinaba: DWORD pFiles; 4e2933c620 2015-04-21 kinaba: POINT pt; 4e2933c620 2015-04-21 kinaba: BOOL fNC; 4e2933c620 2015-04-21 kinaba: BOOL fWide; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias DROPFILES* LPDROPFILES; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SHGNO { 4e2933c620 2015-04-21 kinaba: SHGDN_NORMAL = 0, 4e2933c620 2015-04-21 kinaba: SHGDN_INFOLDER, 4e2933c620 2015-04-21 kinaba: SHGDN_FOREDITING = 0x1000, 4e2933c620 2015-04-21 kinaba: SHGDN_INCLUDE_NONFILESYS = 0x2000, 4e2933c620 2015-04-21 kinaba: SHGDN_FORADDRESSBAR = 0x4000, 4e2933c620 2015-04-21 kinaba: SHGDN_FORPARSING = 0x8000 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SHCONTF { 4e2933c620 2015-04-21 kinaba: SHCONTF_FOLDERS = 32, 4e2933c620 2015-04-21 kinaba: SHCONTF_NONFOLDERS = 64, 4e2933c620 2015-04-21 kinaba: SHCONTF_INCLUDEHIDDEN = 128, 4e2933c620 2015-04-21 kinaba: SHCONTF_INIT_ON_FIRST_NEXT = 256, 4e2933c620 2015-04-21 kinaba: SHCONTF_NETPRINTERSRCH = 512, 4e2933c620 2015-04-21 kinaba: SHCONTF_SHAREABLE = 1024, 4e2933c620 2015-04-21 kinaba: SHCONTF_STORAGE = 2048 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct STRRET { 4e2933c620 2015-04-21 kinaba: UINT uType; 4e2933c620 2015-04-21 kinaba: union { 4e2933c620 2015-04-21 kinaba: LPWSTR pOleStr; 4e2933c620 2015-04-21 kinaba: UINT uOffset; 9b639cf2d6 2015-05-05 kinaba: char[MAX_PATH] cStr; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias STRRET* LPSTRRET; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum FD_FLAGS { 4e2933c620 2015-04-21 kinaba: FD_CLSID = 1, 4e2933c620 2015-04-21 kinaba: FD_SIZEPOINT = 2, 4e2933c620 2015-04-21 kinaba: FD_ATTRIBUTES = 4, 4e2933c620 2015-04-21 kinaba: FD_CREATETIME = 8, 4e2933c620 2015-04-21 kinaba: FD_ACCESSTIME = 16, 4e2933c620 2015-04-21 kinaba: FD_WRITESTIME = 32, 4e2933c620 2015-04-21 kinaba: FD_FILESIZE = 64, 4e2933c620 2015-04-21 kinaba: FD_LINKUI = 0x8000 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct FILEDESCRIPTORA { 4e2933c620 2015-04-21 kinaba: DWORD dwFlags; 4e2933c620 2015-04-21 kinaba: CLSID clsid; 4e2933c620 2015-04-21 kinaba: SIZEL sizel; 4e2933c620 2015-04-21 kinaba: POINTL pointl; 4e2933c620 2015-04-21 kinaba: DWORD dwFileAttributes; 4e2933c620 2015-04-21 kinaba: FILETIME ftCreationTime; 4e2933c620 2015-04-21 kinaba: FILETIME ftLastAccessTime; 4e2933c620 2015-04-21 kinaba: FILETIME ftLastWriteTime; 4e2933c620 2015-04-21 kinaba: DWORD nFileSizeHigh; 4e2933c620 2015-04-21 kinaba: DWORD nFileSizeLow; 9b639cf2d6 2015-05-05 kinaba: CHAR[MAX_PATH] cFileName; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FILEDESCRIPTORA* LPFILEDESCRIPTORA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct FILEDESCRIPTORW { 4e2933c620 2015-04-21 kinaba: DWORD dwFlags; 4e2933c620 2015-04-21 kinaba: CLSID clsid; 4e2933c620 2015-04-21 kinaba: SIZEL sizel; 4e2933c620 2015-04-21 kinaba: POINTL pointl; 4e2933c620 2015-04-21 kinaba: DWORD dwFileAttributes; 4e2933c620 2015-04-21 kinaba: FILETIME ftCreationTime; 4e2933c620 2015-04-21 kinaba: FILETIME ftLastAccessTime; 4e2933c620 2015-04-21 kinaba: FILETIME ftLastWriteTime; 4e2933c620 2015-04-21 kinaba: DWORD nFileSizeHigh; 4e2933c620 2015-04-21 kinaba: DWORD nFileSizeLow; 9b639cf2d6 2015-05-05 kinaba: WCHAR[MAX_PATH] cFileName; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FILEDESCRIPTORW* LPFILEDESCRIPTORW; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct FILEGROUPDESCRIPTORA { 4e2933c620 2015-04-21 kinaba: UINT cItems; 9b639cf2d6 2015-05-05 kinaba: FILEDESCRIPTORA[1] fgd; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FILEGROUPDESCRIPTORA* LPFILEGROUPDESCRIPTORA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct FILEGROUPDESCRIPTORW { 4e2933c620 2015-04-21 kinaba: UINT cItems; 9b639cf2d6 2015-05-05 kinaba: FILEDESCRIPTORW[1] fgd; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FILEGROUPDESCRIPTORW* LPFILEGROUPDESCRIPTORW; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SLR_FLAGS { 4e2933c620 2015-04-21 kinaba: SLR_NO_UI = 1, 4e2933c620 2015-04-21 kinaba: SLR_ANY_MATCH = 2, 4e2933c620 2015-04-21 kinaba: SLR_UPDATE = 4, 4e2933c620 2015-04-21 kinaba: SLR_NOUPDATE = 8, 4e2933c620 2015-04-21 kinaba: SLR_NOSEARCH = 16, 4e2933c620 2015-04-21 kinaba: SLR_NOTRACK = 32, 4e2933c620 2015-04-21 kinaba: SLR_NOLINKINFO = 64, 4e2933c620 2015-04-21 kinaba: SLR_INVOKE_MSI = 128 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SLGP_FLAGS { 4e2933c620 2015-04-21 kinaba: SLGP_SHORTPATH=1, 4e2933c620 2015-04-21 kinaba: SLGP_UNCPRIORITY=2, 4e2933c620 2015-04-21 kinaba: SLGP_RAWPATH=4 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias PBYTE LPVIEWSETTINGS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum FOLDERFLAGS { 4e2933c620 2015-04-21 kinaba: FWF_AUTOARRANGE = 1, 4e2933c620 2015-04-21 kinaba: FWF_ABBREVIATEDNAMES = 2, 4e2933c620 2015-04-21 kinaba: FWF_SNAPTOGRID = 4, 4e2933c620 2015-04-21 kinaba: FWF_OWNERDATA = 8, 4e2933c620 2015-04-21 kinaba: FWF_BESTFITWINDOW = 16, 4e2933c620 2015-04-21 kinaba: FWF_DESKTOP = 32, 4e2933c620 2015-04-21 kinaba: FWF_SINGLESEL = 64, 4e2933c620 2015-04-21 kinaba: FWF_NOSUBFOLDERS = 128, 4e2933c620 2015-04-21 kinaba: FWF_TRANSPARENT = 256, 4e2933c620 2015-04-21 kinaba: FWF_NOCLIENTEDGE = 512, 4e2933c620 2015-04-21 kinaba: FWF_NOSCROLL = 0x400, 4e2933c620 2015-04-21 kinaba: FWF_ALIGNLEFT = 0x800, 4e2933c620 2015-04-21 kinaba: FWF_SINGLECLICKACTIVATE = 0x8000 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum FOLDERVIEWMODE { 4e2933c620 2015-04-21 kinaba: FVM_ICON = 1, 4e2933c620 2015-04-21 kinaba: FVM_SMALLICON, 4e2933c620 2015-04-21 kinaba: FVM_LIST, 4e2933c620 2015-04-21 kinaba: FVM_DETAILS 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct FOLDERSETTINGS { 4e2933c620 2015-04-21 kinaba: UINT ViewMode; 4e2933c620 2015-04-21 kinaba: UINT fFlags; 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias FOLDERSETTINGS* LPFOLDERSETTINGS; 9b639cf2d6 2015-05-05 kinaba: alias const(FOLDERSETTINGS)* LPCFOLDERSETTINGS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct FVSHOWINFO { 4e2933c620 2015-04-21 kinaba: DWORD cbSize = this.sizeof; 4e2933c620 2015-04-21 kinaba: HWND hwndOwner; 4e2933c620 2015-04-21 kinaba: int iShow; 4e2933c620 2015-04-21 kinaba: DWORD dwFlags; 4e2933c620 2015-04-21 kinaba: RECT rect; 4e2933c620 2015-04-21 kinaba: LPUNKNOWN punkRel; 9b639cf2d6 2015-05-05 kinaba: OLECHAR[MAX_PATH] strNewFile; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FVSHOWINFO* LPFVSHOWINFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct NRESARRAY { 4e2933c620 2015-04-21 kinaba: UINT cItems; 9b639cf2d6 2015-05-05 kinaba: NETRESOURCE[1] nr; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias NRESARRAY* LPNRESARRAY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: SBSC_HIDE, 4e2933c620 2015-04-21 kinaba: SBSC_SHOW, 4e2933c620 2015-04-21 kinaba: SBSC_TOGGLE, 4e2933c620 2015-04-21 kinaba: SBSC_QUERY 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: SBCMDID_ENABLESHOWTREE, 4e2933c620 2015-04-21 kinaba: SBCMDID_SHOWCONTROL, 4e2933c620 2015-04-21 kinaba: SBCMDID_CANCELNAVIGATION, 4e2933c620 2015-04-21 kinaba: SBCMDID_MAYSAVECHANGES, 4e2933c620 2015-04-21 kinaba: SBCMDID_SETHLINKFRAME, 4e2933c620 2015-04-21 kinaba: SBCMDID_ENABLESTOP, 4e2933c620 2015-04-21 kinaba: SBCMDID_OPTIONS 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: enum SVUIA_STATUS { 4e2933c620 2015-04-21 kinaba: SVUIA_DEACTIVATE, 4e2933c620 2015-04-21 kinaba: SVUIA_ACTIVATE_NOFOCUS, 4e2933c620 2015-04-21 kinaba: SVUIA_ACTIVATE_FOCUS, 4e2933c620 2015-04-21 kinaba: SVUIA_INPLACEACTIVATE 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_IE >= 0x500) { 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct EXTRASEARCH 4e2933c620 2015-04-21 kinaba: { 4e2933c620 2015-04-21 kinaba: GUID guidSearch; 9b639cf2d6 2015-05-05 kinaba: WCHAR[80] wszFriendlyName; 9b639cf2d6 2015-05-05 kinaba: WCHAR[2084] wszUrl; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias EXTRASEARCH* LPEXTRASEARCH; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias DWORD SHCOLSTATEF; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SHCOLUMNID { 4e2933c620 2015-04-21 kinaba: GUID fmtid; 4e2933c620 2015-04-21 kinaba: DWORD pid; 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias SHCOLUMNID* LPSHCOLUMNID; 9b639cf2d6 2015-05-05 kinaba: alias const(SHCOLUMNID)* LPCSHCOLUMNID; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SHELLDETAILS { 4e2933c620 2015-04-21 kinaba: int fmt; 4e2933c620 2015-04-21 kinaba: int cxChar; 4e2933c620 2015-04-21 kinaba: STRRET str; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SHELLDETAILS* LPSHELLDETAILS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct PERSIST_FOLDER_TARGET_INFO 4e2933c620 2015-04-21 kinaba: { 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST pidlTargetFolder; 9b639cf2d6 2015-05-05 kinaba: WCHAR[MAX_PATH] szTargetParsingName; 9b639cf2d6 2015-05-05 kinaba: WCHAR[MAX_PATH] szNetworkProvider; 4e2933c620 2015-04-21 kinaba: DWORD dwAttributes; 4e2933c620 2015-04-21 kinaba: int csidl; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SHGFP_TYPE { 4e2933c620 2015-04-21 kinaba: SHGFP_TYPE_CURRENT = 0, 4e2933c620 2015-04-21 kinaba: SHGFP_TYPE_DEFAULT = 1, 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IEnumIDList : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT Next(ULONG, LPITEMIDLIST*, ULONG*); 4e2933c620 2015-04-21 kinaba: HRESULT Skip(ULONG); 4e2933c620 2015-04-21 kinaba: HRESULT Reset(); 9b639cf2d6 2015-05-05 kinaba: HRESULT Clone(IEnumIDList*); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IEnumIDList LPENUMIDLIST; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IObjMgr : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT Append(IUnknown); 9b639cf2d6 2015-05-05 kinaba: HRESULT Remove(IUnknown); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IContextMenu : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT QueryContextMenu(HMENU, UINT, UINT, UINT, UINT); 4e2933c620 2015-04-21 kinaba: HRESULT InvokeCommand(LPCMINVOKECOMMANDINFO); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetCommandString(UINT, UINT, PUINT, LPSTR, UINT); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IContextMenu LPCONTEXTMENU; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IContextMenu2 : IContextMenu { 9b639cf2d6 2015-05-05 kinaba: HRESULT HandleMenuMsg(UINT, WPARAM, LPARAM); 4e2933c620 2015-04-21 kinaba: }; 9b639cf2d6 2015-05-05 kinaba: alias IContextMenu2 LPCONTEXTMENU2; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_IE >= 0x500) { 9b639cf2d6 2015-05-05 kinaba: align(8) { 9b639cf2d6 2015-05-05 kinaba: struct SHCOLUMNINIT { 9b639cf2d6 2015-05-05 kinaba: ULONG dwFlags; 9b639cf2d6 2015-05-05 kinaba: ULONG dwReserved; 9b639cf2d6 2015-05-05 kinaba: WCHAR[MAX_PATH] wszFolder; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias SHCOLUMNINIT* LPSHCOLUMNINIT; 9b639cf2d6 2015-05-05 kinaba: alias const(SHCOLUMNINIT)* LPCSHCOLUMNINIT; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct SHCOLUMNDATA { 9b639cf2d6 2015-05-05 kinaba: ULONG dwFlags; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFileAttributes; 9b639cf2d6 2015-05-05 kinaba: ULONG dwReserved; 9b639cf2d6 2015-05-05 kinaba: WCHAR *pwszExt; 9b639cf2d6 2015-05-05 kinaba: WCHAR[MAX_PATH] wszFile; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias SHCOLUMNDATA* LPSHCOLUMNDATA; 9b639cf2d6 2015-05-05 kinaba: alias const(SHCOLUMNDATA)* LPCSHCOLUMNDATA; 9b639cf2d6 2015-05-05 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const MAX_COLUMN_NAME_LEN = 80; 4e2933c620 2015-04-21 kinaba: const MAX_COLUMN_DESC_LEN = 128; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: align(1) struct SHCOLUMNINFO { 4e2933c620 2015-04-21 kinaba: SHCOLUMNID scid; 4e2933c620 2015-04-21 kinaba: VARTYPE vt; 4e2933c620 2015-04-21 kinaba: DWORD fmt; 4e2933c620 2015-04-21 kinaba: UINT cChars; 4e2933c620 2015-04-21 kinaba: DWORD csFlags; 9b639cf2d6 2015-05-05 kinaba: WCHAR[MAX_COLUMN_NAME_LEN] wszTitle; 9b639cf2d6 2015-05-05 kinaba: WCHAR[MAX_COLUMN_DESC_LEN] wszDescription; 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias SHCOLUMNINFO* LPSHCOLUMNINFO; 9b639cf2d6 2015-05-05 kinaba: alias const(SHCOLUMNINFO)* LPCSHCOLUMNINFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SHCOLSTATE { 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_TYPE_STR = 0x00000001, 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_TYPE_INT = 0x00000002, 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_TYPE_DATE = 0x00000003, 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_TYPEMASK = 0x0000000f, 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_ONBYDEFAULT = 0x00000010, 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_SLOW = 0x00000020, 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_EXTENDED = 0x00000040, 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_SECONDARYUI = 0x00000080, 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_HIDDEN = 0x00000100, 4e2933c620 2015-04-21 kinaba: SHCOLSTATE_PREFER_VARCMP = 0x00000200 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IColumnProvider : IUnknown { 4e2933c620 2015-04-21 kinaba: HRESULT Initialize(LPCSHCOLUMNINIT); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetColumnInfo(DWORD, SHCOLUMNINFO*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetItemData(LPCSHCOLUMNID, LPCSHCOLUMNDATA, VARIANT*); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: }/* _WIN32_IE >= 0x500 */ 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IQueryInfo : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetInfoTip(DWORD, WCHAR**); 4e2933c620 2015-04-21 kinaba: HRESULT GetInfoFlags(DWORD*); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellExtInit : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT Initialize(LPCITEMIDLIST, LPDATAOBJECT, HKEY); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IShellExtInit LPSHELLEXTINIT; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellPropSheetExt : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT AddPages(LPFNADDPROPSHEETPAGE, LPARAM); 9b639cf2d6 2015-05-05 kinaba: HRESULT ReplacePage(UINT, LPFNADDPROPSHEETPAGE, LPARAM); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IShellPropSheetExt LPSHELLPROPSHEETEXT; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IExtractIconA : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetIconLocation(UINT, LPSTR, UINT, int*, PUINT); 9b639cf2d6 2015-05-05 kinaba: HRESULT Extract(LPCSTR, UINT, HICON*, HICON*, UINT); 4e2933c620 2015-04-21 kinaba: }; 9b639cf2d6 2015-05-05 kinaba: alias IExtractIconA LPEXTRACTICONA; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IExtractIconW : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetIconLocation(UINT, LPWSTR, UINT, int*, PUINT); 9b639cf2d6 2015-05-05 kinaba: HRESULT Extract(LPCWSTR, UINT, HICON*, HICON*, UINT); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IExtractIconW LPEXTRACTICONW; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version(Unicode) { 4e2933c620 2015-04-21 kinaba: alias IExtractIconW IExtractIcon; 4e2933c620 2015-04-21 kinaba: alias LPEXTRACTICONW LPEXTRACTICON; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias IExtractIconA IExtractIcon; 4e2933c620 2015-04-21 kinaba: alias LPEXTRACTICONA LPEXTRACTICON; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellLinkA : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetPath(LPSTR, int, WIN32_FIND_DATAA*, DWORD); 4e2933c620 2015-04-21 kinaba: HRESULT GetIDList(LPITEMIDLIST*); 4e2933c620 2015-04-21 kinaba: HRESULT SetIDList(LPCITEMIDLIST); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDescription(LPSTR, int); 4e2933c620 2015-04-21 kinaba: HRESULT SetDescription(LPCSTR); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetWorkingDirectory(LPSTR, int); 4e2933c620 2015-04-21 kinaba: HRESULT SetWorkingDirectory(LPCSTR); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetArguments(LPSTR, int); 4e2933c620 2015-04-21 kinaba: HRESULT SetArguments(LPCSTR); 4e2933c620 2015-04-21 kinaba: HRESULT GetHotkey(PWORD); 4e2933c620 2015-04-21 kinaba: HRESULT SetHotkey(WORD); 4e2933c620 2015-04-21 kinaba: HRESULT GetShowCmd(int*); 4e2933c620 2015-04-21 kinaba: HRESULT SetShowCmd(int); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetIconLocation(LPSTR, int, int*); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetIconLocation(LPCSTR, int); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetRelativePath(LPCSTR , DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT Resolve(HWND, DWORD); 4e2933c620 2015-04-21 kinaba: HRESULT SetPath(LPCSTR); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellLinkW : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetPath(LPWSTR, int, WIN32_FIND_DATAW*, DWORD); 4e2933c620 2015-04-21 kinaba: HRESULT GetIDList(LPITEMIDLIST*); 4e2933c620 2015-04-21 kinaba: HRESULT SetIDList(LPCITEMIDLIST); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDescription(LPWSTR, int); 4e2933c620 2015-04-21 kinaba: HRESULT SetDescription(LPCWSTR); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetWorkingDirectory(LPWSTR, int); 4e2933c620 2015-04-21 kinaba: HRESULT SetWorkingDirectory(LPCWSTR); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetArguments(LPWSTR, int); 4e2933c620 2015-04-21 kinaba: HRESULT SetArguments(LPCWSTR); 4e2933c620 2015-04-21 kinaba: HRESULT GetHotkey(PWORD); 4e2933c620 2015-04-21 kinaba: HRESULT SetHotkey(WORD); 4e2933c620 2015-04-21 kinaba: HRESULT GetShowCmd(int*); 4e2933c620 2015-04-21 kinaba: HRESULT SetShowCmd(int); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetIconLocation(LPWSTR, int, int*); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetIconLocation(LPCWSTR, int); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetRelativePath(LPCWSTR , DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT Resolve(HWND, DWORD); 4e2933c620 2015-04-21 kinaba: HRESULT SetPath(LPCWSTR); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellFolder : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT ParseDisplayName(HWND, LPBC, LPOLESTR, PULONG, LPITEMIDLIST*, PULONG); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnumObjects(HWND, DWORD, LPENUMIDLIST*); 9b639cf2d6 2015-05-05 kinaba: HRESULT BindToObject(LPCITEMIDLIST, LPBC, REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT BindToStorage(LPCITEMIDLIST, LPBC, REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT CompareIDs(LPARAM, LPCITEMIDLIST, LPCITEMIDLIST); 9b639cf2d6 2015-05-05 kinaba: HRESULT CreateViewObject(HWND, REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetAttributesOf(UINT, LPCITEMIDLIST*, PULONG); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetUIObjectOf(HWND, UINT, LPCITEMIDLIST*, REFIID, PUINT, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDisplayNameOf(LPCITEMIDLIST, DWORD, LPSTRRET); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetNameOf(HWND, LPCITEMIDLIST, LPCOLESTR, DWORD, LPITEMIDLIST*); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IShellFolder LPSHELLFOLDER; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_IE >= 0x500) { 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IEnumExtraSearch: IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT Next(ULONG, LPEXTRASEARCH*, ULONG*); 4e2933c620 2015-04-21 kinaba: HRESULT Skip(ULONG); 4e2933c620 2015-04-21 kinaba: HRESULT Reset(); 9b639cf2d6 2015-05-05 kinaba: HRESULT Clone(IEnumExtraSearch*); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IEnumExtraSearch LPENUMEXTRASEARCH; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellFolder2 : IShellFolder { 9b639cf2d6 2015-05-05 kinaba: HRESULT ParseDisplayName(HWND, LPBC, LPOLESTR, PULONG, LPITEMIDLIST*, PULONG); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnumObjects(HWND, DWORD, LPENUMIDLIST*); 9b639cf2d6 2015-05-05 kinaba: HRESULT BindToObject(LPCITEMIDLIST, LPBC, REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT BindToStorage(LPCITEMIDLIST, LPBC, REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT CompareIDs(LPARAM, LPCITEMIDLIST, LPCITEMIDLIST); 9b639cf2d6 2015-05-05 kinaba: HRESULT CreateViewObject(HWND, REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetAttributesOf(UINT, LPCITEMIDLIST*, PULONG); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetUIObjectOf(HWND, UINT, LPCITEMIDLIST*, REFIID, PUINT, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDisplayNameOf(LPCITEMIDLIST, DWORD, LPSTRRET); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetNameOf(HWND, LPCITEMIDLIST, LPCOLESTR, DWORD, LPITEMIDLIST*); 4e2933c620 2015-04-21 kinaba: HRESULT GetDefaultSearchGUID(GUID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnumSearches(IEnumExtraSearch*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDefaultColumn(DWORD, ULONG*, ULONG*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDefaultColumnState(UINT, SHCOLSTATEF*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDetailsEx(LPCITEMIDLIST, const(SHCOLUMNID)*, VARIANT*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDetailsOf(LPCITEMIDLIST, UINT, SHELLDETAILS*); 9b639cf2d6 2015-05-05 kinaba: HRESULT MapColumnToSCID(UINT, SHCOLUMNID*); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IShellFolder2 LPSHELLFOLDER2; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: } /* _WIN32_IE >= 0x500 */ 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface ICopyHook : IUnknown { 9b639cf2d6 2015-05-05 kinaba: UINT CopyCallback(HWND, UINT, UINT, LPCSTR, DWORD, LPCSTR, DWORD); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias ICopyHook LPCOPYHOOK; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IFileViewerSite : IUnknown { 4e2933c620 2015-04-21 kinaba: HRESULT SetPinnedWindow(HWND); 4e2933c620 2015-04-21 kinaba: HRESULT GetPinnedWindow(HWND*); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IFileViewerSite LPFILEVIEWERSITE; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IFileViewer : IUnknown { 4e2933c620 2015-04-21 kinaba: HRESULT ShowInitialize(LPFILEVIEWERSITE); 4e2933c620 2015-04-21 kinaba: HRESULT Show(LPFVSHOWINFO); 9b639cf2d6 2015-05-05 kinaba: HRESULT PrintTo(LPSTR, BOOL); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IFileViewer LPFILEVIEWER; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IFileSystemBindData : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT SetFindData(const(WIN32_FIND_DATAW)*); 4e2933c620 2015-04-21 kinaba: HRESULT GetFindData(WIN32_FIND_DATAW*); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IPersistFolder : IPersist { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetClassID(CLSID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT Initialize(LPCITEMIDLIST); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IPersistFolder LPPERSISTFOLDER; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_IE >= 0x400 || _WIN32_WINNT >= 0x500) { 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IPersistFolder2 : IPersistFolder { 4e2933c620 2015-04-21 kinaba: HRESULT GetClassID(CLSID*); 4e2933c620 2015-04-21 kinaba: HRESULT Initialize(LPCITEMIDLIST); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetCurFolder(LPITEMIDLIST*); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IPersistFolder2 LPPERSISTFOLDER2; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: }/* _WIN32_IE >= 0x400 || _WIN32_WINNT >= 0x500 */ 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_IE >= 0x500) { 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IPersistFolder3 : IPersistFolder2 { 4e2933c620 2015-04-21 kinaba: HRESULT GetClassID(CLSID*); 4e2933c620 2015-04-21 kinaba: HRESULT Initialize(LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: HRESULT GetCurFolder(LPITEMIDLIST*); 9b639cf2d6 2015-05-05 kinaba: HRESULT InitializeEx(IBindCtx, LPCITEMIDLIST, const(PERSIST_FOLDER_TARGET_INFO)*); 4e2933c620 2015-04-21 kinaba: HRESULT GetFolderTargetInfo(PERSIST_FOLDER_TARGET_INFO*); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IPersistFolder3 LPPERSISTFOLDER3; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: } /* _WIN32_IE >= 0x500 */ 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias IShellBrowser LPSHELLBROWSER; 9b639cf2d6 2015-05-05 kinaba: alias IShellView LPSHELLVIEW; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellBrowser : IOleWindow { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetWindow(HWND*); 9b639cf2d6 2015-05-05 kinaba: HRESULT ContextSensitiveHelp(BOOL); 9b639cf2d6 2015-05-05 kinaba: HRESULT InsertMenusSB(HMENU, LPOLEMENUGROUPWIDTHS); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetMenuSB(HMENU, HOLEMENU, HWND); 9b639cf2d6 2015-05-05 kinaba: HRESULT RemoveMenusSB(HMENU); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetStatusTextSB(LPCOLESTR); 9b639cf2d6 2015-05-05 kinaba: HRESULT EnableModelessSB(BOOL); 9b639cf2d6 2015-05-05 kinaba: HRESULT TranslateAcceleratorSB(LPMSG, WORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT BrowseObject(LPCITEMIDLIST, UINT); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetViewStateStream(DWORD, LPSTREAM*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetControlWindow(UINT, HWND*); 9b639cf2d6 2015-05-05 kinaba: HRESULT SendControlMsg(UINT, UINT, WPARAM, LPARAM, LRESULT*); 9b639cf2d6 2015-05-05 kinaba: HRESULT QueryActiveShellView(LPSHELLVIEW*); 9b639cf2d6 2015-05-05 kinaba: HRESULT OnViewWindowActive(LPSHELLVIEW); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetToolbarItems(LPTBBUTTON, UINT, UINT); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellView : IOleWindow { 4e2933c620 2015-04-21 kinaba: HRESULT GetWindow(HWND*); 4e2933c620 2015-04-21 kinaba: HRESULT ContextSensitiveHelp(BOOL); 9b639cf2d6 2015-05-05 kinaba: HRESULT TranslateAccelerator(LPMSG); 9b639cf2d6 2015-05-05 kinaba: //[No] #ifdef _FIX_ENABLEMODELESS_CONFLICT 9b639cf2d6 2015-05-05 kinaba: //[No] STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; 9b639cf2d6 2015-05-05 kinaba: //[Yes] #else 9b639cf2d6 2015-05-05 kinaba: HRESULT EnableModeless(BOOL); 9b639cf2d6 2015-05-05 kinaba: //[Yes] #endif 9b639cf2d6 2015-05-05 kinaba: HRESULT UIActivate(UINT); 9b639cf2d6 2015-05-05 kinaba: HRESULT Refresh(); 9b639cf2d6 2015-05-05 kinaba: HRESULT CreateViewWindow(IShellView, LPCFOLDERSETTINGS, LPSHELLBROWSER, RECT*, HWND*); 9b639cf2d6 2015-05-05 kinaba: HRESULT DestroyViewWindow(); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetCurrentInfo(LPFOLDERSETTINGS); 9b639cf2d6 2015-05-05 kinaba: HRESULT AddPropertySheetPages(DWORD, LPFNADDPROPSHEETPAGE, LPARAM); 9b639cf2d6 2015-05-05 kinaba: HRESULT SaveViewState(); 9b639cf2d6 2015-05-05 kinaba: HRESULT SelectItem(LPCITEMIDLIST, UINT); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetItemObject(UINT, REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface ICommDlgBrowser : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT OnDefaultCommand(IShellView); 9b639cf2d6 2015-05-05 kinaba: HRESULT OnStateChange(IShellView, ULONG); 9b639cf2d6 2015-05-05 kinaba: HRESULT IncludeObject(IShellView, LPCITEMIDLIST); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias ICommDlgBrowser LPCOMMDLGBROWSER; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias GUID SHELLVIEWID; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct SV2CVW2_PARAMS { 9b639cf2d6 2015-05-05 kinaba: DWORD cbSize = this.sizeof; 9b639cf2d6 2015-05-05 kinaba: IShellView psvPrev; 9b639cf2d6 2015-05-05 kinaba: FOLDERSETTINGS *pfs; 9b639cf2d6 2015-05-05 kinaba: IShellBrowser psbOwner; 9b639cf2d6 2015-05-05 kinaba: RECT *prcView; 9b639cf2d6 2015-05-05 kinaba: const(SHELLVIEWID)* pvid; 9b639cf2d6 2015-05-05 kinaba: HWND hwndView; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias SV2CVW2_PARAMS* LPSV2CVW2_PARAMS; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellView2 : IShellView { 4e2933c620 2015-04-21 kinaba: HRESULT GetWindow(HWND*); 4e2933c620 2015-04-21 kinaba: HRESULT ContextSensitiveHelp(BOOL); 4e2933c620 2015-04-21 kinaba: HRESULT TranslateAccelerator(LPMSG); 4e2933c620 2015-04-21 kinaba: //[No] #ifdef _FIX_ENABLEMODELESS_CONFLICT 4e2933c620 2015-04-21 kinaba: //[No] STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; 4e2933c620 2015-04-21 kinaba: //[Yes] #else 4e2933c620 2015-04-21 kinaba: HRESULT EnableModeless(BOOL); 4e2933c620 2015-04-21 kinaba: //[Yes] #endif 4e2933c620 2015-04-21 kinaba: HRESULT UIActivate(UINT); 4e2933c620 2015-04-21 kinaba: HRESULT Refresh(); 9b639cf2d6 2015-05-05 kinaba: HRESULT CreateViewWindow(IShellView, LPCFOLDERSETTINGS, LPSHELLBROWSER, RECT*, HWND*); 4e2933c620 2015-04-21 kinaba: HRESULT DestroyViewWindow(); 4e2933c620 2015-04-21 kinaba: HRESULT GetCurrentInfo(LPFOLDERSETTINGS); 9b639cf2d6 2015-05-05 kinaba: HRESULT AddPropertySheetPages(DWORD, LPFNADDPROPSHEETPAGE, LPARAM); 4e2933c620 2015-04-21 kinaba: HRESULT SaveViewState(); 9b639cf2d6 2015-05-05 kinaba: HRESULT SelectItem(LPCITEMIDLIST, UINT); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetItemObject(UINT, REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetView(SHELLVIEWID*, ULONG); 4e2933c620 2015-04-21 kinaba: HRESULT CreateViewWindow2(LPSV2CVW2_PARAMS); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellExecuteHookA : IUnknown { 4e2933c620 2015-04-21 kinaba: HRESULT Execute(LPSHELLEXECUTEINFOA); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellExecuteHookW : IUnknown { 4e2933c620 2015-04-21 kinaba: HRESULT Execute(LPSHELLEXECUTEINFOW); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellIcon : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetIconOf(LPCITEMIDLIST, UINT, PINT); 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IShellIcon LPSHELLICON; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SHELLFLAGSTATE { 9b639cf2d6 2015-05-05 kinaba: short _bf; 9b639cf2d6 2015-05-05 kinaba: /* 4e2933c620 2015-04-21 kinaba: BOOL fShowAllObjects : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowExtensions : 1; 4e2933c620 2015-04-21 kinaba: BOOL fNoConfirmRecycle : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowSysFiles : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowCompColor : 1; 4e2933c620 2015-04-21 kinaba: BOOL fDoubleClickInWebView : 1; 4e2933c620 2015-04-21 kinaba: BOOL fDesktopHTML : 1; 4e2933c620 2015-04-21 kinaba: BOOL fWin95Classic : 1; 4e2933c620 2015-04-21 kinaba: BOOL fDontPrettyPath : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowAttribCol : 1; 4e2933c620 2015-04-21 kinaba: BOOL fMapNetDrvBtn : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowInfoTip : 1; 4e2933c620 2015-04-21 kinaba: BOOL fHideIcons : 1; 4e2933c620 2015-04-21 kinaba: UINT fRestFlags : 3; 4e2933c620 2015-04-21 kinaba: */ 9b639cf2d6 2015-05-05 kinaba: @property bool fShowAllObjects() { return cast(bool) (_bf & 0x0001); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowExtensions() { return cast(bool) (_bf & 0x0002); } 9b639cf2d6 2015-05-05 kinaba: @property bool fNoConfirmRecycle() { return cast(bool) (_bf & 0x0004); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowSysFiles() { return cast(bool) (_bf & 0x0008); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowCompColor() { return cast(bool) (_bf & 0x0010); } 9b639cf2d6 2015-05-05 kinaba: @property bool fDoubleClickInWebView() { return cast(bool) (_bf & 0x0020); } 9b639cf2d6 2015-05-05 kinaba: @property bool fDesktopHTML() { return cast(bool) (_bf & 0x0040); } 9b639cf2d6 2015-05-05 kinaba: @property bool fWin95Classic() { return cast(bool) (_bf & 0x0080); } 9b639cf2d6 2015-05-05 kinaba: @property bool fDontPrettyPath() { return cast(bool) (_bf & 0x0100); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowAttribCol() { return cast(bool) (_bf & 0x0200); } 9b639cf2d6 2015-05-05 kinaba: @property bool fMapNetDrvBtn() { return cast(bool) (_bf & 0x0400); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowInfoTip() { return cast(bool) (_bf & 0x0800); } 9b639cf2d6 2015-05-05 kinaba: @property bool fHideIcons() { return cast(bool) (_bf & 0x1000); } 9b639cf2d6 2015-05-05 kinaba: @property ubyte fRestFlags() { return cast(ubyte) (_bf >> 13); } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: @property bool fShowAllObjects(bool f) { _bf = cast(ushort) ((_bf & ~0xFFFE) | f); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowExtensions(bool f) { _bf = cast(ushort) ((_bf & ~0xFFFD) | (f << 1)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fNoConfirmRecycle(bool f) { _bf = cast(ushort) ((_bf & ~0xFFFB) | (f << 2)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowSysFiles(bool f) { _bf = cast(ushort) ((_bf & ~0xFFF8) | (f << 3)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowCompColor(bool f) { _bf = cast(ushort) ((_bf & ~0xFFEF) | (f << 4)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fDoubleClickInWebView(bool f) { _bf = cast(ushort) ((_bf & ~0xFFDF) | (f << 5)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fDesktopHTML(bool f) { _bf = cast(ushort) ((_bf & ~0xFFBF) | (f << 6)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fWin95Classic(bool f) { _bf = cast(ushort) ((_bf & ~0xFF8F) | (f << 7)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fDontPrettyPath(bool f) { _bf = cast(ushort) ((_bf & ~0xFEFF) | (f << 8)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowAttribCol(bool f) { _bf = cast(ushort) ((_bf & ~0xFDFF) | (f << 9)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fMapNetDrvBtn(bool f) { _bf = cast(ushort) ((_bf & ~0xFBFF) | (f << 10)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowInfoTip(bool f) { _bf = cast(ushort) ((_bf & ~0xF8FF) | (f << 11)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fHideIcons(bool f) { _bf = cast(ushort) ((_bf & ~0xEFFF) | (f << 12)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property ubyte fRestFlags(ubyte f) { _bf = cast(ushort) ((_bf & ~0x1FFF) | (f << 13)); return cast(ubyte) (f & 7); } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SHELLFLAGSTATE* LPSHELLFLAGSTATE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SSF_SHOWALLOBJECTS = 0x1; 4e2933c620 2015-04-21 kinaba: const SSF_SHOWEXTENSIONS = 0x2; 4e2933c620 2015-04-21 kinaba: const SSF_SHOWCOMPCOLOR = 0x8; 4e2933c620 2015-04-21 kinaba: const SSF_SHOWSYSFILES = 0x20; 4e2933c620 2015-04-21 kinaba: const SSF_DOUBLECLICKINWEBVIEW = 0x80; 4e2933c620 2015-04-21 kinaba: const SSF_SHOWATTRIBCOL = 0x100; 4e2933c620 2015-04-21 kinaba: const SSF_DESKTOPHTML = 0x200; 4e2933c620 2015-04-21 kinaba: const SSF_WIN95CLASSIC = 0x400; 4e2933c620 2015-04-21 kinaba: const SSF_DONTPRETTYPATH = 0x800; 4e2933c620 2015-04-21 kinaba: const SSF_MAPNETDRVBUTTON = 0x1000; 4e2933c620 2015-04-21 kinaba: const SSF_SHOWINFOTIP = 0x2000; 4e2933c620 2015-04-21 kinaba: const SSF_HIDEICONS = 0x4000; 4e2933c620 2015-04-21 kinaba: const SSF_NOCONFIRMRECYCLE = 0x8000; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IShellIconOverlayIdentifier : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT IsMemberOf(LPCWSTR, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetOverlayInfo(LPWSTR, int, int*, DWORD*); 4e2933c620 2015-04-21 kinaba: HRESULT GetPriority(int*); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ISIOI_ICONFILE = 0x00000001; 4e2933c620 2015-04-21 kinaba: const ISIOI_ICONINDEX = 0x00000002; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_WINNT >= 0x500) { 4e2933c620 2015-04-21 kinaba: struct SHELLSTATE { 9b639cf2d6 2015-05-05 kinaba: uint _bf1; 9b639cf2d6 2015-05-05 kinaba: DWORD dwWin95Unused; 9b639cf2d6 2015-05-05 kinaba: UINT uWin95Unused; 9b639cf2d6 2015-05-05 kinaba: LONG lParamSort; 9b639cf2d6 2015-05-05 kinaba: int iSortDirection; 9b639cf2d6 2015-05-05 kinaba: UINT _version; 9b639cf2d6 2015-05-05 kinaba: UINT uNotUsed; 9b639cf2d6 2015-05-05 kinaba: uint _bf2; 4e2933c620 2015-04-21 kinaba: /* 4e2933c620 2015-04-21 kinaba: BOOL fShowAllObjects : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowExtensions : 1; 4e2933c620 2015-04-21 kinaba: BOOL fNoConfirmRecycle : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowSysFiles : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowCompColor : 1; 4e2933c620 2015-04-21 kinaba: BOOL fDoubleClickInWebView : 1; 4e2933c620 2015-04-21 kinaba: BOOL fDesktopHTML : 1; 4e2933c620 2015-04-21 kinaba: BOOL fWin95Classic : 1; 4e2933c620 2015-04-21 kinaba: BOOL fDontPrettyPath : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowAttribCol : 1; 4e2933c620 2015-04-21 kinaba: BOOL fMapNetDrvBtn : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowInfoTip : 1; 4e2933c620 2015-04-21 kinaba: BOOL fHideIcons : 1; 4e2933c620 2015-04-21 kinaba: BOOL fWebView : 1; 4e2933c620 2015-04-21 kinaba: BOOL fFilter : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowSuperHidden : 1; 4e2933c620 2015-04-21 kinaba: BOOL fNoNetCrawling : 1; 9b639cf2d6 2015-05-05 kinaba: */ 9b639cf2d6 2015-05-05 kinaba: @property bool fShowAllObjects() { return cast(bool) (_bf1 & 0x00000001); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowExtensions() { return cast(bool) (_bf1 & 0x00000002); } 9b639cf2d6 2015-05-05 kinaba: @property bool fNoConfirmRecycle() { return cast(bool) (_bf1 & 0x00000004); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowSysFiles() { return cast(bool) (_bf1 & 0x00000008); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowCompColor() { return cast(bool) (_bf1 & 0x00000010); } 9b639cf2d6 2015-05-05 kinaba: @property bool fDoubleClickInWebView() { return cast(bool) (_bf1 & 0x00000020); } 9b639cf2d6 2015-05-05 kinaba: @property bool fDesktopHTML() { return cast(bool) (_bf1 & 0x00000040); } 9b639cf2d6 2015-05-05 kinaba: @property bool fWin95Classic() { return cast(bool) (_bf1 & 0x00000080); } 9b639cf2d6 2015-05-05 kinaba: @property bool fDontPrettyPath() { return cast(bool) (_bf1 & 0x00000100); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowAttribCol() { return cast(bool) (_bf1 & 0x00000200); } 9b639cf2d6 2015-05-05 kinaba: @property bool fMapNetDrvBtn() { return cast(bool) (_bf1 & 0x00000400); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowInfoTip() { return cast(bool) (_bf1 & 0x00000800); } 9b639cf2d6 2015-05-05 kinaba: @property bool fHideIcons() { return cast(bool) (_bf1 & 0x00001000); } 9b639cf2d6 2015-05-05 kinaba: @property bool fWebView() { return cast(bool) (_bf1 & 0x00002000); } 9b639cf2d6 2015-05-05 kinaba: @property bool fFilter() { return cast(bool) (_bf1 & 0x00004000); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowSuperHidden() { return cast(bool) (_bf1 & 0x00008000); } 9b639cf2d6 2015-05-05 kinaba: @property bool fNoNetCrawling() { return cast(bool) (_bf1 & 0x00010000); } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: @property bool fShowAllObjects(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFFFE) | f); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowExtensions(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFFFD) | (f << 1)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fNoConfirmRecycle(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFFFB) | (f << 2)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowSysFiles(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFFF8) | (f << 3)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowCompColor(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFFEF) | (f << 4)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fDoubleClickInWebView(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFFDF) | (f << 5)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fDesktopHTML(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFFBF) | (f << 6)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fWin95Classic(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFF8F) | (f << 7)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fDontPrettyPath(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFEFF) | (f << 8)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowAttribCol(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFDFF) | (f << 9)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fMapNetDrvBtn(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFFBFF) | (f << 10)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowInfoTip(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFF8FF) | (f << 11)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fHideIcons(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFEFFF) | (f << 12)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fWebView(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFDFFF) | (f << 13)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fFilter(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFFBFFF) | (f << 14)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowSuperHidden(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFF8FFF) | (f << 15)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fNoNetCrawling(bool f) { _bf1 = cast(uint) ((_bf1 & ~0xFFFEFFFF) | (f << 16)); return f; } 9b639cf2d6 2015-05-05 kinaba: /* 4e2933c620 2015-04-21 kinaba: BOOL fSepProcess : 1; 4e2933c620 2015-04-21 kinaba: BOOL fStartPanelOn : 1; 4e2933c620 2015-04-21 kinaba: BOOL fShowStartPage : 1; 4e2933c620 2015-04-21 kinaba: UINT fSpareFlags : 13; 9b639cf2d6 2015-05-05 kinaba: */ 9b639cf2d6 2015-05-05 kinaba: @property bool fSepProcess() { return cast(bool) (_bf2 & 0x00000001); } 9b639cf2d6 2015-05-05 kinaba: @property bool fStartPanelOn() { return cast(bool) (_bf2 & 0x00000002); } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowStartPage() { return cast(bool) (_bf2 & 0x00000004); } 9b639cf2d6 2015-05-05 kinaba: @property ushort fSpareFlags() { return cast(ushort) ((_bf2 & 0x0000FFF8) >> 3); } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: @property bool fSepProcess(bool f) { _bf2 = cast(uint) ((_bf2 & ~0xFFFFFFFE) | f); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fStartPanelOn(bool f) { _bf2 = cast(uint) ((_bf2 & ~0xFFFFFFFD) | (f << 1)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property bool fShowStartPage(bool f) { _bf2 = cast(uint) ((_bf2 & ~0xFFFFFFFB) | (f << 2)); return f; } 9b639cf2d6 2015-05-05 kinaba: @property ushort fSpareFlags(ushort f) { 9b639cf2d6 2015-05-05 kinaba: _bf2 = cast(ushort) ((_bf2 & ~0xFFFF0007) | ((f & 0x1FFF) << 3)); 9b639cf2d6 2015-05-05 kinaba: return cast(ushort) (f & 0x1FFF); 9b639cf2d6 2015-05-05 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SHELLSTATE* LPSHELLSTATE; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_IE >= 0x500) { 9b639cf2d6 2015-05-05 kinaba: align(8) { 9b639cf2d6 2015-05-05 kinaba: struct SHDRAGIMAGE { 9b639cf2d6 2015-05-05 kinaba: SIZE sizeDragImage; 9b639cf2d6 2015-05-05 kinaba: POINT ptOffset; 9b639cf2d6 2015-05-05 kinaba: HBITMAP hbmpDragImage; 9b639cf2d6 2015-05-05 kinaba: COLORREF crColorKey; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias SHDRAGIMAGE* LPSHDRAGIMAGE; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IDragSourceHelper : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT InitializeFromBitmap(LPSHDRAGIMAGE pshdi, IDataObject pDataObject); 9b639cf2d6 2015-05-05 kinaba: HRESULT InitializeFromWindow(HWND hwnd, POINT* ppt, IDataObject pDataObject); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IDropTargetHelper : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT DragEnter(HWND hwndTarget, IDataObject pDataObject, POINT* ppt, DWORD dwEffect); 4e2933c620 2015-04-21 kinaba: HRESULT DragLeave(); 4e2933c620 2015-04-21 kinaba: HRESULT DragOver(POINT* ppt, DWORD dwEffect); 9b639cf2d6 2015-05-05 kinaba: HRESULT Drop(IDataObject pDataObject, POINT* ppt, DWORD dwEffect); 4e2933c620 2015-04-21 kinaba: HRESULT Show(BOOL fShow); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows): 9b639cf2d6 2015-05-05 kinaba: void SHAddToRecentDocs(UINT, PCVOID); 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST SHBrowseForFolderA(PBROWSEINFOA); 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST SHBrowseForFolderW(PBROWSEINFOW); 9b639cf2d6 2015-05-05 kinaba: void SHChangeNotify(LONG, UINT, PCVOID, PCVOID); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHGetDataFromIDListA(LPSHELLFOLDER, LPCITEMIDLIST, int, PVOID, int); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHGetDataFromIDListW(LPSHELLFOLDER, LPCITEMIDLIST, int, PVOID, int); 4e2933c620 2015-04-21 kinaba: HRESULT SHGetDesktopFolder(LPSHELLFOLDER*); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHGetInstanceExplorer(IUnknown*); 4e2933c620 2015-04-21 kinaba: HRESULT SHGetMalloc(LPMALLOC*); 9b639cf2d6 2015-05-05 kinaba: BOOL SHGetPathFromIDListA(LPCITEMIDLIST, LPSTR); 9b639cf2d6 2015-05-05 kinaba: BOOL SHGetPathFromIDListW(LPCITEMIDLIST, LPWSTR); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHGetSpecialFolderLocation(HWND, int, LPITEMIDLIST*); 4e2933c620 2015-04-21 kinaba: HRESULT SHLoadInProc(REFCLSID); 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_IE >= 0x400) { 9b639cf2d6 2015-05-05 kinaba: BOOL SHGetSpecialFolderPathA(HWND, LPSTR, int, BOOL); 9b639cf2d6 2015-05-05 kinaba: BOOL SHGetSpecialFolderPathW(HWND, LPWSTR, int, BOOL); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /* SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K */ 9b639cf2d6 2015-05-05 kinaba: HRESULT SHGetFolderPathA(HWND, int, HANDLE, DWORD, LPSTR); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHGetFolderPathW(HWND, int, HANDLE, DWORD, LPWSTR); 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_WINNT >= 0x500) { 9b639cf2d6 2015-05-05 kinaba: INT SHGetIconOverlayIndexW(LPCWSTR pszIconPath, int iIconIndex); 9b639cf2d6 2015-05-05 kinaba: INT SHGetIconOverlayIndexA(LPCSTR pszIconPath, int iIconIndex); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHGetFolderLocation(HWND, int, HANDLE, DWORD, LPITEMIDLIST*); 9b639cf2d6 2015-05-05 kinaba: INT SHCreateDirectoryExA(HWND, LPCSTR, LPSECURITY_ATTRIBUTES); 9b639cf2d6 2015-05-05 kinaba: INT SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHBindToParent(LPCITEMIDLIST, REFIID, VOID**, LPCITEMIDLIST*); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_WINNT >= 0x501) { 9b639cf2d6 2015-05-05 kinaba: enum { 9b639cf2d6 2015-05-05 kinaba: PRF_VERIFYEXISTS = 0x0001, 9b639cf2d6 2015-05-05 kinaba: PRF_TRYPROGRAMEXTENSIONS = (0x0002 | PRF_VERIFYEXISTS), 9b639cf2d6 2015-05-05 kinaba: PRF_FIRSTDIRDEF = 0x0004, 9b639cf2d6 2015-05-05 kinaba: PRF_DONTFINDLNK = 0x0008, 9b639cf2d6 2015-05-05 kinaba: IDO_SHGIOI_SHARE = 0x0FFFFFFF, 9b639cf2d6 2015-05-05 kinaba: IDO_SHGIOI_LINK = 0x0FFFFFFE, 9b639cf2d6 2015-05-05 kinaba: IDO_SHGIOI_SLOWFILE = 0x0FFFFFFD, 9b639cf2d6 2015-05-05 kinaba: IDO_SHGIOI_DEFAULT = 0x0FFFFFFC 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct SHDESCRIPTIONID { 9b639cf2d6 2015-05-05 kinaba: DWORD dwDescriptionId; 9b639cf2d6 2015-05-05 kinaba: CLSID clsid; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias SHDESCRIPTIONID* LPSHDESCRIPTIONID; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: BOOL PathResolve(LPWSTR, LPCWSTR*, UINT); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHGetFolderPathAndSubDirA(HWND, int, HANDLE, DWORD, LPCSTR, LPSTR); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHGetFolderPathAndSubDirW(HWND, int, HANDLE, DWORD, LPCWSTR, LPWSTR); 9b639cf2d6 2015-05-05 kinaba: HRESULT SHParseDisplayName(LPCWSTR, IBindCtx, LPITEMIDLIST, SFGAOF, SFGAOF*); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: void SHGetSettings(LPSHELLFLAGSTATE, DWORD); 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_WINNT >= 0x500) { 9b639cf2d6 2015-05-05 kinaba: void SHGetSetSettings(LPSHELLSTATE, DWORD, BOOL); 4e2933c620 2015-04-21 kinaba: BOOL ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: BOOL ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL); 4e2933c620 2015-04-21 kinaba: BOOL ILRemoveLastID(LPITEMIDLIST); 9b639cf2d6 2015-05-05 kinaba: HRESULT ILLoadFromStream(IStream, LPITEMIDLIST*); 9b639cf2d6 2015-05-05 kinaba: HRESULT ILSaveToStream(IStream, LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST ILAppendID(LPITEMIDLIST, LPCSHITEMID, BOOL); 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST ILClone(LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST ILCloneFirst(LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST ILCombine(LPCITEMIDLIST, LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST ILFindChild(LPCITEMIDLIST, LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST ILFindLastID(LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: LPITEMIDLIST ILGetNext(LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: UINT ILGetSize(LPCITEMIDLIST); 4e2933c620 2015-04-21 kinaba: void ILFree(LPITEMIDLIST); 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: HRESULT SHCoCreateInstance(LPCWSTR, REFCLSID, IUnknown, REFIID, void**); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version(Unicode) { 4e2933c620 2015-04-21 kinaba: alias IShellExecuteHookW IShellExecuteHook; 4e2933c620 2015-04-21 kinaba: alias IShellLinkW IShellLink; 4e2933c620 2015-04-21 kinaba: alias BROWSEINFOW BROWSEINFO; 4e2933c620 2015-04-21 kinaba: alias SHBrowseForFolderW SHBrowseForFolder; 4e2933c620 2015-04-21 kinaba: alias SHGetDataFromIDListW SHGetDataFromIDList; 4e2933c620 2015-04-21 kinaba: alias SHGetPathFromIDListW SHGetPathFromIDList; 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_IE >= 0x400) { 4e2933c620 2015-04-21 kinaba: alias SHGetSpecialFolderPathW SHGetSpecialFolderPath; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SHGetFolderPathW SHGetFolderPath; 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_WINNT >= 0x500) { 9b639cf2d6 2015-05-05 kinaba: alias SHGetIconOverlayIndexW SHGetIconOverlayIndex; 4e2933c620 2015-04-21 kinaba: alias SHCreateDirectoryExW SHCreateDirectoryEx; 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_WINNT >= 0x501) { 4e2933c620 2015-04-21 kinaba: alias SHGetFolderPathAndSubDirW SHGetFolderPathAndSubDir; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FILEDESCRIPTORW FILEDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: alias LPFILEDESCRIPTORW LPFILEDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: alias FILEGROUPDESCRIPTORW FILEGROUPDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: alias LPFILEGROUPDESCRIPTORW LPFILEGROUPDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias IShellExecuteHookA IShellExecuteHook; 4e2933c620 2015-04-21 kinaba: alias IShellLinkA IShellLink; 4e2933c620 2015-04-21 kinaba: alias BROWSEINFOA BROWSEINFO; 4e2933c620 2015-04-21 kinaba: alias SHBrowseForFolderA SHBrowseForFolder; 4e2933c620 2015-04-21 kinaba: alias SHGetDataFromIDListA SHGetDataFromIDList; 4e2933c620 2015-04-21 kinaba: alias SHGetPathFromIDListA SHGetPathFromIDList; 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_IE >= 0x400) { 4e2933c620 2015-04-21 kinaba: alias SHGetSpecialFolderPathA SHGetSpecialFolderPath; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SHGetFolderPathA SHGetFolderPath; 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_WINNT >= 0x500) { 9b639cf2d6 2015-05-05 kinaba: alias SHGetIconOverlayIndexA SHGetIconOverlayIndex; 4e2933c620 2015-04-21 kinaba: alias SHCreateDirectoryExA SHCreateDirectoryEx; 4e2933c620 2015-04-21 kinaba: } 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_WINNT >= 0x501) { 4e2933c620 2015-04-21 kinaba: alias SHGetFolderPathAndSubDirA SHGetFolderPathAndSubDir; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FILEDESCRIPTORA FILEDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: alias LPFILEDESCRIPTORA LPFILEDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: alias FILEGROUPDESCRIPTORA FILEGROUPDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: alias LPFILEGROUPDESCRIPTORA LPFILEGROUPDESCRIPTOR; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias BROWSEINFO* PBROWSEINFO, LPBROWSEINFO; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: static if (_WIN32_WINNT >= 0x501) { 9b639cf2d6 2015-05-05 kinaba: interface IFolderView : IUnknown { 9b639cf2d6 2015-05-05 kinaba: HRESULT GetAutoArrange(); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetCurrentViewMode(UINT); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDefaultSpacing(POINT*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetFocusedItem(int*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetFolder(REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetItemPosition(LPCITEMIDLIST, POINT*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetSelectionMarkedItem(int*); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetSpacing(POINT*); 9b639cf2d6 2015-05-05 kinaba: HRESULT Item(int, LPITEMIDLIST*); 9b639cf2d6 2015-05-05 kinaba: HRESULT ItemCount(UINT, int*); 9b639cf2d6 2015-05-05 kinaba: HRESULT Items(UINT, REFIID, PVOID*); 9b639cf2d6 2015-05-05 kinaba: HRESULT SelectAndPositionItems(UINT, LPCITEMIDLIST*, POINT*, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT SelectItem(int, DWORD); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetCurrentViewMode(UINT); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: alias IFolderView LPFOLDERVIEW; 9b639cf2d6 2015-05-05 kinaba: }