[1046] | 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 */
|
---|