ReactOS 0.4.16-dev-522-gb68104a
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#define WM_PROGMAN_SAVESTATE (WM_USER + 77)
62
63/****************************************************************************
64 * IDList Functions
65 */
67 LPCITEMIDLIST pidl,
68 LPVOID path);
69
70/* type parameter for ILGetDisplayNameEx() */
71#define ILGDN_FORPARSING 0
72#define ILGDN_NORMAL 1
73#define ILGDN_INFOLDER 2
74
76 LPSHELLFOLDER psf,
77 LPCITEMIDLIST pidl,
79 DWORD type);
80
85
88 LPITEMIDLIST * ppidl,
89 DWORD *attributes);
90
93 LPITEMIDLIST * ppidl,
94 DWORD *attributes);
95
97 HWND hWnd,
98 IShellFolder* lpFolder,
99 LPCITEMIDLIST lpApidl,
100 LPCSTR lpVerb);
104 _In_ IContextMenu* pCM,
105 _In_ UINT fCMIC,
106 _In_opt_ LPCSTR pszVerb);
108 _In_ IContextMenu *pContextMenu,
109 _In_ HWND hwnd,
110 _In_ LPCSTR lpVerb,
112
113/*
114 string functions
115*/
118
119/****************************************************************************
120 * SHChangeNotifyRegister API
121 */
122#define SHCNRF_InterruptLevel 0x0001
123#define SHCNRF_ShellLevel 0x0002
124#define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
125#define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
126
127/****************************************************************************
128 * SHChangeNotify
129 */
130
132{
134 // More info,,,
136
137//
138// Add missing types for print job notifications.
139//
140#define SHCNF_PRINTJOBA 0x0004
141#define SHCNF_PRINTJOBW 0x0007
142
144
145/****************************************************************************
146 * Shell Common Dialogs
147 */
148
149/* RunFileDlg flags */
150#define RFF_NOBROWSE 0x01 /* Removes the browse button */
151#define RFF_NODEFAULT 0x02 /* No default item selected */
152#define RFF_CALCDIRECTORY 0x04 /* Calculates the working directory from the file name */
153#define RFF_NOLABEL 0x08 /* Removes the edit box label */
154#define RFF_NOSEPARATEMEM 0x20 /* Removes the Separate Memory Space check box (Windows NT only) */
155
156/* RunFileFlg notification value and structure */
157#define RFN_VALIDATE (-510)
158#if 0 // Deprecated ANSI structure
159typedef struct _NMRUNFILEDLGA
160{
161 NMHDR hdr;
162 LPCSTR lpFile;
164 UINT nShow;
165} NMRUNFILEDLGA, *PNMRUNFILEDLGA, *LPNMRUNFILEDLGA;
166#endif
167typedef struct _NMRUNFILEDLGW
168{
174
178
179/* RunFileDlg notification return values */
180#define RF_OK 0x00
181#define RF_CANCEL 0x01
182#define RF_RETRY 0x02
183
184void WINAPI RunFileDlg(
185 HWND hWndOwner,
186 HICON hIcon,
187 LPCWSTR lpstrDirectory,
188 LPCWSTR lpstrTitle,
189 LPCWSTR lpstrDescription,
190 UINT uFlags);
191
192int WINAPI LogoffWindowsDialog(HWND hWndOwner);
193void WINAPI ExitWindowsDialog(HWND hWndOwner);
194
196 LPCITEMIDLIST pidlRoot,
197 LPCITEMIDLIST pidlSavedSearch);
198
199void WINAPI SHHandleDiskFull(HWND hwndOwner,
200 UINT uDrive);
201
203 HWND hwndOwner,
204 LPCSTR lpCaption,
205 UINT uType);
206
208
210 HWND hwndOwner,
211 LPCWSTR lpstrRemoteName,
212 DWORD dwType);
213
215
218 _Out_writes_to_(*puSize, *puSize) PWSTR pName,
219 _Inout_ PULONG puSize);
220
221/****************************************************************************
222 * Cabinet Window Messages
223 */
224
225#define CWM_SETPATH (WM_USER + 2)
226#define CWM_WANTIDLE (WM_USER + 3)
227#define CWM_GETSETCURRENTINFO (WM_USER + 4)
228#define CWM_SELECTITEM (WM_USER + 5)
229#define CWM_SELECTITEMSTR (WM_USER + 6)
230#define CWM_GETISHELLBROWSER (WM_USER + 7)
231#define CWM_TESTPATH (WM_USER + 9)
232#define CWM_STATECHANGE (WM_USER + 10)
233#define CWM_GETPATH (WM_USER + 12)
234
235#define WM_GETISHELLBROWSER CWM_GETISHELLBROWSER
236
237/* CWM_TESTPATH types */
238#define CWTP_ISEQUAL 0
239#define CWTP_ISCHILD 1
240
241/* CWM_TESTPATH structure */
242typedef struct
243{
247
248/****************************************************************************
249 * System Imagelist Routines
250 */
251
253 LPCSTR lpszFileName,
254 int nIconIndex,
255 UINT bSimulateDoc);
256
258 HIMAGELIST *lphimlLarge,
259 HIMAGELIST *lphimlSmall);
260
263 LPCSTR lpszPath,
265 UINT uFlags);
266
267BOOL WINAPI FileIconInit(BOOL bFullInit);
268
271 _In_ HANDLE hHandle,
273 _In_ WORD wIndex,
274 _Out_ LPWORD lpSize,
275 _Out_ LPHANDLE lpIcon);
276
279 _In_ HANDLE hHandle,
281 _In_ WORD wIndex,
282 _Out_ LPWORD lpSize,
283 _Out_ LPHANDLE lpIcon);
284
285/****************************************************************************
286 * File Menu Routines
287 */
288
289/* FileMenu_Create nSelHeight constants */
290#define FM_DEFAULT_SELHEIGHT -1
291#define FM_FULL_SELHEIGHT 0
292
293/* FileMenu_Create flags */
294#define FMF_SMALL_ICONS 0x00
295#define FMF_LARGE_ICONS 0x08
296#define FMF_NO_COLUMN_BREAK 0x10
297
299 COLORREF crBorderColor,
300 int nBorderWidth,
301 HBITMAP hBorderBmp,
302 int nSelHeight,
303 UINT uFlags);
304
305void WINAPI FileMenu_Destroy(HMENU hMenu);
306
307/* FileMenu_AppendItem constants */
308#define FM_SEPARATOR (LPCSTR)1
309#define FM_BLANK_ICON -1
310#define FM_DEFAULT_HEIGHT 0
311
313 HMENU hMenu,
314 LPCSTR lpszText,
315 UINT uID,
316 int iIcon,
317 HMENU hMenuPopup,
318 int nItemHeight);
319
320/* FileMenu_InsertUsingPidl flags */
321#define FMF_NO_EMPTY_ITEM 0x01
322#define FMF_NO_PROGRAM_GROUPS 0x04
323
324/* FileMenu_InsertUsingPidl callback function */
325typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
326
328 HMENU hMenu,
329 UINT uID,
330 LPCITEMIDLIST pidl,
331 UINT uFlags,
332 UINT uEnumFlags,
333 LPFNFMCALLBACK lpfnCallback);
334
336 HMENU hMenu,
337 UINT uID,
338 LPCITEMIDLIST pidl,
339 UINT uEnumFlags,
340 LPFNFMCALLBACK lpfnCallback);
341
343
345 HMENU hMenu,
346 LPCITEMIDLIST pidl);
347
349 HMENU hMenu,
350 UINT uFlags,
351 int x,
352 int y,
353 HWND hWnd,
354 LPTPMPARAMS lptpm);
355
357 UINT uReserved,
358 LPCITEMIDLIST *ppidlFolder,
359 LPCITEMIDLIST *ppidlItem);
360
362 HWND hWnd,
363 LPMEASUREITEMSTRUCT lpmis);
364
366 HWND hWnd,
367 LPDRAWITEMSTRUCT lpdis);
368
370
372
374 HMENU hMenu,
375 WPARAM wParam);
376
378
380 HMENU hMenu,
381 UINT uID);
382
384 HMENU hMenu,
385 UINT uPos);
386
388 HMENU hMenu,
389 UINT uID);
390
392
394 HMENU hMenu,
395 UINT uID,
396 BOOL bEnable);
397
399 HMENU hMenu,
400 UINT uPos);
401
403 HMENU hMenu,
404 LPCITEMIDLIST pidl,
405 BOOL bAddSeparator);
406
408 HMENU hMenu,
409 UINT uReserved,
410 UINT uID,
411 LPCITEMIDLIST pidl,
412 UINT uFlags,
413 UINT uEnumFlags,
414 LPFNFMCALLBACK lpfnCallback);
415
416/****************************************************************************
417 * Drag And Drop Routines
418 */
419
421 HWND hWnd,
422 LPDROPTARGET lpDropTarget);
423
425
427
429 HWND hWnd,
430 POINT pt);
431
433
434/****************************************************************************
435 * Path Manipulation Routines
436 */
437
438BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
439
440LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
441
443
445
447
449
451
453
455
457
459
461
463
465
467
469
471
473
475
477 LPVOID lpszBuffer,
478 DWORD dwBuffSize,
479 LPCVOID lpszShortName,
480 LPCVOID lpszLongName,
481 LPCVOID lpszPathName);
482
484 LPWSTR lpszBuffer,
485 LPCWSTR lpszPathName,
486 LPCWSTR lpszShortName,
487 LPCWSTR lpszLongName);
488
492
493/* PathResolve flags */
494#define PRF_CHECKEXISTANCE 0x01
495#define PRF_EXECUTABLE 0x02
496#define PRF_QUALIFYONPATH 0x04
497#define PRF_WINDOWS31 0x08
498
501BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
502
504
505/* PathProcessCommand flags */
506#define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
507#define PPCF_INCLUDEARGS 0x02
508//#define PPCF_NODIRECTORIES 0x10 move to shlobj
509#define PPCF_DONTRESOLVE 0x20
510#define PPCF_PATHISRELATIVE 0x40
511
513 DWORD dwBuffSize, DWORD dwFlags);
514
516
518
520
522
524
526
528
529BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2);
530
533
534/****************************************************************************
535 * Shell File Operations error codes - SHFileOperationA/W
536 */
537
538/* Error codes could be pre-Win32 */
539#define DE_SAMEFILE 0x71
540#define DE_MANYSRC1DEST 0x72
541#define DE_DIFFDIR 0x73
542#define DE_ROOTDIR 0x74
543#define DE_OPCANCELLED 0x75
544#define DE_DESTSUBTREE 0x76
545#define DE_ACCESSDENIEDSRC 0x78
546#define DE_PATHTOODEEP 0x79
547#define DE_MANYDEST 0x7A
548#define DE_INVALIDFILES 0x7C
549#define DE_DESTSAMETREE 0x7D
550#define DE_FLDDESTISFILE 0x7E
551#define DE_FILEDESTISFLD 0x80
552#define DE_FILENAMETOOLONG 0x81
553#define DE_DEST_IS_CDROM 0x82
554#define DE_DEST_IS_DVD 0x83
555#define DE_DEST_IS_CDRECORD 0x84
556#define DE_FILE_TOO_LARGE 0x85
557#define DE_SRC_IS_CDROM 0x86
558#define DE_SRC_IS_DVD 0x87
559#define DE_SRC_IS_CDRECORD 0x88
560// #define DE_ERROR_MAX
561#define ERRORONDEST 0x10000
562
563/****************************************************************************
564 * Shell settings
565 */
566
567typedef struct _REGSHELLSTATE
568{
572#define REGSHELLSTATE_SIZE 0x24
573#define REGSHELLSTATE_VERSION 0xD
575
576/****************************************************************************
577 * Shell Namespace Routines
578 */
579
580/* Generic structure used by several messages */
581typedef struct
582{
588typedef const SFVCBINFO * LPCSFVCBINFO;
589
590/* SFVCB_SELECTIONCHANGED structure */
591typedef struct
592{
599
600/* SFVCB_COPYHOOKCALLBACK structure */
601typedef struct
602{
612
613/* SFVCB_GETDETAILSOF structure */
614typedef struct
615{
617 int fmt;
618 int cx;
621
622/****************************************************************************
623 * Misc Stuff
624 */
625
627RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf);
628
629/* SHWaitForFileToOpen flags */
630#define SHWFF_ADD 0x01
631#define SHWFF_REMOVE 0x02
632#define SHWFF_WAIT 0x04
633
635 LPCITEMIDLIST pidl,
638
642 LPCRECT lpRect,
643 WORD cKids,
644 CONST HWND * lpKids);
645
646/* Flags for ShellExecCmdLine */
647#define SECL_NO_UI 0x2
648#define SECL_LOG_USAGE 0x8
649#define SECL_USE_IDLIST 0x10
650#define SECL_ALLOW_NONEXE 0x20
651#define SECL_RUNAS 0x40
652
654 HWND hwnd,
655 LPCWSTR pwszCommand,
656 LPCWSTR pwszStartDir,
657 int nShow,
658 LPVOID pUnused,
659 DWORD dwSeclFlags);
660
664 _In_opt_ LPCSTR lpOperation,
665 _In_opt_ LPCSTR lpFile,
666 _In_opt_ LPCSTR lpParameters,
668 _In_opt_ LPSTR lpReturn,
671 _In_ INT nCmdShow,
672 _Out_opt_ PHANDLE lphProcess);
673
677 _In_opt_ LPCWSTR lpOperation,
678 _In_opt_ LPCWSTR lpFile,
679 _In_opt_ LPCWSTR lpParameters,
681 _In_opt_ LPWSTR lpReturn,
684 _In_ INT nCmdShow,
685 _Out_opt_ PHANDLE lphProcess);
686
690 _In_opt_ LPCSTR lpOperation,
691 _In_opt_ LPCSTR lpFile,
692 _In_opt_ LPCSTR lpParameters,
694 _In_opt_ LPSTR lpReturn,
697 _In_ INT nCmdShow,
698 _Out_opt_ PHANDLE lphProcess,
700
704 _In_opt_ LPCWSTR lpOperation,
705 _In_opt_ LPCWSTR lpFile,
706 _In_opt_ LPCWSTR lpParameters,
708 _In_opt_ LPWSTR lpReturn,
711 _In_ INT nCmdShow,
712 _Out_opt_ PHANDLE lphProcess,
714
715/* RegisterShellHook types */
716#define RSH_DEREGISTER 0
717#define RSH_REGISTER 1
718#define RSH_REGISTER_PROGMAN 2
719#define RSH_REGISTER_TASKMAN 3
720
722 HWND hWnd,
723 DWORD dwType);
724
725/* SHCreateDefClassObject callback function */
727 LPUNKNOWN pUnkOuter,
728 REFIID riidObject,
730
732 REFIID riidFactory,
733 LPVOID *ppvFactory,
734 LPFNCDCOCALLBACK lpfnCallback,
735 LPDWORD lpdwUsage,
736 REFIID riidObject);
737
739
740/* SHCreateLinks flags */
741#define SHCLF_PREFIXNAME 0x01
742#define SHCLF_CREATEONDESKTOP 0x02
743
745 HWND hWnd,
746 LPCSTR lpszDir,
747 LPDATAOBJECT lpDataObject,
748 UINT uFlags,
749 LPITEMIDLIST *lppidlLinks);
750
753
754/* policy functions */
756
757#define CSIDL_FOLDER_MASK 0x00ff
758
759/* Utility functions */
760#include <stdio.h>
761
762#define SMC_EXEC 4
764
767HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv);
768
770 _In_ PCSTR psz,
771 _Out_ LPGUID pguid);
773 _In_ PCWSTR psz,
774 _Out_ LPGUID pguid);
775
778
779/* Flags for Int64ToString and LargeIntegerToString */
780#define FMT_USE_NUMDIGITS 0x01
781#define FMT_USE_LEADZERO 0x02
782#define FMT_USE_GROUPING 0x04
783#define FMT_USE_DECIMAL 0x08
784#define FMT_USE_THOUSAND 0x10
785#define FMT_USE_NEGNUMBER 0x20
786
789 _In_ LONGLONG llValue,
790 _Out_writes_z_(cchOut) LPWSTR pszOut,
791 _In_ UINT cchOut,
792 _In_ BOOL bUseFormat,
793 _In_opt_ const NUMBERFMTW *pNumberFormat,
794 _In_ DWORD dwNumberFlags);
795
798 _In_ const LARGE_INTEGER *pLargeInt,
799 _Out_writes_z_(cchOut) LPWSTR pszOut,
800 _In_ UINT cchOut,
801 _In_ BOOL bUseFormat,
802 _In_opt_ const NUMBERFMTW *pNumberFormat,
803 _In_ DWORD dwNumberFlags);
804
807 _In_ DWORD dwNumber,
808 _Out_writes_(0x8FFF) LPWSTR pszBuffer);
809
812
814
817 _In_z_ LPCWSTR pszName,
820
824
827 _In_ HWND hwnd,
830 _In_ INT cmdshow);
831
833
834/*****************************************************************************
835 * Shell32 resources
836 */
837// these resources are in shell32.dll
838#define IDB_GOBUTTON_NORMAL 0x0e6
839#define IDB_GOBUTTON_HOT 0x0e7
840
841// band ids in internet toolbar
842#define ITBBID_MENUBAND 1
843#define ITBBID_BRANDBAND 5
844#define ITBBID_TOOLSBAND 2
845#define ITBBID_ADDRESSBAND 4
846
847// commands in the CGID_PrivCITCommands command group handled by the internet toolbar
848// there seems to be some support for hiding the menubar and an auto hide feature that are
849// unavailable in the UI
850#define ITID_TEXTLABELS 3
851#define ITID_TOOLBARBANDSHOWN 4
852#define ITID_ADDRESSBANDSHOWN 5
853#define ITID_LINKSBANDSHOWN 6
854#define ITID_MENUBANDSHOWN 12
855#define ITID_AUTOHIDEENABLED 13
856#define ITID_CUSTOMIZEENABLED 20
857#define ITID_TOOLBARLOCKED 27
858
859// commands in the CGID_BrandCmdGroup command group handled by the brand band
860#define BBID_STARTANIMATION 1
861#define BBID_STOPANIMATION 2
862
863// undocumented flags for IShellMenu::SetShellFolder
864#define SMSET_UNKNOWN08 0x08
865#define SMSET_UNKNOWN10 0x10
866
867// explorer tray commands
868#define TRAYCMD_STARTMENU 305
869#define TRAYCMD_RUN_DIALOG 401
870#define TRAYCMD_LOGOFF_DIALOG 402
871#define TRAYCMD_CASCADE 403
872#define TRAYCMD_TILE_H 404
873#define TRAYCMD_TILE_V 405
874#define TRAYCMD_TOGGLE_DESKTOP 407
875#define TRAYCMD_DATE_AND_TIME 408
876#define TRAYCMD_TASKBAR_PROPERTIES 413
877#define TRAYCMD_MINIMIZE_ALL 415
878#define TRAYCMD_RESTORE_ALL 416
879#define TRAYCMD_SHOW_DESKTOP 419
880#define TRAYCMD_SHOW_TASK_MGR 420
881#define TRAYCMD_CUSTOMIZE_TASKBAR 421
882#define TRAYCMD_LOCK_TASKBAR 424
883#define TRAYCMD_HELP_AND_SUPPORT 503
884#define TRAYCMD_CONTROL_PANEL 505
885#define TRAYCMD_SHUTDOWN_DIALOG 506
886#define TRAYCMD_PRINTERS_AND_FAXES 510
887#define TRAYCMD_LOCK_DESKTOP 517
888#define TRAYCMD_SWITCH_USER_DIALOG 5000
889#define TRAYCMD_SEARCH_FILES 41093
890#define TRAYCMD_SEARCH_COMPUTERS 41094
891
892// Explorer Tray Application Bar Data Message Commands
893#define TABDMC_APPBAR 0
894#define TABDMC_NOTIFY 1
895#define TABDMC_LOADINPROC 2
896
897void WINAPI ShellDDEInit(BOOL bInit);
899
901
902HRESULT WINAPI SHCreateSessionKey(REGSAM samDesired, PHKEY phKey);
903
905 HKEY hkey,
906 LPCSTR lpValueName,
908 LPDWORD lpType,
909 LPBYTE lpData,
910 LPDWORD lpcbData);
912 HKEY hkey,
913 LPCWSTR pszValue,
915 LPDWORD pdwType,
918#ifdef UNICODE
919 #define SHRegQueryValueEx SHRegQueryValueExW
920#else
921 #define SHRegQueryValueEx SHRegQueryValueExA
922#endif
923
926 _In_ IStream *pSrc,
927 _Out_ IStream *pDst,
928 _Inout_opt_ IProgressDialog *pProgress,
929 _In_opt_ DWORDLONG dwlSize);
930
931/*****************************************************************************
932 * INVALID_FILETITLE_CHARACTERS
933 */
934
935#define INVALID_FILETITLE_CHARACTERSA "\\/:*?\"<>|"
936#define INVALID_FILETITLE_CHARACTERSW L"\\/:*?\"<>|"
937
938#ifdef UNICODE
939 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSW
940#else
941 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSA
942#endif
943
944/*****************************************************************************
945 * Shell Link
946 */
947#include <pshpack1.h>
948
950{
951 /* The size of this structure (always 0x0000004C) */
953 /* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
955 /* Flags (SHELL_LINK_DATA_FLAGS) */
957 /* Informations about the link target: */
962 DWORD nFileSizeLow; /* only the least significant 32 bits */
963 /* The index of an icon (signed?) */
965 /* The expected window state of an application launched by the link */
967 /* The keystrokes used to launch the application */
969 /* Reserved (must be zero) */
974
975/*****************************************************************************
976 * SHELL_LINK_INFOA/W
977 * If cbHeaderSize == 0x0000001C then use SHELL_LINK_INFOA
978 * If cbHeaderSize >= 0x00000024 then use SHELL_LINK_INFOW
979 */
981{
982 /* Size of the link info data */
984 /* Size of this structure (ANSI: = 0x0000001C) */
986 /* Specifies which fields are present/populated (SLI_*) */
988 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
990 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
992 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
994 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
997
999{
1000 /* Size of the link info data */
1002 /* Size of this structure (Unicode: >= 0x00000024) */
1004 /* Specifies which fields are present/populated (SLI_*) */
1006 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
1008 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
1010 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
1012 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
1014 /* Offset of the LocalBasePathUnicode field (Unicode, NULL-terminated string) */
1016 /* Offset of the CommonPathSuffixUnicode field (Unicode, NULL-terminated string) */
1019
1020/* VolumeID, LocalBasePath, LocalBasePathUnicode(cbHeaderSize >= 0x24) are present */
1021#define SLI_VALID_LOCAL 0x00000001
1022/* CommonNetworkRelativeLink is present */
1023#define SLI_VALID_NETWORK 0x00000002
1024
1025/*****************************************************************************
1026 * SHELL_LINK_INFO_VOLUME_IDA/W
1027 * If cbVolumeLabelOffset != 0x00000014 (should be 0x00000010) then use
1028 * SHELL_LINK_INFO_VOLUME_IDA
1029 * If cbVolumeLabelOffset == 0x00000014 then use SHELL_LINK_INFO_VOLUME_IDW
1030 */
1032{
1033 /* Size of the VolumeID field (> 0x00000010) */
1035 /* Drive type of the drive the link target is stored on (DRIVE_*) */
1037 /* Serial number of the volume the link target is stored on */
1039 /* Offset of the volume label (ANSI, NULL-terminated string).
1040 Must be != 0x00000014 (see tagSHELL_LINK_INFO_VOLUME_IDW) */
1043
1045{
1046 /* Size of the VolumeID field (> 0x00000010) */
1048 /* Drive type of the drive the link target is stored on (DRIVE_*) */
1050 /* Serial number of the volume the link target is stored on */
1052 /* Offset of the volume label (ANSI, NULL-terminated string).
1053 If the value of this field is 0x00000014, ignore it and use
1054 cbVolumeLabelUnicodeOffset! */
1056 /* Offset of the volume label (Unicode, NULL-terminated string).
1057 If the value of the VolumeLabelOffset field is not 0x00000014,
1058 this field must be ignored (==> it doesn't exists ==> ANSI). */
1061
1062/*****************************************************************************
1063 * SHELL_LINK_INFO_CNR_LINKA/W (CNR = Common Network Relative)
1064 * If cbNetNameOffset == 0x00000014 then use SHELL_LINK_INFO_CNR_LINKA
1065 * If cbNetNameOffset > 0x00000014 then use SHELL_LINK_INFO_CNR_LINKW
1066 */
1068{
1069 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
1071 /* Specifies which fields are present/populated (SLI_CNR_*) */
1073 /* Offset of the NetName field (ANSI, NULL–terminated string) */
1075 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
1077 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
1080
1082{
1083 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
1085 /* Specifies which fields are present/populated (SLI_CNR_*) */
1087 /* Offset of the NetName field (ANSI, NULL–terminated string) */
1089 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
1091 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
1093 /* Offset of the NetNameUnicode field (Unicode, NULL–terminated string) */
1095 /* Offset of the DeviceNameUnicode field (Unicode, NULL–terminated string) */
1098
1099/* DeviceName is present */
1100#define SLI_CNR_VALID_DEVICE 0x00000001
1101/* NetworkProviderType is present */
1102#define SLI_CNR_VALID_NET_TYPE 0x00000002
1103
1104/*****************************************************************************
1105 * Shell Link Extra Data (IShellLinkDataList)
1106 */
1107typedef struct tagEXP_TRACKER
1108{
1109 /* .cbSize = 0x00000060, .dwSignature = 0xa0000003 */
1111 /* Length >= 0x00000058 */
1113 /* Must be 0x00000000 */
1115 /* NetBIOS name (ANSI, unused bytes are set to zero) */
1116 CHAR szMachineID[16]; /* "variable" >= 16 (?) */
1117 /* Some GUIDs for the Link Tracking service (from the FS?) */
1123
1124typedef struct tagEXP_SHIM
1125{
1126 /* .cbSize >= 0x00000088, .dwSignature = 0xa0000008 */
1128 /* Name of a shim layer to apply (Unicode, unused bytes are set to zero) */
1129 WCHAR szwLayerName[64]; /* "variable" >= 64 */
1131
1133{
1134 /* .cbSize = 0x0000001c, .dwSignature = 0xa000000b */
1136 /* A GUID value that identifies a known folder */
1138 /* Specifies the location of the ItemID of the first child
1139 segment of the IDList specified by guidKnownFolder */
1142
1144{
1145 /* .cbSize >= 0x0000000a, .dwSignature = 0xa000000c */
1147 /* Specifies an alternate IDList that can be used instead
1148 of the "normal" IDList (SLDF_HAS_ID_LIST) */
1149 /* LPITEMIDLIST pIDList; (variable) */
1151
1152#define EXP_TRACKER_SIG 0xa0000003
1153#define EXP_SHIM_SIG 0xa0000008
1154#define EXP_KNOWN_FOLDER_SIG 0xa000000b
1155#define EXP_VISTA_ID_LIST_SIG 0xa000000c
1156
1157/* Not compatible yet */
1159{
1165
1166#include <poppack.h>
1167
1168#ifdef __cplusplus
1169} /* extern "C" */
1170#endif /* defined(__cplusplus) */
1171
1172#endif /* __WINE_UNDOCSHELL_H */
DWORD dwFileAttributes
#define ShellExecCmdLine
static DWORD const LPVOID const lpReserved
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
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
_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:245
LPDWORD lpdwUser
Definition: undocshell.h:586
DWORD dwReserved
Definition: undocshell.h:583
LPCITEMIDLIST pidl
Definition: undocshell.h:585
DWORD dwReserved2
Definition: undocshell.h:584
LPCITEMIDLIST pidl
Definition: undocshell.h:616
STRRET lpText
Definition: undocshell.h:619
DWORD dwDestAttribs
Definition: undocshell.h:609
DWORD dwSrcAttribs
Definition: undocshell.h:607
LPCSTR pszSrcFile
Definition: undocshell.h:606
LPCSTR pszDestFile
Definition: undocshell.h:608
LPCITEMIDLIST pidl
Definition: undocshell.h:595
LPDWORD lpdwUser
Definition: undocshell.h:596
LPCWSTR lpFile
Definition: undocshell.h:170
LPCWSTR lpDirectory
Definition: undocshell.h:171
SHELLSTATE ss
Definition: undocshell.h:570
DATABLOCK_HEADER dbh
Definition: undocshell.h:1135
WCHAR szwLayerName[64]
Definition: undocshell.h:1129
DATABLOCK_HEADER dbh
Definition: undocshell.h:1127
CHAR szMachineID[16]
Definition: undocshell.h:1116
GUID guidDroidObject
Definition: undocshell.h:1119
DATABLOCK_HEADER dbh
Definition: undocshell.h:1110
GUID guidDroidBirthVolume
Definition: undocshell.h:1120
GUID guidDroidVolume
Definition: undocshell.h:1118
GUID guidDroidBirthObject
Definition: undocshell.h:1121
DATABLOCK_HEADER dbh
Definition: undocshell.h:1146
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
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:1745
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:741
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:855
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:588
VOID WINAPI PathQualifyA(LPSTR pszPath)
Definition: shellpath.c:808
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: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:2965
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:738
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:509
LPWSTR WINAPI ShortSizeFormatW(_In_ DWORD dwNumber, _Out_writes_(0x8FFF) LPWSTR pszBuffer)
Definition: utils.cpp:587
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:1727
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:572
struct tagSHELL_LINK_INFOA * LPSHELL_LINK_INFOA
HRESULT WINAPI SHCreatePropertyBag(_In_ REFIID riid, _Out_ void **ppvObj)
Definition: utils.cpp:794
VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath)
LPNMRUNFILEDLGW LPNMRUNFILEDLG
Definition: undocshell.h:177
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:176
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:201
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:792
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:611
BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2)
Definition: utils.cpp:1296
struct tagSHELL_LINK_INFO_VOLUME_IDA SHELL_LINK_INFO_VOLUME_IDA
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
Definition: shellord.c:2673
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:1530
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:259
void WINAPI SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
Definition: stubs.cpp:736
HRESULT WINAPI SHShouldShowWizards(_In_ IUnknown *pUnknown)
Definition: utils.cpp:133
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:1043
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:804
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:2935
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:598
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:960
VOID WINAPI CheckEscapesW(LPWSTR string, DWORD len)
Definition: shellstring.c:252
BOOL WINAPI FileIconInit(BOOL bFullInit)
Definition: shellord.c:1888
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW(LPCWSTR lpszPath)
Definition: pidl.c:1238
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:1796
HRESULT WINAPI SHInvokeCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl, LPCSTR lpVerb)
BOOL WINAPI DAD_SetDragImageFromListView(HWND hWnd, POINT pt)
Definition: stubs.cpp:725
LPWSTR WINAPI SheRemoveQuotesW(LPWSTR psz)
Definition: utils.cpp:829
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:1161
DWORD WINAPI SHGetUserSessionId(_In_opt_ HANDLE hToken)
Definition: utils.cpp:607
LRESULT WINAPI FileMenu_MeasureItem(HWND hWnd, LPMEASUREITEMSTRUCT lpmis)
Definition: shlmenu.c:558
HRESULT(CALLBACK * LPFNCDCOCALLBACK)(LPUNKNOWN pUnkOuter, REFIID riidObject, LPVOID *ppvObject)
Definition: undocshell.h:726
HRESULT WINAPI SHRevokeDragDrop(HWND hWnd)
Definition: shellord.c:773
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:813
BOOL WINAPI SHWaitForFileToOpen(LPCITEMIDLIST pidl, DWORD dwFlags, DWORD dwTimeout)
Definition: shellord.c:1976
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:55
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:2801
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:2868
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lphimlLarge, HIMAGELIST *lphimlSmall)
Definition: iconcache.cpp:683
HRESULT WINAPI SHILCreateFromPathA(LPCSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:391
struct SFVCOLUMNINFO * LPSFVCOLUMNINFO
NMRUNFILEDLGW NMRUNFILEDLG
Definition: undocshell.h:175
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:566
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:155
DWORD WINAPI SHNetConnectionDialog(HWND hwndOwner, LPCWSTR lpstrRemoteName, DWORD dwType)
Definition: stubs.cpp:712
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:598
int WINAPI SHOutOfMemoryMessageBox(HWND hwndOwner, LPCSTR lpCaption, UINT uType)
Definition: shellord.c:1955
void(CALLBACK * LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile)
Definition: undocshell.h:325
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: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:2740
_In_ LPCSTR lpFileName
Definition: winbase.h:3096
_In_ LPCSTR lpName
Definition: winbase.h:2814
_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:4622
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