ReactOS  0.4.14-dev-845-g8381e29
undocshell.h
Go to the documentation of this file.
1 /*
2  * Copyright 1999, 2000 Juergen Schmied
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #ifndef __WINE_UNDOCSHELL_H
20 #define __WINE_UNDOCSHELL_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif /* defined(__cplusplus) */
25 
26 
27 #if (NTDDI_VERSION < NTDDI_LONGHORN)
28 #define DBIMF_NOGRIPPER 0x0800
29 #define DBIMF_ALWAYSGRIPPER 0x1000
30 #define DBIMF_NOMARGINS 0x2000
31 #endif // NTDDI_LONGHORN
32 
33 #if defined (_SHELLAPI_H) || defined (_INC_SHELLAPI)
34 
35 /****************************************************************************
36  * Taskbar interface WM_COPYDATA structures
37  * See http://www.geoffchappell.com/studies/windows/shell/shell32/api/shlnot/copydata.htm
38  */
39 /* Data structure for Shell_NotifyIcon messages */
40 typedef struct _TRAYNOTIFYDATAW
41 {
42  DWORD dwSignature;
43  DWORD dwMessage;
44  NOTIFYICONDATAW nid; // Always use the latest NOTIFYICONDATAW structure version.
45 } TRAYNOTIFYDATAW, *PTRAYNOTIFYDATAW;
46 // Note: One could also introduce TRAYNOTIFYDATAA
47 
48 #define NI_NOTIFY_SIG 0x34753423 /* TRAYNOTIFYDATA */
49 
50 #endif /* defined (_SHELLAPI_H) || defined (_INC_SHELLAPI) */
51 
52 
53 /****************************************************************************
54  * Taskbar WM_COMMAND identifiers
55  */
56 #define TWM_DOEXITWINDOWS (WM_USER + 342)
57 #define TWM_CYCLEFOCUS (WM_USER + 348)
58 
59 
60 /****************************************************************************
61  * IDList Functions
62  */
64  LPCITEMIDLIST pidl,
65  LPVOID path);
66 
67 /* type parameter for ILGetDisplayNameEx() */
68 #define ILGDN_FORPARSING 0
69 #define ILGDN_NORMAL 1
70 #define ILGDN_INFOLDER 2
71 
73  LPSHELLFOLDER psf,
74  LPCITEMIDLIST pidl,
75  LPVOID path,
76  DWORD type);
77 
82 
84  LPCSTR path,
85  LPITEMIDLIST * ppidl,
86  DWORD *attributes);
87 
89  LPCWSTR path,
90  LPITEMIDLIST * ppidl,
91  DWORD *attributes);
92 
93 /*
94  string functions
95 */
98 
99 
100 /****************************************************************************
101  * SHChangeNotifyRegister API
102  */
103 #define SHCNRF_InterruptLevel 0x0001
104 #define SHCNRF_ShellLevel 0x0002
105 #define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
106 #define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
107 
108 
109 /****************************************************************************
110  * Shell Common Dialogs
111  */
112 
113 /* RunFileDlg flags */
114 #define RFF_NOBROWSE 0x01 /* Removes the browse button */
115 #define RFF_NODEFAULT 0x02 /* No default item selected */
116 #define RFF_CALCDIRECTORY 0x04 /* Calculates the working directory from the file name */
117 #define RFF_NOLABEL 0x08 /* Removes the edit box label */
118 #define RFF_NOSEPARATEMEM 0x20 /* Removes the Separate Memory Space check box (Windows NT only) */
119 
120 /* RunFileFlg notification value and structure */
121 #define RFN_VALIDATE (-510)
122 #if 0 // Deprecated ANSI structure
123 typedef struct _NMRUNFILEDLGA
124 {
125  NMHDR hdr;
126  LPCSTR lpFile;
128  UINT nShow;
129 } NMRUNFILEDLGA, *PNMRUNFILEDLGA, *LPNMRUNFILEDLGA;
130 #endif
131 typedef struct _NMRUNFILEDLGW
132 {
138 
142 
143 /* RunFileDlg notification return values */
144 #define RF_OK 0x00
145 #define RF_CANCEL 0x01
146 #define RF_RETRY 0x02
147 
148 void WINAPI RunFileDlg(
149  HWND hWndOwner,
150  HICON hIcon,
151  LPCWSTR lpstrDirectory,
152  LPCWSTR lpstrTitle,
153  LPCWSTR lpstrDescription,
154  UINT uFlags);
155 
156 int WINAPI LogoffWindowsDialog(HWND hWndOwner);
157 void WINAPI ExitWindowsDialog(HWND hWndOwner);
158 
160  LPCITEMIDLIST pidlRoot,
161  LPCITEMIDLIST pidlSavedSearch);
162 
163 void WINAPI SHHandleDiskFull(HWND hwndOwner,
164  UINT uDrive);
165 
167  HWND hwndOwner,
168  LPCSTR lpCaption,
169  UINT uType);
170 
172  HWND hwndOwner,
173  LPCWSTR lpstrRemoteName,
174  DWORD dwType);
175 
176 /****************************************************************************
177  * Cabinet Window Messages
178  */
179 
180 #define CWM_SETPATH (WM_USER + 2)
181 #define CWM_WANTIDLE (WM_USER + 3)
182 #define CWM_GETSETCURRENTINFO (WM_USER + 4)
183 #define CWM_SELECTITEM (WM_USER + 5)
184 #define CWM_SELECTITEMSTR (WM_USER + 6)
185 #define CWM_GETISHELLBROWSER (WM_USER + 7)
186 #define CWM_TESTPATH (WM_USER + 9)
187 #define CWM_STATECHANGE (WM_USER + 10)
188 #define CWM_GETPATH (WM_USER + 12)
189 
190 #define WM_GETISHELLBROWSER CWM_GETISHELLBROWSER
191 
192 /* CWM_TESTPATH types */
193 #define CWTP_ISEQUAL 0
194 #define CWTP_ISCHILD 1
195 
196 /* CWM_TESTPATH structure */
197 typedef struct
198 {
202 
203 /****************************************************************************
204  * System Imagelist Routines
205  */
206 
208  LPCSTR lpszFileName,
209  int nIconIndex,
210  UINT bSimulateDoc);
211 
213  HIMAGELIST *lphimlLarge,
214  HIMAGELIST *lphimlSmall);
215 
218  LPCSTR lpszPath,
220  UINT uFlags);
221 
222 BOOL WINAPI FileIconInit(BOOL bFullInit);
223 
224 /****************************************************************************
225  * File Menu Routines
226  */
227 /* FileMenu_Create nSelHeight constants */
228 #define FM_DEFAULT_SELHEIGHT -1
229 #define FM_FULL_SELHEIGHT 0
230 
231 /* FileMenu_Create flags */
232 #define FMF_SMALL_ICONS 0x00
233 #define FMF_LARGE_ICONS 0x08
234 #define FMF_NO_COLUMN_BREAK 0x10
235 
237  COLORREF crBorderColor,
238  int nBorderWidth,
239  HBITMAP hBorderBmp,
240  int nSelHeight,
241  UINT uFlags);
242 
243 void WINAPI FileMenu_Destroy(HMENU hMenu);
244 
245 /* FileMenu_AppendItem constants */
246 #define FM_SEPARATOR (LPCSTR)1
247 #define FM_BLANK_ICON -1
248 #define FM_DEFAULT_HEIGHT 0
249 
251  HMENU hMenu,
252  LPCSTR lpszText,
253  UINT uID,
254  int iIcon,
255  HMENU hMenuPopup,
256  int nItemHeight);
257 
258 /* FileMenu_InsertUsingPidl flags */
259 #define FMF_NO_EMPTY_ITEM 0x01
260 #define FMF_NO_PROGRAM_GROUPS 0x04
261 
262 /* FileMenu_InsertUsingPidl callback function */
263 typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
264 
266  HMENU hMenu,
267  UINT uID,
268  LPCITEMIDLIST pidl,
269  UINT uFlags,
270  UINT uEnumFlags,
271  LPFNFMCALLBACK lpfnCallback);
272 
274  HMENU hMenu,
275  UINT uID,
276  LPCITEMIDLIST pidl,
277  UINT uEnumFlags,
278  LPFNFMCALLBACK lpfnCallback);
279 
280 void WINAPI FileMenu_Invalidate(HMENU hMenu);
281 
283  HMENU hMenu,
284  LPCITEMIDLIST pidl);
285 
287  HMENU hMenu,
288  UINT uFlags,
289  int x,
290  int y,
291  HWND hWnd,
292  LPTPMPARAMS lptpm);
293 
295  UINT uReserved,
296  LPCITEMIDLIST *ppidlFolder,
297  LPCITEMIDLIST *ppidlItem);
298 
300  HWND hWnd,
301  LPMEASUREITEMSTRUCT lpmis);
302 
304  HWND hWnd,
305  LPDRAWITEMSTRUCT lpdis);
306 
308 
309 void WINAPI FileMenu_AbortInitMenu(void);
310 
312  HMENU hMenu,
313  WPARAM wParam);
314 
316 
318  HMENU hMenu,
319  UINT uID);
320 
322  HMENU hMenu,
323  UINT uPos);
324 
326  HMENU hMenu,
327  UINT uID);
328 
330 
332  HMENU hMenu,
333  UINT uID,
334  BOOL bEnable);
335 
337  HMENU hMenu,
338  UINT uPos);
339 
341  HMENU hMenu,
342  LPCITEMIDLIST pidl,
343  BOOL bAddSeparator);
344 
346  HMENU hMenu,
347  UINT uReserved,
348  UINT uID,
349  LPCITEMIDLIST pidl,
350  UINT uFlags,
351  UINT uEnumFlags,
352  LPFNFMCALLBACK lpfnCallback);
353 
354 /****************************************************************************
355  * Drag And Drop Routines
356  */
357 
359  HWND hWnd,
360  LPDROPTARGET lpDropTarget);
361 
363 
365 
367  HWND hWnd,
368  POINT pt);
369 
371 
372 /****************************************************************************
373  * Path Manipulation Routines
374  */
375 
376 BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
377 
378 LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
379 
381 
382 LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive);
383 
385 
387 
388 LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2);
389 
391 
393 
394 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
395 
397 
398 void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath);
399 
400 BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath);
401 
403 
405 
406 BOOL WINAPI PathIsExeAW(LPCVOID lpszPath);
407 
409 
411 
412 BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec);
413 
415  LPVOID lpszBuffer,
416  DWORD dwBuffSize,
417  LPCVOID lpszShortName,
418  LPCVOID lpszLongName,
419  LPCVOID lpszPathName);
420 
422  LPWSTR lpszBuffer,
423  LPCWSTR lpszPathName,
424  LPCWSTR lpszShortName,
425  LPCWSTR lpszLongName);
426 
428 
429 
430 /* PathResolve flags */
431 #define PRF_CHECKEXISTANCE 0x01
432 #define PRF_EXECUTABLE 0x02
433 #define PRF_QUALIFYONPATH 0x04
434 #define PRF_WINDOWS31 0x08
435 
436 BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
437 
439 
440 /* PathProcessCommand flags */
441 #define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
442 #define PPCF_INCLUDEARGS 0x02
443 //#define PPCF_NODIRECTORIES 0x10 move to shlobj
444 #define PPCF_DONTRESOLVE 0x20
445 #define PPCF_PATHISRELATIVE 0x40
446 
448  DWORD dwBuffSize, DWORD dwFlags);
449 
450 void WINAPI PathStripPathAW(LPVOID lpszPath);
451 
453 
454 void WINAPI PathRemoveArgsAW(LPVOID lpszPath);
455 
456 void WINAPI PathRemoveExtensionAW(LPVOID lpszPath);
457 
459 
460 BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2);
461 
462 BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID *sOtherDirs);
463 
464 /****************************************************************************
465  * Shell File Operations error codes - SHFileOperationA/W
466  */
467 
468 /* Error codes could be pre-Win32 */
469 #define DE_SAMEFILE 0x71
470 #define DE_MANYSRC1DEST 0x72
471 #define DE_DIFFDIR 0x73
472 #define DE_ROOTDIR 0x74
473 #define DE_OPCANCELLED 0x75
474 #define DE_DESTSUBTREE 0x76
475 #define DE_ACCESSDENIEDSRC 0x78
476 #define DE_PATHTOODEEP 0x79
477 #define DE_MANYDEST 0x7A
478 #define DE_INVALIDFILES 0x7C
479 #define DE_DESTSAMETREE 0x7D
480 #define DE_FLDDESTISFILE 0x7E
481 #define DE_FILEDESTISFLD 0x80
482 #define DE_FILENAMETOOLONG 0x81
483 #define DE_DEST_IS_CDROM 0x82
484 #define DE_DEST_IS_DVD 0x83
485 #define DE_DEST_IS_CDRECORD 0x84
486 #define DE_FILE_TOO_LARGE 0x85
487 #define DE_SRC_IS_CDROM 0x86
488 #define DE_SRC_IS_DVD 0x87
489 #define DE_SRC_IS_CDRECORD 0x88
490 // #define DE_ERROR_MAX
491 #define ERRORONDEST 0x10000
492 
493 /****************************************************************************
494  * Shell Namespace Routines
495  */
496 
497 /* Generic structure used by several messages */
498 typedef struct
499 {
505 typedef const SFVCBINFO * LPCSFVCBINFO;
506 
507 /* SFVCB_SELECTIONCHANGED structure */
508 typedef struct
509 {
516 
517 /* SFVCB_COPYHOOKCALLBACK structure */
518 typedef struct
519 {
529 
530 /* SFVCB_GETDETAILSOF structure */
531 typedef struct
532 {
534  int fmt;
535  int cx;
538 
539 /****************************************************************************
540  * Misc Stuff
541  */
542 
543 BOOL WINAPI
544 RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf);
545 
546 /* SHWaitForFileToOpen flags */
547 #define SHWFF_ADD 0x01
548 #define SHWFF_REMOVE 0x02
549 #define SHWFF_WAIT 0x04
550 
552  LPCITEMIDLIST pidl,
553  DWORD dwFlags,
554  DWORD dwTimeout);
555 
559  LPCRECT lpRect,
560  WORD cKids,
561  CONST HWND * lpKids);
562 
563 /* Flags for ShellExecCmdLine */
564 #define SECL_NO_UI 0x2
565 #define SECL_LOG_USAGE 0x8
566 #define SECL_USE_IDLIST 0x10
567 #define SECL_ALLOW_NONEXE 0x20
568 #define SECL_RUNAS 0x40
569 
571  HWND hwnd,
572  LPCWSTR pwszCommand,
573  LPCWSTR pwszStartDir,
574  int nShow,
575  LPVOID pUnused,
576  DWORD dwSeclFlags);
577 
578 /* RegisterShellHook types */
579 #define RSH_DEREGISTER 0
580 #define RSH_REGISTER 1
581 #define RSH_REGISTER_PROGMAN 2
582 #define RSH_REGISTER_TASKMAN 3
583 
585  HWND hWnd,
586  DWORD dwType);
587 
588 /* SHCreateDefClassObject callback function */
590  LPUNKNOWN pUnkOuter,
591  REFIID riidObject,
592  LPVOID *ppvObject);
593 
595  REFIID riidFactory,
596  LPVOID *ppvFactory,
597  LPFNCDCOCALLBACK lpfnCallback,
598  LPDWORD lpdwUsage,
599  REFIID riidObject);
600 
601 void WINAPI SHFreeUnusedLibraries(void);
602 
603 /* SHCreateLinks flags */
604 #define SHCLF_PREFIXNAME 0x01
605 #define SHCLF_CREATEONDESKTOP 0x02
606 
608  HWND hWnd,
609  LPCSTR lpszDir,
610  LPDATAOBJECT lpDataObject,
611  UINT uFlags,
612  LPITEMIDLIST *lppidlLinks);
613 
616 
617 /* policy functions */
619 
620 #define CSIDL_FOLDER_MASK 0x00ff
621 
622 /* Utility functions */
623 #include <stdio.h>
624 
625 #define SMC_EXEC 4
626 INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc);
627 
628 HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv);
629 
631  _In_ PCWSTR psz,
632  _Out_ LPGUID pguid
633  );
634 
635 /*****************************************************************************
636  * Shell32 resources
637  */
638 // these resources are in shell32.dll
639 #define IDB_GOBUTTON_NORMAL 0x0e6
640 #define IDB_GOBUTTON_HOT 0x0e7
641 
642 // band ids in internet toolbar
643 #define ITBBID_MENUBAND 1
644 #define ITBBID_BRANDBAND 5
645 #define ITBBID_TOOLSBAND 2
646 #define ITBBID_ADDRESSBAND 4
647 
648 // commands in the CGID_PrivCITCommands command group handled by the internet toolbar
649 // there seems to be some support for hiding the menubar and an auto hide feature that are
650 // unavailable in the UI
651 #define ITID_TEXTLABELS 3
652 #define ITID_TOOLBARBANDSHOWN 4
653 #define ITID_ADDRESSBANDSHOWN 5
654 #define ITID_LINKSBANDSHOWN 6
655 #define ITID_MENUBANDSHOWN 12
656 #define ITID_AUTOHIDEENABLED 13
657 #define ITID_CUSTOMIZEENABLED 20
658 #define ITID_TOOLBARLOCKED 27
659 
660 // commands in the CGID_BrandCmdGroup command group handled by the brand band
661 #define BBID_STARTANIMATION 1
662 #define BBID_STOPANIMATION 2
663 
664 // undocumented flags for IShellMenu::SetShellFolder
665 #define SMSET_UNKNOWN08 0x08
666 #define SMSET_UNKNOWN10 0x10
667 
668 // explorer tray commands
669 #define TRAYCMD_STARTMENU 305
670 #define TRAYCMD_RUN_DIALOG 401
671 #define TRAYCMD_LOGOFF_DIALOG 402
672 #define TRAYCMD_CASCADE 403
673 #define TRAYCMD_TILE_H 404
674 #define TRAYCMD_TILE_V 405
675 #define TRAYCMD_TOGGLE_DESKTOP 407
676 #define TRAYCMD_DATE_AND_TIME 408
677 #define TRAYCMD_TASKBAR_PROPERTIES 413
678 #define TRAYCMD_MINIMIZE_ALL 415
679 #define TRAYCMD_RESTORE_ALL 416
680 #define TRAYCMD_SHOW_DESKTOP 419
681 #define TRAYCMD_SHOW_TASK_MGR 420
682 #define TRAYCMD_CUSTOMIZE_TASKBAR 421
683 #define TRAYCMD_LOCK_TASKBAR 424
684 #define TRAYCMD_HELP_AND_SUPPORT 503
685 #define TRAYCMD_CONTROL_PANEL 505
686 #define TRAYCMD_SHUTDOWN_DIALOG 506
687 #define TRAYCMD_PRINTERS_AND_FAXES 510
688 #define TRAYCMD_LOCK_DESKTOP 517
689 #define TRAYCMD_SWITCH_USER_DIALOG 5000
690 #define TRAYCMD_SEARCH_FILES 41093
691 #define TRAYCMD_SEARCH_COMPUTERS 41094
692 
693 void WINAPI ShellDDEInit(BOOL bInit);
695 
697 
699 
700 /*****************************************************************************
701  * Shell Link
702  */
703 #include <pshpack1.h>
704 
705 typedef struct tagSHELL_LINK_HEADER
706 {
707  /* The size of this structure (always 0x0000004C) */
709  /* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
711  /* Flags (SHELL_LINK_DATA_FLAGS) */
713  /* Informations about the link target: */
718  DWORD nFileSizeLow; /* only the least significant 32 bits */
719  /* The index of an icon (signed?) */
721  /* The expected window state of an application launched by the link */
723  /* The keystrokes used to launch the application */
725  /* Reserved (must be zero) */
730 
731 /*****************************************************************************
732  * SHELL_LINK_INFOA/W
733  * If cbHeaderSize == 0x0000001C then use SHELL_LINK_INFOA
734  * If cbHeaderSize >= 0x00000024 then use SHELL_LINK_INFOW
735  */
736 typedef struct tagSHELL_LINK_INFOA
737 {
738  /* Size of the link info data */
740  /* Size of this structure (ANSI: = 0x0000001C) */
742  /* Specifies which fields are present/populated (SLI_*) */
744  /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
746  /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
748  /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
750  /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
753 
754 typedef struct tagSHELL_LINK_INFOW
755 {
756  /* Size of the link info data */
758  /* Size of this structure (Unicode: >= 0x00000024) */
760  /* Specifies which fields are present/populated (SLI_*) */
762  /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
764  /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
766  /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
768  /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
770  /* Offset of the LocalBasePathUnicode field (Unicode, NULL-terminated string) */
772  /* Offset of the CommonPathSuffixUnicode field (Unicode, NULL-terminated string) */
775 
776 /* VolumeID, LocalBasePath, LocalBasePathUnicode(cbHeaderSize >= 0x24) are present */
777 #define SLI_VALID_LOCAL 0x00000001
778 /* CommonNetworkRelativeLink is present */
779 #define SLI_VALID_NETWORK 0x00000002
780 
781 /*****************************************************************************
782  * SHELL_LINK_INFO_VOLUME_IDA/W
783  * If cbVolumeLabelOffset != 0x00000014 (should be 0x00000010) then use
784  * SHELL_LINK_INFO_VOLUME_IDA
785  * If cbVolumeLabelOffset == 0x00000014 then use SHELL_LINK_INFO_VOLUME_IDW
786  */
788 {
789  /* Size of the VolumeID field (> 0x00000010) */
791  /* Drive type of the drive the link target is stored on (DRIVE_*) */
793  /* Serial number of the volume the link target is stored on */
795  /* Offset of the volume label (ANSI, NULL-terminated string).
796  Must be != 0x00000014 (see tagSHELL_LINK_INFO_VOLUME_IDW) */
799 
801 {
802  /* Size of the VolumeID field (> 0x00000010) */
804  /* Drive type of the drive the link target is stored on (DRIVE_*) */
806  /* Serial number of the volume the link target is stored on */
808  /* Offset of the volume label (ANSI, NULL-terminated string).
809  If the value of this field is 0x00000014, ignore it and use
810  cbVolumeLabelUnicodeOffset! */
812  /* Offset of the volume label (Unicode, NULL-terminated string).
813  If the value of the VolumeLabelOffset field is not 0x00000014,
814  this field must be ignored (==> it doesn't exists ==> ANSI). */
817 
818 /*****************************************************************************
819  * SHELL_LINK_INFO_CNR_LINKA/W (CNR = Common Network Relative)
820  * If cbNetNameOffset == 0x00000014 then use SHELL_LINK_INFO_CNR_LINKA
821  * If cbNetNameOffset > 0x00000014 then use SHELL_LINK_INFO_CNR_LINKW
822  */
824 {
825  /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
827  /* Specifies which fields are present/populated (SLI_CNR_*) */
829  /* Offset of the NetName field (ANSI, NULL–terminated string) */
831  /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
833  /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
836 
838 {
839  /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
841  /* Specifies which fields are present/populated (SLI_CNR_*) */
843  /* Offset of the NetName field (ANSI, NULL–terminated string) */
845  /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
847  /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
849  /* Offset of the NetNameUnicode field (Unicode, NULL–terminated string) */
851  /* Offset of the DeviceNameUnicode field (Unicode, NULL–terminated string) */
854 
855 /* DeviceName is present */
856 #define SLI_CNR_VALID_DEVICE 0x00000001
857 /* NetworkProviderType is present */
858 #define SLI_CNR_VALID_NET_TYPE 0x00000002
859 
860 /*****************************************************************************
861  * Shell Link Extra Data (IShellLinkDataList)
862  */
863 typedef struct tagEXP_TRACKER
864 {
865  /* .cbSize = 0x00000060, .dwSignature = 0xa0000003 */
867  /* Length >= 0x00000058 */
869  /* Must be 0x00000000 */
871  /* NetBIOS name (ANSI, unused bytes are set to zero) */
872  CHAR szMachineID[16]; /* "variable" >= 16 (?) */
873  /* Some GUIDs for the Link Tracking service (from the FS?) */
879 
880 typedef struct tagEXP_SHIM
881 {
882  /* .cbSize >= 0x00000088, .dwSignature = 0xa0000008 */
884  /* Name of a shim layer to apply (Unicode, unused bytes are set to zero) */
885  WCHAR szwLayerName[64]; /* "variable" >= 64 */
886 } EXP_SHIM, *LPEXP_SHIM;
887 
888 typedef struct tagEXP_KNOWN_FOLDER
889 {
890  /* .cbSize = 0x0000001c, .dwSignature = 0xa000000b */
892  /* A GUID value that identifies a known folder */
894  /* Specifies the location of the ItemID of the first child
895  segment of the IDList specified by guidKnownFolder */
898 
899 typedef struct tagEXP_VISTA_ID_LIST
900 {
901  /* .cbSize >= 0x0000000a, .dwSignature = 0xa000000c */
903  /* Specifies an alternate IDList that can be used instead
904  of the "normal" IDList (SLDF_HAS_ID_LIST) */
905  /* LPITEMIDLIST pIDList; (variable) */
907 
908 #define EXP_TRACKER_SIG 0xa0000003
909 #define EXP_SHIM_SIG 0xa0000008
910 #define EXP_KNOWN_FOLDER_SIG 0xa000000b
911 #define EXP_VISTA_ID_LIST_SIG 0xa000000c
912 
913 /* Not compatible yet */
915 {
921 
922 #include <poppack.h>
923 
924 #ifdef __cplusplus
925 } /* extern "C" */
926 #endif /* defined(__cplusplus) */
927 
928 #endif /* __WINE_UNDOCSHELL_H */
int WINAPI PathParseIconLocationAW(LPVOID lpszPath)
LRESULT WINAPI FileMenu_MeasureItem(HWND hWnd, LPMEASUREITEMSTRUCT lpmis)
Definition: shlmenu.c:559
BOOL WINAPI FileMenu_GetLastSelectedItemPidls(UINT uReserved, LPCITEMIDLIST *ppidlFolder, LPCITEMIDLIST *ppidlItem)
Definition: shlmenu.c:541
struct _NMRUNFILEDLGW * PNMRUNFILEDLGW
DWORD dwReserved2
Definition: undocshell.h:501
BOOL WINAPI FileMenu_DeleteItemByIndex(HMENU hMenu, UINT uPos)
Definition: shlmenu.c:728
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lphimlLarge, HIMAGELIST *lphimlSmall)
Definition: iconcache.cpp:706
HRESULT WINAPI SHRegisterDragDrop(HWND hWnd, LPDROPTARGET lpDropTarget)
Definition: shellord.c:451
#define HRESULT
Definition: msvc.h:7
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
GUID guidDroidBirthVolume
Definition: undocshell.h:876
int WINAPI FileMenu_AddFilesForPidl(HMENU hMenu, UINT uReserved, UINT uID, LPCITEMIDLIST pidl, UINT uFlags, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:505
const uint16_t * PCWSTR
Definition: typedefs.h:55
LPCSTR pszDestFile
Definition: undocshell.h:525
VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath)
static HICON
Definition: imagelist.c:84
DWORD dwSrcAttribs
Definition: undocshell.h:524
BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2)
LPVOID WINAPI PathGetArgsAW(LPVOID lpszPath)
#define REFIID
Definition: guiddef.h:118
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
ITEMIDLIST idl
Definition: undocshell.h:200
struct tagEXP_KNOWN_FOLDER EXP_KNOWN_FOLDER
char hdr[14]
Definition: iptest.cpp:33
int WINAPI Shell_GetCachedImageIndexA(LPCSTR lpszFileName, int nIconIndex, UINT bSimulateDoc)
int WINAPI LogoffWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1094
struct tagSHELL_LINK_HEADER SHELL_LINK_HEADER
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
HRESULT WINAPI SHCreateDefClassObject(REFIID riidFactory, LPVOID *ppvFactory, LPFNCDCOCALLBACK lpfnCallback, LPDWORD lpdwUsage, REFIID riidObject)
PNMRUNFILEDLGW PNMRUNFILEDLG
Definition: undocshell.h:140
struct tagSHELL_LINK_INFO_CNR_LINKA * LPSHELL_LINK_INFO_CNR_LINKA
struct SFVM_CUSTOMVIEWINFO_DATA * LPSFVM_CUSTOMVIEWINFO_DATA
BOOL WINAPI FileMenu_DeleteMenuItemByFirstID(HMENU hMenu, UINT uID)
struct _NMRUNFILEDLGW NMRUNFILEDLGW
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
HRESULT WINAPI SHILCreateFromPathW(LPCWSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:392
NOTIFYICONDATA nid
Definition: magnifier.c:44
BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath)
Definition: shellpath.c:110
#define pt(x, y)
Definition: drawing.c:79
REFIID riid
Definition: precomp.h:44
BOOL WINAPI FileMenu_InitMenuPopup(HMENU hMenu)
Definition: shlmenu.c:647
char CHAR
Definition: xmlstorage.h:175
struct tagSHELL_LINK_INFOW * LPSHELL_LINK_INFOW
HRESULT WINAPI SHCreateLinks(HWND hWnd, LPCSTR lpszDir, LPDATAOBJECT lpDataObject, UINT uFlags, LPITEMIDLIST *lppidlLinks)
void WINAPI ShellDDEInit(BOOL bInit)
Definition: shdocvw_main.c:227
void WINAPI ExitWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1145
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
void WINAPI FileMenu_AbortInitMenu(void)
Definition: shlmenu.c:803
#define CALLBACK
Definition: compat.h:27
DWORD WINAPI CheckEscapesA(LPSTR string, DWORD len)
Definition: shellstring.c:232
HWND hWnd
Definition: settings.c:17
REFIID LPVOID * ppv
Definition: atlbase.h:39
BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey)
struct tagSHELL_LINK_INFOA SHELL_LINK_INFOA
struct tagEXP_SHIM * LPEXP_SHIM
struct tagSHELL_LINK_INFO_VOLUME_IDA * LPSHELL_LINK_INFO_VOLUME_IDA
BOOL WINAPI RegisterShellHook(HWND hWnd, DWORD dwType)
Definition: shellord.c:308
BOOL WINAPI FileIconInit(BOOL bFullInit)
Definition: shellord.c:1298
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
_In_ int nIDDlgItem
Definition: winuser.h:4594
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
LPCWSTR lpDirectory
Definition: undocshell.h:135
struct tagEXP_TRACKER EXP_TRACKER
UINT_PTR WPARAM
Definition: windef.h:207
struct SFVCBINFO * LPSFVCBINFO
LRESULT WINAPI FileMenu_DrawItem(HWND hWnd, LPDRAWITEMSTRUCT lpdis)
Definition: shlmenu.c:587
UINT uFlags
Definition: api.c:59
char * LPSTR
Definition: xmlstorage.h:182
BOOL WINAPI GUIDFromStringW(_In_ PCWSTR psz, _Out_ LPGUID pguid)
int32_t INT
Definition: typedefs.h:56
WPARAM wParam
Definition: combotst.c:138
LPVOID WINAPI PathFindExtensionAW(LPCVOID path)
BOOL WINAPI FileMenu_TrackPopupMenuEx(HMENU hMenu, UINT uFlags, int x, int y, HWND hWnd, LPTPMPARAMS lptpm)
Definition: shlmenu.c:525
void WINAPI RunFileDlg(HWND hWndOwner, HICON hIcon, LPCWSTR lpstrDirectory, LPCWSTR lpstrTitle, LPCWSTR lpstrDescription, UINT uFlags)
Definition: dialogs.cpp:397
BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2)
Definition: shellpath.c:64
DWORD dwReserved
Definition: undocshell.h:500
struct SFVCOLUMNINFO * LPSFVCOLUMNINFO
LPITEMIDLIST WINAPI SHSimpleIDListFromPathA(LPCSTR lpszPath)
Definition: pidl.c:1089
WORD unused[29]
Definition: crypt.c:1155
CHAR szMachineID[16]
Definition: undocshell.h:872
BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR lpszBuffer, LPCWSTR lpszPathName, LPCWSTR lpszShortName, LPCWSTR lpszLongName)
Definition: shellpath.c:320
WORD WINAPI ArrangeWindows(HWND hwndParent, DWORD dwReserved, LPCRECT lpRect, WORD cKids, CONST HWND *lpKids)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:90
DWORD WINAPI CheckEscapesW(LPWSTR string, DWORD len)
Definition: shellstring.c:258
unsigned int BOOL
Definition: ntddk_ex.h:94
INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc)
Definition: iconcache.cpp:861
static LPUNKNOWN
Definition: ndr_ole.c:49
BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl, LPVOID path)
Definition: pidl.c:174
void WINAPI FileMenu_Destroy(HMENU hMenu)
Definition: shlmenu.c:285
void(CALLBACK * LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile)
Definition: undocshell.h:263
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
Definition: shellord.c:2013
struct tagSHELL_LINK_HEADER * LPSHELL_LINK_HEADER
struct tagSHELL_LINK_INFO_CNR_LINKA SHELL_LINK_INFO_CNR_LINKA
DATABLOCK_HEADER dbh
Definition: undocshell.h:866
static HWND hwndParent
Definition: cryptui.c:300
HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:514
#define _Out_
Definition: no_sal2.h:323
BOOL WINAPI FileMenu_EnableItemByCmd(HMENU hMenu, UINT uID, BOOL bEnable)
Definition: shlmenu.c:771
BOOL WINAPI DAD_DragEnter(HWND hWnd)
Definition: shellord.c:1152
BOOL WINAPI RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf)
Definition: shell32.cpp:71
const SFVCOPYHOOKINFO * LPCSFVCOPYHOOKINFO
Definition: undocshell.h:528
struct CWTESTPATHSTRUCT * LPCWTESTPATHSTRUCT
BOOL WINAPI FileMenu_DeleteAllItems(HMENU hMenu)
Definition: shlmenu.c:670
const char * LPCSTR
Definition: xmlstorage.h:183
BOOL WINAPI SHWaitForFileToOpen(LPCITEMIDLIST pidl, DWORD dwFlags, DWORD dwTimeout)
Definition: shellord.c:1386
GUID guidDroidBirthObject
Definition: undocshell.h:877
struct tagEXP_VISTA_ID_LIST EXP_VISTA_ID_LIST
void WINAPI PathStripPathAW(LPVOID lpszPath)
BOOL WINAPI PathIsRootAW(LPCVOID x)
Definition: shellpath.c:168
LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2)
WCHAR szwLayerName[64]
Definition: undocshell.h:885
BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID *sOtherDirs)
LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl)
Definition: pidl.c:460
NMRUNFILEDLGW NMRUNFILEDLG
Definition: undocshell.h:139
_In_opt_ LPCSTR lpDirectory
Definition: shellapi.h:482
LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive)
BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath)
DWORD WINAPI WinList_Init(void)
Definition: misc.cpp:68
VOID WINAPI PathQuoteSpacesAW(LPVOID path)
__wchar_t WCHAR
Definition: xmlstorage.h:180
LPCITEMIDLIST pidl
Definition: undocshell.h:502
int WINAPI FileMenu_ReplaceUsingPidl(HMENU hMenu, UINT uID, LPCITEMIDLIST pidl, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:440
LONG HRESULT
Definition: typedefs.h:77
DWORD COLORREF
Definition: windef.h:300
struct tagSHELL_LINK_INFO_VOLUME_IDA SHELL_LINK_INFO_VOLUME_IDA
LPCWSTR lpFile
Definition: undocshell.h:134
#define WINAPI
Definition: msvc.h:6
struct SFVSELECTSTATE * LPSFVSELECTSTATE
LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile)
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
LPCSTR pszSrcFile
Definition: undocshell.h:523
BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec)
GUID guidDroidObject
Definition: undocshell.h:875
void WINAPI PathRemoveBlanksAW(LPVOID lpszPath)
BOOL WINAPI StrRetToStrNW(LPWSTR, DWORD, LPSTRRET, const ITEMIDLIST *)
Definition: shellstring.c:84
LPCITEMIDLIST pidl
Definition: undocshell.h:512
STRRET lpText
Definition: undocshell.h:536
int WINAPI SHOutOfMemoryMessageBox(HWND hwndOwner, LPCSTR lpCaption, UINT uType)
Definition: shellord.c:1365
void WINAPI PathRemoveArgsAW(LPVOID lpszPath)
void WINAPI FileMenu_Invalidate(HMENU hMenu)
Definition: shlmenu.c:460
LPDWORD lpdwUser
Definition: undocshell.h:513
struct tagEXP_SHIM EXP_SHIM
BOOL WINAPI PathIsDirectoryAW(LPCVOID lpszPath)
DATABLOCK_HEADER dbh
Definition: undocshell.h:891
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
struct tagSHELL_LINK_INFO_CNR_LINKW SHELL_LINK_INFO_CNR_LINKW
struct SFVCOPYHOOKINFO * LPSFVCOPYHOOKINFO
GLenum GLsizei len
Definition: glext.h:6722
BOOL WINAPI PathMakeUniqueNameAW(LPVOID lpszBuffer, DWORD dwBuffSize, LPCVOID lpszShortName, LPCVOID lpszLongName, LPCVOID lpszPathName)
Definition: shellpath.c:305
REFIID LPVOID * ppvObject
Definition: precomp.h:44
struct tagSHELL_LINK_INFO_VOLUME_IDW SHELL_LINK_INFO_VOLUME_IDW
LPVOID WINAPI PathAddBackslashAW(LPVOID path)
interface IDataObject * LPDATAOBJECT
Definition: objfwd.h:21
BOOL WINAPI StrRetToStrNA(LPSTR, DWORD, LPSTRRET, const ITEMIDLIST *)
Definition: shellstring.c:53
HRESULT(CALLBACK * LPFNCDCOCALLBACK)(LPUNKNOWN pUnkOuter, REFIID riidObject, LPVOID *ppvObject)
Definition: undocshell.h:589
LPNMRUNFILEDLGW LPNMRUNFILEDLG
Definition: undocshell.h:141
struct tagSHELL_LINK_INFOA * LPSHELL_LINK_INFOA
BOOL WINAPI DAD_SetDragImageFromListView(HWND hWnd, POINT pt)
Definition: stubs.cpp:1007
#define _In_
Definition: no_sal2.h:204
BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags)
Definition: shellpath.c:471
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
Definition: wincrypt.h:6081
DWORD WINAPI SHNetConnectionDialog(HWND hwndOwner, LPCWSTR lpstrRemoteName, DWORD dwType)
Definition: stubs.cpp:994
void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath)
const SFVCBINFO * LPCSFVCBINFO
Definition: undocshell.h:505
const SFVSELECTSTATE * LPCSFVSELECTSTATE
Definition: undocshell.h:515
BOOL WINAPI PathStripToRootAW(LPVOID lpszPath)
DATABLOCK_HEADER dbh
Definition: undocshell.h:883
struct tagSHELL_LINK_INFOW SHELL_LINK_INFOW
struct tagSHELL_LINK_INFO_VOLUME_IDW * LPSHELL_LINK_INFO_VOLUME_IDW
HRESULT WINAPI ShellExecCmdLine(HWND hwnd, LPCWSTR pwszCommand, LPCWSTR pwszStartDir, int nShow, LPVOID pUnused, DWORD dwSeclFlags)
Definition: shlexec.cpp:2391
_In_ BOOL bEnable
Definition: winddi.h:3426
BOOL WINAPI FileMenu_DeleteItemByCmd(HMENU hMenu, UINT uID)
Definition: shlmenu.c:705
LPVOID WINAPI PathFindFileNameAW(LPCVOID path)
HICON hIcon
Definition: msconfig.c:44
LPDWORD lpdwUser
Definition: undocshell.h:503
LPCWSTR szPath
Definition: env.c:35
BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath)
HMENU WINAPI FileMenu_Create(COLORREF crBorderColor, int nBorderWidth, HBITMAP hBorderBmp, int nSelHeight, UINT uFlags)
Definition: shlmenu.c:251
struct SFVM_CUSTOMVIEWINFO_DATA SFVM_CUSTOMVIEWINFO_DATA
BOOL WINAPI DAD_ShowDragImage(BOOL bShow)
Definition: shellord.c:1203
void WINAPI SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
Definition: stubs.cpp:1018
ACCESS_MASK REGSAM
Definition: winreg.h:69
unsigned int UINT
Definition: ndis.h:50
struct _NMRUNFILEDLGW * LPNMRUNFILEDLGW
void WINAPI PathRemoveExtensionAW(LPVOID lpszPath)
void WINAPI SHFreeUnusedLibraries(void)
Definition: shellord.c:1134
DWORD dwDestAttribs
Definition: undocshell.h:526
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
BOOL WINAPI SHFindComputer(LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)
Definition: stubs.cpp:33
struct tagEXP_VISTA_ID_LIST * LPEXP_VISTA_ID_LIST
int WINAPI FileMenu_AppendFilesForPidl(HMENU hMenu, LPCITEMIDLIST pidl, BOOL bAddSeparator)
Definition: shlmenu.c:479
CONST void * LPCVOID
Definition: windef.h:191
DWORD dwFileAttributes
HRESULT WINAPI SHRevokeDragDrop(HWND hWnd)
Definition: shellord.c:486
BOOL WINAPI PathFileExistsAW(LPCVOID lpszPath)
Definition: shellpath.c:226
uint32_t * LPDWORD
Definition: typedefs.h:57
unsigned int ULONG
Definition: retypes.h:1
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW(LPCWSTR lpszPath)
Definition: pidl.c:1111
int WINAPI FileMenu_InsertUsingPidl(HMENU hMenu, UINT uID, LPCITEMIDLIST pidl, UINT uFlags, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:415
struct tagSHELL_LINK_INFO_CNR_LINKW * LPSHELL_LINK_INFO_CNR_LINKW
LPCITEMIDLIST pidl
Definition: undocshell.h:533
static HBITMAP
Definition: button.c:44
DATABLOCK_HEADER dbh
Definition: undocshell.h:902
DWORD WINAPI FileMenu_GetItemExtent(HMENU hMenu, UINT uPos)
Definition: shlmenu.c:786
GUID guidDroidVolume
Definition: undocshell.h:874
struct tagEXP_KNOWN_FOLDER * LPEXP_KNOWN_FOLDER
WCHAR * LPWSTR
Definition: xmlstorage.h:184
LONG_PTR LRESULT
Definition: windef.h:209
HMENU WINAPI FileMenu_FindSubMenuByPidl(HMENU hMenu, LPCITEMIDLIST pidl)
Definition: shlmenu.c:468
BOOL WINAPI FileMenu_AppendItem(HMENU hMenu, LPCSTR lpszText, UINT uID, int iIcon, HMENU hMenuPopup, int nItemHeight)
#define EXTERN_C
Definition: basetyps.h:12
void WINAPI ILGlobalFree(LPITEMIDLIST pidl)
Definition: pidl.c:945
IStream *WINAPI SHGetViewStream(LPCITEMIDLIST, DWORD, LPCTSTR, LPCTSTR, LPCTSTR)
HICON WINAPI SHGetFileIcon(DWORD dwReserved, LPCSTR lpszPath, DWORD dwFileAttributes, UINT uFlags)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
BOOL WINAPI PathIsExeAW(LPCVOID lpszPath)
Definition: shellpath.c:216
#define CONST
Definition: pedump.c:81
LRESULT WINAPI FileMenu_HandleMenuChar(HMENU hMenu, WPARAM wParam)
Definition: shlmenu.c:656
BOOL WINAPI PathQualifyAW(LPCVOID path)
Definition: shellpath.c:449
HRESULT WINAPI SHILCreateFromPathA(LPCSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:380
BOOL WINAPI FileMenu_DeleteSeparator(HMENU hMenu)
Definition: shlmenu.c:762
EXTERN_C HRESULT WINAPI SHCreateSessionKey(REGSAM samDesired, PHKEY phKey)
Definition: shellreg.c:151
BOOL WINAPI ILGetDisplayNameEx(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type)
Definition: pidl.c:162
struct tagEXP_TRACKER * LPEXP_TRACKER