ReactOS 0.4.16-dev-983-g23ad936
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#ifndef SHSTDAPI
23#if defined(_SHELL32_) /* DECLSPEC_IMPORT disabled because of CORE-6504: */ || TRUE
24#define SHSTDAPI_(type) type WINAPI
25#else
26#define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI
27#endif
28#define SHSTDAPI SHSTDAPI_(HRESULT)
29#endif
30
31#ifdef __cplusplus
32extern "C" {
33#endif /* defined(__cplusplus) */
34
35#if (NTDDI_VERSION < NTDDI_LONGHORN)
36#define DBIMF_NOGRIPPER 0x0800
37#define DBIMF_ALWAYSGRIPPER 0x1000
38#define DBIMF_NOMARGINS 0x2000
39#endif // NTDDI_LONGHORN
40
41#if defined (_SHELLAPI_H) || defined (_INC_SHELLAPI)
42
43/****************************************************************************
44 * Taskbar interface WM_COPYDATA structures
45 * See http://www.geoffchappell.com/studies/windows/shell/shell32/api/shlnot/copydata.htm
46 */
47/* Data structure for Shell_NotifyIcon messages */
48typedef struct _TRAYNOTIFYDATAW
49{
50 DWORD dwSignature;
51 DWORD dwMessage;
52 NOTIFYICONDATAW nid; // Always use the latest NOTIFYICONDATAW structure version.
53} TRAYNOTIFYDATAW, *PTRAYNOTIFYDATAW;
54// Note: One could also introduce TRAYNOTIFYDATAA
55
56#define NI_NOTIFY_SIG 0x34753423 /* TRAYNOTIFYDATA */
57
58#endif /* defined (_SHELLAPI_H) || defined (_INC_SHELLAPI) */
59
60/****************************************************************************
61 * Taskbar WM_COMMAND identifiers
62 */
63#define TWM_DOEXITWINDOWS (WM_USER + 342)
64#define TWM_CYCLEFOCUS (WM_USER + 348)
65
66/****************************************************************************
67 * ProgMan messages
68 */
69#define WM_PROGMAN_OPENSHELLSETTINGS (WM_USER + 22) /* wParam specifies the dialog (and tab page) */
70#define WM_PROGMAN_SAVESTATE (WM_USER + 77)
71
72/****************************************************************************
73 * IDList Functions
74 */
76 LPCITEMIDLIST pidl,
77 LPVOID path);
78
79/* type parameter for ILGetDisplayNameEx() */
80#define ILGDN_FORPARSING 0
81#define ILGDN_NORMAL 1
82#define ILGDN_INFOLDER 2
83
85 LPSHELLFOLDER psf,
86 LPCITEMIDLIST pidl,
88 DWORD type);
89
90#if (NTDDI_VERSION >= NTDDI_LONGHORN) || defined(_SHELL32_)
92 _In_ IShellFolder *psf,
95 _Out_ LPWSTR pszBuf,
96 _In_ UINT cchBuf);
97#endif
98
103
105 LPCSTR path,
106 LPITEMIDLIST * ppidl,
107 DWORD *attributes);
108
111 LPITEMIDLIST * ppidl,
112 DWORD *attributes);
113
115 HWND hWnd,
116 IShellFolder* lpFolder,
117 LPCITEMIDLIST lpApidl,
118 LPCSTR lpVerb);
122 _In_ IContextMenu* pCM,
123 _In_ UINT fCMIC,
124 _In_opt_ LPCSTR pszVerb);
126 _In_ IContextMenu *pContextMenu,
127 _In_ HWND hwnd,
128 _In_ LPCSTR lpVerb,
130
131/*
132 string functions
133*/
136
137/****************************************************************************
138 * SHChangeNotifyRegister API
139 */
140#define SHCNRF_InterruptLevel 0x0001
141#define SHCNRF_ShellLevel 0x0002
142#define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
143#define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
144
145/****************************************************************************
146 * SHChangeNotify
147 */
148
150{
152 // More info,,,
154
155//
156// Add missing types for print job notifications.
157//
158#define SHCNF_PRINTJOBA 0x0004
159#define SHCNF_PRINTJOBW 0x0007
160
162
163/****************************************************************************
164 * Shell Common Dialogs
165 */
166
167/* RunFileDlg flags */
168#define RFF_NOBROWSE 0x01 /* Removes the browse button */
169#define RFF_NODEFAULT 0x02 /* No default item selected */
170#define RFF_CALCDIRECTORY 0x04 /* Calculates the working directory from the file name */
171#define RFF_NOLABEL 0x08 /* Removes the edit box label */
172#define RFF_NOSEPARATEMEM 0x20 /* Removes the Separate Memory Space check box (Windows NT only) */
173
174/* RunFileFlg notification value and structure */
175#define RFN_VALIDATE (-510)
176#if 0 // Deprecated ANSI structure
177typedef struct _NMRUNFILEDLGA
178{
179 NMHDR hdr;
180 LPCSTR lpFile;
182 UINT nShow;
183} NMRUNFILEDLGA, *PNMRUNFILEDLGA, *LPNMRUNFILEDLGA;
184#endif
185typedef struct _NMRUNFILEDLGW
186{
192
196
197/* RunFileDlg notification return values */
198#define RF_OK 0x00
199#define RF_CANCEL 0x01
200#define RF_RETRY 0x02
201
202void WINAPI RunFileDlg(
203 HWND hWndOwner,
204 HICON hIcon,
205 LPCWSTR lpstrDirectory,
206 LPCWSTR lpstrTitle,
207 LPCWSTR lpstrDescription,
208 UINT uFlags);
209
210int WINAPI LogoffWindowsDialog(HWND hWndOwner);
211void WINAPI ExitWindowsDialog(HWND hWndOwner);
212
214 LPCITEMIDLIST pidlRoot,
215 LPCITEMIDLIST pidlSavedSearch);
216
217void WINAPI SHHandleDiskFull(HWND hwndOwner,
218 UINT uDrive);
219
221 HWND hwndOwner,
222 LPCSTR lpCaption,
223 UINT uType);
224
226
228 HWND hwndOwner,
229 LPCWSTR lpstrRemoteName,
230 DWORD dwType);
231
233
236 _Out_writes_to_(*puSize, *puSize) PWSTR pName,
237 _Inout_ PULONG puSize);
238
239/****************************************************************************
240 * Cabinet Window Messages
241 */
242
243#define CWM_SETPATH (WM_USER + 2)
244#define CWM_WANTIDLE (WM_USER + 3)
245#define CWM_GETSETCURRENTINFO (WM_USER + 4)
246#define CWM_SELECTITEM (WM_USER + 5)
247#define CWM_SELECTITEMSTR (WM_USER + 6)
248#define CWM_GETISHELLBROWSER (WM_USER + 7)
249#define CWM_TESTPATH (WM_USER + 9)
250#define CWM_STATECHANGE (WM_USER + 10)
251#define CWM_GETPATH (WM_USER + 12)
252
253#define WM_GETISHELLBROWSER CWM_GETISHELLBROWSER
254
255/* CWM_TESTPATH types */
256#define CWTP_ISEQUAL 0
257#define CWTP_ISCHILD 1
258
259/* CWM_TESTPATH structure */
260typedef struct
261{
265
266/****************************************************************************
267 * System Imagelist Routines
268 */
269
271 LPCSTR lpszFileName,
272 int nIconIndex,
273 UINT bSimulateDoc);
274
276 HIMAGELIST *lphimlLarge,
277 HIMAGELIST *lphimlSmall);
278
281 LPCSTR lpszPath,
283 UINT uFlags);
284
285BOOL WINAPI FileIconInit(BOOL bFullInit);
286
289 _In_ HANDLE hHandle,
291 _In_ WORD wIndex,
292 _Out_ LPWORD lpSize,
293 _Out_ LPHANDLE lpIcon);
294
297 _In_ HANDLE hHandle,
299 _In_ WORD wIndex,
300 _Out_ LPWORD lpSize,
301 _Out_ LPHANDLE lpIcon);
302
303/****************************************************************************
304 * File Menu Routines
305 */
306
307/* FileMenu_Create nSelHeight constants */
308#define FM_DEFAULT_SELHEIGHT -1
309#define FM_FULL_SELHEIGHT 0
310
311/* FileMenu_Create flags */
312#define FMF_SMALL_ICONS 0x00
313#define FMF_LARGE_ICONS 0x08
314#define FMF_NO_COLUMN_BREAK 0x10
315
317 COLORREF crBorderColor,
318 int nBorderWidth,
319 HBITMAP hBorderBmp,
320 int nSelHeight,
321 UINT uFlags);
322
323void WINAPI FileMenu_Destroy(HMENU hMenu);
324
325/* FileMenu_AppendItem constants */
326#define FM_SEPARATOR (LPCSTR)1
327#define FM_BLANK_ICON -1
328#define FM_DEFAULT_HEIGHT 0
329
331 HMENU hMenu,
332 LPCSTR lpszText,
333 UINT uID,
334 int iIcon,
335 HMENU hMenuPopup,
336 int nItemHeight);
337
338/* FileMenu_InsertUsingPidl flags */
339#define FMF_NO_EMPTY_ITEM 0x01
340#define FMF_NO_PROGRAM_GROUPS 0x04
341
342/* FileMenu_InsertUsingPidl callback function */
343typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
344
346 HMENU hMenu,
347 UINT uID,
348 LPCITEMIDLIST pidl,
349 UINT uFlags,
350 UINT uEnumFlags,
351 LPFNFMCALLBACK lpfnCallback);
352
354 HMENU hMenu,
355 UINT uID,
356 LPCITEMIDLIST pidl,
357 UINT uEnumFlags,
358 LPFNFMCALLBACK lpfnCallback);
359
361
363 HMENU hMenu,
364 LPCITEMIDLIST pidl);
365
367 HMENU hMenu,
368 UINT uFlags,
369 int x,
370 int y,
371 HWND hWnd,
372 LPTPMPARAMS lptpm);
373
375 UINT uReserved,
376 LPCITEMIDLIST *ppidlFolder,
377 LPCITEMIDLIST *ppidlItem);
378
380 HWND hWnd,
381 LPMEASUREITEMSTRUCT lpmis);
382
384 HWND hWnd,
385 LPDRAWITEMSTRUCT lpdis);
386
388
390
392 HMENU hMenu,
393 WPARAM wParam);
394
396
398 HMENU hMenu,
399 UINT uID);
400
402 HMENU hMenu,
403 UINT uPos);
404
406 HMENU hMenu,
407 UINT uID);
408
410
412 HMENU hMenu,
413 UINT uID,
414 BOOL bEnable);
415
417 HMENU hMenu,
418 UINT uPos);
419
421 HMENU hMenu,
422 LPCITEMIDLIST pidl,
423 BOOL bAddSeparator);
424
426 HMENU hMenu,
427 UINT uReserved,
428 UINT uID,
429 LPCITEMIDLIST pidl,
430 UINT uFlags,
431 UINT uEnumFlags,
432 LPFNFMCALLBACK lpfnCallback);
433
434/****************************************************************************
435 * Drag And Drop Routines
436 */
437
439 HWND hWnd,
440 LPDROPTARGET lpDropTarget);
441
443
445
447 HWND hWnd,
448 POINT pt);
449
451
452/****************************************************************************
453 * Path Manipulation Routines
454 */
455
456BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
457
458LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
459
461
463
465
467
469
471
473
475
477
479
481
483
485
487
489
491
493
495 LPVOID lpszBuffer,
496 DWORD dwBuffSize,
497 LPCVOID lpszShortName,
498 LPCVOID lpszLongName,
499 LPCVOID lpszPathName);
500
502 LPWSTR lpszBuffer,
503 LPCWSTR lpszPathName,
504 LPCWSTR lpszShortName,
505 LPCWSTR lpszLongName);
506
510
511/* PathResolve flags */
512#define PRF_CHECKEXISTANCE 0x01
513#define PRF_EXECUTABLE 0x02
514#define PRF_QUALIFYONPATH 0x04
515#define PRF_WINDOWS31 0x08
516
519BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
520
522
523/* PathProcessCommand flags */
524#define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
525#define PPCF_INCLUDEARGS 0x02
526//#define PPCF_NODIRECTORIES 0x10 move to shlobj
527#define PPCF_DONTRESOLVE 0x20
528#define PPCF_PATHISRELATIVE 0x40
529
531 DWORD dwBuffSize, DWORD dwFlags);
532
534
536
538
540
542
544
546
547BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2);
548
551
552/****************************************************************************
553 * Shell File Operations error codes - SHFileOperationA/W
554 */
555
556/* Error codes could be pre-Win32 */
557#define DE_SAMEFILE 0x71
558#define DE_MANYSRC1DEST 0x72
559#define DE_DIFFDIR 0x73
560#define DE_ROOTDIR 0x74
561#define DE_OPCANCELLED 0x75
562#define DE_DESTSUBTREE 0x76
563#define DE_ACCESSDENIEDSRC 0x78
564#define DE_PATHTOODEEP 0x79
565#define DE_MANYDEST 0x7A
566#define DE_INVALIDFILES 0x7C
567#define DE_DESTSAMETREE 0x7D
568#define DE_FLDDESTISFILE 0x7E
569#define DE_FILEDESTISFLD 0x80
570#define DE_FILENAMETOOLONG 0x81
571#define DE_DEST_IS_CDROM 0x82
572#define DE_DEST_IS_DVD 0x83
573#define DE_DEST_IS_CDRECORD 0x84
574#define DE_FILE_TOO_LARGE 0x85
575#define DE_SRC_IS_CDROM 0x86
576#define DE_SRC_IS_DVD 0x87
577#define DE_SRC_IS_CDRECORD 0x88
578// #define DE_ERROR_MAX
579#define ERRORONDEST 0x10000
580
581/****************************************************************************
582 * Shell settings
583 */
584
585typedef struct _REGSHELLSTATE
586{
590#define REGSHELLSTATE_SIZE 0x24
591#define REGSHELLSTATE_VERSION 0xD
593
594/****************************************************************************
595 * Shell Namespace Routines
596 */
597
598/* Generic structure used by several messages */
599typedef struct
600{
606typedef const SFVCBINFO * LPCSFVCBINFO;
607
608/* SFVCB_SELECTIONCHANGED structure */
609typedef struct
610{
617
618/* SFVCB_COPYHOOKCALLBACK structure */
619typedef struct
620{
630
631/* SFVCB_GETDETAILSOF structure */
632typedef struct
633{
635 int fmt;
636 int cx;
639
640/****************************************************************************
641 * Misc Stuff
642 */
643
645RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf);
646
647/* SHWaitForFileToOpen flags */
648#define SHWFF_ADD 0x01
649#define SHWFF_REMOVE 0x02
650#define SHWFF_WAIT 0x04
651
653 LPCITEMIDLIST pidl,
656
660 LPCRECT lpRect,
661 WORD cKids,
662 CONST HWND * lpKids);
663
664/* Flags for ShellExecCmdLine */
665#define SECL_NO_UI 0x2
666#define SECL_LOG_USAGE 0x8
667#define SECL_USE_IDLIST 0x10
668#define SECL_ALLOW_NONEXE 0x20
669#define SECL_RUNAS 0x40
670
672 HWND hwnd,
673 LPCWSTR pwszCommand,
674 LPCWSTR pwszStartDir,
675 int nShow,
676 LPVOID pUnused,
677 DWORD dwSeclFlags);
678
682 _In_opt_ LPCSTR lpOperation,
683 _In_opt_ LPCSTR lpFile,
684 _In_opt_ LPCSTR lpParameters,
686 _In_opt_ LPSTR lpReturn,
689 _In_ INT nCmdShow,
690 _Out_opt_ PHANDLE lphProcess);
691
695 _In_opt_ LPCWSTR lpOperation,
696 _In_opt_ LPCWSTR lpFile,
697 _In_opt_ LPCWSTR lpParameters,
699 _In_opt_ LPWSTR lpReturn,
702 _In_ INT nCmdShow,
703 _Out_opt_ PHANDLE lphProcess);
704
708 _In_opt_ LPCSTR lpOperation,
709 _In_opt_ LPCSTR lpFile,
710 _In_opt_ LPCSTR lpParameters,
712 _In_opt_ LPSTR lpReturn,
715 _In_ INT nCmdShow,
716 _Out_opt_ PHANDLE lphProcess,
718
722 _In_opt_ LPCWSTR lpOperation,
723 _In_opt_ LPCWSTR lpFile,
724 _In_opt_ LPCWSTR lpParameters,
726 _In_opt_ LPWSTR lpReturn,
729 _In_ INT nCmdShow,
730 _Out_opt_ PHANDLE lphProcess,
732
737 _In_ PCSTR pszCmdLine,
738 _In_ INT nCmdShow);
739
744 _In_ PCSTR pszCmdLine,
745 _In_ INT nCmdShow);
746
751 _In_ PCWSTR pszCmdLine,
752 _In_ INT nCmdShow);
753
754/* RegisterShellHook types */
755#define RSH_DEREGISTER 0
756#define RSH_REGISTER 1
757#define RSH_REGISTER_PROGMAN 2
758#define RSH_REGISTER_TASKMAN 3
759
761 HWND hWnd,
762 DWORD dwType);
763
764/* SHCreateDefClassObject callback function */
766 LPUNKNOWN pUnkOuter,
767 REFIID riidObject,
769
771 REFIID riidFactory,
772 LPVOID *ppvFactory,
773 LPFNCDCOCALLBACK lpfnCallback,
774 LPDWORD lpdwUsage,
775 REFIID riidObject);
776
778
779/* SHCreateLinks flags */
780#define SHCLF_PREFIXNAME 0x01
781#define SHCLF_CREATEONDESKTOP 0x02
782
784 HWND hWnd,
785 LPCSTR lpszDir,
786 LPDATAOBJECT lpDataObject,
787 UINT uFlags,
788 LPITEMIDLIST *lppidlLinks);
789
792
793/* policy functions */
795
796#define CSIDL_FOLDER_MASK 0x00ff
797
798/* Utility functions */
799#include <stdio.h>
800
801#define SMC_EXEC 4
803
806HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv);
807
809 _In_ PCSTR psz,
810 _Out_ LPGUID pguid);
812 _In_ PCWSTR psz,
813 _Out_ LPGUID pguid);
814
817 _In_ PCSTR pszSrc,
818 _In_opt_ PCSTR pszLast,
819 _In_ PCSTR pszSearch);
820
823 _In_ PCWSTR pszSrc,
824 _In_opt_ PCWSTR pszLast,
825 _In_ PCWSTR pszSearch);
826
829
830/* Flags for Int64ToString and LargeIntegerToString */
831#define FMT_USE_NUMDIGITS 0x01
832#define FMT_USE_LEADZERO 0x02
833#define FMT_USE_GROUPING 0x04
834#define FMT_USE_DECIMAL 0x08
835#define FMT_USE_THOUSAND 0x10
836#define FMT_USE_NEGNUMBER 0x20
837
840 _In_ LONGLONG llValue,
841 _Out_writes_z_(cchOut) LPWSTR pszOut,
842 _In_ UINT cchOut,
843 _In_ BOOL bUseFormat,
844 _In_opt_ const NUMBERFMTW *pNumberFormat,
845 _In_ DWORD dwNumberFlags);
846
849 _In_ const LARGE_INTEGER *pLargeInt,
850 _Out_writes_z_(cchOut) LPWSTR pszOut,
851 _In_ UINT cchOut,
852 _In_ BOOL bUseFormat,
853 _In_opt_ const NUMBERFMTW *pNumberFormat,
854 _In_ DWORD dwNumberFlags);
855
858 _In_ DWORD dwNumber,
859 _Out_writes_(0x8FFF) LPWSTR pszBuffer);
860
863
865
868 _In_z_ LPCWSTR pszName,
871
875
878 _In_ HWND hwnd,
881 _In_ INT cmdshow);
882
884
885/*****************************************************************************
886 * Shell32 resources
887 */
888// these resources are in shell32.dll
889#define IDB_GOBUTTON_NORMAL 0x0e6
890#define IDB_GOBUTTON_HOT 0x0e7
891
892// band ids in internet toolbar
893#define ITBBID_MENUBAND 1
894#define ITBBID_BRANDBAND 5
895#define ITBBID_TOOLSBAND 2
896#define ITBBID_ADDRESSBAND 4
897
898// commands in the CGID_PrivCITCommands command group handled by the internet toolbar
899// there seems to be some support for hiding the menubar and an auto hide feature that are
900// unavailable in the UI
901#define ITID_TEXTLABELS 3
902#define ITID_TOOLBARBANDSHOWN 4
903#define ITID_ADDRESSBANDSHOWN 5
904#define ITID_LINKSBANDSHOWN 6
905#define ITID_MENUBANDSHOWN 12
906#define ITID_AUTOHIDEENABLED 13
907#define ITID_CUSTOMIZEENABLED 20
908#define ITID_TOOLBARLOCKED 27
909
910// commands in the CGID_BrandCmdGroup command group handled by the brand band
911#define BBID_STARTANIMATION 1
912#define BBID_STOPANIMATION 2
913
914// undocumented flags for IShellMenu::SetShellFolder
915#define SMSET_UNKNOWN08 0x08
916#define SMSET_UNKNOWN10 0x10
917
918// explorer tray commands
919#define TRAYCMD_STARTMENU 305
920#define TRAYCMD_RUN_DIALOG 401
921#define TRAYCMD_LOGOFF_DIALOG 402
922#define TRAYCMD_CASCADE 403
923#define TRAYCMD_TILE_H 404
924#define TRAYCMD_TILE_V 405
925#define TRAYCMD_TOGGLE_DESKTOP 407
926#define TRAYCMD_DATE_AND_TIME 408
927#define TRAYCMD_TASKBAR_PROPERTIES 413
928#define TRAYCMD_MINIMIZE_ALL 415
929#define TRAYCMD_RESTORE_ALL 416
930#define TRAYCMD_SHOW_DESKTOP 419
931#define TRAYCMD_SHOW_TASK_MGR 420
932#define TRAYCMD_CUSTOMIZE_TASKBAR 421
933#define TRAYCMD_LOCK_TASKBAR 424
934#define TRAYCMD_HELP_AND_SUPPORT 503
935#define TRAYCMD_CONTROL_PANEL 505
936#define TRAYCMD_SHUTDOWN_DIALOG 506
937#define TRAYCMD_PRINTERS_AND_FAXES 510
938#define TRAYCMD_LOCK_DESKTOP 517
939#define TRAYCMD_SWITCH_USER_DIALOG 5000
940#define TRAYCMD_SEARCH_FILES 41093
941#define TRAYCMD_SEARCH_COMPUTERS 41094
942
943// Explorer Tray Application Bar Data Message Commands
944#define TABDMC_APPBAR 0
945#define TABDMC_NOTIFY 1
946#define TABDMC_LOADINPROC 2
947
948void WINAPI ShellDDEInit(BOOL bInit);
949
951
952HRESULT WINAPI SHCreateSessionKey(REGSAM samDesired, PHKEY phKey);
953
955 HKEY hkey,
956 LPCSTR lpValueName,
958 LPDWORD lpType,
959 LPBYTE lpData,
960 LPDWORD lpcbData);
962 HKEY hkey,
963 LPCWSTR pszValue,
965 LPDWORD pdwType,
968#ifdef UNICODE
969 #define SHRegQueryValueEx SHRegQueryValueExW
970#else
971 #define SHRegQueryValueEx SHRegQueryValueExA
972#endif
973
976 _In_ LPCVOID pv,
977 _In_ UINT_PTR ucb);
978
981 _In_ IStream *pSrc,
982 _Out_ IStream *pDst,
983 _Inout_opt_ IProgressDialog *pProgress,
984 _In_opt_ DWORDLONG dwlSize);
985
986// Flags for SHGetComputerDisplayNameW
987#define SHGCDN_NOCACHE 0x1
988#define SHGCDN_NOSERVERNAME 0x10000
989
992 _In_opt_ LPWSTR pszServerName,
994 _Out_writes_z_(cchNameMax) LPWSTR pszName,
995 _In_ DWORD cchNameMax);
996
997/*****************************************************************************
998 * INVALID_FILETITLE_CHARACTERS
999 */
1000
1001#define INVALID_FILETITLE_CHARACTERSA "\\/:*?\"<>|"
1002#define INVALID_FILETITLE_CHARACTERSW L"\\/:*?\"<>|"
1003
1004#ifdef UNICODE
1005 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSW
1006#else
1007 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSA
1008#endif
1009
1010/*****************************************************************************
1011 * Shell Link
1012 */
1013#include <pshpack1.h>
1014
1016{
1017 /* The size of this structure (always 0x0000004C) */
1019 /* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
1021 /* Flags (SHELL_LINK_DATA_FLAGS) */
1023 /* Informations about the link target: */
1028 DWORD nFileSizeLow; /* only the least significant 32 bits */
1029 /* The index of an icon (signed?) */
1031 /* The expected window state of an application launched by the link */
1033 /* The keystrokes used to launch the application */
1035 /* Reserved (must be zero) */
1040
1041/*****************************************************************************
1042 * SHELL_LINK_INFOA/W
1043 * If cbHeaderSize == 0x0000001C then use SHELL_LINK_INFOA
1044 * If cbHeaderSize >= 0x00000024 then use SHELL_LINK_INFOW
1045 */
1047{
1048 /* Size of the link info data */
1050 /* Size of this structure (ANSI: = 0x0000001C) */
1052 /* Specifies which fields are present/populated (SLI_*) */
1054 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
1056 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
1058 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
1060 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
1063
1065{
1066 /* Size of the link info data */
1068 /* Size of this structure (Unicode: >= 0x00000024) */
1070 /* Specifies which fields are present/populated (SLI_*) */
1072 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
1074 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
1076 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
1078 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
1080 /* Offset of the LocalBasePathUnicode field (Unicode, NULL-terminated string) */
1082 /* Offset of the CommonPathSuffixUnicode field (Unicode, NULL-terminated string) */
1085
1086/* VolumeID, LocalBasePath, LocalBasePathUnicode(cbHeaderSize >= 0x24) are present */
1087#define SLI_VALID_LOCAL 0x00000001
1088/* CommonNetworkRelativeLink is present */
1089#define SLI_VALID_NETWORK 0x00000002
1090
1091/*****************************************************************************
1092 * SHELL_LINK_INFO_VOLUME_IDA/W
1093 * If cbVolumeLabelOffset != 0x00000014 (should be 0x00000010) then use
1094 * SHELL_LINK_INFO_VOLUME_IDA
1095 * If cbVolumeLabelOffset == 0x00000014 then use SHELL_LINK_INFO_VOLUME_IDW
1096 */
1098{
1099 /* Size of the VolumeID field (> 0x00000010) */
1101 /* Drive type of the drive the link target is stored on (DRIVE_*) */
1103 /* Serial number of the volume the link target is stored on */
1105 /* Offset of the volume label (ANSI, NULL-terminated string).
1106 Must be != 0x00000014 (see tagSHELL_LINK_INFO_VOLUME_IDW) */
1109
1111{
1112 /* Size of the VolumeID field (> 0x00000010) */
1114 /* Drive type of the drive the link target is stored on (DRIVE_*) */
1116 /* Serial number of the volume the link target is stored on */
1118 /* Offset of the volume label (ANSI, NULL-terminated string).
1119 If the value of this field is 0x00000014, ignore it and use
1120 cbVolumeLabelUnicodeOffset! */
1122 /* Offset of the volume label (Unicode, NULL-terminated string).
1123 If the value of the VolumeLabelOffset field is not 0x00000014,
1124 this field must be ignored (==> it doesn't exists ==> ANSI). */
1127
1128/*****************************************************************************
1129 * SHELL_LINK_INFO_CNR_LINKA/W (CNR = Common Network Relative)
1130 * If cbNetNameOffset == 0x00000014 then use SHELL_LINK_INFO_CNR_LINKA
1131 * If cbNetNameOffset > 0x00000014 then use SHELL_LINK_INFO_CNR_LINKW
1132 */
1134{
1135 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
1137 /* Specifies which fields are present/populated (SLI_CNR_*) */
1139 /* Offset of the NetName field (ANSI, NULL–terminated string) */
1141 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
1143 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
1146
1148{
1149 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
1151 /* Specifies which fields are present/populated (SLI_CNR_*) */
1153 /* Offset of the NetName field (ANSI, NULL–terminated string) */
1155 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
1157 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
1159 /* Offset of the NetNameUnicode field (Unicode, NULL–terminated string) */
1161 /* Offset of the DeviceNameUnicode field (Unicode, NULL–terminated string) */
1164
1165/* DeviceName is present */
1166#define SLI_CNR_VALID_DEVICE 0x00000001
1167/* NetworkProviderType is present */
1168#define SLI_CNR_VALID_NET_TYPE 0x00000002
1169
1170/*****************************************************************************
1171 * Shell Link Extra Data (IShellLinkDataList)
1172 */
1173typedef struct tagEXP_TRACKER
1174{
1175 /* .cbSize = 0x00000060, .dwSignature = 0xa0000003 */
1177 /* Length >= 0x00000058 */
1179 /* Must be 0x00000000 */
1181 /* NetBIOS name (ANSI, unused bytes are set to zero) */
1182 CHAR szMachineID[16]; /* "variable" >= 16 (?) */
1183 /* Some GUIDs for the Link Tracking service (from the FS?) */
1189
1190typedef struct tagEXP_SHIM
1191{
1192 /* .cbSize >= 0x00000088, .dwSignature = 0xa0000008 */
1194 /* Name of a shim layer to apply (Unicode, unused bytes are set to zero) */
1195 WCHAR szwLayerName[64]; /* "variable" >= 64 */
1197
1199{
1200 /* .cbSize = 0x0000001c, .dwSignature = 0xa000000b */
1202 /* A GUID value that identifies a known folder */
1204 /* Specifies the location of the ItemID of the first child
1205 segment of the IDList specified by guidKnownFolder */
1208
1210{
1211 /* .cbSize >= 0x0000000a, .dwSignature = 0xa000000c */
1213 /* Specifies an alternate IDList that can be used instead
1214 of the "normal" IDList (SLDF_HAS_ID_LIST) */
1215 /* LPITEMIDLIST pIDList; (variable) */
1217
1218#define EXP_TRACKER_SIG 0xa0000003
1219#define EXP_SHIM_SIG 0xa0000008
1220#define EXP_KNOWN_FOLDER_SIG 0xa000000b
1221#define EXP_VISTA_ID_LIST_SIG 0xa000000c
1222
1223/* Not compatible yet */
1225{
1231
1232#include <poppack.h>
1233
1234#ifdef __cplusplus
1235} /* extern "C" */
1236#endif /* defined(__cplusplus) */
1237
1238#endif /* __WINE_UNDOCSHELL_H */
DWORD dwFileAttributes
#define ShellExecCmdLine
static DWORD const LPVOID const lpReserved
HWND hWnd
Definition: settings.c:17
HINSTANCE hInstance
Definition: charmap.c:19
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
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
#define pt(x, y)
Definition: drawing.c:79
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
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
#define C_ASSERT(e)
Definition: intsafe.h:73
char hdr[14]
Definition: iptest.cpp:33
NOTIFYICONDATA nid
Definition: magnifier.c:44
LPCWSTR szPath
Definition: env.c:37
static LPSTR pName
Definition: security.c:75
static HBITMAP
Definition: button.c:44
static HINSTANCE hinst
Definition: edit.c:551
static HICON
Definition: imagelist.c:80
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
HICON hIcon
Definition: msconfig.c:44
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
_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
#define _Out_writes_z_(s)
Definition: no_sal2.h:180
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_
Definition: no_sal2.h:162
#define _In_z_
Definition: no_sal2.h:164
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Out_writes_to_(s, c)
Definition: no_sal2.h:188
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:485
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:263
LPDWORD lpdwUser
Definition: undocshell.h:604
DWORD dwReserved
Definition: undocshell.h:601
LPCITEMIDLIST pidl
Definition: undocshell.h:603
DWORD dwReserved2
Definition: undocshell.h:602
LPCITEMIDLIST pidl
Definition: undocshell.h:634
STRRET lpText
Definition: undocshell.h:637
DWORD dwDestAttribs
Definition: undocshell.h:627
DWORD dwSrcAttribs
Definition: undocshell.h:625
LPCSTR pszSrcFile
Definition: undocshell.h:624
LPCSTR pszDestFile
Definition: undocshell.h:626
LPCITEMIDLIST pidl
Definition: undocshell.h:613
LPDWORD lpdwUser
Definition: undocshell.h:614
LPCWSTR lpFile
Definition: undocshell.h:188
LPCWSTR lpDirectory
Definition: undocshell.h:189
SHELLSTATE ss
Definition: undocshell.h:588
DATABLOCK_HEADER dbh
Definition: undocshell.h:1201
WCHAR szwLayerName[64]
Definition: undocshell.h:1195
DATABLOCK_HEADER dbh
Definition: undocshell.h:1193
CHAR szMachineID[16]
Definition: undocshell.h:1182
GUID guidDroidObject
Definition: undocshell.h:1185
DATABLOCK_HEADER dbh
Definition: undocshell.h:1176
GUID guidDroidBirthVolume
Definition: undocshell.h:1186
GUID guidDroidVolume
Definition: undocshell.h:1184
GUID guidDroidBirthObject
Definition: undocshell.h:1187
DATABLOCK_HEADER dbh
Definition: undocshell.h:1212
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
char * PSTR
Definition: typedefs.h:51
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:1216
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:1746
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:178
BOOL WINAPI IsSuspendAllowed(VOID)
Definition: utils.cpp:827
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:1148
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:606
VOID WINAPI PathQualifyA(LPSTR pszPath)
Definition: shellpath.c:957
LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl)
Definition: pidl.c:471
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:1532
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:2954
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:739
HRESULT WINAPI SHILCreateFromPathW(LPCWSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:403
struct _SHCNF_PRINTJOB_INFO * PSHCNF_PRINTJOB_INFO
BOOL WINAPI RegisterShellHook(HWND hWnd, DWORD dwType)
Definition: shellord.c:510
LPWSTR WINAPI ShortSizeFormatW(_In_ DWORD dwNumber, _Out_writes_(0x8FFF) LPWSTR pszBuffer)
Definition: utils.cpp:673
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:1728
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)
#define REGSHELLSTATE_SIZE
Definition: undocshell.h:590
struct tagSHELL_LINK_INFOA * LPSHELL_LINK_INFOA
HRESULT WINAPI SHCreatePropertyBag(_In_ REFIID riid, _Out_ void **ppvObj)
Definition: utils.cpp:880
VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath)
LPNMRUNFILEDLGW LPNMRUNFILEDLG
Definition: undocshell.h:195
BOOL WINAPI PathIsDirectoryAW(LPCVOID lpszPath)
HMENU WINAPI FileMenu_Create(COLORREF crBorderColor, int nBorderWidth, HBITMAP hBorderBmp, int nSelHeight, UINT uFlags)
Definition: shlmenu.c:250
VOID WINAPI ShellExec_RunDLLW(_In_opt_ HWND hwnd, _In_opt_ HINSTANCE hInstance, _In_ PCWSTR pszCmdLine, _In_ INT nCmdShow)
Definition: shlexec.cpp:3177
PNMRUNFILEDLGW PNMRUNFILEDLG
Definition: undocshell.h:194
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
BOOL WINAPI IContextMenu_Invoke(_In_ IContextMenu *pContextMenu, _In_ HWND hwnd, _In_ LPCSTR lpVerb, _In_ UINT uFlags)
Definition: utils.cpp:194
void WINAPI ExitWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1595
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:676
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:629
BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2)
Definition: utils.cpp:1589
struct tagSHELL_LINK_INFO_VOLUME_IDA SHELL_LINK_INFO_VOLUME_IDA
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
Definition: shellord.c:2674
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
HRESULT WINAPI SHGetUserDisplayName(_Out_writes_to_(*puSize, *puSize) PWSTR pName, _Inout_ PULONG puSize)
Definition: utils.cpp:1847
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:261
void WINAPI SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
Definition: stubs.cpp:620
HRESULT WINAPI SHShouldShowWizards(_In_ IUnknown *pUnknown)
Definition: utils.cpp:216
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:1336
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 SHIsBadInterfacePtr(_In_ LPCVOID pv, _In_ UINT_PTR ucb)
Definition: utils.cpp:1823
BOOL WINAPI FileMenu_DeleteAllItems(HMENU hMenu)
Definition: shlmenu.c:669
HRESULT WINAPI SHCreateLinks(HWND hWnd, LPCSTR lpszDir, LPDATAOBJECT lpDataObject, UINT uFlags, LPITEMIDLIST *lppidlLinks)
#define SHSTDAPI
Definition: undocshell.h:28
BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath)
LPSTR WINAPI SheRemoveQuotesA(LPSTR psz)
Definition: utils.cpp:1064
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:2924
HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:1154
BOOL WINAPI SHTestTokenPrivilegeW(_In_opt_ HANDLE hToken, _In_z_ LPCWSTR lpName)
const SFVSELECTSTATE * LPCSFVSELECTSTATE
Definition: undocshell.h:616
void WINAPI ILGlobalFree(LPITEMIDLIST pidl)
Definition: pidl.c:1064
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:1109
VOID WINAPI CheckEscapesW(LPWSTR string, DWORD len)
Definition: shellstring.c:252
BOOL WINAPI FileIconInit(BOOL bFullInit)
Definition: shellord.c:1889
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW(LPCWSTR lpszPath)
Definition: pidl.c:1238
VOID WINAPI ShellExec_RunDLL(_In_opt_ HWND hwnd, _In_opt_ HINSTANCE hInstance, _In_ PCSTR pszCmdLine, _In_ INT nCmdShow)
BOOL WINAPI FileMenu_EnableItemByCmd(HMENU hMenu, UINT uID, BOOL bEnable)
Definition: shlmenu.c:770
struct _REGSHELLSTATE REGSHELLSTATE
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:1797
HRESULT WINAPI SHInvokeCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl, LPCSTR lpVerb)
BOOL WINAPI DAD_SetDragImageFromListView(HWND hWnd, POINT pt)
Definition: stubs.cpp:609
LPWSTR WINAPI SheRemoveQuotesW(LPWSTR psz)
Definition: utils.cpp:1089
struct tagSHELL_LINK_INFOW * LPSHELL_LINK_INFOW
struct tagSHELL_LINK_HEADER SHELL_LINK_HEADER
PSTR WINAPI StrRStrA(_In_ PCSTR pszSrc, _In_opt_ PCSTR pszLast, _In_ PCSTR pszSearch)
Definition: utils.cpp:40
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:1454
DWORD WINAPI SHGetUserSessionId(_In_opt_ HANDLE hToken)
Definition: utils.cpp:693
LRESULT WINAPI FileMenu_MeasureItem(HWND hWnd, LPMEASUREITEMSTRUCT lpmis)
Definition: shlmenu.c:558
HRESULT(CALLBACK * LPFNCDCOCALLBACK)(LPUNKNOWN pUnkOuter, REFIID riidObject, LPVOID *ppvObject)
Definition: undocshell.h:765
HRESULT WINAPI SHRevokeDragDrop(HWND hWnd)
Definition: shellord.c:774
HRESULT WINAPI SHGetComputerDisplayNameW(_In_opt_ LPWSTR pszServerName, _In_ DWORD dwFlags, _Out_writes_z_(cchNameMax) LPWSTR pszName, _In_ DWORD cchNameMax)
VOID WINAPI PathQualifyW(LPWSTR pszPath)
Definition: shellpath.c:969
BOOL WINAPI PathMakeUniqueNameAW(LPVOID lpszBuffer, DWORD dwBuffSize, LPCVOID lpszShortName, LPCVOID lpszLongName, LPCVOID lpszPathName)
Definition: shellpath.c:833
PWSTR WINAPI StrRStrW(_In_ PCWSTR pszSrc, _In_opt_ PCWSTR pszLast, _In_ PCWSTR pszSearch)
Definition: utils.cpp:72
LPVOID WINAPI PathAddBackslashAW(LPVOID path)
LRESULT WINAPI FileMenu_HandleMenuChar(HMENU hMenu, WPARAM wParam)
Definition: shlmenu.c:655
SHSTDAPI DisplayNameOfW(_In_ IShellFolder *psf, _In_ LPCITEMIDLIST pidl, _In_ DWORD dwFlags, _Out_ LPWSTR pszBuf, _In_ UINT cchBuf)
Definition: utils.cpp:409
VOID WINAPI ShellExec_RunDLLA(_In_opt_ HWND hwnd, _In_opt_ HINSTANCE hInstance, _In_ PCSTR pszCmdLine, _In_ INT nCmdShow)
Definition: shlexec.cpp:3160
BOOL WINAPI PathResolveA(LPSTR path, LPCSTR *dirs, DWORD flags)
Definition: shellpath.c:986
HICON WINAPI SHGetFileIcon(DWORD dwReserved, LPCSTR lpszPath, DWORD dwFileAttributes, UINT uFlags)
INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc)
Definition: iconcache.cpp:844
HRESULT(CALLBACK * PRIVILEGED_FUNCTION)(LPARAM lParam)
Definition: undocshell.h:864
BOOL WINAPI SHWaitForFileToOpen(LPCITEMIDLIST pidl, DWORD dwFlags, DWORD dwTimeout)
Definition: shellord.c:1977
HRESULT WINAPI SHUpdateRecycleBinIcon(void)
BOOL WINAPI FileMenu_DeleteItemByCmd(HMENU hMenu, UINT uID)
Definition: shlmenu.c:704
BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey)
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:2790
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:2857
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lphimlLarge, HIMAGELIST *lphimlSmall)
Definition: iconcache.cpp:689
HRESULT WINAPI SHILCreateFromPathA(LPCSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:391
struct SFVCOLUMNINFO * LPSFVCOLUMNINFO
NMRUNFILEDLGW NMRUNFILEDLG
Definition: undocshell.h:193
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:652
struct tagEXP_VISTA_ID_LIST EXP_VISTA_ID_LIST
HRESULT WINAPI SHInvokeCommandOnContextMenu(_In_opt_ HWND hWnd, _In_opt_ IUnknown *pUnk, _In_ IContextMenu *pCM, _In_ UINT fCMIC, _In_opt_ LPCSTR pszVerb)
Definition: utils.cpp:148
DWORD WINAPI SHNetConnectionDialog(HWND hwndOwner, LPCWSTR lpstrRemoteName, DWORD dwType)
Definition: stubs.cpp:596
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:684
int WINAPI SHOutOfMemoryMessageBox(HWND hwndOwner, LPCSTR lpCaption, UINT uType)
Definition: shellord.c:1956
void(CALLBACK * LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile)
Definition: undocshell.h:343
BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath)
LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile)
struct tagEXP_KNOWN_FOLDER EXP_KNOWN_FOLDER
struct _REGSHELLSTATE * PREGSHELLSTATE
VOID WINAPI PathQualifyAW(LPVOID path)
Definition: shellpath.c:978
BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR lpszBuffer, LPCWSTR lpszPathName, LPCWSTR lpszShortName, LPCWSTR lpszLongName)
Definition: shellpath.c:848
void WINAPI RunFileDlg(HWND hWndOwner, HICON hIcon, LPCWSTR lpstrDirectory, LPCWSTR lpstrTitle, LPCWSTR lpstrDescription, UINT uFlags)
Definition: dialogs.cpp:399
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:2746
_In_ LPCSTR lpFileName
Definition: winbase.h:3102
_In_ LPCSTR lpName
Definition: winbase.h:2820
_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:4630
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