| 1 | #ifndef _SHLOBJ_H | 
 
 
 
 
 | 2 | #define _SHLOBJ_H | 
 
 
 
 
 | 3 | #if __GNUC__ >= 3 | 
 
 
 
 
 | 4 | #pragma GCC system_header | 
 
 
 
 
 | 5 | #endif | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | #ifdef __cplusplus | 
 
 
 
 
 | 8 | extern "C" { | 
 
 
 
 
 | 9 | #endif | 
 
 
 
 
 | 10 |  | 
 
 
 
 
 | 11 | #include <ole2.h> | 
 
 
 
 
 | 12 | #include <shlguid.h> | 
 
 
 
 
 | 13 | #include <shellapi.h> | 
 
 
 
 
 | 14 | #pragma pack(push,1) | 
 
 
 
 
 | 15 | #include <commctrl.h> | 
 
 
 
 
 | 16 |  | 
 
 
 
 
 | 17 | #define BIF_RETURNONLYFSDIRS 1 | 
 
 
 
 
 | 18 | #define BIF_DONTGOBELOWDOMAIN 2 | 
 
 
 
 
 | 19 | #define BIF_STATUSTEXT 4 | 
 
 
 
 
 | 20 | #define BIF_RETURNFSANCESTORS 8 | 
 
 
 
 
 | 21 | #define BIF_EDITBOX 16 | 
 
 
 
 
 | 22 | #define BIF_VALIDATE 32 | 
 
 
 
 
 | 23 | #define BIF_NEWDIALOGSTYLE 64 | 
 
 
 
 
 | 24 | #define BIF_BROWSEINCLUDEURLS 128 | 
 
 
 
 
 | 25 | #define BIF_USENEWUI ( BIF_EDITBOX | BIF_NEWDIALOGSTYLE ) | 
 
 
 
 
 | 26 | #define BIF_BROWSEFORCOMPUTER 0x1000 | 
 
 
 
 
 | 27 | #define BIF_BROWSEFORPRINTER 0x2000 | 
 
 
 
 
 | 28 | #define BIF_BROWSEINCLUDEFILES 0x4000 | 
 
 
 
 
 | 29 | #define BIF_SHAREABLE 0x8000 | 
 
 
 
 
 | 30 | #define BFFM_INITIALIZED 1 | 
 
 
 
 
 | 31 | #define BFFM_SELCHANGED 2 | 
 
 
 
 
 | 32 | #define BFFM_VALIDATEFAILEDA 3 | 
 
 
 
 
 | 33 | #define BFFM_VALIDATEFAILEDW 4 | 
 
 
 
 
 | 34 | #define BFFM_SETSTATUSTEXTA (WM_USER + 100) | 
 
 
 
 
 | 35 | #define BFFM_SETSTATUSTEXTW (WM_USER + 104) | 
 
 
 
 
 | 36 | #define BFFM_ENABLEOK (WM_USER + 101) | 
 
 
 
 
 | 37 | #define BFFM_SETSELECTIONA (WM_USER + 102) | 
 
 
 
 
 | 38 | #define BFFM_SETSELECTIONW (WM_USER + 103) | 
 
 
 
 
 | 39 | #define BFFM_SETOKTEXT (WM_USER + 105) | 
 
 
 
 
 | 40 | #define BFFM_SETEXPANDED (WM_USER + 106) | 
 
 
 
 
 | 41 | #ifdef UNICODE | 
 
 
 
 
 | 42 | #define BFFM_SETSTATUSTEXT  BFFM_SETSTATUSTEXTW | 
 
 
 
 
 | 43 | #define BFFM_SETSELECTION   BFFM_SETSELECTIONW | 
 
 
 
 
 | 44 | #define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDW | 
 
 
 
 
 | 45 | #else | 
 
 
 
 
 | 46 | #define BFFM_SETSTATUSTEXT  BFFM_SETSTATUSTEXTA | 
 
 
 
 
 | 47 | #define BFFM_SETSELECTION   BFFM_SETSELECTIONA | 
 
 
 
 
 | 48 | #define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDA | 
 
 
 
 
 | 49 | #endif | 
 
 
 
 
 | 50 | #define DVASPECT_SHORTNAME 2 | 
 
 
 
 
 | 51 | typedef enum tagSHARD { | 
 
 
 
 
 | 52 | SHARD_PIDL = 0x00000001, | 
 
 
 
 
 | 53 | SHARD_PATHA = 0x00000002, | 
 
 
 
 
 | 54 | SHARD_PATHW = 0x00000003, | 
 
 
 
 
 | 55 | SHARD_APPIDINFO = 0x00000004, | 
 
 
 
 
 | 56 | SHARD_APPIDINFOIDLIST = 0x00000005, | 
 
 
 
 
 | 57 | SHARD_LINK = 0x00000006, | 
 
 
 
 
 | 58 | SHARD_APPIDINFOLINK = 0x00000007, | 
 
 
 
 
 | 59 | SHARD_SHELLITEM = 0x00000008 | 
 
 
 
 
 | 60 | } SHARD; | 
 
 
 
 
 | 61 | #ifdef UNICODE | 
 
 
 
 
 | 62 | #define SHARD_PATH SHARD_PATHW | 
 
 
 
 
 | 63 | #else | 
 
 
 
 
 | 64 | #define SHARD_PATH SHARD_PATHA | 
 
 
 
 
 | 65 | #endif | 
 
 
 
 
 | 66 | #define SHCNE_RENAMEITEM        1 | 
 
 
 
 
 | 67 | #define SHCNE_CREATE    2 | 
 
 
 
 
 | 68 | #define SHCNE_DELETE    4 | 
 
 
 
 
 | 69 | #define SHCNE_MKDIR     8 | 
 
 
 
 
 | 70 | #define SHCNE_RMDIR     16 | 
 
 
 
 
 | 71 | #define SHCNE_MEDIAINSERTED     32 | 
 
 
 
 
 | 72 | #define SHCNE_MEDIAREMOVED      64 | 
 
 
 
 
 | 73 | #define SHCNE_DRIVEREMOVED      128 | 
 
 
 
 
 | 74 | #define SHCNE_DRIVEADD  256 | 
 
 
 
 
 | 75 | #define SHCNE_NETSHARE  512 | 
 
 
 
 
 | 76 | #define SHCNE_NETUNSHARE        1024 | 
 
 
 
 
 | 77 | #define SHCNE_ATTRIBUTES        2048 | 
 
 
 
 
 | 78 | #define SHCNE_UPDATEDIR 4096 | 
 
 
 
 
 | 79 | #define SHCNE_UPDATEITEM        8192 | 
 
 
 
 
 | 80 | #define SHCNE_SERVERDISCONNECT  16384 | 
 
 
 
 
 | 81 | #define SHCNE_UPDATEIMAGE       32768 | 
 
 
 
 
 | 82 | #define SHCNE_DRIVEADDGUI       65536 | 
 
 
 
 
 | 83 | #define SHCNE_RENAMEFOLDER      0x20000 | 
 
 
 
 
 | 84 | #define SHCNE_FREESPACE 0x40000 | 
 
 
 
 
 | 85 | #define SHCNE_ASSOCCHANGED      0x8000000 | 
 
 
 
 
 | 86 | #define SHCNE_DISKEVENTS        0x2381F | 
 
 
 
 
 | 87 | #define SHCNE_GLOBALEVENTS      0xC0581E0 | 
 
 
 
 
 | 88 | #define SHCNE_ALLEVENTS 0x7FFFFFFF | 
 
 
 
 
 | 89 | #define SHCNE_INTERRUPT 0x80000000 | 
 
 
 
 
 | 90 | #define SHCNF_IDLIST    0 | 
 
 
 
 
 | 91 | #define SHCNF_PATHA     1 | 
 
 
 
 
 | 92 | #define SHCNF_PRINTERA  2 | 
 
 
 
 
 | 93 | #define SHCNF_DWORD     3 | 
 
 
 
 
 | 94 | #define SHCNF_PATHW     5 | 
 
 
 
 
 | 95 | #define SHCNF_PRINTERW  6 | 
 
 
 
 
 | 96 | #define SHCNF_TYPE      0xFF | 
 
 
 
 
 | 97 | #define SHCNF_FLUSH     0x1000 | 
 
 
 
 
 | 98 | #define SHCNF_FLUSHNOWAIT       0x2000 | 
 
 
 
 
 | 99 | #ifdef UNICODE | 
 
 
 
 
 | 100 | #define SHCNF_PATH      SHCNF_PATHW | 
 
 
 
 
 | 101 | #define SHCNF_PRINTER   SHCNF_PRINTERW | 
 
 
 
 
 | 102 | #else | 
 
 
 
 
 | 103 | #define SHCNF_PATH      SHCNF_PATHA | 
 
 
 
 
 | 104 | #define SHCNF_PRINTER   SHCNF_PRINTERA | 
 
 
 
 
 | 105 | #endif | 
 
 
 
 
 | 106 | #define SFGAO_CANCOPY   DROPEFFECT_COPY | 
 
 
 
 
 | 107 | #define SFGAO_CANMOVE   DROPEFFECT_MOVE | 
 
 
 
 
 | 108 | #define SFGAO_CANLINK   DROPEFFECT_LINK | 
 
 
 
 
 | 109 | #define SFGAO_CANRENAME         0x00000010L | 
 
 
 
 
 | 110 | #define SFGAO_CANDELETE         0x00000020L | 
 
 
 
 
 | 111 | #define SFGAO_HASPROPSHEET      0x00000040L | 
 
 
 
 
 | 112 | #define SFGAO_DROPTARGET        0x00000100L | 
 
 
 
 
 | 113 | #define SFGAO_CAPABILITYMASK    0x00000177L | 
 
 
 
 
 | 114 | #define SFGAO_ISSLOW            0x00004000L | 
 
 
 
 
 | 115 | #define SFGAO_GHOSTED           0x00008000L | 
 
 
 
 
 | 116 | #define SFGAO_LINK              0x00010000L | 
 
 
 
 
 | 117 | #define SFGAO_SHARE             0x00020000L | 
 
 
 
 
 | 118 | #define SFGAO_READONLY          0x00040000L | 
 
 
 
 
 | 119 | #define SFGAO_HIDDEN            0x00080000L | 
 
 
 
 
 | 120 | #define SFGAO_DISPLAYATTRMASK   (SFGAO_ISSLOW \ | 
 
 
 
 
 | 121 | | SFGAO_GHOSTED \ | 
 
 
 
 
 | 122 | | SFGAO_LINK \ | 
 
 
 
 
 | 123 | | SFGAO_SHARE \ | 
 
 
 
 
 | 124 | | SFGAO_READONLY \ | 
 
 
 
 
 | 125 | | SFGAO_HIDDEN) | 
 
 
 
 
 | 126 | #define SFGAO_FILESYSANCESTOR   0x10000000L | 
 
 
 
 
 | 127 | #define SFGAO_FOLDER            0x20000000L | 
 
 
 
 
 | 128 | #define SFGAO_FILESYSTEM        0x40000000L | 
 
 
 
 
 | 129 | #define SFGAO_HASSUBFOLDER      0x80000000L | 
 
 
 
 
 | 130 | #define SFGAO_CONTENTSMASK      0x80000000L | 
 
 
 
 
 | 131 | #define SFGAO_VALIDATE          0x01000000L | 
 
 
 
 
 | 132 | #define SFGAO_REMOVABLE         0x02000000L | 
 
 
 
 
 | 133 | #define SFGAO_COMPRESSED        0x04000000L | 
 
 
 
 
 | 134 | #define STRRET_WSTR     0 | 
 
 
 
 
 | 135 | #define STRRET_OFFSET   1 | 
 
 
 
 
 | 136 | #define STRRET_CSTR     2 | 
 
 
 
 
 | 137 | #define SHGDFIL_FINDDATA        1 | 
 
 
 
 
 | 138 | #define SHGDFIL_NETRESOURCE     2 | 
 
 
 
 
 | 139 | #define SHGDFIL_DESCRIPTIONID   3 | 
 
 
 
 
 | 140 | #define SHDID_ROOT_REGITEM      1 | 
 
 
 
 
 | 141 | #define SHDID_FS_FILE   2 | 
 
 
 
 
 | 142 | #define SHDID_FS_DIRECTORY      3 | 
 
 
 
 
 | 143 | #define SHDID_FS_OTHER  4 | 
 
 
 
 
 | 144 | #define SHDID_COMPUTER_DRIVE35  5 | 
 
 
 
 
 | 145 | #define SHDID_COMPUTER_DRIVE525 6 | 
 
 
 
 
 | 146 | #define SHDID_COMPUTER_REMOVABLE        7 | 
 
 
 
 
 | 147 | #define SHDID_COMPUTER_FIXED    8 | 
 
 
 
 
 | 148 | #define SHDID_COMPUTER_NETDRIVE 9 | 
 
 
 
 
 | 149 | #define SHDID_COMPUTER_CDROM    10 | 
 
 
 
 
 | 150 | #define SHDID_COMPUTER_RAMDISK  11 | 
 
 
 
 
 | 151 | #define SHDID_COMPUTER_OTHER    12 | 
 
 
 
 
 | 152 | #define SHDID_NET_DOMAIN        13 | 
 
 
 
 
 | 153 | #define SHDID_NET_SERVER        14 | 
 
 
 
 
 | 154 | #define SHDID_NET_SHARE 15 | 
 
 
 
 
 | 155 | #define SHDID_NET_RESTOFNET     16 | 
 
 
 
 
 | 156 | #define SHDID_NET_OTHER 17 | 
 
 
 
 
 | 157 | #ifndef REGSTR_PATH_EXPLORER | 
 
 
 
 
 | 158 | #define REGSTR_PATH_EXPLORER    TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer") | 
 
 
 
 
 | 159 | #endif | 
 
 
 
 
 | 160 | #define REGSTR_PATH_SPECIAL_FOLDERS     REGSTR_PATH_EXPLORER TEXT("\\Shell Folders") | 
 
 
 
 
 | 161 | #define CSIDL_DESKTOP   0 | 
 
 
 
 
 | 162 | #define CSIDL_INTERNET  1 | 
 
 
 
 
 | 163 | #define CSIDL_PROGRAMS  2 | 
 
 
 
 
 | 164 | #define CSIDL_CONTROLS  3 | 
 
 
 
 
 | 165 | #define CSIDL_PRINTERS  4 | 
 
 
 
 
 | 166 | #define CSIDL_PERSONAL  5 | 
 
 
 
 
 | 167 | #define CSIDL_FAVORITES 6 | 
 
 
 
 
 | 168 | #define CSIDL_STARTUP   7 | 
 
 
 
 
 | 169 | #define CSIDL_RECENT    8 | 
 
 
 
 
 | 170 | #define CSIDL_SENDTO    9 | 
 
 
 
 
 | 171 | #define CSIDL_BITBUCKET 10 | 
 
 
 
 
 | 172 | #define CSIDL_STARTMENU 11 | 
 
 
 
 
 | 173 | #define CSIDL_MYMUSIC   13 | 
 
 
 
 
 | 174 | #define CSIDL_MYVIDEO   14 | 
 
 
 
 
 | 175 | #define CSIDL_DESKTOPDIRECTORY  16 | 
 
 
 
 
 | 176 | #define CSIDL_DRIVES    17 | 
 
 
 
 
 | 177 | #define CSIDL_NETWORK   18 | 
 
 
 
 
 | 178 | #define CSIDL_NETHOOD   19 | 
 
 
 
 
 | 179 | #define CSIDL_FONTS     20 | 
 
 
 
 
 | 180 | #define CSIDL_TEMPLATES 21 | 
 
 
 
 
 | 181 | #define CSIDL_COMMON_STARTMENU  22 | 
 
 
 
 
 | 182 | #define CSIDL_COMMON_PROGRAMS   23 | 
 
 
 
 
 | 183 | #define CSIDL_COMMON_STARTUP    24 | 
 
 
 
 
 | 184 | #define CSIDL_COMMON_DESKTOPDIRECTORY   25 | 
 
 
 
 
 | 185 | #define CSIDL_APPDATA   26 | 
 
 
 
 
 | 186 | #define CSIDL_PRINTHOOD 27 | 
 
 
 
 
 | 187 | #define CSIDL_LOCAL_APPDATA 28 | 
 
 
 
 
 | 188 | #define CSIDL_ALTSTARTUP    29 | 
 
 
 
 
 | 189 | #define CSIDL_COMMON_ALTSTARTUP 30 | 
 
 
 
 
 | 190 | #define CSIDL_COMMON_FAVORITES  31 | 
 
 
 
 
 | 191 | #define CSIDL_INTERNET_CACHE   32 | 
 
 
 
 
 | 192 | #define CSIDL_COOKIES   33 | 
 
 
 
 
 | 193 | #define CSIDL_HISTORY   34 | 
 
 
 
 
 | 194 | #define CSIDL_COMMON_APPDATA    35 | 
 
 
 
 
 | 195 | #define CSIDL_WINDOWS   36 | 
 
 
 
 
 | 196 | #define CSIDL_SYSTEM    37 | 
 
 
 
 
 | 197 | #define CSIDL_PROGRAM_FILES     38 | 
 
 
 
 
 | 198 | #define CSIDL_MYPICTURES        39 | 
 
 
 
 
 | 199 | #define CSIDL_PROFILE   40 | 
 
 
 
 
 | 200 | #define CSIDL_SYSTEMX86 41 | 
 
 
 
 
 | 201 | #define CSIDL_PROGRAM_FILESX86  42 | 
 
 
 
 
 | 202 | #define CSIDL_PROGRAM_FILES_COMMON      43 | 
 
 
 
 
 | 203 | #define CSIDL_PROGRAM_FILES_COMMONX86   44 | 
 
 
 
 
 | 204 | #define CSIDL_COMMON_TEMPLATES  45 | 
 
 
 
 
 | 205 | #define CSIDL_COMMON_DOCUMENTS  46 | 
 
 
 
 
 | 206 | #define CSIDL_COMMON_ADMINTOOLS 47 | 
 
 
 
 
 | 207 | #define CSIDL_ADMINTOOLS        48 | 
 
 
 
 
 | 208 | #define CSIDL_CONNECTIONS       49 | 
 
 
 
 
 | 209 | #define CSIDL_COMMON_MUSIC      53 | 
 
 
 
 
 | 210 | #define CSIDL_COMMON_PICTURES   54 | 
 
 
 
 
 | 211 | #define CSIDL_COMMON_VIDEO      55 | 
 
 
 
 
 | 212 | #define CSIDL_RESOURCES 56 | 
 
 
 
 
 | 213 | #define CSIDL_RESOURCES_LOCALIZED       57 | 
 
 
 
 
 | 214 | #define CSIDL_COMMON_OEM_LINKS  58 | 
 
 
 
 
 | 215 | #define CSIDL_CDBURN_AREA       59 | 
 
 
 
 
 | 216 | #define CSIDL_COMPUTERSNEARME   61 | 
 
 
 
 
 | 217 | #define CSIDL_FLAG_DONT_VERIFY  0x4000 | 
 
 
 
 
 | 218 | #define CSIDL_FLAG_CREATE       0x8000 | 
 
 
 
 
 | 219 | #define CSIDL_FLAG_MASK 0xFF00 | 
 
 
 
 
 | 220 | #define CFSTR_SHELLIDLIST       TEXT("Shell IDList Array") | 
 
 
 
 
 | 221 | #define CFSTR_SHELLIDLISTOFFSET TEXT("Shell Object Offsets") | 
 
 
 
 
 | 222 | #define CFSTR_NETRESOURCES      TEXT("Net Resource") | 
 
 
 
 
 | 223 | #define CFSTR_FILECONTENTS      TEXT("FileContents") | 
 
 
 
 
 | 224 | #define CFSTR_FILENAMEA         TEXT("FileName") | 
 
 
 
 
 | 225 | #define CFSTR_FILENAMEMAPA      TEXT("FileNameMap") | 
 
 
 
 
 | 226 | #define CFSTR_FILEDESCRIPTORA   TEXT("FileGroupDescriptor") | 
 
 
 
 
 | 227 | #define CFSTR_INETURLA          TEXT("UniformResourceLocator") | 
 
 
 
 
 | 228 | #define CFSTR_SHELLURL          CFSTR_INETURLA | 
 
 
 
 
 | 229 | #define CFSTR_FILENAMEW         TEXT("FileNameW") | 
 
 
 
 
 | 230 | #define CFSTR_FILENAMEMAPW      TEXT("FileNameMapW") | 
 
 
 
 
 | 231 | #define CFSTR_FILEDESCRIPTORW   TEXT("FileGroupDescriptorW") | 
 
 
 
 
 | 232 | #define CFSTR_INETURLW          TEXT("UniformResourceLocatorW") | 
 
 
 
 
 | 233 | #ifdef UNICODE | 
 
 
 
 
 | 234 | #define CFSTR_FILENAME          CFSTR_FILENAMEW | 
 
 
 
 
 | 235 | #define CFSTR_FILENAMEMAP       CFSTR_FILENAMEMAPW | 
 
 
 
 
 | 236 | #define CFSTR_FILEDESCRIPTOR    CFSTR_FILEDESCRIPTORW | 
 
 
 
 
 | 237 | #define CFSTR_INETURL           CFSTR_INETURLW | 
 
 
 
 
 | 238 | #else | 
 
 
 
 
 | 239 | #define CFSTR_FILENAME          CFSTR_FILENAMEA | 
 
 
 
 
 | 240 | #define CFSTR_FILENAMEMAP       CFSTR_FILENAMEMAPA | 
 
 
 
 
 | 241 | #define CFSTR_FILEDESCRIPTOR    CFSTR_FILEDESCRIPTORA | 
 
 
 
 
 | 242 | #define CFSTR_INETURL           CFSTR_INETURLA | 
 
 
 
 
 | 243 | #endif | 
 
 
 
 
 | 244 | #define CFSTR_PRINTERGROUP      TEXT("PrinterFriendlyName") | 
 
 
 
 
 | 245 | #define CFSTR_INDRAGLOOP        TEXT("InShellDragLoop") | 
 
 
 
 
 | 246 | #define CFSTR_PASTESUCCEEDED    TEXT("Paste Succeeded") | 
 
 
 
 
 | 247 | #define CFSTR_PERFORMEDDROPEFFECT       TEXT("Performed DropEffect") | 
 
 
 
 
 | 248 | #define CFSTR_PREFERREDDROPEFFECT       TEXT("Preferred DropEffect") | 
 
 
 
 
 | 249 | #define CMF_NORMAL      0 | 
 
 
 
 
 | 250 | #define CMF_DEFAULTONLY 1 | 
 
 
 
 
 | 251 | #define CMF_VERBSONLY   2 | 
 
 
 
 
 | 252 | #define CMF_EXPLORE     4 | 
 
 
 
 
 | 253 | #define CMF_NOVERBS     8 | 
 
 
 
 
 | 254 | #define CMF_CANRENAME   16 | 
 
 
 
 
 | 255 | #define CMF_NODEFAULT   32 | 
 
 
 
 
 | 256 | #define CMF_INCLUDESTATIC       64 | 
 
 
 
 
 | 257 | #define CMF_RESERVED    0xffff0000 | 
 
 
 
 
 | 258 | #define GCS_VERBA        0 | 
 
 
 
 
 | 259 | #define GCS_HELPTEXTA    1 | 
 
 
 
 
 | 260 | #define GCS_VALIDATEA    2 | 
 
 
 
 
 | 261 | #define GCS_VERBW        4 | 
 
 
 
 
 | 262 | #define GCS_HELPTEXTW    5 | 
 
 
 
 
 | 263 | #define GCS_VALIDATEW    6 | 
 
 
 
 
 | 264 | #define GCS_UNICODE      4 | 
 
 
 
 
 | 265 | #ifdef UNICODE | 
 
 
 
 
 | 266 | #define GCS_VERB        GCS_VERBW | 
 
 
 
 
 | 267 | #define GCS_HELPTEXT    GCS_HELPTEXTW | 
 
 
 
 
 | 268 | #define GCS_VALIDATE    GCS_VALIDATEW | 
 
 
 
 
 | 269 | #else | 
 
 
 
 
 | 270 | #define GCS_VERB        GCS_VERBA | 
 
 
 
 
 | 271 | #define GCS_HELPTEXT    GCS_HELPTEXTA | 
 
 
 
 
 | 272 | #define GCS_VALIDATE    GCS_VALIDATEA | 
 
 
 
 
 | 273 | #endif | 
 
 
 
 
 | 274 | #define CMDSTR_NEWFOLDERA       "NewFolder" | 
 
 
 
 
 | 275 | #define CMDSTR_VIEWLISTA        "ViewList" | 
 
 
 
 
 | 276 | #define CMDSTR_VIEWDETAILSA     "ViewDetails" | 
 
 
 
 
 | 277 | #define CMDSTR_NEWFOLDERW       L"NewFolder" | 
 
 
 
 
 | 278 | #define CMDSTR_VIEWLISTW        L"ViewList" | 
 
 
 
 
 | 279 | #define CMDSTR_VIEWDETAILSW     L"ViewDetails" | 
 
 
 
 
 | 280 | #ifdef UNICODE | 
 
 
 
 
 | 281 | #define CMDSTR_NEWFOLDER        CMDSTR_NEWFOLDERW | 
 
 
 
 
 | 282 | #define CMDSTR_VIEWLIST         CMDSTR_VIEWLISTW | 
 
 
 
 
 | 283 | #define CMDSTR_VIEWDETAILS      CMDSTR_VIEWDETAILSW | 
 
 
 
 
 | 284 | #else | 
 
 
 
 
 | 285 | #define CMDSTR_NEWFOLDER        CMDSTR_NEWFOLDER | 
 
 
 
 
 | 286 | #define CMDSTR_VIEWLIST         CMDSTR_VIEWLIST | 
 
 
 
 
 | 287 | #define CMDSTR_VIEWDETAILS      CMDSTR_VIEWDETAILS | 
 
 
 
 
 | 288 | #endif | 
 
 
 
 
 | 289 | #define CMIC_MASK_HOTKEY        SEE_MASK_HOTKEY | 
 
 
 
 
 | 290 | #define CMIC_MASK_ICON  SEE_MASK_ICON | 
 
 
 
 
 | 291 | #define CMIC_MASK_FLAG_NO_UI    SEE_MASK_FLAG_NO_UI | 
 
 
 
 
 | 292 | #define CMIC_MASK_MODAL 0x80000000 | 
 
 
 
 
 | 293 | #define CMIC_VALID_SEE_FLAGS    SEE_VALID_CMIC_FLAGS | 
 
 
 
 
 | 294 | #define GIL_OPENICON    1 | 
 
 
 
 
 | 295 | #define GIL_FORSHELL    2 | 
 
 
 
 
 | 296 | #define GIL_SIMULATEDOC 1 | 
 
 
 
 
 | 297 | #define GIL_PERINSTANCE 2 | 
 
 
 
 
 | 298 | #define GIL_PERCLASS    4 | 
 
 
 
 
 | 299 | #define GIL_NOTFILENAME 8 | 
 
 
 
 
 | 300 | #define GIL_DONTCACHE   16 | 
 
 
 
 
 | 301 | #define FVSIF_RECT      1 | 
 
 
 
 
 | 302 | #define FVSIF_PINNED    2 | 
 
 
 
 
 | 303 | #define FVSIF_NEWFAILED 0x8000000 | 
 
 
 
 
 | 304 | #define FVSIF_NEWFILE   0x80000000 | 
 
 
 
 
 | 305 | #define FVSIF_CANVIEWIT 0x40000000 | 
 
 
 
 
 | 306 | #define CDBOSC_SETFOCUS 0 | 
 
 
 
 
 | 307 | #define CDBOSC_KILLFOCUS        1 | 
 
 
 
 
 | 308 | #define CDBOSC_SELCHANGE        2 | 
 
 
 
 
 | 309 | #define CDBOSC_RENAME   3 | 
 
 
 
 
 | 310 | #define FCIDM_SHVIEWFIRST       0 | 
 
 
 
 
 | 311 | #define FCIDM_SHVIEWLAST        0x7fff | 
 
 
 
 
 | 312 | #define FCIDM_BROWSERFIRST      0xa000 | 
 
 
 
 
 | 313 | #define FCIDM_BROWSERLAST       0xbf00 | 
 
 
 
 
 | 314 | #define FCIDM_GLOBALFIRST       0x8000 | 
 
 
 
 
 | 315 | #define FCIDM_GLOBALLAST        0x9fff | 
 
 
 
 
 | 316 | #define FCIDM_MENU_FILE FCIDM_GLOBALFIRST | 
 
 
 
 
 | 317 | #define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040) | 
 
 
 
 
 | 318 | #define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080) | 
 
 
 
 
 | 319 | #define FCIDM_MENU_VIEW_SEP_OPTIONS     (FCIDM_GLOBALFIRST+0x0081) | 
 
 
 
 
 | 320 | #define FCIDM_MENU_TOOLS        (FCIDM_GLOBALFIRST+0x00c0) | 
 
 
 
 
 | 321 | #define FCIDM_MENU_TOOLS_SEP_GOTO       (FCIDM_GLOBALFIRST+0x00c1) | 
 
 
 
 
 | 322 | #define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100) | 
 
 
 
 
 | 323 | #define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140) | 
 
 
 
 
 | 324 | #define FCIDM_MENU_EXPLORE      (FCIDM_GLOBALFIRST+0x0150) | 
 
 
 
 
 | 325 | #define FCIDM_MENU_FAVORITES    (FCIDM_GLOBALFIRST+0x0170) | 
 
 
 
 
 | 326 | #define FCIDM_TOOLBAR   FCIDM_BROWSERFIRST | 
 
 
 
 
 | 327 | #define FCIDM_STATUS    (FCIDM_BROWSERFIRST+1) | 
 
 
 
 
 | 328 | #define SBSP_DEFBROWSER 0 | 
 
 
 
 
 | 329 | #define SBSP_SAMEBROWSER        1 | 
 
 
 
 
 | 330 | #define SBSP_NEWBROWSER 2 | 
 
 
 
 
 | 331 | #define SBSP_DEFMODE    0 | 
 
 
 
 
 | 332 | #define SBSP_OPENMODE   16 | 
 
 
 
 
 | 333 | #define SBSP_EXPLOREMODE        32 | 
 
 
 
 
 | 334 | #define SBSP_ABSOLUTE   0 | 
 
 
 
 
 | 335 | #define SBSP_RELATIVE   0x1000 | 
 
 
 
 
 | 336 | #define SBSP_PARENT     0x2000 | 
 
 
 
 
 | 337 | #define SBSP_INITIATEDBYHLINKFRAME      0x80000000 | 
 
 
 
 
 | 338 | #define SBSP_REDIRECT   0x40000000 | 
 
 
 
 
 | 339 | #define FCW_STATUS      1 | 
 
 
 
 
 | 340 | #define FCW_TOOLBAR     2 | 
 
 
 
 
 | 341 | #define FCW_TREE        3 | 
 
 
 
 
 | 342 | #define FCT_MERGE       1 | 
 
 
 
 
 | 343 | #define FCT_CONFIGABLE  2 | 
 
 
 
 
 | 344 | #define FCT_ADDTOEND    4 | 
 
 
 
 
 | 345 | #define SVSI_DESELECT   0 | 
 
 
 
 
 | 346 | #define SVSI_SELECT     1 | 
 
 
 
 
 | 347 | #define SVSI_EDIT       3 | 
 
 
 
 
 | 348 | #define SVSI_DESELECTOTHERS     4 | 
 
 
 
 
 | 349 | #define SVSI_ENSUREVISIBLE      8 | 
 
 
 
 
 | 350 | #define SVSI_FOCUSED    16 | 
 
 
 
 
 | 351 | #define SVGIO_BACKGROUND        0 | 
 
 
 
 
 | 352 | #define SVGIO_SELECTION 1 | 
 
 
 
 
 | 353 | #define SVGIO_ALLVIEW   2 | 
 
 
 
 
 | 354 | #define SV2GV_CURRENTVIEW ((UINT)-1) | 
 
 
 
 
 | 355 | #define SV2GV_DEFAULTVIEW ((UINT)-2) | 
 
 
 
 
 | 356 |  | 
 
 
 
 
 | 357 | typedef ULONG SFGAOF; | 
 
 
 
 
 | 358 | typedef DWORD SHGDNF; | 
 
 
 
 
 | 359 |  | 
 
 
 
 
 | 360 | typedef struct _IDA { | 
 
 
 
 
 | 361 | UINT cidl; | 
 
 
 
 
 | 362 | UINT aoffset[1]; | 
 
 
 
 
 | 363 | } CIDA,*LPIDA; | 
 
 
 
 
 | 364 | typedef struct _SHITEMID { | 
 
 
 
 
 | 365 | USHORT  cb; | 
 
 
 
 
 | 366 | BYTE    abID[1]; | 
 
 
 
 
 | 367 | } SHITEMID, * LPSHITEMID; | 
 
 
 
 
 | 368 | typedef const SHITEMID *LPCSHITEMID; | 
 
 
 
 
 | 369 | typedef struct _ITEMIDLIST { | 
 
 
 
 
 | 370 | SHITEMID mkid; | 
 
 
 
 
 | 371 | } ITEMIDLIST,*LPITEMIDLIST; | 
 
 
 
 
 | 372 | typedef const ITEMIDLIST *LPCITEMIDLIST; | 
 
 
 
 
 | 373 | typedef int (CALLBACK* BFFCALLBACK)(HWND,UINT,LPARAM,LPARAM); | 
 
 
 
 
 | 374 | typedef struct _browseinfoA { | 
 
 
 
 
 | 375 | HWND    hwndOwner; | 
 
 
 
 
 | 376 | LPCITEMIDLIST   pidlRoot; | 
 
 
 
 
 | 377 | LPSTR   pszDisplayName; | 
 
 
 
 
 | 378 | LPCSTR  lpszTitle; | 
 
 
 
 
 | 379 | UINT    ulFlags; | 
 
 
 
 
 | 380 | BFFCALLBACK     lpfn; | 
 
 
 
 
 | 381 | LPARAM  lParam; | 
 
 
 
 
 | 382 | int     iImage; | 
 
 
 
 
 | 383 | } BROWSEINFOA,*PBROWSEINFOA,*LPBROWSEINFOA; | 
 
 
 
 
 | 384 | typedef struct _browseinfoW { | 
 
 
 
 
 | 385 | HWND    hwndOwner; | 
 
 
 
 
 | 386 | LPCITEMIDLIST   pidlRoot; | 
 
 
 
 
 | 387 | LPWSTR  pszDisplayName; | 
 
 
 
 
 | 388 | LPCWSTR lpszTitle; | 
 
 
 
 
 | 389 | UINT    ulFlags; | 
 
 
 
 
 | 390 | BFFCALLBACK     lpfn; | 
 
 
 
 
 | 391 | LPARAM  lParam; | 
 
 
 
 
 | 392 | int     iImage; | 
 
 
 
 
 | 393 | } BROWSEINFOW,*PBROWSEINFOW,*LPBROWSEINFOW; | 
 
 
 
 
 | 394 | typedef struct _CMInvokeCommandInfo { | 
 
 
 
 
 | 395 | DWORD cbSize; | 
 
 
 
 
 | 396 | DWORD fMask; | 
 
 
 
 
 | 397 | HWND hwnd; | 
 
 
 
 
 | 398 | LPCSTR lpVerb; | 
 
 
 
 
 | 399 | LPCSTR lpParameters; | 
 
 
 
 
 | 400 | LPCSTR lpDirectory; | 
 
 
 
 
 | 401 | int nShow; | 
 
 
 
 
 | 402 | DWORD dwHotKey; | 
 
 
 
 
 | 403 | HANDLE hIcon; | 
 
 
 
 
 | 404 | } CMINVOKECOMMANDINFO,*LPCMINVOKECOMMANDINFO; | 
 
 
 
 
 | 405 | typedef struct _DROPFILES { | 
 
 
 
 
 | 406 | DWORD pFiles; | 
 
 
 
 
 | 407 | POINT pt; | 
 
 
 
 
 | 408 | BOOL fNC; | 
 
 
 
 
 | 409 | BOOL fWide; | 
 
 
 
 
 | 410 | } DROPFILES,*LPDROPFILES; | 
 
 
 
 
 | 411 | typedef enum tagSHGDN { | 
 
 
 
 
 | 412 | SHGDN_NORMAL=0, | 
 
 
 
 
 | 413 | SHGDN_INFOLDER, | 
 
 
 
 
 | 414 | SHGDN_FOREDITING=0x1000, | 
 
 
 
 
 | 415 | SHGDN_INCLUDE_NONFILESYS=0x2000, | 
 
 
 
 
 | 416 | SHGDN_FORADDRESSBAR=0x4000, | 
 
 
 
 
 | 417 | SHGDN_FORPARSING=0x8000 | 
 
 
 
 
 | 418 | } SHGNO; | 
 
 
 
 
 | 419 | typedef enum tagSHCONTF { | 
 
 
 
 
 | 420 | SHCONTF_FOLDERS = 32, | 
 
 
 
 
 | 421 | SHCONTF_NONFOLDERS = 64, | 
 
 
 
 
 | 422 | SHCONTF_INCLUDEHIDDEN = 128, | 
 
 
 
 
 | 423 | SHCONTF_INIT_ON_FIRST_NEXT = 256, | 
 
 
 
 
 | 424 | SHCONTF_NETPRINTERSRCH = 512, | 
 
 
 
 
 | 425 | SHCONTF_SHAREABLE = 1024, | 
 
 
 
 
 | 426 | SHCONTF_STORAGE = 2048 | 
 
 
 
 
 | 427 | } SHCONTF; | 
 
 
 
 
 | 428 | typedef struct _STRRET { | 
 
 
 
 
 | 429 | UINT uType; | 
 
 
 
 
 | 430 | _ANONYMOUS_UNION union { | 
 
 
 
 
 | 431 | LPWSTR pOleStr; | 
 
 
 
 
 | 432 | UINT uOffset; | 
 
 
 
 
 | 433 | char cStr[MAX_PATH]; | 
 
 
 
 
 | 434 | } DUMMYUNIONNAME; | 
 
 
 
 
 | 435 | } STRRET,*LPSTRRET; | 
 
 
 
 
 | 436 | typedef enum { | 
 
 
 
 
 | 437 | FD_CLSID=1,FD_SIZEPOINT=2,FD_ATTRIBUTES=4,FD_CREATETIME=8,FD_ACCESSTIME=16, | 
 
 
 
 
 | 438 | FD_WRITESTIME=32,FD_FILESIZE=64,FD_LINKUI=0x8000 | 
 
 
 
 
 | 439 | } FD_FLAGS; | 
 
 
 
 
 | 440 | typedef struct _FILEDESCRIPTORA { | 
 
 
 
 
 | 441 | DWORD dwFlags; | 
 
 
 
 
 | 442 | CLSID clsid; | 
 
 
 
 
 | 443 | SIZEL sizel; | 
 
 
 
 
 | 444 | POINTL pointl; | 
 
 
 
 
 | 445 | DWORD dwFileAttributes; | 
 
 
 
 
 | 446 | FILETIME ftCreationTime; | 
 
 
 
 
 | 447 | FILETIME ftLastAccessTime; | 
 
 
 
 
 | 448 | FILETIME ftLastWriteTime; | 
 
 
 
 
 | 449 | DWORD nFileSizeHigh; | 
 
 
 
 
 | 450 | DWORD nFileSizeLow; | 
 
 
 
 
 | 451 | CHAR cFileName[MAX_PATH]; | 
 
 
 
 
 | 452 | } FILEDESCRIPTORA,*LPFILEDESCRIPTORA; | 
 
 
 
 
 | 453 | typedef struct _FILEDESCRIPTORW { | 
 
 
 
 
 | 454 | DWORD dwFlags; | 
 
 
 
 
 | 455 | CLSID clsid; | 
 
 
 
 
 | 456 | SIZEL sizel; | 
 
 
 
 
 | 457 | POINTL pointl; | 
 
 
 
 
 | 458 | DWORD dwFileAttributes; | 
 
 
 
 
 | 459 | FILETIME ftCreationTime; | 
 
 
 
 
 | 460 | FILETIME ftLastAccessTime; | 
 
 
 
 
 | 461 | FILETIME ftLastWriteTime; | 
 
 
 
 
 | 462 | DWORD nFileSizeHigh; | 
 
 
 
 
 | 463 | DWORD nFileSizeLow; | 
 
 
 
 
 | 464 | WCHAR cFileName[MAX_PATH]; | 
 
 
 
 
 | 465 | } FILEDESCRIPTORW,*LPFILEDESCRIPTORW; | 
 
 
 
 
 | 466 | typedef struct _FILEGROUPDESCRIPTORA { | 
 
 
 
 
 | 467 | UINT cItems; | 
 
 
 
 
 | 468 | FILEDESCRIPTORA fgd[1]; | 
 
 
 
 
 | 469 | } FILEGROUPDESCRIPTORA,*LPFILEGROUPDESCRIPTORA; | 
 
 
 
 
 | 470 | typedef struct _FILEGROUPDESCRIPTORW { | 
 
 
 
 
 | 471 | UINT cItems; | 
 
 
 
 
 | 472 | FILEDESCRIPTORW fgd[1]; | 
 
 
 
 
 | 473 | } FILEGROUPDESCRIPTORW,*LPFILEGROUPDESCRIPTORW; | 
 
 
 
 
 | 474 | typedef enum { | 
 
 
 
 
 | 475 | SLR_NO_UI=1, | 
 
 
 
 
 | 476 | SLR_ANY_MATCH=2, | 
 
 
 
 
 | 477 | SLR_UPDATE=4, | 
 
 
 
 
 | 478 | SLR_NOUPDATE=8, | 
 
 
 
 
 | 479 | SLR_NOSEARCH=16, | 
 
 
 
 
 | 480 | SLR_NOTRACK=32, | 
 
 
 
 
 | 481 | SLR_NOLINKINFO=64, | 
 
 
 
 
 | 482 | SLR_INVOKE_MSI=128 | 
 
 
 
 
 | 483 | } SLR_FLAGS; | 
 
 
 
 
 | 484 | typedef enum { | 
 
 
 
 
 | 485 | SLGP_SHORTPATH=1, | 
 
 
 
 
 | 486 | SLGP_UNCPRIORITY=2, | 
 
 
 
 
 | 487 | SLGP_RAWPATH=4 | 
 
 
 
 
 | 488 | } SLGP_FLAGS; | 
 
 
 
 
 | 489 | typedef PBYTE LPVIEWSETTINGS; | 
 
 
 
 
 | 490 | typedef enum { | 
 
 
 
 
 | 491 | FWF_AUTOARRANGE=1,FWF_ABBREVIATEDNAMES=2,FWF_SNAPTOGRID=4,FWF_OWNERDATA=8, | 
 
 
 
 
 | 492 | FWF_BESTFITWINDOW=16,FWF_DESKTOP=32,FWF_SINGLESEL=64,FWF_NOSUBFOLDERS=128, | 
 
 
 
 
 | 493 | FWF_TRANSPARENT=256,FWF_NOCLIENTEDGE=512,FWF_NOSCROLL=0x400,FWF_ALIGNLEFT=0x800, | 
 
 
 
 
 | 494 | FWF_SINGLECLICKACTIVATE=0x8000 | 
 
 
 
 
 | 495 | } FOLDERFLAGS; | 
 
 
 
 
 | 496 | typedef enum { | 
 
 
 
 
 | 497 | FVM_ICON=1, | 
 
 
 
 
 | 498 | FVM_SMALLICON, | 
 
 
 
 
 | 499 | FVM_LIST, | 
 
 
 
 
 | 500 | FVM_DETAILS | 
 
 
 
 
 | 501 | } FOLDERVIEWMODE; | 
 
 
 
 
 | 502 | typedef struct { | 
 
 
 
 
 | 503 | UINT ViewMode; | 
 
 
 
 
 | 504 | UINT fFlags; | 
 
 
 
 
 | 505 | } FOLDERSETTINGS,*LPFOLDERSETTINGS; | 
 
 
 
 
 | 506 | typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS; | 
 
 
 
 
 | 507 | typedef struct { | 
 
 
 
 
 | 508 | DWORD cbSize; | 
 
 
 
 
 | 509 | HWND hwndOwner; | 
 
 
 
 
 | 510 | int iShow; | 
 
 
 
 
 | 511 | DWORD dwFlags; | 
 
 
 
 
 | 512 | RECT rect; | 
 
 
 
 
 | 513 | LPUNKNOWN punkRel; | 
 
 
 
 
 | 514 | OLECHAR strNewFile[MAX_PATH]; | 
 
 
 
 
 | 515 | } FVSHOWINFO,*LPFVSHOWINFO; | 
 
 
 
 
 | 516 | typedef struct _NRESARRAY { | 
 
 
 
 
 | 517 | UINT cItems; | 
 
 
 
 
 | 518 | NETRESOURCE nr[1]; | 
 
 
 
 
 | 519 | } NRESARRAY, *LPNRESARRAY; | 
 
 
 
 
 | 520 | enum { SBSC_HIDE,SBSC_SHOW,SBSC_TOGGLE,SBSC_QUERY }; | 
 
 
 
 
 | 521 | enum { | 
 
 
 
 
 | 522 | SBCMDID_ENABLESHOWTREE,SBCMDID_SHOWCONTROL,SBCMDID_CANCELNAVIGATION, | 
 
 
 
 
 | 523 | SBCMDID_MAYSAVECHANGES,SBCMDID_SETHLINKFRAME,SBCMDID_ENABLESTOP,SBCMDID_OPTIONS | 
 
 
 
 
 | 524 | }; | 
 
 
 
 
 | 525 | typedef enum { | 
 
 
 
 
 | 526 | SVUIA_DEACTIVATE,SVUIA_ACTIVATE_NOFOCUS,SVUIA_ACTIVATE_FOCUS, | 
 
 
 
 
 | 527 | SVUIA_INPLACEACTIVATE | 
 
 
 
 
 | 528 | } SVUIA_STATUS; | 
 
 
 
 
 | 529 | #if (_WIN32_IE >= 0x0500) | 
 
 
 
 
 | 530 | typedef struct tagEXTRASEARCH | 
 
 
 
 
 | 531 | { | 
 
 
 
 
 | 532 | GUID guidSearch; | 
 
 
 
 
 | 533 | WCHAR wszFriendlyName[80]; | 
 
 
 
 
 | 534 | WCHAR wszUrl[2084]; | 
 
 
 
 
 | 535 | } EXTRASEARCH, *LPEXTRASEARCH; | 
 
 
 
 
 | 536 | typedef DWORD SHCOLSTATEF; | 
 
 
 
 
 | 537 | typedef struct | 
 
 
 
 
 | 538 | { | 
 
 
 
 
 | 539 | GUID fmtid; | 
 
 
 
 
 | 540 | DWORD pid; | 
 
 
 
 
 | 541 | } SHCOLUMNID, *LPSHCOLUMNID; | 
 
 
 
 
 | 542 | typedef const SHCOLUMNID *LPCSHCOLUMNID; | 
 
 
 
 
 | 543 | typedef struct _SHELLDETAILS | 
 
 
 
 
 | 544 | { | 
 
 
 
 
 | 545 | int fmt; | 
 
 
 
 
 | 546 | int cxChar; | 
 
 
 
 
 | 547 | STRRET str; | 
 
 
 
 
 | 548 | } SHELLDETAILS, *LPSHELLDETAILS; | 
 
 
 
 
 | 549 | typedef struct | 
 
 
 
 
 | 550 | { | 
 
 
 
 
 | 551 | LPITEMIDLIST pidlTargetFolder; | 
 
 
 
 
 | 552 | WCHAR szTargetParsingName[MAX_PATH]; | 
 
 
 
 
 | 553 | WCHAR szNetworkProvider[MAX_PATH]; | 
 
 
 
 
 | 554 | DWORD dwAttributes; | 
 
 
 
 
 | 555 | int csidl; | 
 
 
 
 
 | 556 | } PERSIST_FOLDER_TARGET_INFO; | 
 
 
 
 
 | 557 |  | 
 
 
 
 
 | 558 | typedef enum { | 
 
 
 
 
 | 559 | SHGFP_TYPE_CURRENT = 0, | 
 
 
 
 
 | 560 | SHGFP_TYPE_DEFAULT = 1, | 
 
 
 
 
 | 561 | } SHGFP_TYPE; | 
 
 
 
 
 | 562 | #endif | 
 
 
 
 
 | 563 |  | 
 
 
 
 
 | 564 |  | 
 
 
 
 
 | 565 | DECLARE_ENUMERATOR_(IEnumIDList,LPITEMIDLIST); | 
 
 
 
 
 | 566 | typedef IEnumIDList *LPENUMIDLIST; | 
 
 
 
 
 | 567 |  | 
 
 
 
 
 | 568 | #ifdef COBJMACROS | 
 
 
 
 
 | 569 | #define IEnumIDList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 570 | #define IEnumIDList_Release(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 571 | #define IEnumIDList_AddRef(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 572 | #define IEnumIDList_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c) | 
 
 
 
 
 | 573 | #define IEnumIDList_Skip(T,a) (T)->lpVtbl->Skip(T,a) | 
 
 
 
 
 | 574 | #define IEnumIDList_Reset(T) (T)->lpVtbl->Reset(T) | 
 
 
 
 
 | 575 | #define IEnumIDList_Clone(T,a) (T)->lpVtbl->Clone(T,a) | 
 
 
 
 
 | 576 | #endif | 
 
 
 
 
 | 577 |  | 
 
 
 
 
 | 578 | #define INTERFACE IObjMgr | 
 
 
 
 
 | 579 | DECLARE_INTERFACE_(IObjMgr, IUnknown) | 
 
 
 
 
 | 580 | { | 
 
 
 
 
 | 581 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 582 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 583 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 584 | STDMETHOD(Append)(THIS_ IUnknown*) PURE; | 
 
 
 
 
 | 585 | STDMETHOD(Remove)(THIS_ IUnknown*) PURE; | 
 
 
 
 
 | 586 | }; | 
 
 
 
 
 | 587 | #undef INTERFACE | 
 
 
 
 
 | 588 |  | 
 
 
 
 
 | 589 | #define INTERFACE IContextMenu | 
 
 
 
 
 | 590 | DECLARE_INTERFACE_(IContextMenu,IUnknown) | 
 
 
 
 
 | 591 | { | 
 
 
 
 
 | 592 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 593 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 594 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 595 | STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE; | 
 
 
 
 
 | 596 | STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE; | 
 
 
 
 
 | 597 | STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE; | 
 
 
 
 
 | 598 | }; | 
 
 
 
 
 | 599 | #undef INTERFACE | 
 
 
 
 
 | 600 | typedef IContextMenu *LPCONTEXTMENU; | 
 
 
 
 
 | 601 |  | 
 
 
 
 
 | 602 | #ifdef COBJMACROS | 
 
 
 
 
 | 603 | #define IContextMenu_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 604 | #define IContextMenu_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 605 | #define IContextMenu_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 606 | #define IContextMenu_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e) | 
 
 
 
 
 | 607 | #define IContextMenu_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a) | 
 
 
 
 
 | 608 | #define IContextMenu_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e) | 
 
 
 
 
 | 609 | #endif | 
 
 
 
 
 | 610 |  | 
 
 
 
 
 | 611 | #define INTERFACE IContextMenu2 | 
 
 
 
 
 | 612 | DECLARE_INTERFACE_(IContextMenu2,IContextMenu) | 
 
 
 
 
 | 613 | { | 
 
 
 
 
 | 614 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 615 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 616 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 617 | STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE; | 
 
 
 
 
 | 618 | STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE; | 
 
 
 
 
 | 619 | STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE; | 
 
 
 
 
 | 620 | STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE; | 
 
 
 
 
 | 621 | }; | 
 
 
 
 
 | 622 | #undef INTERFACE | 
 
 
 
 
 | 623 | typedef IContextMenu2 *LPCONTEXTMENU2; | 
 
 
 
 
 | 624 |  | 
 
 
 
 
 | 625 | #define INTERFACE IContextMenu3 | 
 
 
 
 
 | 626 | DECLARE_INTERFACE_(IContextMenu3,IContextMenu2) | 
 
 
 
 
 | 627 | { | 
 
 
 
 
 | 628 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 629 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 630 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 631 | STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE; | 
 
 
 
 
 | 632 | STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE; | 
 
 
 
 
 | 633 | STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE; | 
 
 
 
 
 | 634 | STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE; | 
 
 
 
 
 | 635 | STDMETHOD(HandleMenuMsg2)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE; | 
 
 
 
 
 | 636 | }; | 
 
 
 
 
 | 637 | #undef INTERFACE | 
 
 
 
 
 | 638 | typedef IContextMenu3 *LPCONTEXTMENU3; | 
 
 
 
 
 | 639 |  | 
 
 
 
 
 | 640 | #if (_WIN32_IE >= 0x0500) | 
 
 
 
 
 | 641 | #pragma pack(push,8) | 
 
 
 
 
 | 642 | typedef struct { | 
 
 
 
 
 | 643 | ULONG dwFlags; | 
 
 
 
 
 | 644 | ULONG dwReserved; | 
 
 
 
 
 | 645 | WCHAR wszFolder[MAX_PATH]; | 
 
 
 
 
 | 646 | } SHCOLUMNINIT,*LPSHCOLUMNINIT; | 
 
 
 
 
 | 647 | typedef const SHCOLUMNINIT* LPCSHCOLUMNINIT; | 
 
 
 
 
 | 648 | typedef struct { | 
 
 
 
 
 | 649 | ULONG dwFlags; | 
 
 
 
 
 | 650 | DWORD dwFileAttributes; | 
 
 
 
 
 | 651 | ULONG dwReserved; | 
 
 
 
 
 | 652 | WCHAR *pwszExt; | 
 
 
 
 
 | 653 | WCHAR wszFile[MAX_PATH]; | 
 
 
 
 
 | 654 | } SHCOLUMNDATA,*LPSHCOLUMNDATA; | 
 
 
 
 
 | 655 | typedef const SHCOLUMNDATA* LPCSHCOLUMNDATA; | 
 
 
 
 
 | 656 | #pragma pack(pop) | 
 
 
 
 
 | 657 |  | 
 
 
 
 
 | 658 | #define MAX_COLUMN_NAME_LEN 80 | 
 
 
 
 
 | 659 | #define MAX_COLUMN_DESC_LEN 128 | 
 
 
 
 
 | 660 |  | 
 
 
 
 
 | 661 | #pragma pack(push,1) | 
 
 
 
 
 | 662 | typedef struct { | 
 
 
 
 
 | 663 | SHCOLUMNID scid; | 
 
 
 
 
 | 664 | VARTYPE vt; | 
 
 
 
 
 | 665 | DWORD fmt; | 
 
 
 
 
 | 666 | UINT cChars; | 
 
 
 
 
 | 667 | DWORD csFlags; | 
 
 
 
 
 | 668 | WCHAR wszTitle[MAX_COLUMN_NAME_LEN]; | 
 
 
 
 
 | 669 | WCHAR wszDescription[MAX_COLUMN_DESC_LEN]; | 
 
 
 
 
 | 670 | } SHCOLUMNINFO,*LPSHCOLUMNINFO; | 
 
 
 
 
 | 671 | typedef const SHCOLUMNINFO* LPCSHCOLUMNINFO; | 
 
 
 
 
 | 672 | #pragma pack(pop) | 
 
 
 
 
 | 673 |  | 
 
 
 
 
 | 674 | typedef enum { | 
 
 
 
 
 | 675 | SHCOLSTATE_TYPE_STR = 0x00000001, | 
 
 
 
 
 | 676 | SHCOLSTATE_TYPE_INT = 0x00000002, | 
 
 
 
 
 | 677 | SHCOLSTATE_TYPE_DATE = 0x00000003, | 
 
 
 
 
 | 678 | SHCOLSTATE_TYPEMASK = 0x0000000f, | 
 
 
 
 
 | 679 | SHCOLSTATE_ONBYDEFAULT = 0x00000010, | 
 
 
 
 
 | 680 | SHCOLSTATE_SLOW = 0x00000020, | 
 
 
 
 
 | 681 | SHCOLSTATE_EXTENDED = 0x00000040, | 
 
 
 
 
 | 682 | SHCOLSTATE_SECONDARYUI = 0x00000080, | 
 
 
 
 
 | 683 | SHCOLSTATE_HIDDEN = 0x00000100, | 
 
 
 
 
 | 684 | SHCOLSTATE_PREFER_VARCMP = 0x00000200 | 
 
 
 
 
 | 685 | } SHCOLSTATE; | 
 
 
 
 
 | 686 |  | 
 
 
 
 
 | 687 | #ifdef COBJMACROS | 
 
 
 
 
 | 688 | #define IContextMenu2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 689 | #define IContextMenu2_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 690 | #define IContextMenu2_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 691 | #define IContextMenu2_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e) | 
 
 
 
 
 | 692 | #define IContextMenu2_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a) | 
 
 
 
 
 | 693 | #define IContextMenu2_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e) | 
 
 
 
 
 | 694 | #define IContextMenu2_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,a,b,c) | 
 
 
 
 
 | 695 | #endif | 
 
 
 
 
 | 696 |  | 
 
 
 
 
 | 697 | #ifdef COBJMACROS | 
 
 
 
 
 | 698 | #define IContextMenu3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 699 | #define IContextMenu3_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 700 | #define IContextMenu3_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 701 | #define IContextMenu3_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e) | 
 
 
 
 
 | 702 | #define IContextMenu3_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a) | 
 
 
 
 
 | 703 | #define IContextMenu3_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e) | 
 
 
 
 
 | 704 | #define IContextMenu3_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,a,b,c) | 
 
 
 
 
 | 705 | #define IContextMenu3_HandleMenuMsg2(T,a,b,c,d) (T)->lpVtbl->HandleMenuMsg(T,a,b,c,d) | 
 
 
 
 
 | 706 | #endif | 
 
 
 
 
 | 707 |  | 
 
 
 
 
 | 708 | #define INTERFACE IColumnProvider | 
 
 
 
 
 | 709 | DECLARE_INTERFACE_(IColumnProvider,IUnknown) | 
 
 
 
 
 | 710 | { | 
 
 
 
 
 | 711 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 712 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 713 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 714 | STDMETHOD(Initialize)(THIS_ LPCSHCOLUMNINIT) PURE; | 
 
 
 
 
 | 715 | STDMETHOD(GetColumnInfo)(THIS_ DWORD,SHCOLUMNINFO*) PURE; | 
 
 
 
 
 | 716 | STDMETHOD(GetItemData)(THIS_ LPCSHCOLUMNID,LPCSHCOLUMNDATA,VARIANT*) PURE; | 
 
 
 
 
 | 717 | }; | 
 
 
 
 
 | 718 | #undef INTERFACE | 
 
 
 
 
 | 719 | #endif  /* _WIN32_IE >= 0x0500 */ | 
 
 
 
 
 | 720 |  | 
 
 
 
 
 | 721 | #define INTERFACE IQueryInfo | 
 
 
 
 
 | 722 | DECLARE_INTERFACE_(IQueryInfo,IUnknown) | 
 
 
 
 
 | 723 | { | 
 
 
 
 
 | 724 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 725 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 726 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 727 | STDMETHOD(GetInfoTip)(THIS_ DWORD,WCHAR**) PURE; | 
 
 
 
 
 | 728 | STDMETHOD(GetInfoFlags)(THIS_ DWORD*) PURE; | 
 
 
 
 
 | 729 | }; | 
 
 
 
 
 | 730 | #undef INTERFACE | 
 
 
 
 
 | 731 |  | 
 
 
 
 
 | 732 | #define INTERFACE IShellExtInit | 
 
 
 
 
 | 733 | DECLARE_INTERFACE_(IShellExtInit, IUnknown) | 
 
 
 
 
 | 734 | { | 
 
 
 
 
 | 735 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 736 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 737 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 738 | STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST,LPDATAOBJECT,HKEY) PURE; | 
 
 
 
 
 | 739 | }; | 
 
 
 
 
 | 740 | #undef INTERFACE | 
 
 
 
 
 | 741 | typedef IShellExtInit *LPSHELLEXTINIT; | 
 
 
 
 
 | 742 |  | 
 
 
 
 
 | 743 | #define INTERFACE IShellPropSheetExt | 
 
 
 
 
 | 744 | DECLARE_INTERFACE_(IShellPropSheetExt, IUnknown) | 
 
 
 
 
 | 745 | { | 
 
 
 
 
 | 746 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 747 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 748 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 749 | STDMETHOD(AddPages)(THIS_ LPFNADDPROPSHEETPAGE,LPARAM) PURE; | 
 
 
 
 
 | 750 | STDMETHOD(ReplacePage)(THIS_ UINT,LPFNADDPROPSHEETPAGE,LPARAM) PURE; | 
 
 
 
 
 | 751 | }; | 
 
 
 
 
 | 752 | #undef INTERFACE | 
 
 
 
 
 | 753 | typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; | 
 
 
 
 
 | 754 |  | 
 
 
 
 
 | 755 | #define INTERFACE IExtractIconA | 
 
 
 
 
 | 756 | DECLARE_INTERFACE_(IExtractIconA, IUnknown) | 
 
 
 
 
 | 757 | { | 
 
 
 
 
 | 758 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 759 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 760 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 761 | STDMETHOD(GetIconLocation)(THIS_ UINT,LPSTR,UINT,int*,PUINT) PURE; | 
 
 
 
 
 | 762 | STDMETHOD(Extract)(THIS_ LPCSTR,UINT,HICON*,HICON*,UINT) PURE; | 
 
 
 
 
 | 763 | }; | 
 
 
 
 
 | 764 | #undef INTERFACE | 
 
 
 
 
 | 765 | typedef IExtractIconA *LPEXTRACTICONA; | 
 
 
 
 
 | 766 |  | 
 
 
 
 
 | 767 | #ifdef COBJMACROS | 
 
 
 
 
 | 768 | #define IExtractIconA_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 769 | #define IExtractIconA_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 770 | #define IExtractIconA_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 771 | #define IExtractIconA_GetIconLocation(T,a,b,c,d,e) (T)->lpVtbl->GetIconLocation(T,a,b,c,d,e) | 
 
 
 
 
 | 772 | #define IExtractIconA_Extract(T,a,b,c,d,e) (T)->lpVtbl->Extract(T,a,b,c,d,e) | 
 
 
 
 
 | 773 | #endif | 
 
 
 
 
 | 774 |  | 
 
 
 
 
 | 775 | #define INTERFACE IExtractIconW | 
 
 
 
 
 | 776 | DECLARE_INTERFACE_(IExtractIconW, IUnknown) | 
 
 
 
 
 | 777 | { | 
 
 
 
 
 | 778 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 779 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 780 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 781 | STDMETHOD(GetIconLocation)(THIS_ UINT,LPWSTR,UINT,int*,PUINT) PURE; | 
 
 
 
 
 | 782 | STDMETHOD(Extract)(THIS_ LPCWSTR,UINT,HICON*,HICON*,UINT) PURE; | 
 
 
 
 
 | 783 | }; | 
 
 
 
 
 | 784 | #undef INTERFACE | 
 
 
 
 
 | 785 | typedef IExtractIconW *LPEXTRACTICONW; | 
 
 
 
 
 | 786 |  | 
 
 
 
 
 | 787 | #ifdef COBJMACROS | 
 
 
 
 
 | 788 | #define IExtractIconW_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 789 | #define IExtractIconW_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 790 | #define IExtractIconW_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 791 | #define IExtractIconW_GetIconLocation(T,a,b,c,d,e) (T)->lpVtbl->GetIconLocation(T,a,b,c,d,e) | 
 
 
 
 
 | 792 | #define IExtractIconW_Extract(T,a,b,c,d,e) (T)->lpVtbl->Extract(T,a,b,c,d,e) | 
 
 
 
 
 | 793 | #endif | 
 
 
 
 
 | 794 |  | 
 
 
 
 
 | 795 | #ifdef UNICODE | 
 
 
 
 
 | 796 | #define IExtractIcon IExtractIconW | 
 
 
 
 
 | 797 | #define LPEXTRACTICON LPEXTRACTICONW | 
 
 
 
 
 | 798 | #else | 
 
 
 
 
 | 799 | #define IExtractIcon IExtractIconA | 
 
 
 
 
 | 800 | #define LPEXTRACTICON LPEXTRACTICONA | 
 
 
 
 
 | 801 | #endif | 
 
 
 
 
 | 802 |  | 
 
 
 
 
 | 803 | #define INTERFACE IShellLinkA | 
 
 
 
 
 | 804 | DECLARE_INTERFACE_(IShellLinkA, IUnknown) | 
 
 
 
 
 | 805 | { | 
 
 
 
 
 | 806 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 807 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 808 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 809 | STDMETHOD(GetPath)(THIS_ LPSTR,int,WIN32_FIND_DATAA*,DWORD) PURE; | 
 
 
 
 
 | 810 | STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE; | 
 
 
 
 
 | 811 | STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE; | 
 
 
 
 
 | 812 | STDMETHOD(GetDescription)(THIS_ LPSTR,int) PURE; | 
 
 
 
 
 | 813 | STDMETHOD(SetDescription)(THIS_ LPCSTR) PURE; | 
 
 
 
 
 | 814 | STDMETHOD(GetWorkingDirectory)(THIS_ LPSTR,int) PURE; | 
 
 
 
 
 | 815 | STDMETHOD(SetWorkingDirectory)(THIS_ LPCSTR) PURE; | 
 
 
 
 
 | 816 | STDMETHOD(GetArguments)(THIS_ LPSTR,int) PURE; | 
 
 
 
 
 | 817 | STDMETHOD(SetArguments)(THIS_ LPCSTR) PURE; | 
 
 
 
 
 | 818 | STDMETHOD(GetHotkey)(THIS_ PWORD) PURE; | 
 
 
 
 
 | 819 | STDMETHOD(SetHotkey)(THIS_ WORD) PURE; | 
 
 
 
 
 | 820 | STDMETHOD(GetShowCmd)(THIS_ int*) PURE; | 
 
 
 
 
 | 821 | STDMETHOD(SetShowCmd)(THIS_ int) PURE; | 
 
 
 
 
 | 822 | STDMETHOD(GetIconLocation)(THIS_ LPSTR,int,int*) PURE; | 
 
 
 
 
 | 823 | STDMETHOD(SetIconLocation)(THIS_ LPCSTR,int) PURE; | 
 
 
 
 
 | 824 | STDMETHOD(SetRelativePath)(THIS_ LPCSTR ,DWORD) PURE; | 
 
 
 
 
 | 825 | STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE; | 
 
 
 
 
 | 826 | STDMETHOD(SetPath)(THIS_ LPCSTR) PURE; | 
 
 
 
 
 | 827 | }; | 
 
 
 
 
 | 828 | #undef INTERFACE | 
 
 
 
 
 | 829 |  | 
 
 
 
 
 | 830 | #ifdef COBJMACROS | 
 
 
 
 
 | 831 | #define IShellLinkA_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 832 | #define IShellLinkA_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 833 | #define IShellLinkA_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 834 | #define IShellLinkA_GetPath(T,a,b,c,d) (T)->lpVtbl->GetPath(T,a,b,c,d) | 
 
 
 
 
 | 835 | #define IShellLinkA_GetIDList(T,a) (T)->lpVtbl->GetIDList(T,a) | 
 
 
 
 
 | 836 | #define IShellLinkA_SetIDList(T,a) (T)->lpVtbl->SetIDList(T,a) | 
 
 
 
 
 | 837 | #define IShellLinkA_GetDescription(T,a,b) (T)->lpVtbl->GetDescription(T,a,b) | 
 
 
 
 
 | 838 | #define IShellLinkA_SetDescription(T,a) (T)->lpVtbl->SetDescription(T,a) | 
 
 
 
 
 | 839 | #define IShellLinkA_GetWorkingDirectory(T,a,b) (T)->lpVtbl->GetWorkingDirectory(T,a,b) | 
 
 
 
 
 | 840 | #define IShellLinkA_SetWorkingDirectory(T,a) (T)->lpVtbl->SetWorkingDirectory(T,a) | 
 
 
 
 
 | 841 | #define IShellLinkA_GetArguments(T,a,b) (T)->lpVtbl->GetArguments(T,a,b) | 
 
 
 
 
 | 842 | #define IShellLinkA_SetArguments(T,a) (T)->lpVtbl->SetArguments(T,a) | 
 
 
 
 
 | 843 | #define IShellLinkA_GetHotkey(T,a) (T)->lpVtbl->GetHotkey(T,a) | 
 
 
 
 
 | 844 | #define IShellLinkA_SetHotkey(T,a) (T)->lpVtbl->SetHotkey(T,a) | 
 
 
 
 
 | 845 | #define IShellLinkA_GetShowCmd(T,a) (T)->lpVtbl->GetShowCmd(T,a) | 
 
 
 
 
 | 846 | #define IShellLinkA_SetShowCmd(T,a) (T)->lpVtbl->SetShowCmd(T,a) | 
 
 
 
 
 | 847 | #define IShellLinkA_GetIconLocation(T,a,b,c) (T)->lpVtbl->GetIconLocation(T,a,b,c) | 
 
 
 
 
 | 848 | #define IShellLinkA_SetIconLocation(T,a,b) (T)->lpVtbl->SetIconLocation(T,a,b) | 
 
 
 
 
 | 849 | #define IShellLinkA_SetRelativePath(T,a,b) (T)->lpVtbl->SetRelativePath(T,a,b) | 
 
 
 
 
 | 850 | #define IShellLinkA_Resolve(T,a,b) (T)->lpVtbl->Resolve(T,a,b) | 
 
 
 
 
 | 851 | #define IShellLinkA_SetPath(T,a) (T)->lpVtbl->SetPath(T,a) | 
 
 
 
 
 | 852 | #endif | 
 
 
 
 
 | 853 |  | 
 
 
 
 
 | 854 | #define INTERFACE IShellLinkW | 
 
 
 
 
 | 855 | DECLARE_INTERFACE_(IShellLinkW, IUnknown) | 
 
 
 
 
 | 856 | { | 
 
 
 
 
 | 857 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 858 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 859 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 860 | STDMETHOD(GetPath)(THIS_ LPWSTR,int,WIN32_FIND_DATAW*,DWORD) PURE; | 
 
 
 
 
 | 861 | STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE; | 
 
 
 
 
 | 862 | STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE; | 
 
 
 
 
 | 863 | STDMETHOD(GetDescription)(THIS_ LPWSTR,int) PURE; | 
 
 
 
 
 | 864 | STDMETHOD(SetDescription)(THIS_ LPCWSTR) PURE; | 
 
 
 
 
 | 865 | STDMETHOD(GetWorkingDirectory)(THIS_ LPWSTR,int) PURE; | 
 
 
 
 
 | 866 | STDMETHOD(SetWorkingDirectory)(THIS_ LPCWSTR) PURE; | 
 
 
 
 
 | 867 | STDMETHOD(GetArguments)(THIS_ LPWSTR,int) PURE; | 
 
 
 
 
 | 868 | STDMETHOD(SetArguments)(THIS_ LPCWSTR) PURE; | 
 
 
 
 
 | 869 | STDMETHOD(GetHotkey)(THIS_ PWORD) PURE; | 
 
 
 
 
 | 870 | STDMETHOD(SetHotkey)(THIS_ WORD) PURE; | 
 
 
 
 
 | 871 | STDMETHOD(GetShowCmd)(THIS_ int*) PURE; | 
 
 
 
 
 | 872 | STDMETHOD(SetShowCmd)(THIS_ int) PURE; | 
 
 
 
 
 | 873 | STDMETHOD(GetIconLocation)(THIS_ LPWSTR,int,int*) PURE; | 
 
 
 
 
 | 874 | STDMETHOD(SetIconLocation)(THIS_ LPCWSTR,int) PURE; | 
 
 
 
 
 | 875 | STDMETHOD(SetRelativePath)(THIS_ LPCWSTR ,DWORD) PURE; | 
 
 
 
 
 | 876 | STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE; | 
 
 
 
 
 | 877 | STDMETHOD(SetPath)(THIS_ LPCWSTR) PURE; | 
 
 
 
 
 | 878 | }; | 
 
 
 
 
 | 879 | #undef INTERFACE | 
 
 
 
 
 | 880 |  | 
 
 
 
 
 | 881 | #ifdef COBJMACROS | 
 
 
 
 
 | 882 | #define IShellLinkW_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 883 | #define IShellLinkW_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 884 | #define IShellLinkW_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 885 | #define IShellLinkW_GetPath(T,a,b,c,d) (T)->lpVtbl->GetPath(T,a,b,c,d) | 
 
 
 
 
 | 886 | #define IShellLinkW_GetIDList(T,a) (T)->lpVtbl->GetIDList(T,a) | 
 
 
 
 
 | 887 | #define IShellLinkW_SetIDList(T,a) (T)->lpVtbl->SetIDList(T,a) | 
 
 
 
 
 | 888 | #define IShellLinkW_GetDescription(T,a,b) (T)->lpVtbl->GetDescription(T,a,b) | 
 
 
 
 
 | 889 | #define IShellLinkW_SetDescription(T,a) (T)->lpVtbl->SetDescription(T,a) | 
 
 
 
 
 | 890 | #define IShellLinkW_GetWorkingDirectory(T,a,b) (T)->lpVtbl->GetWorkingDirectory(T,a,b) | 
 
 
 
 
 | 891 | #define IShellLinkW_SetWorkingDirectory(T,a) (T)->lpVtbl->SetWorkingDirectory(T,a) | 
 
 
 
 
 | 892 | #define IShellLinkW_GetArguments(T,a,b) (T)->lpVtbl->GetArguments(T,a,b) | 
 
 
 
 
 | 893 | #define IShellLinkW_SetArguments(T,a) (T)->lpVtbl->SetArguments(T,a) | 
 
 
 
 
 | 894 | #define IShellLinkW_GetHotkey(T,a) (T)->lpVtbl->GetHotkey(T,a) | 
 
 
 
 
 | 895 | #define IShellLinkW_SetHotkey(T,a) (T)->lpVtbl->SetHotkey(T,a) | 
 
 
 
 
 | 896 | #define IShellLinkW_GetShowCmd(T,a) (T)->lpVtbl->GetShowCmd(T,a) | 
 
 
 
 
 | 897 | #define IShellLinkW_SetShowCmd(T,a) (T)->lpVtbl->SetShowCmd(T,a) | 
 
 
 
 
 | 898 | #define IShellLinkW_GetIconLocation(T,a,b,c) (T)->lpVtbl->GetIconLocation(T,a,b,c) | 
 
 
 
 
 | 899 | #define IShellLinkW_SetIconLocation(T,a,b) (T)->lpVtbl->SetIconLocation(T,a,b) | 
 
 
 
 
 | 900 | #define IShellLinkW_SetRelativePath(T,a,b) (T)->lpVtbl->SetRelativePath(T,a,b) | 
 
 
 
 
 | 901 | #define IShellLinkW_Resolve(T,a,b) (T)->lpVtbl->Resolve(T,a,b) | 
 
 
 
 
 | 902 | #define IShellLinkW_SetPath(T,a) (T)->lpVtbl->SetPath(T,a) | 
 
 
 
 
 | 903 | #endif | 
 
 
 
 
 | 904 |  | 
 
 
 
 
 | 905 | #define INTERFACE IShellFolder | 
 
 
 
 
 | 906 | DECLARE_INTERFACE_(IShellFolder, IUnknown) | 
 
 
 
 
 | 907 | { | 
 
 
 
 
 | 908 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 909 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 910 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 911 | STDMETHOD(ParseDisplayName)(THIS_ HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) PURE; | 
 
 
 
 
 | 912 | STDMETHOD(EnumObjects)(THIS_ HWND,DWORD,LPENUMIDLIST*) PURE; | 
 
 
 
 
 | 913 | STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE; | 
 
 
 
 
 | 914 | STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE; | 
 
 
 
 
 | 915 | STDMETHOD(CompareIDs)(THIS_ LPARAM,LPCITEMIDLIST,LPCITEMIDLIST) PURE; | 
 
 
 
 
 | 916 | STDMETHOD(CreateViewObject)(THIS_ HWND,REFIID,PVOID*) PURE; | 
 
 
 
 
 | 917 | STDMETHOD(GetAttributesOf)(THIS_ UINT,LPCITEMIDLIST*,PULONG) PURE; | 
 
 
 
 
 | 918 | STDMETHOD(GetUIObjectOf)(THIS_ HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*) PURE; | 
 
 
 
 
 | 919 | STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST,DWORD,LPSTRRET) PURE; | 
 
 
 
 
 | 920 | STDMETHOD(SetNameOf)(THIS_ HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*) PURE; | 
 
 
 
 
 | 921 | }; | 
 
 
 
 
 | 922 | #undef INTERFACE | 
 
 
 
 
 | 923 | typedef IShellFolder *LPSHELLFOLDER; | 
 
 
 
 
 | 924 |  | 
 
 
 
 
 | 925 | #ifdef COBJMACROS | 
 
 
 
 
 | 926 | #define IShellFolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 927 | #define IShellFolder_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 928 | #define IShellFolder_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 929 | #define IShellFolder_ParseDisplayName(T,a,b,c,d,e,f) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d,e,f) | 
 
 
 
 
 | 930 | #define IShellFolder_EnumObjects(T,a,b,c) (T)->lpVtbl->EnumObjects(T,a,b,c) | 
 
 
 
 
 | 931 | #define IShellFolder_BindToObject(T,a,b,c,d) (T)->lpVtbl->BindToObject(T,a,b,c,d) | 
 
 
 
 
 | 932 | #define IShellFolder_BindToStorage(T,a,b,c,d) (T)->lpVtbl->BindToStorage(T,a,b,c,d) | 
 
 
 
 
 | 933 | #define IShellFolder_CompareIDs(T,a,b,c) (T)->lpVtbl->CompareIDs(T,a,b,c) | 
 
 
 
 
 | 934 | #define IShellFolder_CreateViewObject(T,a,b) (T)->lpVtbl->CreateViewObject(T,a,b) | 
 
 
 
 
 | 935 | #define IShellFolder_GetAttributesOf(T,a,b,c) (T)->lpVtbl->GetAttributesOf(T,a,b,c) | 
 
 
 
 
 | 936 | #define IShellFolder_GetUIObjectOf(T,a,b,c,d,e,f) (T)->lpVtbl->GetUIObjectOf(T,a,b,c,d,e,f) | 
 
 
 
 
 | 937 | #define IShellFolder_GetDisplayNameOf(T,a,b,c) (T)->lpVtbl->GetDisplayNameOf(T,a,b,c) | 
 
 
 
 
 | 938 | #define IShellFolder_SetNameOf(T,a,b,c,d,e) (T)->lpVtbl->SetNameOf(T,a,b,c,d,e) | 
 
 
 
 
 | 939 | #endif | 
 
 
 
 
 | 940 |  | 
 
 
 
 
 | 941 | #if (_WIN32_IE >= 0x0500) | 
 
 
 
 
 | 942 |  | 
 
 
 
 
 | 943 | DECLARE_ENUMERATOR_(IEnumExtraSearch,LPEXTRASEARCH); | 
 
 
 
 
 | 944 | typedef IEnumExtraSearch *LPENUMEXTRASEARCH; | 
 
 
 
 
 | 945 |  | 
 
 
 
 
 | 946 | #define INTERFACE IShellFolder2 | 
 
 
 
 
 | 947 | DECLARE_INTERFACE_(IShellFolder2, IShellFolder) | 
 
 
 
 
 | 948 | { | 
 
 
 
 
 | 949 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 950 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 951 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 952 | STDMETHOD(ParseDisplayName)(THIS_ HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) PURE; | 
 
 
 
 
 | 953 | STDMETHOD(EnumObjects)(THIS_ HWND,DWORD,LPENUMIDLIST*) PURE; | 
 
 
 
 
 | 954 | STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE; | 
 
 
 
 
 | 955 | STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE; | 
 
 
 
 
 | 956 | STDMETHOD(CompareIDs)(THIS_ LPARAM,LPCITEMIDLIST,LPCITEMIDLIST) PURE; | 
 
 
 
 
 | 957 | STDMETHOD(CreateViewObject)(THIS_ HWND,REFIID,PVOID*) PURE; | 
 
 
 
 
 | 958 | STDMETHOD(GetAttributesOf)(THIS_ UINT,LPCITEMIDLIST*,PULONG) PURE; | 
 
 
 
 
 | 959 | STDMETHOD(GetUIObjectOf)(THIS_ HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*) PURE; | 
 
 
 
 
 | 960 | STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST,DWORD,LPSTRRET) PURE; | 
 
 
 
 
 | 961 | STDMETHOD(SetNameOf)(THIS_ HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*) PURE; | 
 
 
 
 
 | 962 | STDMETHOD(GetDefaultSearchGUID)(THIS_ GUID*) PURE; | 
 
 
 
 
 | 963 | STDMETHOD(EnumSearches)(THIS_ IEnumExtraSearch**) PURE; | 
 
 
 
 
 | 964 | STDMETHOD(GetDefaultColumn)(THIS_ DWORD,ULONG*,ULONG*) PURE; | 
 
 
 
 
 | 965 | STDMETHOD(GetDefaultColumnState)(THIS_ UINT,SHCOLSTATEF*) PURE; | 
 
 
 
 
 | 966 | STDMETHOD(GetDetailsEx)(THIS_ LPCITEMIDLIST,const SHCOLUMNID*,VARIANT*) PURE; | 
 
 
 
 
 | 967 | STDMETHOD(GetDetailsOf)(THIS_ LPCITEMIDLIST,UINT,SHELLDETAILS*) PURE; | 
 
 
 
 
 | 968 | STDMETHOD(MapColumnToSCID)(THIS_ UINT,SHCOLUMNID*) PURE; | 
 
 
 
 
 | 969 | }; | 
 
 
 
 
 | 970 | #undef INTERFACE | 
 
 
 
 
 | 971 | typedef IShellFolder2 *LPSHELLFOLDER2; | 
 
 
 
 
 | 972 |  | 
 
 
 
 
 | 973 | #ifdef COBJMACROS | 
 
 
 
 
 | 974 | #define IShellFolder2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 975 | #define IShellFolder2_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 976 | #define IShellFolder2_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 977 | #define IShellFolder2_ParseDisplayName(T,a,b,c,d,e,f) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d,e,f) | 
 
 
 
 
 | 978 | #define IShellFolder2_EnumObjects(T,a,b,c) (T)->lpVtbl->EnumObjects(T,a,b,c) | 
 
 
 
 
 | 979 | #define IShellFolder2_BindToObject(T,a,b,c,d) (T)->lpVtbl->BindToObject(T,a,b,c,d) | 
 
 
 
 
 | 980 | #define IShellFolder2_BindToStorage(T,a,b,c,d) (T)->lpVtbl->BindToStorage(T,a,b,c,d) | 
 
 
 
 
 | 981 | #define IShellFolder2_CompareIDs(T,a,b,c) (T)->lpVtbl->CompareIDs(T,a,b,c) | 
 
 
 
 
 | 982 | #define IShellFolder2_CreateViewObject(T,a,b) (T)->lpVtbl->CreateViewObject(T,a,b) | 
 
 
 
 
 | 983 | #define IShellFolder2_GetAttributesOf(T,a,b,c) (T)->lpVtbl->GetAttributesOf(T,a,b,c) | 
 
 
 
 
 | 984 | #define IShellFolder2_GetUIObjectOf(T,a,b,c,d,e,f) (T)->lpVtbl->GetUIObjectOf(T,a,b,c,d,e,f) | 
 
 
 
 
 | 985 | #define IShellFolder2_GetDisplayNameOf(T,a,b,c) (T)->lpVtbl->GetDisplayNameOf(T,a,b,c) | 
 
 
 
 
 | 986 | #define IShellFolder2_SetNameOf(T,a,b,c,d,e) (T)->lpVtbl->SetNameOf(T,a,b,c,d,e) | 
 
 
 
 
 | 987 | #define IShellFolder2_GetDefaultSearchGUID(T,a) (T)->lpVtbl->GetDefaultSearchGUID(T,a) | 
 
 
 
 
 | 988 | #define IShellFolder2_EnumSearches(T,a) (T)->lpVtbl->EnumSearches(T,a) | 
 
 
 
 
 | 989 | #define IShellFolder2_GetDefaultColumn(T,a,b,c) (T)->lpVtbl->GetDefaultColumn(T,a,b,c) | 
 
 
 
 
 | 990 | #define IShellFolder2_GetDefaultColumnState(T,a,b) (T)->lpVtbl->GetDefaultColumnState(T,a,b) | 
 
 
 
 
 | 991 | #define IShellFolder2_GetDetailsEx(T,a,b,c) (T)->lpVtbl->GetDetailsEx(T,a,b,c) | 
 
 
 
 
 | 992 | #define IShellFolder2_GetDetailsOf(T,a,b,c) (T)->lpVtbl->GetDetailsOf(T,a,b,c) | 
 
 
 
 
 | 993 | #define IShellFolder2_MapColumnToSCID(T,a,b) (T)->lpVtbl->MapColumnToSCID(T,a,b) | 
 
 
 
 
 | 994 | #endif | 
 
 
 
 
 | 995 |  | 
 
 
 
 
 | 996 | #endif /* _WIN32_IE >= 0x0500 */ | 
 
 
 
 
 | 997 | #define INTERFACE ICopyHook | 
 
 
 
 
 | 998 | DECLARE_INTERFACE_(ICopyHook, IUnknown) | 
 
 
 
 
 | 999 | { | 
 
 
 
 
 | 1000 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1001 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1002 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1003 | STDMETHOD_(UINT,CopyCallback)(THIS_ HWND,UINT,UINT,LPCSTR,DWORD,LPCSTR,DWORD) PURE; | 
 
 
 
 
 | 1004 | }; | 
 
 
 
 
 | 1005 | #undef INTERFACE | 
 
 
 
 
 | 1006 | typedef ICopyHook *LPCOPYHOOK; | 
 
 
 
 
 | 1007 |  | 
 
 
 
 
 | 1008 | #define INTERFACE IFileViewerSite | 
 
 
 
 
 | 1009 | DECLARE_INTERFACE(IFileViewerSite) | 
 
 
 
 
 | 1010 | { | 
 
 
 
 
 | 1011 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1012 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1013 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1014 | STDMETHOD(SetPinnedWindow)(THIS_ HWND) PURE; | 
 
 
 
 
 | 1015 | STDMETHOD(GetPinnedWindow)(THIS_ HWND*) PURE; | 
 
 
 
 
 | 1016 | }; | 
 
 
 
 
 | 1017 | #undef INTERFACE | 
 
 
 
 
 | 1018 | typedef IFileViewerSite *LPFILEVIEWERSITE; | 
 
 
 
 
 | 1019 |  | 
 
 
 
 
 | 1020 | #define INTERFACE IFileViewer | 
 
 
 
 
 | 1021 | DECLARE_INTERFACE(IFileViewer) | 
 
 
 
 
 | 1022 | { | 
 
 
 
 
 | 1023 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1024 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1025 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1026 | STDMETHOD(ShowInitialize)(THIS_ LPFILEVIEWERSITE) PURE; | 
 
 
 
 
 | 1027 | STDMETHOD(Show)(THIS_ LPFVSHOWINFO) PURE; | 
 
 
 
 
 | 1028 | STDMETHOD(PrintTo)(THIS_ LPSTR,BOOL) PURE; | 
 
 
 
 
 | 1029 | }; | 
 
 
 
 
 | 1030 | #undef INTERFACE | 
 
 
 
 
 | 1031 | typedef IFileViewer *LPFILEVIEWER; | 
 
 
 
 
 | 1032 |  | 
 
 
 
 
 | 1033 | #define INTERFACE IFileSystemBindData | 
 
 
 
 
 | 1034 | DECLARE_INTERFACE_(IFileSystemBindData, IUnknown) | 
 
 
 
 
 | 1035 | { | 
 
 
 
 
 | 1036 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1037 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1038 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1039 | STDMETHOD(SetFindData)(THIS_ const WIN32_FIND_DATAW*) PURE; | 
 
 
 
 
 | 1040 | STDMETHOD(GetFindData)(THIS_ WIN32_FIND_DATAW*) PURE; | 
 
 
 
 
 | 1041 | }; | 
 
 
 
 
 | 1042 | #undef INTERFACE | 
 
 
 
 
 | 1043 |  | 
 
 
 
 
 | 1044 | #define INTERFACE IPersistFolder | 
 
 
 
 
 | 1045 | DECLARE_INTERFACE_(IPersistFolder,IPersist) | 
 
 
 
 
 | 1046 | { | 
 
 
 
 
 | 1047 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1048 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1049 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1050 | STDMETHOD(GetClassID)(THIS_ CLSID*) PURE; | 
 
 
 
 
 | 1051 | STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE; | 
 
 
 
 
 | 1052 | }; | 
 
 
 
 
 | 1053 | #undef INTERFACE | 
 
 
 
 
 | 1054 | typedef IPersistFolder *LPPERSISTFOLDER; | 
 
 
 
 
 | 1055 |  | 
 
 
 
 
 | 1056 | #ifdef COBJMACROS | 
 
 
 
 
 | 1057 | #define IPersistFolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 1058 | #define IPersistFolder_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 1059 | #define IPersistFolder_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 1060 | #define IPersistFolder_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a) | 
 
 
 
 
 | 1061 | #define IPersistFolder_Initialize(T,a) (T)->lpVtbl->Initialize(T,a) | 
 
 
 
 
 | 1062 | #endif | 
 
 
 
 
 | 1063 |  | 
 
 
 
 
 | 1064 | #if (_WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500) | 
 
 
 
 
 | 1065 |  | 
 
 
 
 
 | 1066 | #define INTERFACE IPersistFolder2 | 
 
 
 
 
 | 1067 | DECLARE_INTERFACE_(IPersistFolder2,IPersistFolder) | 
 
 
 
 
 | 1068 | { | 
 
 
 
 
 | 1069 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1070 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1071 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1072 | STDMETHOD(GetClassID)(THIS_ CLSID*) PURE; | 
 
 
 
 
 | 1073 | STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE; | 
 
 
 
 
 | 1074 | STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST*) PURE; | 
 
 
 
 
 | 1075 | }; | 
 
 
 
 
 | 1076 | #undef INTERFACE | 
 
 
 
 
 | 1077 | typedef IPersistFolder2 *LPPERSISTFOLDER2; | 
 
 
 
 
 | 1078 |  | 
 
 
 
 
 | 1079 | #ifdef COBJMACROS | 
 
 
 
 
 | 1080 | #define IPersistFolder2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 1081 | #define IPersistFolder2_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 1082 | #define IPersistFolder2_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 1083 | #define IPersistFolder2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a) | 
 
 
 
 
 | 1084 | #define IPersistFolder2_Initialize(T,a) (T)->lpVtbl->Initialize(T,a) | 
 
 
 
 
 | 1085 | #define IPersistFolder2_GetCurFolder(T,a) (T)->lpVtbl->GetCurFolder(T,a) | 
 
 
 
 
 | 1086 | #endif | 
 
 
 
 
 | 1087 |  | 
 
 
 
 
 | 1088 | #endif /* _WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500 */ | 
 
 
 
 
 | 1089 |  | 
 
 
 
 
 | 1090 | #if (_WIN32_IE >= 0x0500) | 
 
 
 
 
 | 1091 |  | 
 
 
 
 
 | 1092 | #define INTERFACE IPersistFolder3 | 
 
 
 
 
 | 1093 | DECLARE_INTERFACE_(IPersistFolder3,IPersistFolder2) | 
 
 
 
 
 | 1094 | { | 
 
 
 
 
 | 1095 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1096 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1097 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1098 | STDMETHOD(GetClassID)(THIS_ CLSID*) PURE; | 
 
 
 
 
 | 1099 | STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE; | 
 
 
 
 
 | 1100 | STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST*) PURE; | 
 
 
 
 
 | 1101 | STDMETHOD(InitializeEx)(THIS_ IBindCtx*,LPCITEMIDLIST,const PERSIST_FOLDER_TARGET_INFO*) PURE; | 
 
 
 
 
 | 1102 | STDMETHOD(GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO*) PURE; | 
 
 
 
 
 | 1103 | }; | 
 
 
 
 
 | 1104 | #undef INTERFACE | 
 
 
 
 
 | 1105 | typedef IPersistFolder3 *LPPERSISTFOLDER3; | 
 
 
 
 
 | 1106 |  | 
 
 
 
 
 | 1107 | #ifdef COBJMACROS | 
 
 
 
 
 | 1108 | #define IPersistFolder3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 1109 | #define IPersistFolder3_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 1110 | #define IPersistFolder3_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 1111 | #define IPersistFolder3_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a) | 
 
 
 
 
 | 1112 | #define IPersistFolder3_Initialize(T,a) (T)->lpVtbl->Initialize(T,a) | 
 
 
 
 
 | 1113 | #define IPersistFolder3_GetCurFolder(T,a) (T)->lpVtbl->GetCurFolder(T,a) | 
 
 
 
 
 | 1114 | #define IPersistFolder3_InitializeEx(T,a,b,c) (T)->lpVtbl->InitializeEx(T,a,b,c) | 
 
 
 
 
 | 1115 | #define IPersistFolder3_GetFolderTargetInfo(T,a) (T)->lpVtbl->GetFolderTargetInfo(T,a) | 
 
 
 
 
 | 1116 | #endif | 
 
 
 
 
 | 1117 |  | 
 
 
 
 
 | 1118 | #endif /* _WIN32_IE >= 0x0500 */ | 
 
 
 
 
 | 1119 |  | 
 
 
 
 
 | 1120 | typedef _COM_interface IShellBrowser *LPSHELLBROWSER; | 
 
 
 
 
 | 1121 | typedef _COM_interface IShellView *LPSHELLVIEW; | 
 
 
 
 
 | 1122 |  | 
 
 
 
 
 | 1123 | #define INTERFACE IShellBrowser | 
 
 
 
 
 | 1124 | DECLARE_INTERFACE_(IShellBrowser,IOleWindow) | 
 
 
 
 
 | 1125 | { | 
 
 
 
 
 | 1126 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1127 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1128 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1129 | STDMETHOD(GetWindow)(THIS_ HWND*) PURE; | 
 
 
 
 
 | 1130 | STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; | 
 
 
 
 
 | 1131 | STDMETHOD(InsertMenusSB)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE; | 
 
 
 
 
 | 1132 | STDMETHOD(SetMenuSB)(THIS_ HMENU,HOLEMENU,HWND) PURE; | 
 
 
 
 
 | 1133 | STDMETHOD(RemoveMenusSB)(THIS_ HMENU) PURE; | 
 
 
 
 
 | 1134 | STDMETHOD(SetStatusTextSB)(THIS_ LPCOLESTR) PURE; | 
 
 
 
 
 | 1135 | STDMETHOD(EnableModelessSB)(THIS_ BOOL) PURE; | 
 
 
 
 
 | 1136 | STDMETHOD(TranslateAcceleratorSB) (THIS_ LPMSG,WORD) PURE; | 
 
 
 
 
 | 1137 | STDMETHOD(BrowseObject)(THIS_ LPCITEMIDLIST,UINT) PURE; | 
 
 
 
 
 | 1138 | STDMETHOD(GetViewStateStream)(THIS_ DWORD,LPSTREAM*) PURE; | 
 
 
 
 
 | 1139 | STDMETHOD(GetControlWindow)(THIS_ UINT,HWND*) PURE; | 
 
 
 
 
 | 1140 | STDMETHOD(SendControlMsg)(THIS_ UINT,UINT,WPARAM,LPARAM,LRESULT*) PURE; | 
 
 
 
 
 | 1141 | STDMETHOD(QueryActiveShellView)(THIS_ LPSHELLVIEW*) PURE; | 
 
 
 
 
 | 1142 | STDMETHOD(OnViewWindowActive)(THIS_ LPSHELLVIEW) PURE; | 
 
 
 
 
 | 1143 | STDMETHOD(SetToolbarItems)(THIS_ LPTBBUTTON,UINT,UINT) PURE; | 
 
 
 
 
 | 1144 | }; | 
 
 
 
 
 | 1145 | #undef INTERFACE | 
 
 
 
 
 | 1146 |  | 
 
 
 
 
 | 1147 | #ifdef COBJMACROS | 
 
 
 
 
 | 1148 | #define IShellBrowser_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 1149 | #define IShellBrowser_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 1150 | #define IShellBrowser_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 1151 | #define IShellBrowser_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a) | 
 
 
 
 
 | 1152 | #define IShellBrowser_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a) | 
 
 
 
 
 | 1153 | #define IShellBrowser_InsertMenusSB(T,a,b) (T)->lpVtbl->InsertMenusSB(T,a,b) | 
 
 
 
 
 | 1154 | #define IShellBrowser_SetMenuSB(T,a,b,c) (T)->lpVtbl->SetMenuSB(T,a,b,c) | 
 
 
 
 
 | 1155 | #define IShellBrowser_RemoveMenusSB(T,a) (T)->lpVtbl->RemoveMenusSB(T,a) | 
 
 
 
 
 | 1156 | #define IShellBrowser_SetStatusTextSB(T,a) (T)->lpVtbl->SetStatusTextSB(T,a) | 
 
 
 
 
 | 1157 | #define IShellBrowser_EnableModelessSB(T,a) (T)->lpVtbl->EnableModelessSB(T,a) | 
 
 
 
 
 | 1158 | #define IShellBrowser_TranslateAcceleratorSB(T,a,b) (T)->lpVtbl->TranslateAcceleratorSB(T,a,b) | 
 
 
 
 
 | 1159 | #define IShellBrowser_BrowseObject(T,a,b) (T)->lpVtbl->BrowseObject(T,a,b) | 
 
 
 
 
 | 1160 | #define IShellBrowser_GetViewStateStream(T,a,b) (T)->lpVtbl->GetViewStateStream(T,a,b) | 
 
 
 
 
 | 1161 | #define IShellBrowser_GetControlWindow(T,a,b) (T)->lpVtbl->GetControlWindow(T,a,b) | 
 
 
 
 
 | 1162 | #define IShellBrowser_SendControlMsg(T,a,b,c,d,e) (T)->lpVtbl->SendControlMsg(T,a,b,c,d,e) | 
 
 
 
 
 | 1163 | #define IShellBrowser_QueryActiveShellView(T,a) (T)->lpVtbl->QueryActiveShellView(T,a) | 
 
 
 
 
 | 1164 | #define IShellBrowser_OnViewWindowActive(T,a) (T)->lpVtbl->OnViewWindowActive(T,a) | 
 
 
 
 
 | 1165 | #define IShellBrowser_SetToolbarItems(T,a,b,c) (T)->lpVtbl->SetToolbarItems(T,a,b,c) | 
 
 
 
 
 | 1166 | #endif | 
 
 
 
 
 | 1167 |  | 
 
 
 
 
 | 1168 | #define INTERFACE IShellView | 
 
 
 
 
 | 1169 | DECLARE_INTERFACE_(IShellView,IOleWindow) | 
 
 
 
 
 | 1170 | { | 
 
 
 
 
 | 1171 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1172 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1173 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1174 | STDMETHOD(GetWindow)(THIS_ HWND*) PURE; | 
 
 
 
 
 | 1175 | STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; | 
 
 
 
 
 | 1176 | STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE; | 
 
 
 
 
 | 1177 | #ifdef _FIX_ENABLEMODELESS_CONFLICT | 
 
 
 
 
 | 1178 | STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; | 
 
 
 
 
 | 1179 | #else | 
 
 
 
 
 | 1180 | STDMETHOD(EnableModeless)(THIS_ BOOL) PURE; | 
 
 
 
 
 | 1181 | #endif | 
 
 
 
 
 | 1182 | STDMETHOD(UIActivate)(THIS_ UINT) PURE; | 
 
 
 
 
 | 1183 | STDMETHOD(Refresh) (THIS) PURE; | 
 
 
 
 
 | 1184 | STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE; | 
 
 
 
 
 | 1185 | STDMETHOD(DestroyViewWindow)(THIS) PURE; | 
 
 
 
 
 | 1186 | STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE; | 
 
 
 
 
 | 1187 | STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE; | 
 
 
 
 
 | 1188 | STDMETHOD(SaveViewState)(THIS) PURE; | 
 
 
 
 
 | 1189 | STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE; | 
 
 
 
 
 | 1190 | STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1191 | }; | 
 
 
 
 
 | 1192 | #undef INTERFACE | 
 
 
 
 
 | 1193 |  | 
 
 
 
 
 | 1194 | #ifdef COBJMACROS | 
 
 
 
 
 | 1195 | #define IShellView_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 1196 | #define IShellView_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 1197 | #define IShellView_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 1198 | #define IShellView_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a) | 
 
 
 
 
 | 1199 | #define IShellView_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a) | 
 
 
 
 
 | 1200 | #define IShellView_TranslateAccelerator(T,a) (T)->lpVtbl->TranslateAccelerator(T,a) | 
 
 
 
 
 | 1201 | #ifdef _FIX_ENABLEMODELESS_CONFLICT | 
 
 
 
 
 | 1202 | #define IShellView_EnableModeless(T,a) (T)->lpVtbl->EnableModelessSV(T,a) | 
 
 
 
 
 | 1203 | #else | 
 
 
 
 
 | 1204 | #define IShellView_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a) | 
 
 
 
 
 | 1205 | #endif | 
 
 
 
 
 | 1206 | #define IShellView_UIActivate(T,a) (T)->lpVtbl->UIActivate(T,a) | 
 
 
 
 
 | 1207 | #define IShellView_Refresh(T) (T)->lpVtbl->Refresh(T) | 
 
 
 
 
 | 1208 | #define IShellView_CreateViewWindow(T,a,b,c,d,e) (T)->lpVtbl->CreateViewWindow(T,a,b,c,d,e) | 
 
 
 
 
 | 1209 | #define IShellView_DestroyViewWindow(T) (T)->lpVtbl->DestroyViewWindow(T) | 
 
 
 
 
 | 1210 | #define IShellView_GetCurrentInfo(T,a) (T)->lpVtbl->GetCurrentInfo(T,a) | 
 
 
 
 
 | 1211 | #define IShellView_AddPropertySheetPages(T,a,b,c) (T)->lpVtbl->AddPropertySheetPages(T,a,b,c) | 
 
 
 
 
 | 1212 | #define IShellView_SaveViewState(T) (T)->lpVtbl->SaveViewState(T) | 
 
 
 
 
 | 1213 | #define IShellView_SelectItem(T,a,b) (T)->lpVtbl->SelectItem(T,a,b) | 
 
 
 
 
 | 1214 | #define IShellView_GetItemObject(T,a,b,c) (T)->lpVtbl->GetItemObject(T,a,b,c) | 
 
 
 
 
 | 1215 | #endif | 
 
 
 
 
 | 1216 |  | 
 
 
 
 
 | 1217 | #define INTERFACE ICommDlgBrowser | 
 
 
 
 
 | 1218 | DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown) | 
 
 
 
 
 | 1219 | { | 
 
 
 
 
 | 1220 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1221 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1222 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1223 | STDMETHOD(OnDefaultCommand)(THIS_ IShellView*) PURE; | 
 
 
 
 
 | 1224 | STDMETHOD(OnStateChange)(THIS_ IShellView*,ULONG) PURE; | 
 
 
 
 
 | 1225 | STDMETHOD(IncludeObject)(THIS_ IShellView*,LPCITEMIDLIST) PURE; | 
 
 
 
 
 | 1226 | }; | 
 
 
 
 
 | 1227 | #undef INTERFACE | 
 
 
 
 
 | 1228 | typedef ICommDlgBrowser *LPCOMMDLGBROWSER; | 
 
 
 
 
 | 1229 |  | 
 
 
 
 
 | 1230 | #ifdef COBJMACROS | 
 
 
 
 
 | 1231 | #define ICommDlgBrowser_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) | 
 
 
 
 
 | 1232 | #define ICommDlgBrowser_AddRef(T) (T)->lpVtbl->AddRef(T) | 
 
 
 
 
 | 1233 | #define ICommDlgBrowser_Release(T) (T)->lpVtbl->Release(T) | 
 
 
 
 
 | 1234 | #define ICommDlgBrowser_OnDefaultCommand(T,a) (T)->lpVtbl->OnDefaultCommand(T,a) | 
 
 
 
 
 | 1235 | #define ICommDlgBrowser_OnStateChange(T,a,b) (T)->lpVtbl->OnStateChange(T,a,b) | 
 
 
 
 
 | 1236 | #define ICommDlgBrowser_IncludeObject(T,a,b) (T)->lpVtbl->IncludeObject(T,a,b) | 
 
 
 
 
 | 1237 | #endif | 
 
 
 
 
 | 1238 |  | 
 
 
 
 
 | 1239 | typedef GUID SHELLVIEWID; | 
 
 
 
 
 | 1240 | typedef struct _SV2CVW2_PARAMS { | 
 
 
 
 
 | 1241 | DWORD cbSize; | 
 
 
 
 
 | 1242 | IShellView *psvPrev; | 
 
 
 
 
 | 1243 | FOLDERSETTINGS const *pfs; | 
 
 
 
 
 | 1244 | IShellBrowser *psbOwner; | 
 
 
 
 
 | 1245 | RECT *prcView; | 
 
 
 
 
 | 1246 | SHELLVIEWID const *pvid; | 
 
 
 
 
 | 1247 | HWND hwndView; | 
 
 
 
 
 | 1248 | } SV2CVW2_PARAMS,*LPSV2CVW2_PARAMS; | 
 
 
 
 
 | 1249 | #define INTERFACE IShellView2 | 
 
 
 
 
 | 1250 | DECLARE_INTERFACE_(IShellView2,IShellView) | 
 
 
 
 
 | 1251 | { | 
 
 
 
 
 | 1252 |  | 
 
 
 
 
 | 1253 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1254 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1255 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1256 | STDMETHOD(GetWindow)(THIS_ HWND*) PURE; | 
 
 
 
 
 | 1257 | STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; | 
 
 
 
 
 | 1258 | STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE; | 
 
 
 
 
 | 1259 | #ifdef _FIX_ENABLEMODELESS_CONFLICT | 
 
 
 
 
 | 1260 | STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; | 
 
 
 
 
 | 1261 | #else | 
 
 
 
 
 | 1262 | STDMETHOD(EnableModeless)(THIS_ BOOL) PURE; | 
 
 
 
 
 | 1263 | #endif | 
 
 
 
 
 | 1264 | STDMETHOD(UIActivate)(THIS_ UINT) PURE; | 
 
 
 
 
 | 1265 | STDMETHOD(Refresh) (THIS) PURE; | 
 
 
 
 
 | 1266 | STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE; | 
 
 
 
 
 | 1267 | STDMETHOD(DestroyViewWindow)(THIS) PURE; | 
 
 
 
 
 | 1268 | STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE; | 
 
 
 
 
 | 1269 | STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE; | 
 
 
 
 
 | 1270 | STDMETHOD(SaveViewState)(THIS) PURE; | 
 
 
 
 
 | 1271 | STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE; | 
 
 
 
 
 | 1272 | STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1273 | STDMETHOD(GetView)(THIS_ SHELLVIEWID*,ULONG) PURE; | 
 
 
 
 
 | 1274 | STDMETHOD(CreateViewWindow2)(THIS_ LPSV2CVW2_PARAMS) PURE; | 
 
 
 
 
 | 1275 | }; | 
 
 
 
 
 | 1276 | #undef INTERFACE | 
 
 
 
 
 | 1277 |  | 
 
 
 
 
 | 1278 | #define INTERFACE IShellExecuteHookA | 
 
 
 
 
 | 1279 | DECLARE_INTERFACE_(IShellExecuteHookA,IUnknown) | 
 
 
 
 
 | 1280 | { | 
 
 
 
 
 | 1281 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1282 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1283 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1284 | STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOA) PURE; | 
 
 
 
 
 | 1285 | }; | 
 
 
 
 
 | 1286 | #undef INTERFACE | 
 
 
 
 
 | 1287 |  | 
 
 
 
 
 | 1288 | #define INTERFACE IShellExecuteHookW | 
 
 
 
 
 | 1289 | DECLARE_INTERFACE_(IShellExecuteHookW,IUnknown) | 
 
 
 
 
 | 1290 | { | 
 
 
 
 
 | 1291 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1292 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1293 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1294 | STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOW) PURE; | 
 
 
 
 
 | 1295 | }; | 
 
 
 
 
 | 1296 | #undef INTERFACE | 
 
 
 
 
 | 1297 |  | 
 
 
 
 
 | 1298 | #define INTERFACE IShellIcon | 
 
 
 
 
 | 1299 | DECLARE_INTERFACE_(IShellIcon,IUnknown) | 
 
 
 
 
 | 1300 | { | 
 
 
 
 
 | 1301 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1302 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1303 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1304 | STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST,UINT,PINT) PURE; | 
 
 
 
 
 | 1305 | }; | 
 
 
 
 
 | 1306 | #undef INTERFACE | 
 
 
 
 
 | 1307 | typedef IShellIcon *LPSHELLICON; | 
 
 
 
 
 | 1308 |  | 
 
 
 
 
 | 1309 | typedef struct { | 
 
 
 
 
 | 1310 | BOOL fShowAllObjects : 1; | 
 
 
 
 
 | 1311 | BOOL fShowExtensions : 1; | 
 
 
 
 
 | 1312 | BOOL fNoConfirmRecycle : 1; | 
 
 
 
 
 | 1313 | BOOL fShowSysFiles : 1; | 
 
 
 
 
 | 1314 | BOOL fShowCompColor : 1; | 
 
 
 
 
 | 1315 | BOOL fDoubleClickInWebView : 1; | 
 
 
 
 
 | 1316 | BOOL fDesktopHTML : 1; | 
 
 
 
 
 | 1317 | BOOL fWin95Classic : 1; | 
 
 
 
 
 | 1318 | BOOL fDontPrettyPath : 1; | 
 
 
 
 
 | 1319 | BOOL fShowAttribCol : 1; | 
 
 
 
 
 | 1320 | BOOL fMapNetDrvBtn : 1; | 
 
 
 
 
 | 1321 | BOOL fShowInfoTip : 1; | 
 
 
 
 
 | 1322 | BOOL fHideIcons : 1; | 
 
 
 
 
 | 1323 | UINT fRestFlags : 3; | 
 
 
 
 
 | 1324 | } SHELLFLAGSTATE, * LPSHELLFLAGSTATE; | 
 
 
 
 
 | 1325 |  | 
 
 
 
 
 | 1326 | #define SSF_SHOWALLOBJECTS 0x1 | 
 
 
 
 
 | 1327 | #define SSF_SHOWEXTENSIONS 0x2 | 
 
 
 
 
 | 1328 | #define SSF_SHOWCOMPCOLOR 0x8 | 
 
 
 
 
 | 1329 | #define SSF_SHOWSYSFILES 0x20 | 
 
 
 
 
 | 1330 | #define SSF_DOUBLECLICKINWEBVIEW 0x80 | 
 
 
 
 
 | 1331 | #define SSF_SHOWATTRIBCOL 0x100 | 
 
 
 
 
 | 1332 | #define SSF_DESKTOPHTML 0x200 | 
 
 
 
 
 | 1333 | #define SSF_WIN95CLASSIC 0x400 | 
 
 
 
 
 | 1334 | #define SSF_DONTPRETTYPATH 0x800 | 
 
 
 
 
 | 1335 | #define SSF_MAPNETDRVBUTTON 0x1000 | 
 
 
 
 
 | 1336 | #define SSF_SHOWINFOTIP 0x2000 | 
 
 
 
 
 | 1337 | #define SSF_HIDEICONS 0x4000 | 
 
 
 
 
 | 1338 | #define SSF_NOCONFIRMRECYCLE 0x8000 | 
 
 
 
 
 | 1339 |  | 
 
 
 
 
 | 1340 | #define INTERFACE IShellIconOverlayIdentifier | 
 
 
 
 
 | 1341 | DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown) | 
 
 
 
 
 | 1342 | { | 
 
 
 
 
 | 1343 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1344 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1345 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1346 | STDMETHOD(IsMemberOf)(THIS_ LPCWSTR,DWORD) PURE; | 
 
 
 
 
 | 1347 | STDMETHOD(GetOverlayInfo)(THIS_ LPWSTR,int,int*,DWORD*) PURE; | 
 
 
 
 
 | 1348 | STDMETHOD(GetPriority)(THIS_ int*) PURE; | 
 
 
 
 
 | 1349 | }; | 
 
 
 
 
 | 1350 | #undef INTERFACE | 
 
 
 
 
 | 1351 |  | 
 
 
 
 
 | 1352 | #if (_WIN32_WINNT >= 0x0501) /* WXP */ | 
 
 
 
 
 | 1353 | typedef _COM_interface IFolderView *LPFOLDERVIEW; | 
 
 
 
 
 | 1354 |  | 
 
 
 
 
 | 1355 | #define INTERFACE IFolderView | 
 
 
 
 
 | 1356 | DECLARE_INTERFACE_(IFolderView,IUnknown) | 
 
 
 
 
 | 1357 | { | 
 
 
 
 
 | 1358 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1359 | STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 | 1360 | STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 | 1361 | STDMETHOD(GetAutoArrange)(THIS) PURE; | 
 
 
 
 
 | 1362 | STDMETHOD(GetCurrentViewMode)(THIS_ UINT) PURE; | 
 
 
 
 
 | 1363 | STDMETHOD(GetDefaultSpacing)(THIS_ POINT*) PURE; | 
 
 
 
 
 | 1364 | STDMETHOD(GetFocusedItem)(THIS_ int*) PURE; | 
 
 
 
 
 | 1365 | STDMETHOD(GetFolder)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1366 | STDMETHOD(GetItemPosition)(THIS_ LPCITEMIDLIST,POINT*) PURE; | 
 
 
 
 
 | 1367 | STDMETHOD(GetSelectionMarkedItem)(THIS_ int*) PURE; | 
 
 
 
 
 | 1368 | STDMETHOD(GetSpacing)(THIS_ POINT*) PURE; | 
 
 
 
 
 | 1369 | STDMETHOD(Item)(THIS_ int,LPITEMIDLIST*) PURE; | 
 
 
 
 
 | 1370 | STDMETHOD(ItemCount)(THIS_ UINT,int*) PURE; | 
 
 
 
 
 | 1371 | STDMETHOD(Items)(THIS_ UINT,REFIID,PVOID*) PURE; | 
 
 
 
 
 | 1372 | STDMETHOD(SelectAndPositionItems)(THIS_ UINT,LPCITEMIDLIST*,POINT*,DWORD) PURE; | 
 
 
 
 
 | 1373 | STDMETHOD(SelectItem)(THIS_ int,DWORD) PURE; | 
 
 
 
 
 | 1374 | STDMETHOD(SetCurrentViewMode)(THIS_ UINT) PURE; | 
 
 
 
 
 | 1375 | }; | 
 
 
 
 
 | 1376 | #undef INTERFACE | 
 
 
 
 
 | 1377 | #endif /* _WIN32_WINNT >= 0x0501 */ | 
 
 
 
 
 | 1378 |  | 
 
 
 
 
 | 1379 | #define ISIOI_ICONFILE 0x00000001 | 
 
 
 
 
 | 1380 | #define ISIOI_ICONINDEX 0x00000002 | 
 
 
 
 
 | 1381 |  | 
 
 
 
 
 | 1382 | #if (_WIN32_WINNT >= 0x0500) /* W2K */ | 
 
 
 
 
 | 1383 | typedef struct { | 
 
 
 
 
 | 1384 | BOOL fShowAllObjects : 1; | 
 
 
 
 
 | 1385 | BOOL fShowExtensions : 1; | 
 
 
 
 
 | 1386 | BOOL fNoConfirmRecycle : 1; | 
 
 
 
 
 | 1387 | BOOL fShowSysFiles : 1; | 
 
 
 
 
 | 1388 | BOOL fShowCompColor : 1; | 
 
 
 
 
 | 1389 | BOOL fDoubleClickInWebView : 1; | 
 
 
 
 
 | 1390 | BOOL fDesktopHTML : 1; | 
 
 
 
 
 | 1391 | BOOL fWin95Classic : 1; | 
 
 
 
 
 | 1392 | BOOL fDontPrettyPath : 1; | 
 
 
 
 
 | 1393 | BOOL fShowAttribCol : 1; | 
 
 
 
 
 | 1394 | BOOL fMapNetDrvBtn : 1; | 
 
 
 
 
 | 1395 | BOOL fShowInfoTip : 1; | 
 
 
 
 
 | 1396 | BOOL fHideIcons : 1; | 
 
 
 
 
 | 1397 | BOOL fWebView : 1; | 
 
 
 
 
 | 1398 | BOOL fFilter : 1; | 
 
 
 
 
 | 1399 | BOOL fShowSuperHidden : 1; | 
 
 
 
 
 | 1400 | BOOL fNoNetCrawling : 1; | 
 
 
 
 
 | 1401 | DWORD dwWin95Unused; | 
 
 
 
 
 | 1402 | UINT uWin95Unused; | 
 
 
 
 
 | 1403 | LONG lParamSort; | 
 
 
 
 
 | 1404 | int iSortDirection; | 
 
 
 
 
 | 1405 | UINT version; | 
 
 
 
 
 | 1406 | UINT uNotUsed; | 
 
 
 
 
 | 1407 | BOOL fSepProcess : 1; | 
 
 
 
 
 | 1408 | BOOL fStartPanelOn : 1; | 
 
 
 
 
 | 1409 | BOOL fShowStartPage : 1; | 
 
 
 
 
 | 1410 | UINT fSpareFlags : 13; | 
 
 
 
 
 | 1411 | } SHELLSTATE, *LPSHELLSTATE; | 
 
 
 
 
 | 1412 | #endif /* _WIN32_WINNT >= 0x0500 */ | 
 
 
 
 
 | 1413 |  | 
 
 
 
 
 | 1414 | #if (_WIN32_IE >= 0x0500) | 
 
 
 
 
 | 1415 | #pragma pack(push,8) | 
 
 
 
 
 | 1416 | typedef struct | 
 
 
 
 
 | 1417 | { | 
 
 
 
 
 | 1418 | SIZE sizeDragImage; | 
 
 
 
 
 | 1419 | POINT ptOffset; | 
 
 
 
 
 | 1420 | HBITMAP hbmpDragImage; | 
 
 
 
 
 | 1421 | COLORREF crColorKey; | 
 
 
 
 
 | 1422 | } SHDRAGIMAGE, *LPSHDRAGIMAGE; | 
 
 
 
 
 | 1423 | #pragma pack(pop) | 
 
 
 
 
 | 1424 |  | 
 
 
 
 
 | 1425 | #define INTERFACE IDragSourceHelper | 
 
 
 
 
 | 1426 | DECLARE_INTERFACE_(IDragSourceHelper, IUnknown) | 
 
 
 
 
 | 1427 | { | 
 
 
 
 
 | 1428 | STDMETHOD (QueryInterface)(THIS_ REFIID riid, void **ppv) PURE; | 
 
 
 
 
 | 1429 | STDMETHOD_(ULONG, AddRef) (THIS) PURE; | 
 
 
 
 
 | 1430 | STDMETHOD_(ULONG, Release) (THIS) PURE; | 
 
 
 
 
 | 1431 | STDMETHOD (InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE; | 
 
 
 
 
 | 1432 | STDMETHOD (InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE; | 
 
 
 
 
 | 1433 | }; | 
 
 
 
 
 | 1434 | #undef INTERFACE | 
 
 
 
 
 | 1435 |  | 
 
 
 
 
 | 1436 | #define INTERFACE IDropTargetHelper | 
 
 
 
 
 | 1437 | DECLARE_INTERFACE_(IDropTargetHelper, IUnknown) | 
 
 
 
 
 | 1438 | { | 
 
 
 
 
 | 1439 | STDMETHOD (QueryInterface)(THIS_ REFIID riid, void** ppv) PURE; | 
 
 
 
 
 | 1440 | STDMETHOD_(ULONG, AddRef) (THIS) PURE; | 
 
 
 
 
 | 1441 | STDMETHOD_(ULONG, Release) (THIS) PURE; | 
 
 
 
 
 | 1442 | STDMETHOD (DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; | 
 
 
 
 
 | 1443 | STDMETHOD (DragLeave)(THIS) PURE; | 
 
 
 
 
 | 1444 | STDMETHOD (DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE; | 
 
 
 
 
 | 1445 | STDMETHOD (Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; | 
 
 
 
 
 | 1446 | STDMETHOD (Show)(THIS_ BOOL fShow) PURE; | 
 
 
 
 
 | 1447 | }; | 
 
 
 
 
 | 1448 | #undef INTERFACE | 
 
 
 
 
 | 1449 | #endif /* _WIN32_IE >= 0x0500 */ | 
 
 
 
 
 | 1450 |  | 
 
 
 
 
 | 1451 | #if (_WIN32_WINNT >= 0x0500) | 
 
 
 
 
 | 1452 | BOOL WINAPI PathResolve(LPWSTR, LPCWSTR*, UINT); | 
 
 
 
 
 | 1453 | #define PRF_VERIFYEXISTS            0x0001 | 
 
 
 
 
 | 1454 | #define PRF_TRYPROGRAMEXTENSIONS    (0x0002 | PRF_VERIFYEXISTS) | 
 
 
 
 
 | 1455 | #define PRF_FIRSTDIRDEF             0x0004 | 
 
 
 
 
 | 1456 | #define PRF_DONTFINDLNK             0x0008 | 
 
 
 
 
 | 1457 | #define IDO_SHGIOI_SHARE            0x0FFFFFFF | 
 
 
 
 
 | 1458 | #define IDO_SHGIOI_LINK             0x0FFFFFFE | 
 
 
 
 
 | 1459 | #define IDO_SHGIOI_SLOWFILE         0x0FFFFFFD | 
 
 
 
 
 | 1460 | #define IDO_SHGIOI_DEFAULT          0x0FFFFFFC | 
 
 
 
 
 | 1461 | #endif | 
 
 
 
 
 | 1462 |  | 
 
 
 
 
 | 1463 | void WINAPI SHAddToRecentDocs(UINT,PCVOID); | 
 
 
 
 
 | 1464 | LPITEMIDLIST WINAPI SHBrowseForFolderA(PBROWSEINFOA); | 
 
 
 
 
 | 1465 | LPITEMIDLIST WINAPI SHBrowseForFolderW(PBROWSEINFOW); | 
 
 
 
 
 | 1466 | void WINAPI SHChangeNotify(LONG,UINT,PCVOID,PCVOID); | 
 
 
 
 
 | 1467 | HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); | 
 
 
 
 
 | 1468 | HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); | 
 
 
 
 
 | 1469 | HRESULT WINAPI SHGetDesktopFolder(LPSHELLFOLDER*); | 
 
 
 
 
 | 1470 | HRESULT WINAPI SHGetInstanceExplorer(IUnknown **); | 
 
 
 
 
 | 1471 | HRESULT WINAPI SHGetMalloc(LPMALLOC*); | 
 
 
 
 
 | 1472 | BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR); | 
 
 
 
 
 | 1473 | BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR); | 
 
 
 
 
 | 1474 | HRESULT WINAPI SHGetSpecialFolderLocation(HWND,int,LPITEMIDLIST*); | 
 
 
 
 
 | 1475 | HRESULT WINAPI SHLoadInProc(REFCLSID); | 
 
 
 
 
 | 1476 | #if (_WIN32_IE >= 0x0400) | 
 
 
 
 
 | 1477 | BOOL WINAPI SHGetSpecialFolderPathA(HWND,LPSTR,int,BOOL); | 
 
 
 
 
 | 1478 | BOOL WINAPI SHGetSpecialFolderPathW(HWND,LPWSTR,int,BOOL); | 
 
 
 
 
 | 1479 | #endif | 
 
 
 
 
 | 1480 | /* SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K */ | 
 
 
 
 
 | 1481 | HRESULT WINAPI SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPSTR); | 
 
 
 
 
 | 1482 | HRESULT WINAPI SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR); | 
 
 
 
 
 | 1483 | #if (_WIN32_WINDOWS >= 0x0490) || (_WIN32_WINNT >= 0x0500) /* ME or W2K */ | 
 
 
 
 
 | 1484 | HRESULT WINAPI SHGetFolderLocation(HWND,int,HANDLE,DWORD,LPITEMIDLIST*); | 
 
 
 
 
 | 1485 | #endif | 
 
 
 
 
 | 1486 | #if (_WIN32_WINNT >= 0x0500) | 
 
 
 
 
 | 1487 | INT WINAPI SHGetIconOverlayIndexW(LPCWSTR pszIconPath, int iIconIndex); | 
 
 
 
 
 | 1488 | INT WINAPI SHGetIconOverlayIndexA(LPCSTR pszIconPath, int iIconIndex); | 
 
 
 
 
 | 1489 | INT WINAPI SHCreateDirectoryExA(HWND,LPCSTR,LPSECURITY_ATTRIBUTES); | 
 
 
 
 
 | 1490 | INT WINAPI SHCreateDirectoryExW(HWND,LPCWSTR,LPSECURITY_ATTRIBUTES); | 
 
 
 
 
 | 1491 | HRESULT WINAPI SHBindToParent(LPCITEMIDLIST,REFIID,VOID**,LPCITEMIDLIST*); | 
 
 
 
 
 | 1492 | #endif | 
 
 
 
 
 | 1493 | #if (_WIN32_WINNT >= 0x0501) /* XP */ | 
 
 
 
 
 | 1494 | HRESULT WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR); | 
 
 
 
 
 | 1495 | HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR); | 
 
 
 
 
 | 1496 | HRESULT WINAPI SHParseDisplayName(LPCWSTR,IBindCtx*,LPITEMIDLIST,SFGAOF,SFGAOF*); | 
 
 
 
 
 | 1497 | #endif | 
 
 
 
 
 | 1498 | void WINAPI SHGetSettings(LPSHELLFLAGSTATE,DWORD); | 
 
 
 
 
 | 1499 | #if (_WIN32_WINNT >= 0x0500) /* W2K */ | 
 
 
 
 
 | 1500 | void WINAPI SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL); | 
 
 
 
 
 | 1501 | #endif | 
 
 
 
 
 | 1502 |  | 
 
 
 
 
 | 1503 | #if (_WIN32_WINNT >= 0x0500) /* W2K */ | 
 
 
 
 
 | 1504 | BOOL WINAPI ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST); | 
 
 
 
 
 | 1505 | BOOL WINAPI ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL); | 
 
 
 
 
 | 1506 | BOOL WINAPI ILRemoveLastID(LPITEMIDLIST); | 
 
 
 
 
 | 1507 | HRESULT WINAPI ILLoadFromStream(IStream*, LPITEMIDLIST*); | 
 
 
 
 
 | 1508 | HRESULT WINAPI ILSaveToStream(IStream*, LPCITEMIDLIST); | 
 
 
 
 
 | 1509 | LPITEMIDLIST WINAPI ILAppendID(LPITEMIDLIST, LPCSHITEMID, BOOL); | 
 
 
 
 
 | 1510 | LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST); | 
 
 
 
 
 | 1511 | LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST); | 
 
 
 
 
 | 1512 | LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST, LPCITEMIDLIST); | 
 
 
 
 
 | 1513 | LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST, LPCITEMIDLIST); | 
 
 
 
 
 | 1514 | LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST); | 
 
 
 
 
 | 1515 | LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST); | 
 
 
 
 
 | 1516 | UINT WINAPI ILGetSize(LPCITEMIDLIST); | 
 
 
 
 
 | 1517 | void WINAPI ILFree(LPITEMIDLIST); | 
 
 
 
 
 | 1518 |  | 
 
 
 
 
 | 1519 | HRESULT WINAPI SHCoCreateInstance(LPCWSTR,REFCLSID,IUnknown*,REFIID,void**); | 
 
 
 
 
 | 1520 | #endif | 
 
 
 
 
 | 1521 |  | 
 
 
 
 
 | 1522 | #ifdef UNICODE | 
 
 
 
 
 | 1523 | typedef IShellExecuteHookW IShellExecuteHook; | 
 
 
 
 
 | 1524 | typedef IShellLinkW IShellLink; | 
 
 
 
 
 | 1525 | typedef BROWSEINFOW BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO; | 
 
 
 
 
 | 1526 | #define SHBrowseForFolder SHBrowseForFolderW | 
 
 
 
 
 | 1527 | #define SHGetDataFromIDList SHGetDataFromIDListW | 
 
 
 
 
 | 1528 | #define SHGetPathFromIDList SHGetPathFromIDListW | 
 
 
 
 
 | 1529 | #if (_WIN32_IE >= 0x0400) | 
 
 
 
 
 | 1530 | #define SHGetSpecialFolderPath SHGetSpecialFolderPathW | 
 
 
 
 
 | 1531 | #endif | 
 
 
 
 
 | 1532 | #define SHGetFolderPath SHGetFolderPathW | 
 
 
 
 
 | 1533 | #if (_WIN32_WINNT >= 0x0500) | 
 
 
 
 
 | 1534 | #define SHGetIconOverlayIndex SHGetIconOverlayIndexW | 
 
 
 
 
 | 1535 | #define SHCreateDirectoryEx SHCreateDirectoryExW | 
 
 
 
 
 | 1536 | #endif | 
 
 
 
 
 | 1537 | #if (_WIN32_WINNT >= 0x0501) | 
 
 
 
 
 | 1538 | #define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirW | 
 
 
 
 
 | 1539 | #endif | 
 
 
 
 
 | 1540 | #define FILEDESCRIPTOR FILEDESCRIPTORW | 
 
 
 
 
 | 1541 | #define LPFILEDESCRIPTOR LPFILEDESCRIPTORW | 
 
 
 
 
 | 1542 | #define FILEGROUPDESCRIPTOR FILEGROUPDESCRIPTORW | 
 
 
 
 
 | 1543 | #define LPFILEGROUPDESCRIPTOR LPFILEGROUPDESCRIPTORW | 
 
 
 
 
 | 1544 |  | 
 
 
 
 
 | 1545 | #else | 
 
 
 
 
 | 1546 | typedef IShellExecuteHookA IShellExecuteHook; | 
 
 
 
 
 | 1547 | typedef IShellLinkA IShellLink; | 
 
 
 
 
 | 1548 | typedef BROWSEINFOA BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO; | 
 
 
 
 
 | 1549 | #define SHBrowseForFolder SHBrowseForFolderA | 
 
 
 
 
 | 1550 | #define SHGetDataFromIDList SHGetDataFromIDListA | 
 
 
 
 
 | 1551 | #define SHGetPathFromIDList SHGetPathFromIDListA | 
 
 
 
 
 | 1552 | #if (_WIN32_IE >= 0x0400) | 
 
 
 
 
 | 1553 | #define SHGetSpecialFolderPath SHGetSpecialFolderPathA | 
 
 
 
 
 | 1554 | #endif | 
 
 
 
 
 | 1555 | #define SHGetFolderPath SHGetFolderPathA | 
 
 
 
 
 | 1556 | #if (_WIN32_WINNT >= 0x0500) | 
 
 
 
 
 | 1557 | #define SHGetIconOverlayIndex SHGetIconOverlayIndexA | 
 
 
 
 
 | 1558 | #define SHCreateDirectoryEx SHCreateDirectoryExA | 
 
 
 
 
 | 1559 | #endif | 
 
 
 
 
 | 1560 | #if (_WIN32_WINNT >= 0x0501) | 
 
 
 
 
 | 1561 | #define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirA | 
 
 
 
 
 | 1562 | #endif | 
 
 
 
 
 | 1563 | #define FILEDESCRIPTOR FILEDESCRIPTORA | 
 
 
 
 
 | 1564 | #define LPFILEDESCRIPTOR LPFILEDESCRIPTORA | 
 
 
 
 
 | 1565 | #define FILEGROUPDESCRIPTOR FILEGROUPDESCRIPTORA | 
 
 
 
 
 | 1566 | #define LPFILEGROUPDESCRIPTOR LPFILEGROUPDESCRIPTORA | 
 
 
 
 
 | 1567 | #endif /* UNICODE */ | 
 
 
 
 
 | 1568 |  | 
 
 
 
 
 | 1569 | DWORD WINAPI SHFormatDrive(HWND,UINT,UINT,UINT); | 
 
 
 
 
 | 1570 |  | 
 
 
 
 
 | 1571 | #define SHFMT_ID_DEFAULT 0xFFFF | 
 
 
 
 
 | 1572 | #define SHFMT_OPT_FULL 1 | 
 
 
 
 
 | 1573 | #define SHFMT_OPT_SYSONLY 2 | 
 
 
 
 
 | 1574 | #define SHFMT_ERROR 0xFFFFFFFF | 
 
 
 
 
 | 1575 | #define SHFMT_CANCEL 0xFFFFFFFE | 
 
 
 
 
 | 1576 | #define SHFMT_NOFORMAT 0xFFFFFFFD | 
 
 
 
 
 | 1577 |  | 
 
 
 
 
 | 1578 | #pragma pack(pop) | 
 
 
 
 
 | 1579 | #ifdef __cplusplus | 
 
 
 
 
 | 1580 | } | 
 
 
 
 
 | 1581 | #endif | 
 
 
 
 
 | 1582 |  | 
 
 
 
 
 | 1583 |  | 
 
 
 
 
 | 1584 | #endif /* _SHLOBJ_H */ |