ReactOS 0.4.15-dev-7674-gc0b4db1
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
27#if (NTDDI_VERSION < NTDDI_LONGHORN)
28#define DBIMF_NOGRIPPER 0x0800
29#define DBIMF_ALWAYSGRIPPER 0x1000
30#define DBIMF_NOMARGINS 0x2000
31#endif // NTDDI_LONGHORN
32
33#if defined (_SHELLAPI_H) || defined (_INC_SHELLAPI)
34
35/****************************************************************************
36 * Taskbar interface WM_COPYDATA structures
37 * See http://www.geoffchappell.com/studies/windows/shell/shell32/api/shlnot/copydata.htm
38 */
39/* Data structure for Shell_NotifyIcon messages */
40typedef struct _TRAYNOTIFYDATAW
41{
42 DWORD dwSignature;
43 DWORD dwMessage;
44 NOTIFYICONDATAW nid; // Always use the latest NOTIFYICONDATAW structure version.
45} TRAYNOTIFYDATAW, *PTRAYNOTIFYDATAW;
46// Note: One could also introduce TRAYNOTIFYDATAA
47
48#define NI_NOTIFY_SIG 0x34753423 /* TRAYNOTIFYDATA */
49
50#endif /* defined (_SHELLAPI_H) || defined (_INC_SHELLAPI) */
51
52
53/****************************************************************************
54 * Taskbar WM_COMMAND identifiers
55 */
56#define TWM_DOEXITWINDOWS (WM_USER + 342)
57#define TWM_CYCLEFOCUS (WM_USER + 348)
58
59
60/****************************************************************************
61 * IDList Functions
62 */
64 LPCITEMIDLIST pidl,
65 LPVOID path);
66
67/* type parameter for ILGetDisplayNameEx() */
68#define ILGDN_FORPARSING 0
69#define ILGDN_NORMAL 1
70#define ILGDN_INFOLDER 2
71
73 LPSHELLFOLDER psf,
74 LPCITEMIDLIST pidl,
76 DWORD type);
77
82
85 LPITEMIDLIST * ppidl,
86 DWORD *attributes);
87
90 LPITEMIDLIST * ppidl,
91 DWORD *attributes);
92
93/*
94 string functions
95*/
98
99
100/****************************************************************************
101 * SHChangeNotifyRegister API
102 */
103#define SHCNRF_InterruptLevel 0x0001
104#define SHCNRF_ShellLevel 0x0002
105#define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
106#define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
107
108/****************************************************************************
109 * SHChangeNotify
110 */
111
113{
115 // More info,,,
117
118//
119// Add missing types for print job notifications.
120//
121#define SHCNF_PRINTJOBA 0x0004
122#define SHCNF_PRINTJOBW 0x0007
123
124
125/****************************************************************************
126 * Shell Common Dialogs
127 */
128
129/* RunFileDlg flags */
130#define RFF_NOBROWSE 0x01 /* Removes the browse button */
131#define RFF_NODEFAULT 0x02 /* No default item selected */
132#define RFF_CALCDIRECTORY 0x04 /* Calculates the working directory from the file name */
133#define RFF_NOLABEL 0x08 /* Removes the edit box label */
134#define RFF_NOSEPARATEMEM 0x20 /* Removes the Separate Memory Space check box (Windows NT only) */
135
136/* RunFileFlg notification value and structure */
137#define RFN_VALIDATE (-510)
138#if 0 // Deprecated ANSI structure
139typedef struct _NMRUNFILEDLGA
140{
141 NMHDR hdr;
142 LPCSTR lpFile;
144 UINT nShow;
145} NMRUNFILEDLGA, *PNMRUNFILEDLGA, *LPNMRUNFILEDLGA;
146#endif
147typedef struct _NMRUNFILEDLGW
148{
154
158
159/* RunFileDlg notification return values */
160#define RF_OK 0x00
161#define RF_CANCEL 0x01
162#define RF_RETRY 0x02
163
164void WINAPI RunFileDlg(
165 HWND hWndOwner,
166 HICON hIcon,
167 LPCWSTR lpstrDirectory,
168 LPCWSTR lpstrTitle,
169 LPCWSTR lpstrDescription,
170 UINT uFlags);
171
172int WINAPI LogoffWindowsDialog(HWND hWndOwner);
173void WINAPI ExitWindowsDialog(HWND hWndOwner);
174
176 LPCITEMIDLIST pidlRoot,
177 LPCITEMIDLIST pidlSavedSearch);
178
179void WINAPI SHHandleDiskFull(HWND hwndOwner,
180 UINT uDrive);
181
183 HWND hwndOwner,
184 LPCSTR lpCaption,
185 UINT uType);
186
188 HWND hwndOwner,
189 LPCWSTR lpstrRemoteName,
190 DWORD dwType);
191
193
194/****************************************************************************
195 * Cabinet Window Messages
196 */
197
198#define CWM_SETPATH (WM_USER + 2)
199#define CWM_WANTIDLE (WM_USER + 3)
200#define CWM_GETSETCURRENTINFO (WM_USER + 4)
201#define CWM_SELECTITEM (WM_USER + 5)
202#define CWM_SELECTITEMSTR (WM_USER + 6)
203#define CWM_GETISHELLBROWSER (WM_USER + 7)
204#define CWM_TESTPATH (WM_USER + 9)
205#define CWM_STATECHANGE (WM_USER + 10)
206#define CWM_GETPATH (WM_USER + 12)
207
208#define WM_GETISHELLBROWSER CWM_GETISHELLBROWSER
209
210/* CWM_TESTPATH types */
211#define CWTP_ISEQUAL 0
212#define CWTP_ISCHILD 1
213
214/* CWM_TESTPATH structure */
215typedef struct
216{
220
221/****************************************************************************
222 * System Imagelist Routines
223 */
224
226 LPCSTR lpszFileName,
227 int nIconIndex,
228 UINT bSimulateDoc);
229
231 HIMAGELIST *lphimlLarge,
232 HIMAGELIST *lphimlSmall);
233
236 LPCSTR lpszPath,
238 UINT uFlags);
239
240BOOL WINAPI FileIconInit(BOOL bFullInit);
241
244 _In_ HANDLE hHandle,
246 _In_ WORD wIndex,
247 _Out_ LPWORD lpSize,
248 _Out_ LPHANDLE lpIcon);
249
252 _In_ HANDLE hHandle,
254 _In_ WORD wIndex,
255 _Out_ LPWORD lpSize,
256 _Out_ LPHANDLE lpIcon);
257
258/****************************************************************************
259 * File Menu Routines
260 */
261/* FileMenu_Create nSelHeight constants */
262#define FM_DEFAULT_SELHEIGHT -1
263#define FM_FULL_SELHEIGHT 0
264
265/* FileMenu_Create flags */
266#define FMF_SMALL_ICONS 0x00
267#define FMF_LARGE_ICONS 0x08
268#define FMF_NO_COLUMN_BREAK 0x10
269
271 COLORREF crBorderColor,
272 int nBorderWidth,
273 HBITMAP hBorderBmp,
274 int nSelHeight,
275 UINT uFlags);
276
277void WINAPI FileMenu_Destroy(HMENU hMenu);
278
279/* FileMenu_AppendItem constants */
280#define FM_SEPARATOR (LPCSTR)1
281#define FM_BLANK_ICON -1
282#define FM_DEFAULT_HEIGHT 0
283
285 HMENU hMenu,
286 LPCSTR lpszText,
287 UINT uID,
288 int iIcon,
289 HMENU hMenuPopup,
290 int nItemHeight);
291
292/* FileMenu_InsertUsingPidl flags */
293#define FMF_NO_EMPTY_ITEM 0x01
294#define FMF_NO_PROGRAM_GROUPS 0x04
295
296/* FileMenu_InsertUsingPidl callback function */
297typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
298
300 HMENU hMenu,
301 UINT uID,
302 LPCITEMIDLIST pidl,
303 UINT uFlags,
304 UINT uEnumFlags,
305 LPFNFMCALLBACK lpfnCallback);
306
308 HMENU hMenu,
309 UINT uID,
310 LPCITEMIDLIST pidl,
311 UINT uEnumFlags,
312 LPFNFMCALLBACK lpfnCallback);
313
315
317 HMENU hMenu,
318 LPCITEMIDLIST pidl);
319
321 HMENU hMenu,
322 UINT uFlags,
323 int x,
324 int y,
325 HWND hWnd,
326 LPTPMPARAMS lptpm);
327
329 UINT uReserved,
330 LPCITEMIDLIST *ppidlFolder,
331 LPCITEMIDLIST *ppidlItem);
332
334 HWND hWnd,
335 LPMEASUREITEMSTRUCT lpmis);
336
338 HWND hWnd,
339 LPDRAWITEMSTRUCT lpdis);
340
342
344
346 HMENU hMenu,
347 WPARAM wParam);
348
350
352 HMENU hMenu,
353 UINT uID);
354
356 HMENU hMenu,
357 UINT uPos);
358
360 HMENU hMenu,
361 UINT uID);
362
364
366 HMENU hMenu,
367 UINT uID,
368 BOOL bEnable);
369
371 HMENU hMenu,
372 UINT uPos);
373
375 HMENU hMenu,
376 LPCITEMIDLIST pidl,
377 BOOL bAddSeparator);
378
380 HMENU hMenu,
381 UINT uReserved,
382 UINT uID,
383 LPCITEMIDLIST pidl,
384 UINT uFlags,
385 UINT uEnumFlags,
386 LPFNFMCALLBACK lpfnCallback);
387
388/****************************************************************************
389 * Drag And Drop Routines
390 */
391
393 HWND hWnd,
394 LPDROPTARGET lpDropTarget);
395
397
399
401 HWND hWnd,
402 POINT pt);
403
405
406/****************************************************************************
407 * Path Manipulation Routines
408 */
409
410BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
411
412LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
413
415
417
419
421
423
425
427
429
431
433
435
437
439
441
443
445
447
449 LPVOID lpszBuffer,
450 DWORD dwBuffSize,
451 LPCVOID lpszShortName,
452 LPCVOID lpszLongName,
453 LPCVOID lpszPathName);
454
456 LPWSTR lpszBuffer,
457 LPCWSTR lpszPathName,
458 LPCWSTR lpszShortName,
459 LPCWSTR lpszLongName);
460
464
465/* PathResolve flags */
466#define PRF_CHECKEXISTANCE 0x01
467#define PRF_EXECUTABLE 0x02
468#define PRF_QUALIFYONPATH 0x04
469#define PRF_WINDOWS31 0x08
470
473BOOL WINAPI PathResolveAW(LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags);
474
476
477/* PathProcessCommand flags */
478#define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
479#define PPCF_INCLUDEARGS 0x02
480//#define PPCF_NODIRECTORIES 0x10 move to shlobj
481#define PPCF_DONTRESOLVE 0x20
482#define PPCF_PATHISRELATIVE 0x40
483
485 DWORD dwBuffSize, DWORD dwFlags);
486
488
490
492
494
496
498
500
501BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2);
502
505
506/****************************************************************************
507 * Shell File Operations error codes - SHFileOperationA/W
508 */
509
510/* Error codes could be pre-Win32 */
511#define DE_SAMEFILE 0x71
512#define DE_MANYSRC1DEST 0x72
513#define DE_DIFFDIR 0x73
514#define DE_ROOTDIR 0x74
515#define DE_OPCANCELLED 0x75
516#define DE_DESTSUBTREE 0x76
517#define DE_ACCESSDENIEDSRC 0x78
518#define DE_PATHTOODEEP 0x79
519#define DE_MANYDEST 0x7A
520#define DE_INVALIDFILES 0x7C
521#define DE_DESTSAMETREE 0x7D
522#define DE_FLDDESTISFILE 0x7E
523#define DE_FILEDESTISFLD 0x80
524#define DE_FILENAMETOOLONG 0x81
525#define DE_DEST_IS_CDROM 0x82
526#define DE_DEST_IS_DVD 0x83
527#define DE_DEST_IS_CDRECORD 0x84
528#define DE_FILE_TOO_LARGE 0x85
529#define DE_SRC_IS_CDROM 0x86
530#define DE_SRC_IS_DVD 0x87
531#define DE_SRC_IS_CDRECORD 0x88
532// #define DE_ERROR_MAX
533#define ERRORONDEST 0x10000
534
535/****************************************************************************
536 * Shell Namespace Routines
537 */
538
539/* Generic structure used by several messages */
540typedef struct
541{
547typedef const SFVCBINFO * LPCSFVCBINFO;
548
549/* SFVCB_SELECTIONCHANGED structure */
550typedef struct
551{
558
559/* SFVCB_COPYHOOKCALLBACK structure */
560typedef struct
561{
571
572/* SFVCB_GETDETAILSOF structure */
573typedef struct
574{
576 int fmt;
577 int cx;
580
581/****************************************************************************
582 * Misc Stuff
583 */
584
586RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf);
587
588/* SHWaitForFileToOpen flags */
589#define SHWFF_ADD 0x01
590#define SHWFF_REMOVE 0x02
591#define SHWFF_WAIT 0x04
592
594 LPCITEMIDLIST pidl,
597
601 LPCRECT lpRect,
602 WORD cKids,
603 CONST HWND * lpKids);
604
605/* Flags for ShellExecCmdLine */
606#define SECL_NO_UI 0x2
607#define SECL_LOG_USAGE 0x8
608#define SECL_USE_IDLIST 0x10
609#define SECL_ALLOW_NONEXE 0x20
610#define SECL_RUNAS 0x40
611
613 HWND hwnd,
614 LPCWSTR pwszCommand,
615 LPCWSTR pwszStartDir,
616 int nShow,
617 LPVOID pUnused,
618 DWORD dwSeclFlags);
619
620/* RegisterShellHook types */
621#define RSH_DEREGISTER 0
622#define RSH_REGISTER 1
623#define RSH_REGISTER_PROGMAN 2
624#define RSH_REGISTER_TASKMAN 3
625
627 HWND hWnd,
628 DWORD dwType);
629
630/* SHCreateDefClassObject callback function */
632 LPUNKNOWN pUnkOuter,
633 REFIID riidObject,
635
637 REFIID riidFactory,
638 LPVOID *ppvFactory,
639 LPFNCDCOCALLBACK lpfnCallback,
640 LPDWORD lpdwUsage,
641 REFIID riidObject);
642
644
645/* SHCreateLinks flags */
646#define SHCLF_PREFIXNAME 0x01
647#define SHCLF_CREATEONDESKTOP 0x02
648
650 HWND hWnd,
651 LPCSTR lpszDir,
652 LPDATAOBJECT lpDataObject,
653 UINT uFlags,
654 LPITEMIDLIST *lppidlLinks);
655
658
659/* policy functions */
661
662#define CSIDL_FOLDER_MASK 0x00ff
663
664/* Utility functions */
665#include <stdio.h>
666
667#define SMC_EXEC 4
669
672HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv);
673
675 _In_ PCWSTR psz,
676 _Out_ LPGUID pguid
677 );
678
681
682/* Flags for Int64ToString and LargeIntegerToString */
683#define FMT_USE_NUMDIGITS 0x01
684#define FMT_USE_LEADZERO 0x02
685#define FMT_USE_GROUPING 0x04
686#define FMT_USE_DECIMAL 0x08
687#define FMT_USE_THOUSAND 0x10
688#define FMT_USE_NEGNUMBER 0x20
689
692 _In_ LONGLONG llValue,
693 _Out_writes_z_(cchOut) LPWSTR pszOut,
694 _In_ UINT cchOut,
695 _In_ BOOL bUseFormat,
696 _In_opt_ const NUMBERFMTW *pNumberFormat,
697 _In_ DWORD dwNumberFlags);
698
701 _In_ const LARGE_INTEGER *pLargeInt,
702 _Out_writes_z_(cchOut) LPWSTR pszOut,
703 _In_ UINT cchOut,
704 _In_ BOOL bUseFormat,
705 _In_opt_ const NUMBERFMTW *pNumberFormat,
706 _In_ DWORD dwNumberFlags);
707
710 _In_ DWORD dwNumber,
711 _Out_writes_(0x8FFF) LPWSTR pszBuffer);
712
715
717
720 _In_z_ LPCWSTR pszName,
723
727
730 _In_ HWND hwnd,
733 _In_ INT cmdshow);
734
735/*****************************************************************************
736 * Shell32 resources
737 */
738// these resources are in shell32.dll
739#define IDB_GOBUTTON_NORMAL 0x0e6
740#define IDB_GOBUTTON_HOT 0x0e7
741
742// band ids in internet toolbar
743#define ITBBID_MENUBAND 1
744#define ITBBID_BRANDBAND 5
745#define ITBBID_TOOLSBAND 2
746#define ITBBID_ADDRESSBAND 4
747
748// commands in the CGID_PrivCITCommands command group handled by the internet toolbar
749// there seems to be some support for hiding the menubar and an auto hide feature that are
750// unavailable in the UI
751#define ITID_TEXTLABELS 3
752#define ITID_TOOLBARBANDSHOWN 4
753#define ITID_ADDRESSBANDSHOWN 5
754#define ITID_LINKSBANDSHOWN 6
755#define ITID_MENUBANDSHOWN 12
756#define ITID_AUTOHIDEENABLED 13
757#define ITID_CUSTOMIZEENABLED 20
758#define ITID_TOOLBARLOCKED 27
759
760// commands in the CGID_BrandCmdGroup command group handled by the brand band
761#define BBID_STARTANIMATION 1
762#define BBID_STOPANIMATION 2
763
764// undocumented flags for IShellMenu::SetShellFolder
765#define SMSET_UNKNOWN08 0x08
766#define SMSET_UNKNOWN10 0x10
767
768// explorer tray commands
769#define TRAYCMD_STARTMENU 305
770#define TRAYCMD_RUN_DIALOG 401
771#define TRAYCMD_LOGOFF_DIALOG 402
772#define TRAYCMD_CASCADE 403
773#define TRAYCMD_TILE_H 404
774#define TRAYCMD_TILE_V 405
775#define TRAYCMD_TOGGLE_DESKTOP 407
776#define TRAYCMD_DATE_AND_TIME 408
777#define TRAYCMD_TASKBAR_PROPERTIES 413
778#define TRAYCMD_MINIMIZE_ALL 415
779#define TRAYCMD_RESTORE_ALL 416
780#define TRAYCMD_SHOW_DESKTOP 419
781#define TRAYCMD_SHOW_TASK_MGR 420
782#define TRAYCMD_CUSTOMIZE_TASKBAR 421
783#define TRAYCMD_LOCK_TASKBAR 424
784#define TRAYCMD_HELP_AND_SUPPORT 503
785#define TRAYCMD_CONTROL_PANEL 505
786#define TRAYCMD_SHUTDOWN_DIALOG 506
787#define TRAYCMD_PRINTERS_AND_FAXES 510
788#define TRAYCMD_LOCK_DESKTOP 517
789#define TRAYCMD_SWITCH_USER_DIALOG 5000
790#define TRAYCMD_SEARCH_FILES 41093
791#define TRAYCMD_SEARCH_COMPUTERS 41094
792
793// Explorer Tray Application Bar Data Message Commands
794#define TABDMC_APPBAR 0
795#define TABDMC_NOTIFY 1
796#define TABDMC_LOADINPROC 2
797
798void WINAPI ShellDDEInit(BOOL bInit);
800
802
804
806 HKEY hkey,
807 LPCSTR lpValueName,
808 LPDWORD lpReserved,
809 LPDWORD lpType,
810 LPBYTE lpData,
811 LPDWORD lpcbData);
813 HKEY hkey,
814 LPCWSTR pszValue,
816 LPDWORD pdwType,
819#ifdef UNICODE
820 #define SHRegQueryValueEx SHRegQueryValueExW
821#else
822 #define SHRegQueryValueEx SHRegQueryValueExA
823#endif
824
828 _In_ IStream *pSrc,
829 _Out_ IStream *pDst,
830 _Inout_opt_ IProgressDialog *pProgress,
831 _In_opt_ DWORDLONG dwlSize);
832
833/*****************************************************************************
834 * INVALID_FILETITLE_CHARACTERS
835 */
836
837#define INVALID_FILETITLE_CHARACTERSA "\\/:*?\"<>|"
838#define INVALID_FILETITLE_CHARACTERSW L"\\/:*?\"<>|"
839
840#ifdef UNICODE
841 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSW
842#else
843 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSA
844#endif
845
846/*****************************************************************************
847 * Shell Link
848 */
849#include <pshpack1.h>
850
852{
853 /* The size of this structure (always 0x0000004C) */
855 /* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
857 /* Flags (SHELL_LINK_DATA_FLAGS) */
859 /* Informations about the link target: */
864 DWORD nFileSizeLow; /* only the least significant 32 bits */
865 /* The index of an icon (signed?) */
867 /* The expected window state of an application launched by the link */
869 /* The keystrokes used to launch the application */
871 /* Reserved (must be zero) */
876
877/*****************************************************************************
878 * SHELL_LINK_INFOA/W
879 * If cbHeaderSize == 0x0000001C then use SHELL_LINK_INFOA
880 * If cbHeaderSize >= 0x00000024 then use SHELL_LINK_INFOW
881 */
883{
884 /* Size of the link info data */
886 /* Size of this structure (ANSI: = 0x0000001C) */
888 /* Specifies which fields are present/populated (SLI_*) */
890 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
892 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
894 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
896 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
899
901{
902 /* Size of the link info data */
904 /* Size of this structure (Unicode: >= 0x00000024) */
906 /* Specifies which fields are present/populated (SLI_*) */
908 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
910 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
912 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
914 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
916 /* Offset of the LocalBasePathUnicode field (Unicode, NULL-terminated string) */
918 /* Offset of the CommonPathSuffixUnicode field (Unicode, NULL-terminated string) */
921
922/* VolumeID, LocalBasePath, LocalBasePathUnicode(cbHeaderSize >= 0x24) are present */
923#define SLI_VALID_LOCAL 0x00000001
924/* CommonNetworkRelativeLink is present */
925#define SLI_VALID_NETWORK 0x00000002
926
927/*****************************************************************************
928 * SHELL_LINK_INFO_VOLUME_IDA/W
929 * If cbVolumeLabelOffset != 0x00000014 (should be 0x00000010) then use
930 * SHELL_LINK_INFO_VOLUME_IDA
931 * If cbVolumeLabelOffset == 0x00000014 then use SHELL_LINK_INFO_VOLUME_IDW
932 */
934{
935 /* Size of the VolumeID field (> 0x00000010) */
937 /* Drive type of the drive the link target is stored on (DRIVE_*) */
939 /* Serial number of the volume the link target is stored on */
941 /* Offset of the volume label (ANSI, NULL-terminated string).
942 Must be != 0x00000014 (see tagSHELL_LINK_INFO_VOLUME_IDW) */
945
947{
948 /* Size of the VolumeID field (> 0x00000010) */
950 /* Drive type of the drive the link target is stored on (DRIVE_*) */
952 /* Serial number of the volume the link target is stored on */
954 /* Offset of the volume label (ANSI, NULL-terminated string).
955 If the value of this field is 0x00000014, ignore it and use
956 cbVolumeLabelUnicodeOffset! */
958 /* Offset of the volume label (Unicode, NULL-terminated string).
959 If the value of the VolumeLabelOffset field is not 0x00000014,
960 this field must be ignored (==> it doesn't exists ==> ANSI). */
963
964/*****************************************************************************
965 * SHELL_LINK_INFO_CNR_LINKA/W (CNR = Common Network Relative)
966 * If cbNetNameOffset == 0x00000014 then use SHELL_LINK_INFO_CNR_LINKA
967 * If cbNetNameOffset > 0x00000014 then use SHELL_LINK_INFO_CNR_LINKW
968 */
970{
971 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
973 /* Specifies which fields are present/populated (SLI_CNR_*) */
975 /* Offset of the NetName field (ANSI, NULL–terminated string) */
977 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
979 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
982
984{
985 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
987 /* Specifies which fields are present/populated (SLI_CNR_*) */
989 /* Offset of the NetName field (ANSI, NULL–terminated string) */
991 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
993 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
995 /* Offset of the NetNameUnicode field (Unicode, NULL–terminated string) */
997 /* Offset of the DeviceNameUnicode field (Unicode, NULL–terminated string) */
1000
1001/* DeviceName is present */
1002#define SLI_CNR_VALID_DEVICE 0x00000001
1003/* NetworkProviderType is present */
1004#define SLI_CNR_VALID_NET_TYPE 0x00000002
1005
1006/*****************************************************************************
1007 * Shell Link Extra Data (IShellLinkDataList)
1008 */
1009typedef struct tagEXP_TRACKER
1010{
1011 /* .cbSize = 0x00000060, .dwSignature = 0xa0000003 */
1013 /* Length >= 0x00000058 */
1015 /* Must be 0x00000000 */
1017 /* NetBIOS name (ANSI, unused bytes are set to zero) */
1018 CHAR szMachineID[16]; /* "variable" >= 16 (?) */
1019 /* Some GUIDs for the Link Tracking service (from the FS?) */
1025
1026typedef struct tagEXP_SHIM
1027{
1028 /* .cbSize >= 0x00000088, .dwSignature = 0xa0000008 */
1030 /* Name of a shim layer to apply (Unicode, unused bytes are set to zero) */
1031 WCHAR szwLayerName[64]; /* "variable" >= 64 */
1033
1035{
1036 /* .cbSize = 0x0000001c, .dwSignature = 0xa000000b */
1038 /* A GUID value that identifies a known folder */
1040 /* Specifies the location of the ItemID of the first child
1041 segment of the IDList specified by guidKnownFolder */
1044
1046{
1047 /* .cbSize >= 0x0000000a, .dwSignature = 0xa000000c */
1049 /* Specifies an alternate IDList that can be used instead
1050 of the "normal" IDList (SLDF_HAS_ID_LIST) */
1051 /* LPITEMIDLIST pIDList; (variable) */
1053
1054#define EXP_TRACKER_SIG 0xa0000003
1055#define EXP_SHIM_SIG 0xa0000008
1056#define EXP_KNOWN_FOLDER_SIG 0xa000000b
1057#define EXP_VISTA_ID_LIST_SIG 0xa000000c
1058
1059/* Not compatible yet */
1061{
1067
1068#include <poppack.h>
1069
1070#ifdef __cplusplus
1071} /* extern "C" */
1072#endif /* defined(__cplusplus) */
1073
1074#endif /* __WINE_UNDOCSHELL_H */
DWORD dwFileAttributes
#define ShellExecCmdLine
HWND hWnd
Definition: settings.c:17
#define EXTERN_C
Definition: basetyps.h:12
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
static HWND hwndParent
Definition: cryptui.c:300
UINT uFlags
Definition: api.c:59
#define CALLBACK
Definition: compat.h:35
#define pt(x, y)
Definition: drawing.c:79
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLbitfield flags
Definition: glext.h:7161
GLenum GLsizei len
Definition: glext.h:6722
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
unsigned long long DWORDLONG
Definition: intsafe.h:93
char hdr[14]
Definition: iptest.cpp:33
NOTIFYICONDATA nid
Definition: magnifier.c:44
LPCWSTR szPath
Definition: env.c:37
static HBITMAP
Definition: button.c:44
static HINSTANCE hinst
Definition: edit.c:551
static HICON
Definition: imagelist.c:84
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
WORD unused[29]
Definition: crypt.c:1155
#define _Out_writes_z_(size)
Definition: ms_sal.h:352
#define _In_z_
Definition: ms_sal.h:313
#define _Out_writes_(size)
Definition: ms_sal.h:348
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
HICON hIcon
Definition: msconfig.c:44
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
unsigned int UINT
Definition: ndis.h:50
static LPUNKNOWN
Definition: ndr_ole.c:49
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:481
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:218
LPDWORD lpdwUser
Definition: undocshell.h:545
DWORD dwReserved
Definition: undocshell.h:542
LPCITEMIDLIST pidl
Definition: undocshell.h:544
DWORD dwReserved2
Definition: undocshell.h:543
LPCITEMIDLIST pidl
Definition: undocshell.h:575
STRRET lpText
Definition: undocshell.h:578
DWORD dwDestAttribs
Definition: undocshell.h:568
DWORD dwSrcAttribs
Definition: undocshell.h:566
LPCSTR pszSrcFile
Definition: undocshell.h:565
LPCSTR pszDestFile
Definition: undocshell.h:567
LPCITEMIDLIST pidl
Definition: undocshell.h:554
LPDWORD lpdwUser
Definition: undocshell.h:555
LPCWSTR lpFile
Definition: undocshell.h:150
LPCWSTR lpDirectory
Definition: undocshell.h:151
DATABLOCK_HEADER dbh
Definition: undocshell.h:1037
WCHAR szwLayerName[64]
Definition: undocshell.h:1031
DATABLOCK_HEADER dbh
Definition: undocshell.h:1029
CHAR szMachineID[16]
Definition: undocshell.h:1018
GUID guidDroidObject
Definition: undocshell.h:1021
DATABLOCK_HEADER dbh
Definition: undocshell.h:1012
GUID guidDroidBirthVolume
Definition: undocshell.h:1022
GUID guidDroidVolume
Definition: undocshell.h:1020
GUID guidDroidBirthObject
Definition: undocshell.h:1023
DATABLOCK_HEADER dbh
Definition: undocshell.h:1048
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
uint32_t ULONG
Definition: typedefs.h:59
LPITEMIDLIST WINAPI SHSimpleIDListFromPathA(LPCSTR lpszPath)
Definition: pidl.c:1093
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:107
LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive)
BOOL WINAPI DAD_DragEnter(HWND hWnd)
Definition: shellord.c:1560
BOOL WINAPI PathIsTemporaryA(_In_ LPCSTR Str)
struct SFVSELECTSTATE * LPSFVSELECTSTATE
BOOL WINAPI FileMenu_DeleteItemByIndex(HMENU hMenu, UINT uPos)
Definition: shlmenu.c:727
BOOL WINAPI IsSuspendAllowed(VOID)
Definition: utils.cpp:248
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:362
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:547
VOID WINAPI PathQualifyA(LPSTR pszPath)
Definition: shellpath.c:814
LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl)
Definition: pidl.c:460
BOOL WINAPI PathIsExeAW(LPCVOID lpszPath)
Definition: shellpath.c:561
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
BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec)
BOOL WINAPI FileMenu_InitMenuPopup(HMENU hMenu)
Definition: shlmenu.c:646
HRESULT WINAPI SHLimitInputCombo(HWND hWnd, IShellFolder *psf)
BOOL WINAPI FileMenu_TrackPopupMenuEx(HMENU hMenu, UINT uFlags, int x, int y, HWND hWnd, LPTPMPARAMS lptpm)
Definition: shlmenu.c:524
void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath)
HRESULT WINAPI SHRegisterDragDrop(HWND hWnd, LPDROPTARGET lpDropTarget)
Definition: shellord.c:541
HRESULT WINAPI SHILCreateFromPathW(LPCWSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:392
struct _SHCNF_PRINTJOB_INFO * PSHCNF_PRINTJOB_INFO
BOOL WINAPI RegisterShellHook(HWND hWnd, DWORD dwType)
Definition: shellord.c:312
LPWSTR WINAPI ShortSizeFormatW(_In_ DWORD dwNumber, _Out_writes_(0x8FFF) LPWSTR pszBuffer)
Definition: utils.cpp:94
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:1542
DWORD WINAPI FileMenu_GetItemExtent(HMENU hMenu, UINT uPos)
Definition: shlmenu.c:785
HRESULT WINAPI SHInvokePrivilegedFunctionW(_In_z_ LPCWSTR pszName, _In_ PRIVILEGED_FUNCTION fn, _In_opt_ LPARAM lParam)
void WINAPI PathStripPathAW(LPVOID lpszPath)
struct tagSHELL_LINK_INFOA * LPSHELL_LINK_INFOA
HRESULT WINAPI SHCreatePropertyBag(_In_ REFIID riid, _Out_ void **ppvObj)
Definition: utils.cpp:301
EXTERN_C HRESULT WINAPI SHCreateSessionKey(REGSAM samDesired, PHKEY phKey)
Definition: shellreg.c:146
VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath)
LPNMRUNFILEDLGW LPNMRUNFILEDLG
Definition: undocshell.h:157
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:156
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:515
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:411
HMENU WINAPI FileMenu_FindSubMenuByPidl(HMENU hMenu, LPCITEMIDLIST pidl)
Definition: shlmenu.c:467
void WINAPI ExitWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1608
struct tagEXP_TRACKER EXP_TRACKER
void WINAPI PathRemoveArgsAW(LPVOID lpszPath)
BOOL WINAPI PathStripToRootAW(LPVOID lpszPath)
WORD WINAPI ExtractIconResInfoW(_In_ HANDLE hHandle, _In_ LPCWSTR lpFileName, _In_ WORD wIndex, _Out_ LPWORD lpSize, _Out_ LPHANDLE lpIcon)
Definition: stubs.cpp:889
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:570
BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2)
Definition: utils.cpp:841
struct tagSHELL_LINK_INFO_VOLUME_IDA SHELL_LINK_INFO_VOLUME_IDA
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
Definition: shellord.c:2457
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:571
LRESULT WINAPI FileMenu_DrawItem(HWND hWnd, LPDRAWITEMSTRUCT lpdis)
Definition: shlmenu.c:586
BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl, LPVOID path)
Definition: pidl.c:174
INT WINAPI Int64ToString(_In_ LONGLONG llValue, _Out_writes_z_(cchOut) LPWSTR pszOut, _In_ UINT cchOut, _In_ BOOL bUseFormat, _In_opt_ const NUMBERFMTW *pNumberFormat, _In_ DWORD dwNumberFlags)
void WINAPI ShellDDEInit(BOOL bInit)
Definition: shdocvw_main.c:262
void WINAPI SHHandleDiskFull(HWND hwndOwner, UINT uDrive)
Definition: stubs.cpp:833
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)
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:311
HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:1009
BOOL WINAPI SHTestTokenPrivilegeW(_In_opt_ HANDLE hToken, _In_z_ LPCWSTR lpName)
const SFVSELECTSTATE * LPCSFVSELECTSTATE
Definition: undocshell.h:557
void WINAPI ILGlobalFree(LPITEMIDLIST pidl)
Definition: pidl.c:949
int WINAPI PathParseIconLocationAW(LPVOID lpszPath)
BOOL WINAPI ILGetDisplayNameEx(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type)
Definition: pidl.c:162
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:966
VOID WINAPI CheckEscapesW(LPWSTR string, DWORD len)
Definition: shellstring.c:252
BOOL WINAPI FileIconInit(BOOL bFullInit)
Definition: shellord.c:1695
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW(LPCWSTR lpszPath)
Definition: pidl.c:1124
BOOL WINAPI FileMenu_EnableItemByCmd(HMENU hMenu, UINT uID, BOOL bEnable)
Definition: shlmenu.c:770
VOID WINAPI CheckEscapesA(LPSTR string, DWORD len)
Definition: shellstring.c:227
void WINAPI FileMenu_Destroy(HMENU hMenu)
Definition: shlmenu.c:284
BOOL WINAPI DAD_ShowDragImage(BOOL bShow)
Definition: shellord.c:1611
BOOL WINAPI DAD_SetDragImageFromListView(HWND hWnd, POINT pt)
Definition: stubs.cpp:822
LPWSTR WINAPI SheRemoveQuotesW(LPWSTR psz)
Definition: utils.cpp:336
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:706
DWORD WINAPI SHGetUserSessionId(_In_opt_ HANDLE hToken)
Definition: utils.cpp:114
LRESULT WINAPI FileMenu_MeasureItem(HWND hWnd, LPMEASUREITEMSTRUCT lpmis)
Definition: shlmenu.c:558
HRESULT(CALLBACK * LPFNCDCOCALLBACK)(LPUNKNOWN pUnkOuter, REFIID riidObject, LPVOID *ppvObject)
Definition: undocshell.h:631
HRESULT WINAPI SHRevokeDragDrop(HWND hWnd)
Definition: shellord.c:576
EXTERN_C HRESULT WINAPI CopyStreamUI(_In_ IStream *pSrc, _Out_ IStream *pDst, _Inout_opt_ IProgressDialog *pProgress, _In_opt_ DWORDLONG dwlSize)
Definition: utils.cpp:550
VOID WINAPI PathQualifyW(LPWSTR pszPath)
Definition: shellpath.c:826
BOOL WINAPI PathMakeUniqueNameAW(LPVOID lpszBuffer, DWORD dwBuffSize, LPCVOID lpszShortName, LPCVOID lpszLongName, LPCVOID lpszPathName)
Definition: shellpath.c:690
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:843
HICON WINAPI SHGetFileIcon(DWORD dwReserved, LPCSTR lpszPath, DWORD dwFileAttributes, UINT uFlags)
INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc)
Definition: iconcache.cpp:855
HRESULT(CALLBACK * PRIVILEGED_FUNCTION)(LPARAM lParam)
Definition: undocshell.h:716
BOOL WINAPI SHWaitForFileToOpen(LPCITEMIDLIST pidl, DWORD dwFlags, DWORD dwTimeout)
Definition: shellord.c:1783
BOOL WINAPI FileMenu_DeleteItemByCmd(HMENU hMenu, UINT uID)
Definition: shlmenu.c:704
BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey)
DWORD WINAPI WinList_Init(void)
Definition: misc.cpp:68
void WINAPI PathRemoveExtensionAW(LPVOID lpszPath)
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lphimlLarge, HIMAGELIST *lphimlSmall)
Definition: iconcache.cpp:700
HRESULT WINAPI SHILCreateFromPathA(LPCSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:380
struct SFVCOLUMNINFO * LPSFVCOLUMNINFO
NMRUNFILEDLGW NMRUNFILEDLG
Definition: undocshell.h:155
BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath)
Definition: shellpath.c:457
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:77
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:73
struct tagEXP_VISTA_ID_LIST EXP_VISTA_ID_LIST
DWORD WINAPI SHNetConnectionDialog(HWND hwndOwner, LPCWSTR lpstrRemoteName, DWORD dwType)
Definition: stubs.cpp:809
struct tagEXP_SHIM * LPEXP_SHIM
BOOL WINAPI PathIsTemporaryW(_In_ LPCWSTR Str)
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:105
int WINAPI SHOutOfMemoryMessageBox(HWND hwndOwner, LPCSTR lpCaption, UINT uType)
Definition: shellord.c:1762
void(CALLBACK * LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile)
Definition: undocshell.h:297
BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath)
LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile)
struct tagEXP_KNOWN_FOLDER EXP_KNOWN_FOLDER
VOID WINAPI PathQualifyAW(LPVOID path)
Definition: shellpath.c:835
BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR lpszBuffer, LPCWSTR lpszPathName, LPCWSTR lpszShortName, LPCWSTR lpszLongName)
Definition: shellpath.c:705
void WINAPI RunFileDlg(HWND hWndOwner, HICON hIcon, LPCWSTR lpstrDirectory, LPCWSTR lpstrTitle, LPCWSTR lpstrDescription, UINT uFlags)
Definition: dialogs.cpp:409
struct SFVM_CUSTOMVIEWINFO_DATA * LPSFVM_CUSTOMVIEWINFO_DATA
static GLenum _GLUfuncptr fn
Definition: wgl_font.c:159
_In_opt_ LPSTR _In_opt_ LPSTR _In_ DWORD _In_ DWORD _Out_opt_ PHANDLE phToken
Definition: winbase.h:2715
_In_ LPCSTR lpFileName
Definition: winbase.h:3071
_In_ LPCSTR lpName
Definition: winbase.h:2789
_Reserved_ DWORD * pdwReserved
Definition: wincrypt.h:4254
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
Definition: wincrypt.h:4950
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
Definition: wincrypt.h:6081
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
_In_ BOOL bEnable
Definition: winddi.h:3426
_In_ ULONG _In_opt_ PVOID pvData
Definition: winddi.h:3749
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
DWORD COLORREF
Definition: windef.h:300
CONST void * LPCVOID
Definition: windef.h:191
#define HRESULT
Definition: msvc.h:7
#define WINAPI
Definition: msvc.h:6
ACCESS_MASK REGSAM
Definition: winreg.h:69
_In_ int nIDDlgItem
Definition: winuser.h:4618
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