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