ReactOS 0.4.15-dev-8235-gcd88a97
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
23extern "C" {
24#endif /* defined(__cplusplus) */
25
26#if (NTDDI_VERSION < NTDDI_LONGHORN)
27#define DBIMF_NOGRIPPER 0x0800
28#define DBIMF_ALWAYSGRIPPER 0x1000
29#define DBIMF_NOMARGINS 0x2000
30#endif // NTDDI_LONGHORN
31
32#if defined (_SHELLAPI_H) || defined (_INC_SHELLAPI)
33
34/****************************************************************************
35 * Taskbar interface WM_COPYDATA structures
36 * See http://www.geoffchappell.com/studies/windows/shell/shell32/api/shlnot/copydata.htm
37 */
38/* Data structure for Shell_NotifyIcon messages */
39typedef struct _TRAYNOTIFYDATAW
40{
41 DWORD dwSignature;
42 DWORD dwMessage;
43 NOTIFYICONDATAW nid; // Always use the latest NOTIFYICONDATAW structure version.
44} TRAYNOTIFYDATAW, *PTRAYNOTIFYDATAW;
45// Note: One could also introduce TRAYNOTIFYDATAA
46
47#define NI_NOTIFY_SIG 0x34753423 /* TRAYNOTIFYDATA */
48
49#endif /* defined (_SHELLAPI_H) || defined (_INC_SHELLAPI) */
50
51/****************************************************************************
52 * Taskbar WM_COMMAND identifiers
53 */
54#define TWM_DOEXITWINDOWS (WM_USER + 342)
55#define TWM_CYCLEFOCUS (WM_USER + 348)
56
57/****************************************************************************
58 * ProgMan messages
59 */
60#define WM_PROGMAN_OPENSHELLSETTINGS (WM_USER + 22) /* wParam specifies the dialog (and tab page) */
61
62/****************************************************************************
63 * IDList Functions
64 */
66 LPCITEMIDLIST pidl,
67 LPVOID path);
68
69/* type parameter for ILGetDisplayNameEx() */
70#define ILGDN_FORPARSING 0
71#define ILGDN_NORMAL 1
72#define ILGDN_INFOLDER 2
73
75 LPSHELLFOLDER psf,
76 LPCITEMIDLIST pidl,
78 DWORD type);
79
84
87 LPITEMIDLIST * ppidl,
88 DWORD *attributes);
89
92 LPITEMIDLIST * ppidl,
93 DWORD *attributes);
94
95/*
96 string functions
97*/
100
101/****************************************************************************
102 * SHChangeNotifyRegister API
103 */
104#define SHCNRF_InterruptLevel 0x0001
105#define SHCNRF_ShellLevel 0x0002
106#define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
107#define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
108
109/****************************************************************************
110 * SHChangeNotify
111 */
112
114{
116 // More info,,,
118
119//
120// Add missing types for print job notifications.
121//
122#define SHCNF_PRINTJOBA 0x0004
123#define SHCNF_PRINTJOBW 0x0007
124
126
127/****************************************************************************
128 * Shell Common Dialogs
129 */
130
131/* RunFileDlg flags */
132#define RFF_NOBROWSE 0x01 /* Removes the browse button */
133#define RFF_NODEFAULT 0x02 /* No default item selected */
134#define RFF_CALCDIRECTORY 0x04 /* Calculates the working directory from the file name */
135#define RFF_NOLABEL 0x08 /* Removes the edit box label */
136#define RFF_NOSEPARATEMEM 0x20 /* Removes the Separate Memory Space check box (Windows NT only) */
137
138/* RunFileFlg notification value and structure */
139#define RFN_VALIDATE (-510)
140#if 0 // Deprecated ANSI structure
141typedef struct _NMRUNFILEDLGA
142{
143 NMHDR hdr;
144 LPCSTR lpFile;
146 UINT nShow;
147} NMRUNFILEDLGA, *PNMRUNFILEDLGA, *LPNMRUNFILEDLGA;
148#endif
149typedef struct _NMRUNFILEDLGW
150{
156
160
161/* RunFileDlg notification return values */
162#define RF_OK 0x00
163#define RF_CANCEL 0x01
164#define RF_RETRY 0x02
165
166void WINAPI RunFileDlg(
167 HWND hWndOwner,
168 HICON hIcon,
169 LPCWSTR lpstrDirectory,
170 LPCWSTR lpstrTitle,
171 LPCWSTR lpstrDescription,
172 UINT uFlags);
173
174int WINAPI LogoffWindowsDialog(HWND hWndOwner);
175void WINAPI ExitWindowsDialog(HWND hWndOwner);
176
178 LPCITEMIDLIST pidlRoot,
179 LPCITEMIDLIST pidlSavedSearch);
180
181void WINAPI SHHandleDiskFull(HWND hwndOwner,
182 UINT uDrive);
183
185 HWND hwndOwner,
186 LPCSTR lpCaption,
187 UINT uType);
188
190 HWND hwndOwner,
191 LPCWSTR lpstrRemoteName,
192 DWORD dwType);
193
195
196/****************************************************************************
197 * Cabinet Window Messages
198 */
199
200#define CWM_SETPATH (WM_USER + 2)
201#define CWM_WANTIDLE (WM_USER + 3)
202#define CWM_GETSETCURRENTINFO (WM_USER + 4)
203#define CWM_SELECTITEM (WM_USER + 5)
204#define CWM_SELECTITEMSTR (WM_USER + 6)
205#define CWM_GETISHELLBROWSER (WM_USER + 7)
206#define CWM_TESTPATH (WM_USER + 9)
207#define CWM_STATECHANGE (WM_USER + 10)
208#define CWM_GETPATH (WM_USER + 12)
209
210#define WM_GETISHELLBROWSER CWM_GETISHELLBROWSER
211
212/* CWM_TESTPATH types */
213#define CWTP_ISEQUAL 0
214#define CWTP_ISCHILD 1
215
216/* CWM_TESTPATH structure */
217typedef struct
218{
222
223/****************************************************************************
224 * System Imagelist Routines
225 */
226
228 LPCSTR lpszFileName,
229 int nIconIndex,
230 UINT bSimulateDoc);
231
233 HIMAGELIST *lphimlLarge,
234 HIMAGELIST *lphimlSmall);
235
238 LPCSTR lpszPath,
240 UINT uFlags);
241
242BOOL WINAPI FileIconInit(BOOL bFullInit);
243
246 _In_ HANDLE hHandle,
248 _In_ WORD wIndex,
249 _Out_ LPWORD lpSize,
250 _Out_ LPHANDLE lpIcon);
251
254 _In_ HANDLE hHandle,
256 _In_ WORD wIndex,
257 _Out_ LPWORD lpSize,
258 _Out_ LPHANDLE lpIcon);
259
260/****************************************************************************
261 * File Menu Routines
262 */
263
264/* FileMenu_Create nSelHeight constants */
265#define FM_DEFAULT_SELHEIGHT -1
266#define FM_FULL_SELHEIGHT 0
267
268/* FileMenu_Create flags */
269#define FMF_SMALL_ICONS 0x00
270#define FMF_LARGE_ICONS 0x08
271#define FMF_NO_COLUMN_BREAK 0x10
272
274 COLORREF crBorderColor,
275 int nBorderWidth,
276 HBITMAP hBorderBmp,
277 int nSelHeight,
278 UINT uFlags);
279
280void WINAPI FileMenu_Destroy(HMENU hMenu);
281
282/* FileMenu_AppendItem constants */
283#define FM_SEPARATOR (LPCSTR)1
284#define FM_BLANK_ICON -1
285#define FM_DEFAULT_HEIGHT 0
286
288 HMENU hMenu,
289 LPCSTR lpszText,
290 UINT uID,
291 int iIcon,
292 HMENU hMenuPopup,
293 int nItemHeight);
294
295/* FileMenu_InsertUsingPidl flags */
296#define FMF_NO_EMPTY_ITEM 0x01
297#define FMF_NO_PROGRAM_GROUPS 0x04
298
299/* FileMenu_InsertUsingPidl callback function */
300typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
301
303 HMENU hMenu,
304 UINT uID,
305 LPCITEMIDLIST pidl,
306 UINT uFlags,
307 UINT uEnumFlags,
308 LPFNFMCALLBACK lpfnCallback);
309
311 HMENU hMenu,
312 UINT uID,
313 LPCITEMIDLIST pidl,
314 UINT uEnumFlags,
315 LPFNFMCALLBACK lpfnCallback);
316
318
320 HMENU hMenu,
321 LPCITEMIDLIST pidl);
322
324 HMENU hMenu,
325 UINT uFlags,
326 int x,
327 int y,
328 HWND hWnd,
329 LPTPMPARAMS lptpm);
330
332 UINT uReserved,
333 LPCITEMIDLIST *ppidlFolder,
334 LPCITEMIDLIST *ppidlItem);
335
337 HWND hWnd,
338 LPMEASUREITEMSTRUCT lpmis);
339
341 HWND hWnd,
342 LPDRAWITEMSTRUCT lpdis);
343
345
347
349 HMENU hMenu,
350 WPARAM wParam);
351
353
355 HMENU hMenu,
356 UINT uID);
357
359 HMENU hMenu,
360 UINT uPos);
361
363 HMENU hMenu,
364 UINT uID);
365
367
369 HMENU hMenu,
370 UINT uID,
371 BOOL bEnable);
372
374 HMENU hMenu,
375 UINT uPos);
376
378 HMENU hMenu,
379 LPCITEMIDLIST pidl,
380 BOOL bAddSeparator);
381
383 HMENU hMenu,
384 UINT uReserved,
385 UINT uID,
386 LPCITEMIDLIST pidl,
387 UINT uFlags,
388 UINT uEnumFlags,
389 LPFNFMCALLBACK lpfnCallback);
390
391/****************************************************************************
392 * Drag And Drop Routines
393 */
394
396 HWND hWnd,
397 LPDROPTARGET lpDropTarget);
398
400
402
404 HWND hWnd,
405 POINT pt);
406
408
409/****************************************************************************
410 * Path Manipulation Routines
411 */
412
413BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
414
415LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
416
418
420
422
424
426
428
430
432
434
436
438
440
442
444
446
448
450
452 LPVOID lpszBuffer,
453 DWORD dwBuffSize,
454 LPCVOID lpszShortName,
455 LPCVOID lpszLongName,
456 LPCVOID lpszPathName);
457
459 LPWSTR lpszBuffer,
460 LPCWSTR lpszPathName,
461 LPCWSTR lpszShortName,
462 LPCWSTR lpszLongName);
463
467
468/* PathResolve flags */
469#define PRF_CHECKEXISTANCE 0x01
470#define PRF_EXECUTABLE 0x02
471#define PRF_QUALIFYONPATH 0x04
472#define PRF_WINDOWS31 0x08
473
476BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
477
479
480/* PathProcessCommand flags */
481#define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
482#define PPCF_INCLUDEARGS 0x02
483//#define PPCF_NODIRECTORIES 0x10 move to shlobj
484#define PPCF_DONTRESOLVE 0x20
485#define PPCF_PATHISRELATIVE 0x40
486
488 DWORD dwBuffSize, DWORD dwFlags);
489
491
493
495
497
499
501
503
504BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2);
505
508
509/****************************************************************************
510 * Shell File Operations error codes - SHFileOperationA/W
511 */
512
513/* Error codes could be pre-Win32 */
514#define DE_SAMEFILE 0x71
515#define DE_MANYSRC1DEST 0x72
516#define DE_DIFFDIR 0x73
517#define DE_ROOTDIR 0x74
518#define DE_OPCANCELLED 0x75
519#define DE_DESTSUBTREE 0x76
520#define DE_ACCESSDENIEDSRC 0x78
521#define DE_PATHTOODEEP 0x79
522#define DE_MANYDEST 0x7A
523#define DE_INVALIDFILES 0x7C
524#define DE_DESTSAMETREE 0x7D
525#define DE_FLDDESTISFILE 0x7E
526#define DE_FILEDESTISFLD 0x80
527#define DE_FILENAMETOOLONG 0x81
528#define DE_DEST_IS_CDROM 0x82
529#define DE_DEST_IS_DVD 0x83
530#define DE_DEST_IS_CDRECORD 0x84
531#define DE_FILE_TOO_LARGE 0x85
532#define DE_SRC_IS_CDROM 0x86
533#define DE_SRC_IS_DVD 0x87
534#define DE_SRC_IS_CDRECORD 0x88
535// #define DE_ERROR_MAX
536#define ERRORONDEST 0x10000
537
538/****************************************************************************
539 * Shell Namespace Routines
540 */
541
542/* Generic structure used by several messages */
543typedef struct
544{
550typedef const SFVCBINFO * LPCSFVCBINFO;
551
552/* SFVCB_SELECTIONCHANGED structure */
553typedef struct
554{
561
562/* SFVCB_COPYHOOKCALLBACK structure */
563typedef struct
564{
574
575/* SFVCB_GETDETAILSOF structure */
576typedef struct
577{
579 int fmt;
580 int cx;
583
584/****************************************************************************
585 * Misc Stuff
586 */
587
589RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf);
590
591/* SHWaitForFileToOpen flags */
592#define SHWFF_ADD 0x01
593#define SHWFF_REMOVE 0x02
594#define SHWFF_WAIT 0x04
595
597 LPCITEMIDLIST pidl,
600
604 LPCRECT lpRect,
605 WORD cKids,
606 CONST HWND * lpKids);
607
608/* Flags for ShellExecCmdLine */
609#define SECL_NO_UI 0x2
610#define SECL_LOG_USAGE 0x8
611#define SECL_USE_IDLIST 0x10
612#define SECL_ALLOW_NONEXE 0x20
613#define SECL_RUNAS 0x40
614
616 HWND hwnd,
617 LPCWSTR pwszCommand,
618 LPCWSTR pwszStartDir,
619 int nShow,
620 LPVOID pUnused,
621 DWORD dwSeclFlags);
622
626 _In_opt_ LPCSTR lpOperation,
627 _In_opt_ LPCSTR lpFile,
628 _In_opt_ LPCSTR lpParameters,
630 _In_opt_ LPSTR lpReturn,
632 _In_opt_ LPVOID lpReserved,
633 _In_ INT nCmdShow,
634 _Out_opt_ PHANDLE lphProcess);
635
639 _In_opt_ LPCWSTR lpOperation,
640 _In_opt_ LPCWSTR lpFile,
641 _In_opt_ LPCWSTR lpParameters,
643 _In_opt_ LPWSTR lpReturn,
645 _In_opt_ LPVOID lpReserved,
646 _In_ INT nCmdShow,
647 _Out_opt_ PHANDLE lphProcess);
648
652 _In_opt_ LPCSTR lpOperation,
653 _In_opt_ LPCSTR lpFile,
654 _In_opt_ LPCSTR lpParameters,
656 _In_opt_ LPSTR lpReturn,
658 _In_opt_ LPVOID lpReserved,
659 _In_ INT nCmdShow,
660 _Out_opt_ PHANDLE lphProcess,
662
666 _In_opt_ LPCWSTR lpOperation,
667 _In_opt_ LPCWSTR lpFile,
668 _In_opt_ LPCWSTR lpParameters,
670 _In_opt_ LPWSTR lpReturn,
672 _In_opt_ LPVOID lpReserved,
673 _In_ INT nCmdShow,
674 _Out_opt_ PHANDLE lphProcess,
676
677/* RegisterShellHook types */
678#define RSH_DEREGISTER 0
679#define RSH_REGISTER 1
680#define RSH_REGISTER_PROGMAN 2
681#define RSH_REGISTER_TASKMAN 3
682
684 HWND hWnd,
685 DWORD dwType);
686
687/* SHCreateDefClassObject callback function */
689 LPUNKNOWN pUnkOuter,
690 REFIID riidObject,
692
694 REFIID riidFactory,
695 LPVOID *ppvFactory,
696 LPFNCDCOCALLBACK lpfnCallback,
697 LPDWORD lpdwUsage,
698 REFIID riidObject);
699
701
702/* SHCreateLinks flags */
703#define SHCLF_PREFIXNAME 0x01
704#define SHCLF_CREATEONDESKTOP 0x02
705
707 HWND hWnd,
708 LPCSTR lpszDir,
709 LPDATAOBJECT lpDataObject,
710 UINT uFlags,
711 LPITEMIDLIST *lppidlLinks);
712
715
716/* policy functions */
718
719#define CSIDL_FOLDER_MASK 0x00ff
720
721/* Utility functions */
722#include <stdio.h>
723
724#define SMC_EXEC 4
726
729HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv);
730
732 _In_ PCSTR psz,
733 _Out_ LPGUID pguid);
735 _In_ PCWSTR psz,
736 _Out_ LPGUID pguid);
737
740
741/* Flags for Int64ToString and LargeIntegerToString */
742#define FMT_USE_NUMDIGITS 0x01
743#define FMT_USE_LEADZERO 0x02
744#define FMT_USE_GROUPING 0x04
745#define FMT_USE_DECIMAL 0x08
746#define FMT_USE_THOUSAND 0x10
747#define FMT_USE_NEGNUMBER 0x20
748
751 _In_ LONGLONG llValue,
752 _Out_writes_z_(cchOut) LPWSTR pszOut,
753 _In_ UINT cchOut,
754 _In_ BOOL bUseFormat,
755 _In_opt_ const NUMBERFMTW *pNumberFormat,
756 _In_ DWORD dwNumberFlags);
757
760 _In_ const LARGE_INTEGER *pLargeInt,
761 _Out_writes_z_(cchOut) LPWSTR pszOut,
762 _In_ UINT cchOut,
763 _In_ BOOL bUseFormat,
764 _In_opt_ const NUMBERFMTW *pNumberFormat,
765 _In_ DWORD dwNumberFlags);
766
769 _In_ DWORD dwNumber,
770 _Out_writes_(0x8FFF) LPWSTR pszBuffer);
771
774
776
779 _In_z_ LPCWSTR pszName,
782
786
789 _In_ HWND hwnd,
792 _In_ INT cmdshow);
793
795
796/*****************************************************************************
797 * Shell32 resources
798 */
799// these resources are in shell32.dll
800#define IDB_GOBUTTON_NORMAL 0x0e6
801#define IDB_GOBUTTON_HOT 0x0e7
802
803// band ids in internet toolbar
804#define ITBBID_MENUBAND 1
805#define ITBBID_BRANDBAND 5
806#define ITBBID_TOOLSBAND 2
807#define ITBBID_ADDRESSBAND 4
808
809// commands in the CGID_PrivCITCommands command group handled by the internet toolbar
810// there seems to be some support for hiding the menubar and an auto hide feature that are
811// unavailable in the UI
812#define ITID_TEXTLABELS 3
813#define ITID_TOOLBARBANDSHOWN 4
814#define ITID_ADDRESSBANDSHOWN 5
815#define ITID_LINKSBANDSHOWN 6
816#define ITID_MENUBANDSHOWN 12
817#define ITID_AUTOHIDEENABLED 13
818#define ITID_CUSTOMIZEENABLED 20
819#define ITID_TOOLBARLOCKED 27
820
821// commands in the CGID_BrandCmdGroup command group handled by the brand band
822#define BBID_STARTANIMATION 1
823#define BBID_STOPANIMATION 2
824
825// undocumented flags for IShellMenu::SetShellFolder
826#define SMSET_UNKNOWN08 0x08
827#define SMSET_UNKNOWN10 0x10
828
829// explorer tray commands
830#define TRAYCMD_STARTMENU 305
831#define TRAYCMD_RUN_DIALOG 401
832#define TRAYCMD_LOGOFF_DIALOG 402
833#define TRAYCMD_CASCADE 403
834#define TRAYCMD_TILE_H 404
835#define TRAYCMD_TILE_V 405
836#define TRAYCMD_TOGGLE_DESKTOP 407
837#define TRAYCMD_DATE_AND_TIME 408
838#define TRAYCMD_TASKBAR_PROPERTIES 413
839#define TRAYCMD_MINIMIZE_ALL 415
840#define TRAYCMD_RESTORE_ALL 416
841#define TRAYCMD_SHOW_DESKTOP 419
842#define TRAYCMD_SHOW_TASK_MGR 420
843#define TRAYCMD_CUSTOMIZE_TASKBAR 421
844#define TRAYCMD_LOCK_TASKBAR 424
845#define TRAYCMD_HELP_AND_SUPPORT 503
846#define TRAYCMD_CONTROL_PANEL 505
847#define TRAYCMD_SHUTDOWN_DIALOG 506
848#define TRAYCMD_PRINTERS_AND_FAXES 510
849#define TRAYCMD_LOCK_DESKTOP 517
850#define TRAYCMD_SWITCH_USER_DIALOG 5000
851#define TRAYCMD_SEARCH_FILES 41093
852#define TRAYCMD_SEARCH_COMPUTERS 41094
853
854// Explorer Tray Application Bar Data Message Commands
855#define TABDMC_APPBAR 0
856#define TABDMC_NOTIFY 1
857#define TABDMC_LOADINPROC 2
858
859void WINAPI ShellDDEInit(BOOL bInit);
861
863
864HRESULT WINAPI SHCreateSessionKey(REGSAM samDesired, PHKEY phKey);
865
867 HKEY hkey,
868 LPCSTR lpValueName,
869 LPDWORD lpReserved,
870 LPDWORD lpType,
871 LPBYTE lpData,
872 LPDWORD lpcbData);
874 HKEY hkey,
875 LPCWSTR pszValue,
877 LPDWORD pdwType,
880#ifdef UNICODE
881 #define SHRegQueryValueEx SHRegQueryValueExW
882#else
883 #define SHRegQueryValueEx SHRegQueryValueExA
884#endif
885
888 _In_ IStream *pSrc,
889 _Out_ IStream *pDst,
890 _Inout_opt_ IProgressDialog *pProgress,
891 _In_opt_ DWORDLONG dwlSize);
892
893/*****************************************************************************
894 * INVALID_FILETITLE_CHARACTERS
895 */
896
897#define INVALID_FILETITLE_CHARACTERSA "\\/:*?\"<>|"
898#define INVALID_FILETITLE_CHARACTERSW L"\\/:*?\"<>|"
899
900#ifdef UNICODE
901 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSW
902#else
903 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSA
904#endif
905
906/*****************************************************************************
907 * Shell Link
908 */
909#include <pshpack1.h>
910
912{
913 /* The size of this structure (always 0x0000004C) */
915 /* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
917 /* Flags (SHELL_LINK_DATA_FLAGS) */
919 /* Informations about the link target: */
924 DWORD nFileSizeLow; /* only the least significant 32 bits */
925 /* The index of an icon (signed?) */
927 /* The expected window state of an application launched by the link */
929 /* The keystrokes used to launch the application */
931 /* Reserved (must be zero) */
936
937/*****************************************************************************
938 * SHELL_LINK_INFOA/W
939 * If cbHeaderSize == 0x0000001C then use SHELL_LINK_INFOA
940 * If cbHeaderSize >= 0x00000024 then use SHELL_LINK_INFOW
941 */
943{
944 /* Size of the link info data */
946 /* Size of this structure (ANSI: = 0x0000001C) */
948 /* Specifies which fields are present/populated (SLI_*) */
950 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
952 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
954 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
956 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
959
961{
962 /* Size of the link info data */
964 /* Size of this structure (Unicode: >= 0x00000024) */
966 /* Specifies which fields are present/populated (SLI_*) */
968 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
970 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
972 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
974 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
976 /* Offset of the LocalBasePathUnicode field (Unicode, NULL-terminated string) */
978 /* Offset of the CommonPathSuffixUnicode field (Unicode, NULL-terminated string) */
981
982/* VolumeID, LocalBasePath, LocalBasePathUnicode(cbHeaderSize >= 0x24) are present */
983#define SLI_VALID_LOCAL 0x00000001
984/* CommonNetworkRelativeLink is present */
985#define SLI_VALID_NETWORK 0x00000002
986
987/*****************************************************************************
988 * SHELL_LINK_INFO_VOLUME_IDA/W
989 * If cbVolumeLabelOffset != 0x00000014 (should be 0x00000010) then use
990 * SHELL_LINK_INFO_VOLUME_IDA
991 * If cbVolumeLabelOffset == 0x00000014 then use SHELL_LINK_INFO_VOLUME_IDW
992 */
994{
995 /* Size of the VolumeID field (> 0x00000010) */
997 /* Drive type of the drive the link target is stored on (DRIVE_*) */
999 /* Serial number of the volume the link target is stored on */
1001 /* Offset of the volume label (ANSI, NULL-terminated string).
1002 Must be != 0x00000014 (see tagSHELL_LINK_INFO_VOLUME_IDW) */
1005
1007{
1008 /* Size of the VolumeID field (> 0x00000010) */
1010 /* Drive type of the drive the link target is stored on (DRIVE_*) */
1012 /* Serial number of the volume the link target is stored on */
1014 /* Offset of the volume label (ANSI, NULL-terminated string).
1015 If the value of this field is 0x00000014, ignore it and use
1016 cbVolumeLabelUnicodeOffset! */
1018 /* Offset of the volume label (Unicode, NULL-terminated string).
1019 If the value of the VolumeLabelOffset field is not 0x00000014,
1020 this field must be ignored (==> it doesn't exists ==> ANSI). */
1023
1024/*****************************************************************************
1025 * SHELL_LINK_INFO_CNR_LINKA/W (CNR = Common Network Relative)
1026 * If cbNetNameOffset == 0x00000014 then use SHELL_LINK_INFO_CNR_LINKA
1027 * If cbNetNameOffset > 0x00000014 then use SHELL_LINK_INFO_CNR_LINKW
1028 */
1030{
1031 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
1033 /* Specifies which fields are present/populated (SLI_CNR_*) */
1035 /* Offset of the NetName field (ANSI, NULL–terminated string) */
1037 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
1039 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
1042
1044{
1045 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
1047 /* Specifies which fields are present/populated (SLI_CNR_*) */
1049 /* Offset of the NetName field (ANSI, NULL–terminated string) */
1051 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
1053 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
1055 /* Offset of the NetNameUnicode field (Unicode, NULL–terminated string) */
1057 /* Offset of the DeviceNameUnicode field (Unicode, NULL–terminated string) */
1060
1061/* DeviceName is present */
1062#define SLI_CNR_VALID_DEVICE 0x00000001
1063/* NetworkProviderType is present */
1064#define SLI_CNR_VALID_NET_TYPE 0x00000002
1065
1066/*****************************************************************************
1067 * Shell Link Extra Data (IShellLinkDataList)
1068 */
1069typedef struct tagEXP_TRACKER
1070{
1071 /* .cbSize = 0x00000060, .dwSignature = 0xa0000003 */
1073 /* Length >= 0x00000058 */
1075 /* Must be 0x00000000 */
1077 /* NetBIOS name (ANSI, unused bytes are set to zero) */
1078 CHAR szMachineID[16]; /* "variable" >= 16 (?) */
1079 /* Some GUIDs for the Link Tracking service (from the FS?) */
1085
1086typedef struct tagEXP_SHIM
1087{
1088 /* .cbSize >= 0x00000088, .dwSignature = 0xa0000008 */
1090 /* Name of a shim layer to apply (Unicode, unused bytes are set to zero) */
1091 WCHAR szwLayerName[64]; /* "variable" >= 64 */
1093
1095{
1096 /* .cbSize = 0x0000001c, .dwSignature = 0xa000000b */
1098 /* A GUID value that identifies a known folder */
1100 /* Specifies the location of the ItemID of the first child
1101 segment of the IDList specified by guidKnownFolder */
1104
1106{
1107 /* .cbSize >= 0x0000000a, .dwSignature = 0xa000000c */
1109 /* Specifies an alternate IDList that can be used instead
1110 of the "normal" IDList (SLDF_HAS_ID_LIST) */
1111 /* LPITEMIDLIST pIDList; (variable) */
1113
1114#define EXP_TRACKER_SIG 0xa0000003
1115#define EXP_SHIM_SIG 0xa0000008
1116#define EXP_KNOWN_FOLDER_SIG 0xa000000b
1117#define EXP_VISTA_ID_LIST_SIG 0xa000000c
1118
1119/* Not compatible yet */
1121{
1127
1128#include <poppack.h>
1129
1130#ifdef __cplusplus
1131} /* extern "C" */
1132#endif /* defined(__cplusplus) */
1133
1134#endif /* __WINE_UNDOCSHELL_H */
DWORD dwFileAttributes
#define ShellExecCmdLine
HWND hWnd
Definition: settings.c:17
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
static HWND hwndParent
Definition: cryptui.c:300
TCHAR lpTitle[80]
Definition: ctm.c:69
UINT uFlags
Definition: api.c:59
#define CALLBACK
Definition: compat.h:35
#define pt(x, y)
Definition: drawing.c:79
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLbitfield flags
Definition: glext.h:7161
GLenum GLsizei len
Definition: glext.h:6722
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
unsigned long long DWORDLONG
Definition: intsafe.h:93
char hdr[14]
Definition: iptest.cpp:33
NOTIFYICONDATA nid
Definition: magnifier.c:44
LPCWSTR szPath
Definition: env.c:37
static HBITMAP
Definition: button.c:44
static HINSTANCE hinst
Definition: edit.c:551
static HICON
Definition: imagelist.c:84
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
WORD unused[29]
Definition: crypt.c:1155
#define _Out_opt_
Definition: ms_sal.h:346
#define _Out_writes_z_(size)
Definition: ms_sal.h:352
#define _In_z_
Definition: ms_sal.h:313
#define _Out_writes_(size)
Definition: ms_sal.h:348
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
HICON hIcon
Definition: msconfig.c:44
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
unsigned int UINT
Definition: ndis.h:50
static LPUNKNOWN
Definition: ndr_ole.c:49
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
interface IDataObject * LPDATAOBJECT
Definition: objfwd.h:21
#define CONST
Definition: pedump.c:81
long LONG
Definition: pedump.c:60
#define REFIID
Definition: guiddef.h:118
_In_opt_ LPCSTR lpDirectory
Definition: shellapi.h:484
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
TCHAR * cmdline
Definition: stretchblt.cpp:32
ITEMIDLIST idl
Definition: undocshell.h:220
LPDWORD lpdwUser
Definition: undocshell.h:548
DWORD dwReserved
Definition: undocshell.h:545
LPCITEMIDLIST pidl
Definition: undocshell.h:547
DWORD dwReserved2
Definition: undocshell.h:546
LPCITEMIDLIST pidl
Definition: undocshell.h:578
STRRET lpText
Definition: undocshell.h:581
DWORD dwDestAttribs
Definition: undocshell.h:571
DWORD dwSrcAttribs
Definition: undocshell.h:569
LPCSTR pszSrcFile
Definition: undocshell.h:568
LPCSTR pszDestFile
Definition: undocshell.h:570
LPCITEMIDLIST pidl
Definition: undocshell.h:557
LPDWORD lpdwUser
Definition: undocshell.h:558
LPCWSTR lpFile
Definition: undocshell.h:152
LPCWSTR lpDirectory
Definition: undocshell.h:153
DATABLOCK_HEADER dbh
Definition: undocshell.h:1097
WCHAR szwLayerName[64]
Definition: undocshell.h:1091
DATABLOCK_HEADER dbh
Definition: undocshell.h:1089
CHAR szMachineID[16]
Definition: undocshell.h:1078
GUID guidDroidObject
Definition: undocshell.h:1081
DATABLOCK_HEADER dbh
Definition: undocshell.h:1072
GUID guidDroidBirthVolume
Definition: undocshell.h:1082
GUID guidDroidVolume
Definition: undocshell.h:1080
GUID guidDroidBirthObject
Definition: undocshell.h:1083
DATABLOCK_HEADER dbh
Definition: undocshell.h:1108
const uint16_t * PCWSTR
Definition: typedefs.h:57
unsigned char * LPBYTE
Definition: typedefs.h:53
uint16_t * LPWORD
Definition: typedefs.h:56
int64_t LONGLONG
Definition: typedefs.h:68
uint32_t * LPDWORD
Definition: typedefs.h:59
int32_t INT
Definition: typedefs.h:58
const char * PCSTR
Definition: typedefs.h:52
uint32_t ULONG
Definition: typedefs.h:59
LPITEMIDLIST WINAPI SHSimpleIDListFromPathA(LPCSTR lpszPath)
Definition: pidl.c:1104
int WINAPI FileMenu_AppendFilesForPidl(HMENU hMenu, LPCITEMIDLIST pidl, BOOL bAddSeparator)
Definition: shlmenu.c:478
LONG WINAPI SHRegQueryValueExW(HKEY hkey, LPCWSTR pszValue, LPDWORD pdwReserved, LPDWORD pdwType, LPVOID pvData, LPDWORD pcbData)
Definition: shellreg.c:108
LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive)
BOOL WINAPI DAD_DragEnter(HWND hWnd)
Definition: shellord.c:1548
BOOL WINAPI PathIsTemporaryA(_In_ LPCSTR Str)
BOOL WINAPI GUIDFromStringA(_In_ PCSTR psz, _Out_ LPGUID pguid)
struct SFVSELECTSTATE * LPSFVSELECTSTATE
BOOL WINAPI FileMenu_DeleteItemByIndex(HMENU hMenu, UINT uPos)
Definition: shlmenu.c:727
BOOL WINAPI SHSettingsChanged(LPCVOID unused, LPCWSTR pszKey)
Definition: shpolicy.c:174
BOOL WINAPI IsSuspendAllowed(VOID)
Definition: utils.cpp:636
int WINAPI FileMenu_AddFilesForPidl(HMENU hMenu, UINT uReserved, UINT uID, LPCITEMIDLIST pidl, UINT uFlags, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:504
BOOL WINAPI SHFindComputer(LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)
Definition: utils.cpp:750
struct tagSHELL_LINK_INFO_VOLUME_IDW * LPSHELL_LINK_INFO_VOLUME_IDW
struct SFVCBINFO * LPSFVCBINFO
int WINAPI FileMenu_ReplaceUsingPidl(HMENU hMenu, UINT uID, LPCITEMIDLIST pidl, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:439
struct tagSHELL_LINK_INFOW SHELL_LINK_INFOW
const SFVCBINFO * LPCSFVCBINFO
Definition: undocshell.h:550
VOID WINAPI PathQualifyA(LPSTR pszPath)
Definition: shellpath.c:808
LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl)
Definition: pidl.c:469
BOOL WINAPI PathIsExeAW(LPCVOID lpszPath)
Definition: shellpath.c:557
HRESULT WINAPI SHCreateDefClassObject(REFIID riidFactory, LPVOID *ppvFactory, LPFNCDCOCALLBACK lpfnCallback, LPDWORD lpdwUsage, REFIID riidObject)
struct _NMRUNFILEDLGW * PNMRUNFILEDLGW
struct tagSHELL_LINK_INFO_CNR_LINKW SHELL_LINK_INFO_CNR_LINKW
struct SFVCOPYHOOKINFO * LPSFVCOPYHOOKINFO
LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2)
struct CWTESTPATHSTRUCT * LPCWTESTPATHSTRUCT
LPVOID WINAPI PathFindExtensionAW(LPCVOID path)
int WINAPI LogoffWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1545
HINSTANCE WINAPI RealShellExecuteW(_In_opt_ HWND hwnd, _In_opt_ LPCWSTR lpOperation, _In_opt_ LPCWSTR lpFile, _In_opt_ LPCWSTR lpParameters, _In_opt_ LPCWSTR lpDirectory, _In_opt_ LPWSTR lpReturn, _In_opt_ LPCWSTR lpTitle, _In_opt_ LPVOID lpReserved, _In_ INT nCmdShow, _Out_opt_ PHANDLE lphProcess)
Definition: shlexec.cpp:2930
BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec)
BOOL WINAPI FileMenu_InitMenuPopup(HMENU hMenu)
Definition: shlmenu.c:646
HRESULT WINAPI SHLimitInputCombo(HWND hWnd, IShellFolder *psf)
BOOL WINAPI FileMenu_TrackPopupMenuEx(HMENU hMenu, UINT uFlags, int x, int y, HWND hWnd, LPTPMPARAMS lptpm)
Definition: shlmenu.c:524
void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath)
HRESULT WINAPI SHRegisterDragDrop(HWND hWnd, LPDROPTARGET lpDropTarget)
Definition: shellord.c:541
HRESULT WINAPI SHILCreateFromPathW(LPCWSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:401
struct _SHCNF_PRINTJOB_INFO * PSHCNF_PRINTJOB_INFO
BOOL WINAPI RegisterShellHook(HWND hWnd, DWORD dwType)
Definition: shellord.c:312
LPWSTR WINAPI ShortSizeFormatW(_In_ DWORD dwNumber, _Out_writes_(0x8FFF) LPWSTR pszBuffer)
Definition: utils.cpp:482
BOOL WINAPI FileMenu_DeleteSeparator(HMENU hMenu)
Definition: shlmenu.c:761
BOOL WINAPI StrRetToStrNW(LPWSTR, DWORD, LPSTRRET, const ITEMIDLIST *)
Definition: shellstring.c:85
void WINAPI SHFreeUnusedLibraries(void)
Definition: shellord.c:1530
DWORD WINAPI FileMenu_GetItemExtent(HMENU hMenu, UINT uPos)
Definition: shlmenu.c:785
HRESULT WINAPI SHInvokePrivilegedFunctionW(_In_z_ LPCWSTR pszName, _In_ PRIVILEGED_FUNCTION fn, _In_opt_ LPARAM lParam)
void WINAPI PathStripPathAW(LPVOID lpszPath)
struct tagSHELL_LINK_INFOA * LPSHELL_LINK_INFOA
HRESULT WINAPI SHCreatePropertyBag(_In_ REFIID riid, _Out_ void **ppvObj)
Definition: utils.cpp:689
VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath)
LPNMRUNFILEDLGW LPNMRUNFILEDLG
Definition: undocshell.h:159
BOOL WINAPI PathIsDirectoryAW(LPCVOID lpszPath)
HMENU WINAPI FileMenu_Create(COLORREF crBorderColor, int nBorderWidth, HBITMAP hBorderBmp, int nSelHeight, UINT uFlags)
Definition: shlmenu.c:250
PNMRUNFILEDLGW PNMRUNFILEDLG
Definition: undocshell.h:158
IStream *WINAPI SHGetViewStream(LPCITEMIDLIST, DWORD, LPCTSTR, LPCTSTR, LPCTSTR)
BOOL WINAPI FileMenu_AppendItem(HMENU hMenu, LPCSTR lpszText, UINT uID, int iIcon, HMENU hMenuPopup, int nItemHeight)
BOOL WINAPI PathIsRootAW(LPCVOID x)
Definition: shellpath.c:511
LPVOID WINAPI PathGetArgsAW(LPVOID lpszPath)
struct tagSHELL_LINK_INFO_CNR_LINKA SHELL_LINK_INFO_CNR_LINKA
BOOL WINAPI SHIsTempDisplayMode(VOID)
struct tagSHELL_LINK_INFO_CNR_LINKW * LPSHELL_LINK_INFO_CNR_LINKW
BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2)
Definition: shellpath.c:407
HMENU WINAPI FileMenu_FindSubMenuByPidl(HMENU hMenu, LPCITEMIDLIST pidl)
Definition: shlmenu.c:467
void WINAPI ExitWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1608
struct tagEXP_TRACKER EXP_TRACKER
void WINAPI PathRemoveArgsAW(LPVOID lpszPath)
BOOL WINAPI PathStripToRootAW(LPVOID lpszPath)
WORD WINAPI ExtractIconResInfoW(_In_ HANDLE hHandle, _In_ LPCWSTR lpFileName, _In_ WORD wIndex, _Out_ LPWORD lpSize, _Out_ LPHANDLE lpIcon)
Definition: stubs.cpp:789
BOOL WINAPI FileMenu_DeleteMenuItemByFirstID(HMENU hMenu, UINT uID)
INT WINAPI LargeIntegerToString(_In_ const LARGE_INTEGER *pLargeInt, _Out_writes_z_(cchOut) LPWSTR pszOut, _In_ UINT cchOut, _In_ BOOL bUseFormat, _In_opt_ const NUMBERFMTW *pNumberFormat, _In_ DWORD dwNumberFlags)
const SFVCOPYHOOKINFO * LPCSFVCOPYHOOKINFO
Definition: undocshell.h:573
BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2)
Definition: utils.cpp:1229
struct tagSHELL_LINK_INFO_VOLUME_IDA SHELL_LINK_INFO_VOLUME_IDA
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
Definition: shellord.c:2452
BOOL WINAPI FileMenu_GetLastSelectedItemPidls(UINT uReserved, LPCITEMIDLIST *ppidlFolder, LPCITEMIDLIST *ppidlItem)
Definition: shlmenu.c:540
struct tagSHELL_LINK_INFOA SHELL_LINK_INFOA
BOOL WINAPI PathFileExistsAW(LPCVOID lpszPath)
Definition: shellpath.c:567
LRESULT WINAPI FileMenu_DrawItem(HWND hWnd, LPDRAWITEMSTRUCT lpdis)
Definition: shlmenu.c:586
BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl, LPVOID path)
Definition: pidl.c:183
INT WINAPI Int64ToString(_In_ LONGLONG llValue, _Out_writes_z_(cchOut) LPWSTR pszOut, _In_ UINT cchOut, _In_ BOOL bUseFormat, _In_opt_ const NUMBERFMTW *pNumberFormat, _In_ DWORD dwNumberFlags)
void WINAPI ShellDDEInit(BOOL bInit)
Definition: shdocvw_main.c:262
void WINAPI SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
Definition: stubs.cpp:733
struct tagSHELL_LINK_HEADER * LPSHELL_LINK_HEADER
struct tagEXP_KNOWN_FOLDER * LPEXP_KNOWN_FOLDER
VOID WINAPI PathQuoteSpacesAW(LPVOID path)
int WINAPI FileMenu_InsertUsingPidl(HMENU hMenu, UINT uID, LPCITEMIDLIST pidl, UINT uFlags, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:414
BOOL WINAPI PathResolveW(LPWSTR path, LPCWSTR *dirs, DWORD flags)
struct tagEXP_TRACKER * LPEXP_TRACKER
BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2)
HRESULT WINAPI CopyStreamUI(_In_ IStream *pSrc, _Out_ IStream *pDst, _Inout_opt_ IProgressDialog *pProgress, _In_opt_ DWORDLONG dwlSize)
Definition: utils.cpp:938
struct _NMRUNFILEDLGW NMRUNFILEDLGW
struct tagSHELL_LINK_INFO_VOLUME_IDW SHELL_LINK_INFO_VOLUME_IDW
BOOL WINAPI RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf)
Definition: shell32.cpp:71
void WINAPI FileMenu_Invalidate(HMENU hMenu)
Definition: shlmenu.c:459
BOOL WINAPI FileMenu_DeleteAllItems(HMENU hMenu)
Definition: shlmenu.c:669
HRESULT WINAPI SHCreateLinks(HWND hWnd, LPCSTR lpszDir, LPDATAOBJECT lpDataObject, UINT uFlags, LPITEMIDLIST *lppidlLinks)
BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath)
LPSTR WINAPI SheRemoveQuotesA(LPSTR psz)
Definition: utils.cpp:699
HINSTANCE WINAPI RealShellExecuteA(_In_opt_ HWND hwnd, _In_opt_ LPCSTR lpOperation, _In_opt_ LPCSTR lpFile, _In_opt_ LPCSTR lpParameters, _In_opt_ LPCSTR lpDirectory, _In_opt_ LPSTR lpReturn, _In_opt_ LPCSTR lpTitle, _In_opt_ LPVOID lpReserved, _In_ INT nCmdShow, _Out_opt_ PHANDLE lphProcess)
Definition: shlexec.cpp:2900
HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:1003
BOOL WINAPI SHTestTokenPrivilegeW(_In_opt_ HANDLE hToken, _In_z_ LPCWSTR lpName)
const SFVSELECTSTATE * LPCSFVSELECTSTATE
Definition: undocshell.h:560
void WINAPI ILGlobalFree(LPITEMIDLIST pidl)
Definition: pidl.c:960
int WINAPI PathParseIconLocationAW(LPVOID lpszPath)
BOOL WINAPI ILGetDisplayNameEx(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type)
Definition: pidl.c:171
void WINAPI PathRemoveBlanksAW(LPVOID lpszPath)
BOOL WINAPI GUIDFromStringW(_In_ PCWSTR psz, _Out_ LPGUID pguid)
WORD WINAPI ArrangeWindows(HWND hwndParent, DWORD dwReserved, LPCRECT lpRect, WORD cKids, CONST HWND *lpKids)
BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags)
Definition: shellpath.c:960
VOID WINAPI CheckEscapesW(LPWSTR string, DWORD len)
Definition: shellstring.c:252
BOOL WINAPI FileIconInit(BOOL bFullInit)
Definition: shellord.c:1683
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW(LPCWSTR lpszPath)
Definition: pidl.c:1126
BOOL WINAPI FileMenu_EnableItemByCmd(HMENU hMenu, UINT uID, BOOL bEnable)
Definition: shlmenu.c:770
VOID WINAPI CheckEscapesA(LPSTR string, DWORD len)
Definition: shellstring.c:227
void WINAPI FileMenu_Destroy(HMENU hMenu)
Definition: shlmenu.c:284
BOOL WINAPI DAD_ShowDragImage(BOOL bShow)
Definition: shellord.c:1599
BOOL WINAPI DAD_SetDragImageFromListView(HWND hWnd, POINT pt)
Definition: stubs.cpp:722
LPWSTR WINAPI SheRemoveQuotesW(LPWSTR psz)
Definition: utils.cpp:724
struct tagSHELL_LINK_INFOW * LPSHELL_LINK_INFOW
struct tagSHELL_LINK_HEADER SHELL_LINK_HEADER
struct _SHCNF_PRINTJOB_INFO SHCNF_PRINTJOB_INFO
void WINAPI FileMenu_AbortInitMenu(void)
Definition: shlmenu.c:802
BOOL WINAPI Activate_RunDLL(_In_ HWND hwnd, _In_ HINSTANCE hinst, _In_ LPCWSTR cmdline, _In_ INT cmdshow)
Definition: utils.cpp:1094
DWORD WINAPI SHGetUserSessionId(_In_opt_ HANDLE hToken)
Definition: utils.cpp:502
LRESULT WINAPI FileMenu_MeasureItem(HWND hWnd, LPMEASUREITEMSTRUCT lpmis)
Definition: shlmenu.c:558
HRESULT(CALLBACK * LPFNCDCOCALLBACK)(LPUNKNOWN pUnkOuter, REFIID riidObject, LPVOID *ppvObject)
Definition: undocshell.h:688
HRESULT WINAPI SHRevokeDragDrop(HWND hWnd)
Definition: shellord.c:576
VOID WINAPI PathQualifyW(LPWSTR pszPath)
Definition: shellpath.c:820
BOOL WINAPI PathMakeUniqueNameAW(LPVOID lpszBuffer, DWORD dwBuffSize, LPCVOID lpszShortName, LPCVOID lpszLongName, LPCVOID lpszPathName)
Definition: shellpath.c:684
LPVOID WINAPI PathAddBackslashAW(LPVOID path)
LRESULT WINAPI FileMenu_HandleMenuChar(HMENU hMenu, WPARAM wParam)
Definition: shlmenu.c:655
BOOL WINAPI PathResolveA(LPSTR path, LPCSTR *dirs, DWORD flags)
Definition: shellpath.c:837
HICON WINAPI SHGetFileIcon(DWORD dwReserved, LPCSTR lpszPath, DWORD dwFileAttributes, UINT uFlags)
INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc)
Definition: iconcache.cpp:838
HRESULT(CALLBACK * PRIVILEGED_FUNCTION)(LPARAM lParam)
Definition: undocshell.h:775
BOOL WINAPI SHWaitForFileToOpen(LPCITEMIDLIST pidl, DWORD dwFlags, DWORD dwTimeout)
Definition: shellord.c:1771
HRESULT WINAPI SHUpdateRecycleBinIcon(void)
BOOL WINAPI FileMenu_DeleteItemByCmd(HMENU hMenu, UINT uID)
Definition: shlmenu.c:704
BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey)
DWORD WINAPI WinList_Init(void)
Definition: misc.cpp:68
HINSTANCE WINAPI RealShellExecuteExA(_In_opt_ HWND hwnd, _In_opt_ LPCSTR lpOperation, _In_opt_ LPCSTR lpFile, _In_opt_ LPCSTR lpParameters, _In_opt_ LPCSTR lpDirectory, _In_opt_ LPSTR lpReturn, _In_opt_ LPCSTR lpTitle, _In_opt_ LPVOID lpReserved, _In_ INT nCmdShow, _Out_opt_ PHANDLE lphProcess, _In_ DWORD dwFlags)
Definition: shlexec.cpp:2766
void WINAPI PathRemoveExtensionAW(LPVOID lpszPath)
HINSTANCE WINAPI RealShellExecuteExW(_In_opt_ HWND hwnd, _In_opt_ LPCWSTR lpOperation, _In_opt_ LPCWSTR lpFile, _In_opt_ LPCWSTR lpParameters, _In_opt_ LPCWSTR lpDirectory, _In_opt_ LPWSTR lpReturn, _In_opt_ LPCWSTR lpTitle, _In_opt_ LPVOID lpReserved, _In_ INT nCmdShow, _Out_opt_ PHANDLE lphProcess, _In_ DWORD dwFlags)
Definition: shlexec.cpp:2833
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lphimlLarge, HIMAGELIST *lphimlSmall)
Definition: iconcache.cpp:683
HRESULT WINAPI SHILCreateFromPathA(LPCSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:389
struct SFVCOLUMNINFO * LPSFVCOLUMNINFO
NMRUNFILEDLGW NMRUNFILEDLG
Definition: undocshell.h:157
BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath)
Definition: shellpath.c:453
struct tagEXP_SHIM EXP_SHIM
struct _NMRUNFILEDLGW * LPNMRUNFILEDLGW
int WINAPI Shell_GetCachedImageIndexA(LPCSTR lpszFileName, int nIconIndex, UINT bSimulateDoc)
struct tagEXP_VISTA_ID_LIST * LPEXP_VISTA_ID_LIST
LONG WINAPI SHRegQueryValueExA(HKEY hkey, LPCSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData)
Definition: shellreg.c:78
struct tagSHELL_LINK_INFO_VOLUME_IDA * LPSHELL_LINK_INFO_VOLUME_IDA
LPVOID WINAPI PathFindFileNameAW(LPCVOID path)
BOOL WINAPI StrRetToStrNA(LPSTR, DWORD, LPSTRRET, const ITEMIDLIST *)
Definition: shellstring.c:54
WORD WINAPI ExtractIconResInfoA(_In_ HANDLE hHandle, _In_ LPCSTR lpFileName, _In_ WORD wIndex, _Out_ LPWORD lpSize, _Out_ LPHANDLE lpIcon)
Definition: utils.cpp:461
struct tagEXP_VISTA_ID_LIST EXP_VISTA_ID_LIST
DWORD WINAPI SHNetConnectionDialog(HWND hwndOwner, LPCWSTR lpstrRemoteName, DWORD dwType)
Definition: stubs.cpp:709
struct tagEXP_SHIM * LPEXP_SHIM
BOOL WINAPI PathIsTemporaryW(_In_ LPCWSTR Str)
HRESULT WINAPI SHCreateSessionKey(REGSAM samDesired, PHKEY phKey)
Definition: shellreg.c:147
struct tagSHELL_LINK_INFO_CNR_LINKA * LPSHELL_LINK_INFO_CNR_LINKA
BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID *sOtherDirs)
BOOL WINAPI SHOpenEffectiveToken(_Out_ LPHANDLE phToken)
Definition: utils.cpp:493
int WINAPI SHOutOfMemoryMessageBox(HWND hwndOwner, LPCSTR lpCaption, UINT uType)
Definition: shellord.c:1750
void(CALLBACK * LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile)
Definition: undocshell.h:300
BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath)
LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile)
struct tagEXP_KNOWN_FOLDER EXP_KNOWN_FOLDER
VOID WINAPI PathQualifyAW(LPVOID path)
Definition: shellpath.c:829
BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR lpszBuffer, LPCWSTR lpszPathName, LPCWSTR lpszShortName, LPCWSTR lpszLongName)
Definition: shellpath.c:699
void WINAPI RunFileDlg(HWND hWndOwner, HICON hIcon, LPCWSTR lpstrDirectory, LPCWSTR lpstrTitle, LPCWSTR lpstrDescription, UINT uFlags)
Definition: dialogs.cpp:409
struct SFVM_CUSTOMVIEWINFO_DATA * LPSFVM_CUSTOMVIEWINFO_DATA
static GLenum _GLUfuncptr fn
Definition: wgl_font.c:159
_In_opt_ LPSTR _In_opt_ LPSTR _In_ DWORD _In_ DWORD _Out_opt_ PHANDLE phToken
Definition: winbase.h:2715
_In_ LPCSTR lpFileName
Definition: winbase.h:3071
_In_ LPCSTR lpName
Definition: winbase.h:2789
_Reserved_ DWORD * pdwReserved
Definition: wincrypt.h:4254
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
Definition: wincrypt.h:4950
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
Definition: wincrypt.h:6081
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
_In_ BOOL bEnable
Definition: winddi.h:3426
_In_ ULONG _In_opt_ PVOID pvData
Definition: winddi.h:3749
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
DWORD COLORREF
Definition: windef.h:300
CONST void * LPCVOID
Definition: windef.h:191
#define HRESULT
Definition: msvc.h:7
#define WINAPI
Definition: msvc.h:6
ACCESS_MASK REGSAM
Definition: winreg.h:69
_In_ int nIDDlgItem
Definition: winuser.h:4619
const char * LPCSTR
Definition: xmlstorage.h:183
char * LPSTR
Definition: xmlstorage.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
char CHAR
Definition: xmlstorage.h:175