ReactOS  0.4.15-dev-3297-g037c744
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  * SHChangeNotify
110  */
111 
112 typedef struct _SHCNF_PRINTJOB_INFO
113 {
115  // More info,,,
117 
118 //
119 // Add missing types for print job notifications.
120 //
121 #define SHCNF_PRINTJOBA 0x0004
122 #define SHCNF_PRINTJOBW 0x0007
123 
124 
125 /****************************************************************************
126  * Shell Common Dialogs
127  */
128 
129 /* RunFileDlg flags */
130 #define RFF_NOBROWSE 0x01 /* Removes the browse button */
131 #define RFF_NODEFAULT 0x02 /* No default item selected */
132 #define RFF_CALCDIRECTORY 0x04 /* Calculates the working directory from the file name */
133 #define RFF_NOLABEL 0x08 /* Removes the edit box label */
134 #define RFF_NOSEPARATEMEM 0x20 /* Removes the Separate Memory Space check box (Windows NT only) */
135 
136 /* RunFileFlg notification value and structure */
137 #define RFN_VALIDATE (-510)
138 #if 0 // Deprecated ANSI structure
139 typedef struct _NMRUNFILEDLGA
140 {
141  NMHDR hdr;
142  LPCSTR lpFile;
144  UINT nShow;
145 } NMRUNFILEDLGA, *PNMRUNFILEDLGA, *LPNMRUNFILEDLGA;
146 #endif
147 typedef struct _NMRUNFILEDLGW
148 {
154 
158 
159 /* RunFileDlg notification return values */
160 #define RF_OK 0x00
161 #define RF_CANCEL 0x01
162 #define RF_RETRY 0x02
163 
164 void WINAPI RunFileDlg(
165  HWND hWndOwner,
166  HICON hIcon,
167  LPCWSTR lpstrDirectory,
168  LPCWSTR lpstrTitle,
169  LPCWSTR lpstrDescription,
170  UINT uFlags);
171 
172 int WINAPI LogoffWindowsDialog(HWND hWndOwner);
173 void WINAPI ExitWindowsDialog(HWND hWndOwner);
174 
176  LPCITEMIDLIST pidlRoot,
177  LPCITEMIDLIST pidlSavedSearch);
178 
179 void WINAPI SHHandleDiskFull(HWND hwndOwner,
180  UINT uDrive);
181 
183  HWND hwndOwner,
184  LPCSTR lpCaption,
185  UINT uType);
186 
188  HWND hwndOwner,
189  LPCWSTR lpstrRemoteName,
190  DWORD dwType);
191 
192 /****************************************************************************
193  * Cabinet Window Messages
194  */
195 
196 #define CWM_SETPATH (WM_USER + 2)
197 #define CWM_WANTIDLE (WM_USER + 3)
198 #define CWM_GETSETCURRENTINFO (WM_USER + 4)
199 #define CWM_SELECTITEM (WM_USER + 5)
200 #define CWM_SELECTITEMSTR (WM_USER + 6)
201 #define CWM_GETISHELLBROWSER (WM_USER + 7)
202 #define CWM_TESTPATH (WM_USER + 9)
203 #define CWM_STATECHANGE (WM_USER + 10)
204 #define CWM_GETPATH (WM_USER + 12)
205 
206 #define WM_GETISHELLBROWSER CWM_GETISHELLBROWSER
207 
208 /* CWM_TESTPATH types */
209 #define CWTP_ISEQUAL 0
210 #define CWTP_ISCHILD 1
211 
212 /* CWM_TESTPATH structure */
213 typedef struct
214 {
218 
219 /****************************************************************************
220  * System Imagelist Routines
221  */
222 
224  LPCSTR lpszFileName,
225  int nIconIndex,
226  UINT bSimulateDoc);
227 
229  HIMAGELIST *lphimlLarge,
230  HIMAGELIST *lphimlSmall);
231 
234  LPCSTR lpszPath,
236  UINT uFlags);
237 
238 BOOL WINAPI FileIconInit(BOOL bFullInit);
239 
240 /****************************************************************************
241  * File Menu Routines
242  */
243 /* FileMenu_Create nSelHeight constants */
244 #define FM_DEFAULT_SELHEIGHT -1
245 #define FM_FULL_SELHEIGHT 0
246 
247 /* FileMenu_Create flags */
248 #define FMF_SMALL_ICONS 0x00
249 #define FMF_LARGE_ICONS 0x08
250 #define FMF_NO_COLUMN_BREAK 0x10
251 
253  COLORREF crBorderColor,
254  int nBorderWidth,
255  HBITMAP hBorderBmp,
256  int nSelHeight,
257  UINT uFlags);
258 
259 void WINAPI FileMenu_Destroy(HMENU hMenu);
260 
261 /* FileMenu_AppendItem constants */
262 #define FM_SEPARATOR (LPCSTR)1
263 #define FM_BLANK_ICON -1
264 #define FM_DEFAULT_HEIGHT 0
265 
267  HMENU hMenu,
268  LPCSTR lpszText,
269  UINT uID,
270  int iIcon,
271  HMENU hMenuPopup,
272  int nItemHeight);
273 
274 /* FileMenu_InsertUsingPidl flags */
275 #define FMF_NO_EMPTY_ITEM 0x01
276 #define FMF_NO_PROGRAM_GROUPS 0x04
277 
278 /* FileMenu_InsertUsingPidl callback function */
279 typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
280 
282  HMENU hMenu,
283  UINT uID,
284  LPCITEMIDLIST pidl,
285  UINT uFlags,
286  UINT uEnumFlags,
287  LPFNFMCALLBACK lpfnCallback);
288 
290  HMENU hMenu,
291  UINT uID,
292  LPCITEMIDLIST pidl,
293  UINT uEnumFlags,
294  LPFNFMCALLBACK lpfnCallback);
295 
296 void WINAPI FileMenu_Invalidate(HMENU hMenu);
297 
299  HMENU hMenu,
300  LPCITEMIDLIST pidl);
301 
303  HMENU hMenu,
304  UINT uFlags,
305  int x,
306  int y,
307  HWND hWnd,
308  LPTPMPARAMS lptpm);
309 
311  UINT uReserved,
312  LPCITEMIDLIST *ppidlFolder,
313  LPCITEMIDLIST *ppidlItem);
314 
316  HWND hWnd,
317  LPMEASUREITEMSTRUCT lpmis);
318 
320  HWND hWnd,
321  LPDRAWITEMSTRUCT lpdis);
322 
324 
325 void WINAPI FileMenu_AbortInitMenu(void);
326 
328  HMENU hMenu,
329  WPARAM wParam);
330 
332 
334  HMENU hMenu,
335  UINT uID);
336 
338  HMENU hMenu,
339  UINT uPos);
340 
342  HMENU hMenu,
343  UINT uID);
344 
346 
348  HMENU hMenu,
349  UINT uID,
350  BOOL bEnable);
351 
353  HMENU hMenu,
354  UINT uPos);
355 
357  HMENU hMenu,
358  LPCITEMIDLIST pidl,
359  BOOL bAddSeparator);
360 
362  HMENU hMenu,
363  UINT uReserved,
364  UINT uID,
365  LPCITEMIDLIST pidl,
366  UINT uFlags,
367  UINT uEnumFlags,
368  LPFNFMCALLBACK lpfnCallback);
369 
370 /****************************************************************************
371  * Drag And Drop Routines
372  */
373 
375  HWND hWnd,
376  LPDROPTARGET lpDropTarget);
377 
379 
381 
383  HWND hWnd,
384  POINT pt);
385 
387 
388 /****************************************************************************
389  * Path Manipulation Routines
390  */
391 
392 BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
393 
394 LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
395 
397 
398 LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive);
399 
401 
403 
404 LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2);
405 
407 
409 
410 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
411 
413 
414 void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath);
415 
416 BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath);
417 
419 
421 
422 BOOL WINAPI PathIsExeAW(LPCVOID lpszPath);
423 
425 
427 
428 BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec);
429 
431  LPVOID lpszBuffer,
432  DWORD dwBuffSize,
433  LPCVOID lpszShortName,
434  LPCVOID lpszLongName,
435  LPCVOID lpszPathName);
436 
438  LPWSTR lpszBuffer,
439  LPCWSTR lpszPathName,
440  LPCWSTR lpszShortName,
441  LPCWSTR lpszLongName);
442 
443 VOID WINAPI PathQualifyA(LPSTR pszPath);
444 VOID WINAPI PathQualifyW(LPWSTR pszPath);
446 
447 /* PathResolve flags */
448 #define PRF_CHECKEXISTANCE 0x01
449 #define PRF_EXECUTABLE 0x02
450 #define PRF_QUALIFYONPATH 0x04
451 #define PRF_WINDOWS31 0x08
452 
455 BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
456 
458 
459 /* PathProcessCommand flags */
460 #define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
461 #define PPCF_INCLUDEARGS 0x02
462 //#define PPCF_NODIRECTORIES 0x10 move to shlobj
463 #define PPCF_DONTRESOLVE 0x20
464 #define PPCF_PATHISRELATIVE 0x40
465 
467  DWORD dwBuffSize, DWORD dwFlags);
468 
469 void WINAPI PathStripPathAW(LPVOID lpszPath);
470 
472 
473 void WINAPI PathRemoveArgsAW(LPVOID lpszPath);
474 
475 void WINAPI PathRemoveExtensionAW(LPVOID lpszPath);
476 
478 
479 BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2);
480 
481 BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID *sOtherDirs);
482 
483 /****************************************************************************
484  * Shell File Operations error codes - SHFileOperationA/W
485  */
486 
487 /* Error codes could be pre-Win32 */
488 #define DE_SAMEFILE 0x71
489 #define DE_MANYSRC1DEST 0x72
490 #define DE_DIFFDIR 0x73
491 #define DE_ROOTDIR 0x74
492 #define DE_OPCANCELLED 0x75
493 #define DE_DESTSUBTREE 0x76
494 #define DE_ACCESSDENIEDSRC 0x78
495 #define DE_PATHTOODEEP 0x79
496 #define DE_MANYDEST 0x7A
497 #define DE_INVALIDFILES 0x7C
498 #define DE_DESTSAMETREE 0x7D
499 #define DE_FLDDESTISFILE 0x7E
500 #define DE_FILEDESTISFLD 0x80
501 #define DE_FILENAMETOOLONG 0x81
502 #define DE_DEST_IS_CDROM 0x82
503 #define DE_DEST_IS_DVD 0x83
504 #define DE_DEST_IS_CDRECORD 0x84
505 #define DE_FILE_TOO_LARGE 0x85
506 #define DE_SRC_IS_CDROM 0x86
507 #define DE_SRC_IS_DVD 0x87
508 #define DE_SRC_IS_CDRECORD 0x88
509 // #define DE_ERROR_MAX
510 #define ERRORONDEST 0x10000
511 
512 /****************************************************************************
513  * Shell Namespace Routines
514  */
515 
516 /* Generic structure used by several messages */
517 typedef struct
518 {
524 typedef const SFVCBINFO * LPCSFVCBINFO;
525 
526 /* SFVCB_SELECTIONCHANGED structure */
527 typedef struct
528 {
535 
536 /* SFVCB_COPYHOOKCALLBACK structure */
537 typedef struct
538 {
548 
549 /* SFVCB_GETDETAILSOF structure */
550 typedef struct
551 {
553  int fmt;
554  int cx;
557 
558 /****************************************************************************
559  * Misc Stuff
560  */
561 
562 BOOL WINAPI
563 RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf);
564 
565 /* SHWaitForFileToOpen flags */
566 #define SHWFF_ADD 0x01
567 #define SHWFF_REMOVE 0x02
568 #define SHWFF_WAIT 0x04
569 
571  LPCITEMIDLIST pidl,
572  DWORD dwFlags,
573  DWORD dwTimeout);
574 
578  LPCRECT lpRect,
579  WORD cKids,
580  CONST HWND * lpKids);
581 
582 /* Flags for ShellExecCmdLine */
583 #define SECL_NO_UI 0x2
584 #define SECL_LOG_USAGE 0x8
585 #define SECL_USE_IDLIST 0x10
586 #define SECL_ALLOW_NONEXE 0x20
587 #define SECL_RUNAS 0x40
588 
590  HWND hwnd,
591  LPCWSTR pwszCommand,
592  LPCWSTR pwszStartDir,
593  int nShow,
594  LPVOID pUnused,
595  DWORD dwSeclFlags);
596 
597 /* RegisterShellHook types */
598 #define RSH_DEREGISTER 0
599 #define RSH_REGISTER 1
600 #define RSH_REGISTER_PROGMAN 2
601 #define RSH_REGISTER_TASKMAN 3
602 
604  HWND hWnd,
605  DWORD dwType);
606 
607 /* SHCreateDefClassObject callback function */
609  LPUNKNOWN pUnkOuter,
610  REFIID riidObject,
611  LPVOID *ppvObject);
612 
614  REFIID riidFactory,
615  LPVOID *ppvFactory,
616  LPFNCDCOCALLBACK lpfnCallback,
617  LPDWORD lpdwUsage,
618  REFIID riidObject);
619 
620 void WINAPI SHFreeUnusedLibraries(void);
621 
622 /* SHCreateLinks flags */
623 #define SHCLF_PREFIXNAME 0x01
624 #define SHCLF_CREATEONDESKTOP 0x02
625 
627  HWND hWnd,
628  LPCSTR lpszDir,
629  LPDATAOBJECT lpDataObject,
630  UINT uFlags,
631  LPITEMIDLIST *lppidlLinks);
632 
635 
636 /* policy functions */
638 
639 #define CSIDL_FOLDER_MASK 0x00ff
640 
641 /* Utility functions */
642 #include <stdio.h>
643 
644 #define SMC_EXEC 4
645 INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc);
646 
647 HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv);
648 
650  _In_ PCWSTR psz,
651  _Out_ LPGUID pguid
652  );
653 
654 /*****************************************************************************
655  * Shell32 resources
656  */
657 // these resources are in shell32.dll
658 #define IDB_GOBUTTON_NORMAL 0x0e6
659 #define IDB_GOBUTTON_HOT 0x0e7
660 
661 // band ids in internet toolbar
662 #define ITBBID_MENUBAND 1
663 #define ITBBID_BRANDBAND 5
664 #define ITBBID_TOOLSBAND 2
665 #define ITBBID_ADDRESSBAND 4
666 
667 // commands in the CGID_PrivCITCommands command group handled by the internet toolbar
668 // there seems to be some support for hiding the menubar and an auto hide feature that are
669 // unavailable in the UI
670 #define ITID_TEXTLABELS 3
671 #define ITID_TOOLBARBANDSHOWN 4
672 #define ITID_ADDRESSBANDSHOWN 5
673 #define ITID_LINKSBANDSHOWN 6
674 #define ITID_MENUBANDSHOWN 12
675 #define ITID_AUTOHIDEENABLED 13
676 #define ITID_CUSTOMIZEENABLED 20
677 #define ITID_TOOLBARLOCKED 27
678 
679 // commands in the CGID_BrandCmdGroup command group handled by the brand band
680 #define BBID_STARTANIMATION 1
681 #define BBID_STOPANIMATION 2
682 
683 // undocumented flags for IShellMenu::SetShellFolder
684 #define SMSET_UNKNOWN08 0x08
685 #define SMSET_UNKNOWN10 0x10
686 
687 // explorer tray commands
688 #define TRAYCMD_STARTMENU 305
689 #define TRAYCMD_RUN_DIALOG 401
690 #define TRAYCMD_LOGOFF_DIALOG 402
691 #define TRAYCMD_CASCADE 403
692 #define TRAYCMD_TILE_H 404
693 #define TRAYCMD_TILE_V 405
694 #define TRAYCMD_TOGGLE_DESKTOP 407
695 #define TRAYCMD_DATE_AND_TIME 408
696 #define TRAYCMD_TASKBAR_PROPERTIES 413
697 #define TRAYCMD_MINIMIZE_ALL 415
698 #define TRAYCMD_RESTORE_ALL 416
699 #define TRAYCMD_SHOW_DESKTOP 419
700 #define TRAYCMD_SHOW_TASK_MGR 420
701 #define TRAYCMD_CUSTOMIZE_TASKBAR 421
702 #define TRAYCMD_LOCK_TASKBAR 424
703 #define TRAYCMD_HELP_AND_SUPPORT 503
704 #define TRAYCMD_CONTROL_PANEL 505
705 #define TRAYCMD_SHUTDOWN_DIALOG 506
706 #define TRAYCMD_PRINTERS_AND_FAXES 510
707 #define TRAYCMD_LOCK_DESKTOP 517
708 #define TRAYCMD_SWITCH_USER_DIALOG 5000
709 #define TRAYCMD_SEARCH_FILES 41093
710 #define TRAYCMD_SEARCH_COMPUTERS 41094
711 
712 // Explorer Tray Application Bar Data Message Commands
713 #define TABDMC_APPBAR 0
714 #define TABDMC_NOTIFY 1
715 #define TABDMC_LOADINPROC 2
716 
717 void WINAPI ShellDDEInit(BOOL bInit);
719 
721 
723 
724 /*****************************************************************************
725  * INVALID_FILETITLE_CHARACTERS
726  */
727 
728 #define INVALID_FILETITLE_CHARACTERSA "\\/:*?\"<>|"
729 #define INVALID_FILETITLE_CHARACTERSW L"\\/:*?\"<>|"
730 
731 #ifdef UNICODE
732  #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSW
733 #else
734  #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSA
735 #endif
736 
737 /*****************************************************************************
738  * Shell Link
739  */
740 #include <pshpack1.h>
741 
742 typedef struct tagSHELL_LINK_HEADER
743 {
744  /* The size of this structure (always 0x0000004C) */
746  /* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
748  /* Flags (SHELL_LINK_DATA_FLAGS) */
750  /* Informations about the link target: */
755  DWORD nFileSizeLow; /* only the least significant 32 bits */
756  /* The index of an icon (signed?) */
758  /* The expected window state of an application launched by the link */
760  /* The keystrokes used to launch the application */
762  /* Reserved (must be zero) */
767 
768 /*****************************************************************************
769  * SHELL_LINK_INFOA/W
770  * If cbHeaderSize == 0x0000001C then use SHELL_LINK_INFOA
771  * If cbHeaderSize >= 0x00000024 then use SHELL_LINK_INFOW
772  */
773 typedef struct tagSHELL_LINK_INFOA
774 {
775  /* Size of the link info data */
777  /* Size of this structure (ANSI: = 0x0000001C) */
779  /* Specifies which fields are present/populated (SLI_*) */
781  /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
783  /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
785  /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
787  /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
790 
791 typedef struct tagSHELL_LINK_INFOW
792 {
793  /* Size of the link info data */
795  /* Size of this structure (Unicode: >= 0x00000024) */
797  /* Specifies which fields are present/populated (SLI_*) */
799  /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
801  /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
803  /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
805  /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
807  /* Offset of the LocalBasePathUnicode field (Unicode, NULL-terminated string) */
809  /* Offset of the CommonPathSuffixUnicode field (Unicode, NULL-terminated string) */
812 
813 /* VolumeID, LocalBasePath, LocalBasePathUnicode(cbHeaderSize >= 0x24) are present */
814 #define SLI_VALID_LOCAL 0x00000001
815 /* CommonNetworkRelativeLink is present */
816 #define SLI_VALID_NETWORK 0x00000002
817 
818 /*****************************************************************************
819  * SHELL_LINK_INFO_VOLUME_IDA/W
820  * If cbVolumeLabelOffset != 0x00000014 (should be 0x00000010) then use
821  * SHELL_LINK_INFO_VOLUME_IDA
822  * If cbVolumeLabelOffset == 0x00000014 then use SHELL_LINK_INFO_VOLUME_IDW
823  */
825 {
826  /* Size of the VolumeID field (> 0x00000010) */
828  /* Drive type of the drive the link target is stored on (DRIVE_*) */
830  /* Serial number of the volume the link target is stored on */
832  /* Offset of the volume label (ANSI, NULL-terminated string).
833  Must be != 0x00000014 (see tagSHELL_LINK_INFO_VOLUME_IDW) */
836 
838 {
839  /* Size of the VolumeID field (> 0x00000010) */
841  /* Drive type of the drive the link target is stored on (DRIVE_*) */
843  /* Serial number of the volume the link target is stored on */
845  /* Offset of the volume label (ANSI, NULL-terminated string).
846  If the value of this field is 0x00000014, ignore it and use
847  cbVolumeLabelUnicodeOffset! */
849  /* Offset of the volume label (Unicode, NULL-terminated string).
850  If the value of the VolumeLabelOffset field is not 0x00000014,
851  this field must be ignored (==> it doesn't exists ==> ANSI). */
854 
855 /*****************************************************************************
856  * SHELL_LINK_INFO_CNR_LINKA/W (CNR = Common Network Relative)
857  * If cbNetNameOffset == 0x00000014 then use SHELL_LINK_INFO_CNR_LINKA
858  * If cbNetNameOffset > 0x00000014 then use SHELL_LINK_INFO_CNR_LINKW
859  */
861 {
862  /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
864  /* Specifies which fields are present/populated (SLI_CNR_*) */
866  /* Offset of the NetName field (ANSI, NULL–terminated string) */
868  /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
870  /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
873 
875 {
876  /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
878  /* Specifies which fields are present/populated (SLI_CNR_*) */
880  /* Offset of the NetName field (ANSI, NULL–terminated string) */
882  /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
884  /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
886  /* Offset of the NetNameUnicode field (Unicode, NULL–terminated string) */
888  /* Offset of the DeviceNameUnicode field (Unicode, NULL–terminated string) */
891 
892 /* DeviceName is present */
893 #define SLI_CNR_VALID_DEVICE 0x00000001
894 /* NetworkProviderType is present */
895 #define SLI_CNR_VALID_NET_TYPE 0x00000002
896 
897 /*****************************************************************************
898  * Shell Link Extra Data (IShellLinkDataList)
899  */
900 typedef struct tagEXP_TRACKER
901 {
902  /* .cbSize = 0x00000060, .dwSignature = 0xa0000003 */
904  /* Length >= 0x00000058 */
906  /* Must be 0x00000000 */
908  /* NetBIOS name (ANSI, unused bytes are set to zero) */
909  CHAR szMachineID[16]; /* "variable" >= 16 (?) */
910  /* Some GUIDs for the Link Tracking service (from the FS?) */
916 
917 typedef struct tagEXP_SHIM
918 {
919  /* .cbSize >= 0x00000088, .dwSignature = 0xa0000008 */
921  /* Name of a shim layer to apply (Unicode, unused bytes are set to zero) */
922  WCHAR szwLayerName[64]; /* "variable" >= 64 */
923 } EXP_SHIM, *LPEXP_SHIM;
924 
925 typedef struct tagEXP_KNOWN_FOLDER
926 {
927  /* .cbSize = 0x0000001c, .dwSignature = 0xa000000b */
929  /* A GUID value that identifies a known folder */
931  /* Specifies the location of the ItemID of the first child
932  segment of the IDList specified by guidKnownFolder */
935 
936 typedef struct tagEXP_VISTA_ID_LIST
937 {
938  /* .cbSize >= 0x0000000a, .dwSignature = 0xa000000c */
940  /* Specifies an alternate IDList that can be used instead
941  of the "normal" IDList (SLDF_HAS_ID_LIST) */
942  /* LPITEMIDLIST pIDList; (variable) */
944 
945 #define EXP_TRACKER_SIG 0xa0000003
946 #define EXP_SHIM_SIG 0xa0000008
947 #define EXP_KNOWN_FOLDER_SIG 0xa000000b
948 #define EXP_VISTA_ID_LIST_SIG 0xa000000c
949 
950 /* Not compatible yet */
952 {
958 
959 #include <poppack.h>
960 
961 #ifdef __cplusplus
962 } /* extern "C" */
963 #endif /* defined(__cplusplus) */
964 
965 #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:520
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:540
#define HRESULT
Definition: msvc.h:7
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
GUID guidDroidBirthVolume
Definition: undocshell.h:913
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:57
LPCSTR pszDestFile
Definition: undocshell.h:544
VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath)
static HICON
Definition: imagelist.c:84
DWORD dwSrcAttribs
Definition: undocshell.h:543
BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2)
LPVOID WINAPI PathGetArgsAW(LPVOID lpszPath)
#define REFIID
Definition: guiddef.h:118
VOID WINAPI PathQualifyAW(LPVOID path)
Definition: shellpath.c:624
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
ITEMIDLIST idl
Definition: undocshell.h:216
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:1525
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:156
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
#define _Out_
Definition: ms_sal.h:345
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:282
#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:1617
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
void WINAPI FileMenu_AbortInitMenu(void)
Definition: shlmenu.c:803
#define CALLBACK
Definition: compat.h:35
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:311
BOOL WINAPI FileIconInit(BOOL bFullInit)
Definition: shellord.c:1705
_In_ int nIDDlgItem
Definition: winuser.h:4595
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
LPCWSTR lpDirectory
Definition: undocshell.h:151
struct tagEXP_TRACKER EXP_TRACKER
UINT_PTR WPARAM
Definition: windef.h:207
struct SFVCBINFO * LPSFVCBINFO
VOID WINAPI PathQualifyW(LPWSTR pszPath)
Definition: shellpath.c:615
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:58
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:411
BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2)
Definition: shellpath.c:236
DWORD dwReserved
Definition: undocshell.h:519
struct SFVCOLUMNINFO * LPSFVCOLUMNINFO
LPITEMIDLIST WINAPI SHSimpleIDListFromPathA(LPCSTR lpszPath)
Definition: pidl.c:1089
WORD unused[29]
Definition: crypt.c:1155
BOOL WINAPI PathResolveW(LPWSTR path, LPCWSTR *dirs, DWORD flags)
Definition: shellpath.c:678
CHAR szMachineID[16]
Definition: undocshell.h:909
BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR lpszBuffer, LPCWSTR lpszPathName, LPCWSTR lpszShortName, LPCWSTR lpszLongName)
Definition: shellpath.c:492
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
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:279
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
Definition: shellord.c:2420
struct tagSHELL_LINK_HEADER * LPSHELL_LINK_HEADER
VOID WINAPI CheckEscapesW(LPWSTR string, DWORD len)
Definition: shellstring.c:254
struct tagSHELL_LINK_INFO_CNR_LINKA SHELL_LINK_INFO_CNR_LINKA
DATABLOCK_HEADER dbh
Definition: undocshell.h:903
static HWND hwndParent
Definition: cryptui.c:300
HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:801
#define _In_
Definition: ms_sal.h:308
BOOL WINAPI FileMenu_EnableItemByCmd(HMENU hMenu, UINT uID, BOOL bEnable)
Definition: shlmenu.c:771
BOOL WINAPI DAD_DragEnter(HWND hWnd)
Definition: shellord.c:1559
BOOL WINAPI RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf)
Definition: shell32.cpp:71
const SFVCOPYHOOKINFO * LPCSFVCOPYHOOKINFO
Definition: undocshell.h:547
struct CWTESTPATHSTRUCT * LPCWTESTPATHSTRUCT
struct _SHCNF_PRINTJOB_INFO SHCNF_PRINTJOB_INFO
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:1793
GUID guidDroidBirthObject
Definition: undocshell.h:914
struct tagEXP_VISTA_ID_LIST EXP_VISTA_ID_LIST
void WINAPI PathStripPathAW(LPVOID lpszPath)
BOOL WINAPI PathIsRootAW(LPCVOID x)
Definition: shellpath.c:340
LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2)
VOID WINAPI CheckEscapesA(LPSTR string, DWORD len)
Definition: shellstring.c:227
WCHAR szwLayerName[64]
Definition: undocshell.h:922
BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID *sOtherDirs)
LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl)
Definition: pidl.c:460
NMRUNFILEDLGW NMRUNFILEDLG
Definition: undocshell.h:155
_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
BOOL WINAPI PathResolveA(LPSTR path, LPCSTR *dirs, DWORD flags)
Definition: shellpath.c:632
VOID WINAPI PathQuoteSpacesAW(LPVOID path)
__wchar_t WCHAR
Definition: xmlstorage.h:180
LPCITEMIDLIST pidl
Definition: undocshell.h:521
int WINAPI FileMenu_ReplaceUsingPidl(HMENU hMenu, UINT uID, LPCITEMIDLIST pidl, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:440
LONG HRESULT
Definition: typedefs.h:79
DWORD COLORREF
Definition: windef.h:300
struct tagSHELL_LINK_INFO_VOLUME_IDA SHELL_LINK_INFO_VOLUME_IDA
LPCWSTR lpFile
Definition: undocshell.h:150
#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:542
BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec)
GUID guidDroidObject
Definition: undocshell.h:912
void WINAPI PathRemoveBlanksAW(LPVOID lpszPath)
GLbitfield flags
Definition: glext.h:7161
BOOL WINAPI StrRetToStrNW(LPWSTR, DWORD, LPSTRRET, const ITEMIDLIST *)
Definition: shellstring.c:85
LPCITEMIDLIST pidl
Definition: undocshell.h:531
STRRET lpText
Definition: undocshell.h:555
struct _SHCNF_PRINTJOB_INFO * PSHCNF_PRINTJOB_INFO
int WINAPI SHOutOfMemoryMessageBox(HWND hwndOwner, LPCSTR lpCaption, UINT uType)
Definition: shellord.c:1772
void WINAPI PathRemoveArgsAW(LPVOID lpszPath)
void WINAPI FileMenu_Invalidate(HMENU hMenu)
Definition: shlmenu.c:460
LPDWORD lpdwUser
Definition: undocshell.h:532
struct tagEXP_SHIM EXP_SHIM
BOOL WINAPI PathIsDirectoryAW(LPCVOID lpszPath)
DATABLOCK_HEADER dbh
Definition: undocshell.h:928
_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:477
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:54
HRESULT(CALLBACK * LPFNCDCOCALLBACK)(LPUNKNOWN pUnkOuter, REFIID riidObject, LPVOID *ppvObject)
Definition: undocshell.h:608
LPNMRUNFILEDLGW LPNMRUNFILEDLG
Definition: undocshell.h:157
struct tagSHELL_LINK_INFOA * LPSHELL_LINK_INFOA
BOOL WINAPI DAD_SetDragImageFromListView(HWND hWnd, POINT pt)
Definition: stubs.cpp:968
BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags)
Definition: shellpath.c:758
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
Definition: wincrypt.h:6077
DWORD WINAPI SHNetConnectionDialog(HWND hwndOwner, LPCWSTR lpstrRemoteName, DWORD dwType)
Definition: stubs.cpp:955
void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath)
const SFVCBINFO * LPCSFVCBINFO
Definition: undocshell.h:524
const SFVSELECTSTATE * LPCSFVSELECTSTATE
Definition: undocshell.h:534
BOOL WINAPI PathStripToRootAW(LPVOID lpszPath)
DATABLOCK_HEADER dbh
Definition: undocshell.h:920
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:2415
_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:522
LPCWSTR szPath
Definition: env.c:37
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:1610
void WINAPI SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
Definition: stubs.cpp:979
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:1541
DWORD dwDestAttribs
Definition: undocshell.h:545
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:575
BOOL WINAPI PathFileExistsAW(LPCVOID lpszPath)
Definition: shellpath.c:398
uint32_t * LPDWORD
Definition: typedefs.h:59
unsigned int ULONG
Definition: retypes.h:1
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW(LPCWSTR lpszPath)
Definition: pidl.c:1120
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:552
static HBITMAP
Definition: button.c:44
DATABLOCK_HEADER dbh
Definition: undocshell.h:939
DWORD WINAPI FileMenu_GetItemExtent(HMENU hMenu, UINT uPos)
Definition: shlmenu.c:786
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GUID guidDroidVolume
Definition: undocshell.h:911
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:388
#define CONST
Definition: pedump.c:81
LRESULT WINAPI FileMenu_HandleMenuChar(HMENU hMenu, WPARAM wParam)
Definition: shlmenu.c:656
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
VOID WINAPI PathQualifyA(LPSTR pszPath)
Definition: shellpath.c:603
BOOL WINAPI ILGetDisplayNameEx(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type)
Definition: pidl.c:162
struct tagEXP_TRACKER * LPEXP_TRACKER