ReactOS 0.4.17-dev-1190-g4c812f4
undocshell.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Shell
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Undocumented shell definitions
5 * COPYRIGHT: Copyright 1999, 2000 Juergen Schmied
6 * Copyright 2025 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
7 */
8
9#ifndef _UNDOCSHELL_H
10#define _UNDOCSHELL_H
11
12#pragma once
13
14#include <shellapi.h>
15
16#ifndef SHSTDAPI
17#if defined(_SHELL32_) /* DECLSPEC_IMPORT disabled because of CORE-6504: */ || TRUE
18#define SHSTDAPI_(type) EXTERN_C type WINAPI
19#else
20#define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI
21#endif
22#define SHSTDAPI SHSTDAPI_(HRESULT)
23#endif
24
25#ifdef __cplusplus
26extern "C" {
27#endif /* defined(__cplusplus) */
28
29// Because ReactOS installs as Server by default, we ignore OS_SERVERADMINUI
30// in certain places to present a Client/Server hybrid UI.
31
32// Windows defaults to FVM_DETAILS for Administrators on OS_ANYSERVER (instead of FVM_ICON).
33#define ROSPOLICY_DESKTOPFOLDER_DEFLARGEICONS 1
34#define ROSPOLICY_DRIVESFOLDER_DEFLARGEICONS 1
35#define ROSPOLICY_CONTROLSFOLDER_DEFLARGEICONS 1
36
37#define ROSPOLICY_SHELL_NODEFKEYBOARDCUES 1
38
39#if (NTDDI_VERSION < NTDDI_LONGHORN)
40#define DBIMF_NOGRIPPER 0x0800
41#define DBIMF_ALWAYSGRIPPER 0x1000
42#define DBIMF_NOMARGINS 0x2000
43#endif // NTDDI_LONGHORN
44
45#if defined (_SHELLAPI_H) || defined (_INC_SHELLAPI)
46
47/****************************************************************************
48 * Taskbar interface WM_COPYDATA structures
49 * See http://www.geoffchappell.com/studies/windows/shell/shell32/api/shlnot/copydata.htm
50 */
51/* Data structure for Shell_NotifyIcon messages */
52typedef struct _TRAYNOTIFYDATAW
53{
54 DWORD dwSignature;
55 DWORD dwMessage;
56 NOTIFYICONDATAW nid; // Always use the latest NOTIFYICONDATAW structure version.
57} TRAYNOTIFYDATAW, *PTRAYNOTIFYDATAW;
58// Note: One could also introduce TRAYNOTIFYDATAA
59
60#define NI_NOTIFY_SIG 0x34753423 /* TRAYNOTIFYDATA */
61
62#endif /* defined (_SHELLAPI_H) || defined (_INC_SHELLAPI) */
63
64/****************************************************************************
65 * Taskbar WM_COMMAND identifiers
66 */
67#define TWM_DOEXITWINDOWS (WM_USER + 342)
68#define TWM_CYCLEFOCUS (WM_USER + 348)
69
70/****************************************************************************
71 * ProgMan messages
72 */
73#define WM_PROGMAN_OPENSHELLSETTINGS (WM_USER + 22) /* wParam specifies the dialog (and tab page) */
74#define WM_PROGMAN_SAVESTATE (WM_USER + 77)
75
76/****************************************************************************
77 * IDList Functions
78 */
80 LPCITEMIDLIST pidl,
81 LPVOID path);
82
83/* type parameter for ILGetDisplayNameEx() */
84#define ILGDN_FORPARSING 0
85#define ILGDN_NORMAL 1
86#define ILGDN_INFOLDER 2
87
89 LPSHELLFOLDER psf,
90 LPCITEMIDLIST pidl,
92 DWORD type);
93
94#if (NTDDI_VERSION >= NTDDI_LONGHORN) || defined(_SHELL32_)
96 _In_ IShellFolder *psf,
99 _Out_ LPWSTR pszBuf,
101#endif
102
107
109 LPCSTR path,
110 LPITEMIDLIST * ppidl,
112
115 LPITEMIDLIST * ppidl,
117
119 HWND hWnd,
120 IShellFolder* lpFolder,
121 LPCITEMIDLIST lpApidl,
122 LPCSTR lpVerb);
126 _In_ IContextMenu* pCM,
127 _In_ UINT fCMIC,
128 _In_opt_ LPCSTR pszVerb);
130 _In_ IContextMenu *pContextMenu,
131 _In_ HWND hwnd,
132 _In_ LPCSTR lpVerb,
134
135/*
136 string functions
137*/
140
141/****************************************************************************
142 * Misc.
143 */
144
148 _In_ UINT uMainMerge,
149 _In_ UINT uPopupMerge,
150 _Inout_ LPQCMINFO lpQcmInfo);
151
152/****************************************************************************
153 * SHChangeNotifyRegister API
154 */
155#define SHCNRF_InterruptLevel 0x0001
156#define SHCNRF_ShellLevel 0x0002
157#define SHCNRF_RecursiveInterrupt 0x1000 /* Must be combined with SHCNRF_InterruptLevel */
158#define SHCNRF_NewDelivery 0x8000 /* Messages use shared memory */
159
160/****************************************************************************
161 * SHChangeNotify
162 */
163
165{
167 // More info,,,
169
170//
171// Add missing types for print job notifications.
172//
173#define SHCNF_PRINTJOBA 0x0004
174#define SHCNF_PRINTJOBW 0x0007
175
177
178// Used in SHChangeNotify(SHCNE_UPDATEIMAGE)
179#include <pshpack1.h>
181{
190{
199#include <poppack.h>
200
201/****************************************************************************
202 * Shell Common Dialogs
203 */
204
205/* RunFileDlg flags */
206#define RFF_NOBROWSE 0x01 /* Removes the browse button */
207#define RFF_NODEFAULT 0x02 /* No default item selected */
208#define RFF_CALCDIRECTORY 0x04 /* Calculates the working directory from the file name */
209#define RFF_NOLABEL 0x08 /* Removes the edit box label */
210#define RFF_NOSEPARATEMEM 0x20 /* Removes the Separate Memory Space check box (Windows NT only) */
211
212/* RunFileFlg notification value and structure */
213#define RFN_VALIDATE (-510)
214#if 0 // Deprecated ANSI structure
215typedef struct _NMRUNFILEDLGA
216{
217 NMHDR hdr;
218 LPCSTR lpFile;
220 UINT nShow;
221} NMRUNFILEDLGA, *PNMRUNFILEDLGA, *LPNMRUNFILEDLGA;
222#endif
223typedef struct _NMRUNFILEDLGW
224{
230
234
235/* RunFileDlg notification return values */
236#define RF_OK 0x00
237#define RF_CANCEL 0x01
238#define RF_RETRY 0x02
239
240void WINAPI RunFileDlg(
241 HWND hWndOwner,
242 HICON hIcon,
243 LPCWSTR lpstrDirectory,
244 LPCWSTR lpstrTitle,
245 LPCWSTR lpstrDescription,
246 UINT uFlags);
247
248int WINAPI LogoffWindowsDialog(HWND hWndOwner);
249void WINAPI ExitWindowsDialog(HWND hWndOwner);
250
252 LPCITEMIDLIST pidlRoot,
253 LPCITEMIDLIST pidlSavedSearch);
254
255void WINAPI SHHandleDiskFull(HWND hwndOwner,
256 UINT uDrive);
257
259 HWND hwndOwner,
260 LPCSTR lpCaption,
261 UINT uType);
262
264
266 HWND hwndOwner,
267 LPCWSTR lpstrRemoteName,
268 DWORD dwType);
269
271
274 _Out_writes_to_(*puSize, *puSize) PWSTR pName,
275 _Inout_ PULONG puSize);
276
277/****************************************************************************
278 * Cabinet Window Messages
279 */
280
281#define CWM_SETPATH (WM_USER + 2)
282#define CWM_WANTIDLE (WM_USER + 3)
283#define CWM_GETSETCURRENTINFO (WM_USER + 4)
284#define CWM_SELECTITEM (WM_USER + 5)
285#define CWM_SELECTITEMSTR (WM_USER + 6)
286#define CWM_GETISHELLBROWSER (WM_USER + 7)
287#define CWM_TESTPATH (WM_USER + 9)
288#define CWM_STATECHANGE (WM_USER + 10)
289#define CWM_GETPATH (WM_USER + 12)
290
291#define WM_GETISHELLBROWSER CWM_GETISHELLBROWSER
292
293/* CWM_TESTPATH types */
294#define CWTP_ISEQUAL 0
295#define CWTP_ISCHILD 1
296
297/* CWM_TESTPATH structure */
298typedef struct
299{
303
304/****************************************************************************
305 * System Imagelist Routines
306 */
307
309 LPCSTR lpszFileName,
310 int nIconIndex,
311 UINT bSimulateDoc);
312
314 HIMAGELIST *lphimlLarge,
315 HIMAGELIST *lphimlSmall);
316
319 LPCSTR lpszPath,
321 UINT uFlags);
322
323BOOL WINAPI FileIconInit(BOOL bFullInit);
324
327 _In_ HANDLE hHandle,
329 _In_ WORD wIndex,
330 _Out_ LPWORD lpSize,
331 _Out_ LPHANDLE lpIcon);
332
335 _In_ HANDLE hHandle,
337 _In_ WORD wIndex,
338 _Out_ LPWORD lpSize,
339 _Out_ LPHANDLE lpIcon);
340
343
344#ifdef UNICODE
345 #define ExtractIconResInfo ExtractIconResInfoW
346 #define SHLookupIconIndex SHLookupIconIndexW
347#else
348 #define ExtractIconResInfo ExtractIconResInfoA
349 #define SHLookupIconIndex SHLookupIconIndexA
350#endif
351
352/****************************************************************************
353 * File Menu Routines
354 */
355
356/* FileMenu_Create nSelHeight constants */
357#define FM_DEFAULT_SELHEIGHT -1
358#define FM_FULL_SELHEIGHT 0
359
360/* FileMenu_Create flags */
361#define FMF_SMALL_ICONS 0x00
362#define FMF_LARGE_ICONS 0x08
363#define FMF_NO_COLUMN_BREAK 0x10
364
366 COLORREF crBorderColor,
367 int nBorderWidth,
368 HBITMAP hBorderBmp,
369 int nSelHeight,
370 UINT uFlags);
371
372void WINAPI FileMenu_Destroy(HMENU hMenu);
373
374/* FileMenu_AppendItem constants */
375#define FM_SEPARATOR (LPCSTR)1
376#define FM_BLANK_ICON -1
377#define FM_DEFAULT_HEIGHT 0
378
380 HMENU hMenu,
381 LPCSTR lpszText,
382 UINT uID,
383 int iIcon,
384 HMENU hMenuPopup,
385 int nItemHeight);
386
387/* FileMenu_InsertUsingPidl flags */
388#define FMF_NO_EMPTY_ITEM 0x01
389#define FMF_NO_PROGRAM_GROUPS 0x04
390
391/* FileMenu_InsertUsingPidl callback function */
392typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
393
395 HMENU hMenu,
396 UINT uID,
397 LPCITEMIDLIST pidl,
398 UINT uFlags,
399 UINT uEnumFlags,
400 LPFNFMCALLBACK lpfnCallback);
401
403 HMENU hMenu,
404 UINT uID,
405 LPCITEMIDLIST pidl,
406 UINT uEnumFlags,
407 LPFNFMCALLBACK lpfnCallback);
408
410
412 HMENU hMenu,
413 LPCITEMIDLIST pidl);
414
416 HMENU hMenu,
417 UINT uFlags,
418 int x,
419 int y,
420 HWND hWnd,
421 LPTPMPARAMS lptpm);
422
424 UINT uReserved,
425 LPCITEMIDLIST *ppidlFolder,
426 LPCITEMIDLIST *ppidlItem);
427
429 HWND hWnd,
430 LPMEASUREITEMSTRUCT lpmis);
431
433 HWND hWnd,
434 LPDRAWITEMSTRUCT lpdis);
435
437
439
441 HMENU hMenu,
442 WPARAM wParam);
443
445
447 HMENU hMenu,
448 UINT uID);
449
451 HMENU hMenu,
452 UINT uPos);
453
455 HMENU hMenu,
456 UINT uID);
457
459
461 HMENU hMenu,
462 UINT uID,
463 BOOL bEnable);
464
466 HMENU hMenu,
467 UINT uPos);
468
470 HMENU hMenu,
471 LPCITEMIDLIST pidl,
472 BOOL bAddSeparator);
473
475 HMENU hMenu,
476 UINT uReserved,
477 UINT uID,
478 LPCITEMIDLIST pidl,
479 UINT uFlags,
480 UINT uEnumFlags,
481 LPFNFMCALLBACK lpfnCallback);
482
483/****************************************************************************
484 * Drag And Drop Routines
485 */
486
488 HWND hWnd,
489 LPDROPTARGET lpDropTarget);
490
492
494
496 HWND hWnd,
497 POINT pt);
498
500
501/****************************************************************************
502 * Path Manipulation Routines
503 */
504
505BOOL WINAPI PathAppendAW(LPVOID lpszPath1, LPCVOID lpszPath2);
506
507LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
508
510
512
514
516
517LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath, DWORD void1, DWORD void2);
518
520
522
523void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
524
526
527void WINAPI PathUnquoteSpacesAW(LPVOID lpszPath);
528
530
532
534
536
538
540
541BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec);
542
544 LPVOID lpszBuffer,
545 DWORD dwBuffSize,
546 LPCVOID lpszShortName,
547 LPCVOID lpszLongName,
548 LPCVOID lpszPathName);
549
551 LPWSTR lpszBuffer,
552 LPCWSTR lpszPathName,
553 LPCWSTR lpszShortName,
554 LPCWSTR lpszLongName);
555
559
560/* PathResolve flags */
561#define PRF_CHECKEXISTANCE 0x01
562#define PRF_EXECUTABLE 0x02
563#define PRF_QUALIFYONPATH 0x04
564#define PRF_WINDOWS31 0x08
565
569
571
572/* PathProcessCommand flags */
573#define PPCF_QUOTEPATH 0x01 /* implies PPCF_INCLUDEARGS */
574#define PPCF_INCLUDEARGS 0x02
575//#define PPCF_NODIRECTORIES 0x10 move to shlobj
576#define PPCF_DONTRESOLVE 0x20
577#define PPCF_PATHISRELATIVE 0x40
578
580 DWORD dwBuffSize, DWORD dwFlags);
581
582void WINAPI PathStripPathAW(LPVOID lpszPath);
583
585
586void WINAPI PathRemoveArgsAW(LPVOID lpszPath);
587
588void WINAPI PathRemoveExtensionAW(LPVOID lpszPath);
589
591
592BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2);
593
594BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID *sOtherDirs);
595
596BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2);
597
600
601/****************************************************************************
602 * Shell File Operations error codes - SHFileOperationA/W
603 */
604
605/* Error codes could be pre-Win32 */
606#define DE_SAMEFILE 0x71
607#define DE_MANYSRC1DEST 0x72
608#define DE_DIFFDIR 0x73
609#define DE_ROOTDIR 0x74
610#define DE_OPCANCELLED 0x75
611#define DE_DESTSUBTREE 0x76
612#define DE_ACCESSDENIEDSRC 0x78
613#define DE_PATHTOODEEP 0x79
614#define DE_MANYDEST 0x7A
615#define DE_INVALIDFILES 0x7C
616#define DE_DESTSAMETREE 0x7D
617#define DE_FLDDESTISFILE 0x7E
618#define DE_FILEDESTISFLD 0x80
619#define DE_FILENAMETOOLONG 0x81
620#define DE_DEST_IS_CDROM 0x82
621#define DE_DEST_IS_DVD 0x83
622#define DE_DEST_IS_CDRECORD 0x84
623#define DE_FILE_TOO_LARGE 0x85
624#define DE_SRC_IS_CDROM 0x86
625#define DE_SRC_IS_DVD 0x87
626#define DE_SRC_IS_CDRECORD 0x88
627// #define DE_ERROR_MAX
628#define ERRORONDEST 0x10000
629
630/****************************************************************************
631 * Shell settings
632 */
633
634typedef struct _REGSHELLSTATE
635{
639#define REGSHELLSTATE_SIZE 0x24
640#define REGSHELLSTATE_VERSION 0xD
642
643/****************************************************************************
644 * Shell Namespace Routines
645 */
646
647/* Generic structure used by several messages */
648typedef struct
649{
655typedef const SFVCBINFO *LPCSFVCBINFO;
656
657/* SFVCB_SELECTIONCHANGED structure */
658typedef struct
659{
666
667/* SFVCB_COPYHOOKCALLBACK structure */
668typedef struct
669{
679
680/* SFVCB_GETDETAILSOF structure */
681typedef struct
682{
684 int fmt;
685 int cx;
688
689/****************************************************************************
690 * Misc Stuff
691 */
692
694RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf);
695
696/* SHWaitForFileToOpen flags */
697#define SHWFF_ADD 0x01
698#define SHWFF_REMOVE 0x02
699#define SHWFF_WAIT 0x04
700
702 LPCITEMIDLIST pidl,
704 DWORD dwTimeout);
705
709 LPCRECT lpRect,
710 WORD cKids,
711 CONST HWND * lpKids);
712
713/* Flags for ShellExecCmdLine */
714#define SECL_NO_UI 0x2
715#define SECL_LOG_USAGE 0x8
716#define SECL_USE_IDLIST 0x10
717#define SECL_ALLOW_NONEXE 0x20
718#define SECL_RUNAS 0x40
719
721 HWND hwnd,
722 LPCWSTR pwszCommand,
723 LPCWSTR pwszStartDir,
724 int nShow,
725 LPVOID pUnused,
726 DWORD dwSeclFlags);
727
728/*
729 * Undocumented SEE_MASK_* flags for the SHELLEXECUTEINFO::fMask member
730 * used by ShellExecuteEx(). These are absent from the official Windows SDK.
731 * However they are used in shobjidl.idl to define some CMIC_MASK_* flags,
732 * these ones being mentioned in the MSDN documentation of the
733 * CMINVOKECOMMANDINFOEX structure.
734 */
735#define SEE_MASK_UNKNOWN_0x1000 0x00001000 // FIXME: Name
736#define SEE_MASK_NO_HOOKS 0x00002000 // https://www.yisu.com/ask/30968554.html
737#define SEE_MASK_HASLINKNAME 0x00010000
738#define SEE_MASK_FLAG_SEPVDM 0x00020000
739#define SEE_MASK_USE_RESERVED 0x00040000
740#define SEE_MASK_HASTITLE 0x00080000
741#define SEE_MASK_FILEANDURL 0x00400000 // https://textslashplain.com/2019/09/25/web-to-app-communication-directinvoke/
742
746 _In_opt_ LPCSTR lpOperation,
747 _In_opt_ LPCSTR lpFile,
748 _In_opt_ LPCSTR lpParameters,
750 _In_opt_ LPSTR lpReturn,
753 _In_ INT nCmdShow,
754 _Out_opt_ PHANDLE lphProcess);
755
759 _In_opt_ LPCWSTR lpOperation,
760 _In_opt_ LPCWSTR lpFile,
761 _In_opt_ LPCWSTR lpParameters,
763 _In_opt_ LPWSTR lpReturn,
766 _In_ INT nCmdShow,
767 _Out_opt_ PHANDLE lphProcess);
768
772 _In_opt_ LPCSTR lpOperation,
773 _In_opt_ LPCSTR lpFile,
774 _In_opt_ LPCSTR lpParameters,
776 _In_opt_ LPSTR lpReturn,
779 _In_ INT nCmdShow,
780 _Out_opt_ PHANDLE lphProcess,
782
786 _In_opt_ LPCWSTR lpOperation,
787 _In_opt_ LPCWSTR lpFile,
788 _In_opt_ LPCWSTR lpParameters,
790 _In_opt_ LPWSTR lpReturn,
793 _In_ INT nCmdShow,
794 _Out_opt_ PHANDLE lphProcess,
796
801 _In_ PCSTR pszCmdLine,
802 _In_ INT nCmdShow);
803
808 _In_ PCSTR pszCmdLine,
809 _In_ INT nCmdShow);
810
815 _In_ PCWSTR pszCmdLine,
816 _In_ INT nCmdShow);
817
818/* RegisterShellHook types */
819#define RSH_DEREGISTER 0
820#define RSH_REGISTER 1
821#define RSH_REGISTER_PROGMAN 2
822#define RSH_REGISTER_TASKMAN 3
823
825 HWND hWnd,
826 DWORD dwType);
827
828/* SHCreateDefClassObject callback function */
830 LPUNKNOWN pUnkOuter,
831 REFIID riidObject,
832 LPVOID *ppvObject);
833
835 REFIID riidFactory,
836 LPVOID *ppvFactory,
837 LPFNCDCOCALLBACK lpfnCallback,
838 LPDWORD lpdwUsage,
839 REFIID riidObject);
840
842
844 _In_opt_ LPCWSTR aclsid,
845 _In_opt_ const CLSID *clsid,
846 _In_opt_ LPUNKNOWN pUnkOuter,
847 _In_ REFIID refiid,
848 _Out_ LPVOID *ppv);
849
850/* SHCreateLinks flags */
851#define SHCLF_PREFIXNAME 0x01
852#define SHCLF_CREATEONDESKTOP 0x02
853
855 HWND hWnd,
856 LPCSTR lpszDir,
857 LPDATAOBJECT lpDataObject,
858 UINT uFlags,
859 LPITEMIDLIST *lppidlLinks);
860
863
864/* policy functions */
866
867#define CSIDL_FOLDER_MASK 0x00ff
868
869/* Utility functions */
870#include <stdio.h>
871
872#define SMC_EXEC 4
874
877HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv);
878
880 _In_ PCSTR psz,
881 _Out_ LPGUID pguid);
882
884 _In_ PCWSTR psz,
885 _Out_ LPGUID pguid);
886
889 _In_ PCSTR pszSrc,
890 _In_opt_ PCSTR pszLast,
891 _In_ PCSTR pszSearch);
892
895 _In_ PCWSTR pszSrc,
896 _In_opt_ PCWSTR pszLast,
897 _In_ PCWSTR pszSearch);
898
901
902/* Flags for Int64ToString and LargeIntegerToString */
903#define FMT_USE_NUMDIGITS 0x01
904#define FMT_USE_LEADZERO 0x02
905#define FMT_USE_GROUPING 0x04
906#define FMT_USE_DECIMAL 0x08
907#define FMT_USE_THOUSAND 0x10
908#define FMT_USE_NEGNUMBER 0x20
909
912 _In_ LONGLONG llValue,
913 _Out_writes_z_(cchOut) LPWSTR pszOut,
914 _In_ UINT cchOut,
915 _In_ BOOL bUseFormat,
916 _In_opt_ const NUMBERFMTW *pNumberFormat,
917 _In_ DWORD dwNumberFlags);
918
921 _In_ const LARGE_INTEGER *pLargeInt,
922 _Out_writes_z_(cchOut) LPWSTR pszOut,
923 _In_ UINT cchOut,
924 _In_ BOOL bUseFormat,
925 _In_opt_ const NUMBERFMTW *pNumberFormat,
926 _In_ DWORD dwNumberFlags);
927
930 _In_ DWORD dwNumber,
931 _Out_writes_(0x8FFF) LPWSTR pszBuffer);
932
935
937
940 _In_z_ LPCWSTR pszName,
943
946
948
951 _In_ HWND hwnd,
954 _In_ INT cmdshow);
955
957
960
961/*****************************************************************************
962 * Shell32 resources
963 */
964// these resources are in shell32.dll
965#define IDB_GOBUTTON_NORMAL 0x0e6
966#define IDB_GOBUTTON_HOT 0x0e7
967
968// band ids in internet toolbar
969#define ITBBID_MENUBAND 1
970#define ITBBID_BRANDBAND 5
971#define ITBBID_TOOLSBAND 2
972#define ITBBID_ADDRESSBAND 4
973
974// commands in the CGID_PrivCITCommands command group handled by the internet toolbar
975// there seems to be some support for hiding the menubar and an auto hide feature that are
976// unavailable in the UI
977#define ITID_TEXTLABELS 3
978#define ITID_TOOLBARBANDSHOWN 4
979#define ITID_ADDRESSBANDSHOWN 5
980#define ITID_LINKSBANDSHOWN 6
981#define ITID_MENUBANDSHOWN 12
982#define ITID_AUTOHIDEENABLED 13
983#define ITID_CUSTOMIZEENABLED 20
984#define ITID_TOOLBARLOCKED 27
985
986// commands in the CGID_BrandCmdGroup command group handled by the brand band
987#define BBID_STARTANIMATION 1
988#define BBID_STOPANIMATION 2
989
990// undocumented flags for IShellMenu::SetShellFolder
991#define SMSET_UNKNOWN08 0x08
992#define SMSET_UNKNOWN10 0x10
993
994// explorer tray commands
995#define TRAYCMD_STARTMENU 305
996#define TRAYCMD_RUN_DIALOG 401
997#define TRAYCMD_LOGOFF_DIALOG 402
998#define TRAYCMD_CASCADE 403
999#define TRAYCMD_TILE_H 404
1000#define TRAYCMD_TILE_V 405
1001#define TRAYCMD_TOGGLE_DESKTOP 407
1002#define TRAYCMD_DATE_AND_TIME 408
1003#define TRAYCMD_SUSPEND 409
1004#define TRAYCMD_EJECT 410
1005#define TRAYCMD_TASKBAR_PROPERTIES 413
1006#define TRAYCMD_MINIMIZE_ALL 415
1007#define TRAYCMD_RESTORE_ALL 416
1008#define TRAYCMD_SHOW_DESKTOP 419
1009#define TRAYCMD_SHOW_TASK_MGR 420
1010#define TRAYCMD_CUSTOMIZE_TASKBAR 421
1011#define TRAYCMD_LOCK_TASKBAR 424
1012#define TRAYCMD_HELP_AND_SUPPORT 503
1013#define TRAYCMD_CONTROL_PANEL 505
1014#define TRAYCMD_SHUTDOWN_DIALOG 506
1015#define TRAYCMD_PRINTERS_AND_FAXES 510
1016#define TRAYCMD_LOCK_DESKTOP 517
1017#define TRAYCMD_SWITCH_USER_DIALOG 5000
1018#define TRAYCMD_RELOAD_STARTMENUCFG 41061
1019#define TRAYCMD_SEARCH_FILES 41093
1020#define TRAYCMD_SEARCH_COMPUTERS 41094
1021#define TRAYCMD_REFRESH_MENU 41504
1022
1023// Explorer Tray Application Bar Data Message Commands
1024#define TABDMC_APPBAR 0
1025#define TABDMC_NOTIFY 1
1026#define TABDMC_LOADINPROC 2
1027
1028void WINAPI ShellDDEInit(BOOL bInit);
1029
1031
1032HRESULT WINAPI SHCreateSessionKey(REGSAM samDesired, PHKEY phKey);
1033
1035 HKEY hkey,
1036 LPCSTR lpValueName,
1038 LPDWORD lpType,
1039 LPBYTE lpData,
1040 LPDWORD lpcbData);
1041
1043 HKEY hkey,
1045 LPDWORD pdwReserved,
1047 LPVOID pvData,
1049
1050#ifdef UNICODE
1051#define SHRegQueryValueEx SHRegQueryValueExW
1052#else
1053#define SHRegQueryValueEx SHRegQueryValueExA
1054#endif
1055
1058 _In_ LPCVOID pv,
1059 _In_ UINT_PTR ucb);
1060
1063 _In_ IStream *pSrc,
1064 _Out_ IStream *pDst,
1065 _Inout_opt_ IProgressDialog *pProgress,
1066 _In_opt_ DWORDLONG dwlSize);
1067
1068// Flags for SHGetComputerDisplayNameW
1069#define SHGCDN_NOCACHE 0x1
1070#define SHGCDN_NOSERVERNAME 0x10000
1071
1074 _In_opt_ LPWSTR pszServerName,
1076 _Out_writes_z_(cchNameMax) LPWSTR pszName,
1077 _In_ DWORD cchNameMax);
1078
1079/*****************************************************************************
1080 * INVALID_FILETITLE_CHARACTERS
1081 */
1082
1083#define INVALID_FILETITLE_CHARACTERSA "\\/:*?\"<>|"
1084#define INVALID_FILETITLE_CHARACTERSW L"\\/:*?\"<>|"
1085
1086#ifdef UNICODE
1087 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSW
1088#else
1089 #define INVALID_FILETITLE_CHARACTERS INVALID_FILETITLE_CHARACTERSA
1090#endif
1091
1092/*****************************************************************************
1093 * Shell Link
1094 */
1095#include <pshpack1.h>
1096
1098{
1099 /* The size of this structure (always 0x0000004C) */
1101 /* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
1103 /* Flags (SHELL_LINK_DATA_FLAGS) */
1105 /* Informations about the link target: */
1110 DWORD nFileSizeLow; /* Only the least significant 32 bits */
1111 /* The signed icon index */
1113 /* The expected window state of an application launched by the link */
1115 /* The hotkey used to launch the application */
1117 /* Reserved (must be zero) */
1122
1123/*****************************************************************************
1124 * SHELL_LINK_INFOA/W
1125 * If cbHeaderSize == 0x0000001C then use SHELL_LINK_INFOA
1126 * If cbHeaderSize >= 0x00000024 then use SHELL_LINK_INFOW
1127 */
1129{
1130 /* Size of the link info data */
1132 /* Size of this structure (ANSI: = 0x0000001C) */
1134 /* Specifies which fields are present/populated (SLI_*) */
1136 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
1138 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
1140 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
1142 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
1145
1147{
1148 /* Size of the link info data */
1150 /* Size of this structure (Unicode: >= 0x00000024) */
1152 /* Specifies which fields are present/populated (SLI_*) */
1154 /* Offset of the VolumeID field (SHELL_LINK_INFO_VOLUME_ID) */
1156 /* Offset of the LocalBasePath field (ANSI, NULL-terminated string) */
1158 /* Offset of the CommonNetworkRelativeLink field (SHELL_LINK_INFO_CNR_LINK) */
1160 /* Offset of the CommonPathSuffix field (ANSI, NULL-terminated string) */
1162 /* Offset of the LocalBasePathUnicode field (Unicode, NULL-terminated string) */
1164 /* Offset of the CommonPathSuffixUnicode field (Unicode, NULL-terminated string) */
1167
1168/* VolumeID, LocalBasePath, LocalBasePathUnicode(cbHeaderSize >= 0x24) are present */
1169#define SLI_VALID_LOCAL 0x00000001
1170/* CommonNetworkRelativeLink is present */
1171#define SLI_VALID_NETWORK 0x00000002
1172
1173/*****************************************************************************
1174 * SHELL_LINK_INFO_VOLUME_IDA/W
1175 * If cbVolumeLabelOffset != 0x00000014 (should be 0x00000010) then use
1176 * SHELL_LINK_INFO_VOLUME_IDA
1177 * If cbVolumeLabelOffset == 0x00000014 then use SHELL_LINK_INFO_VOLUME_IDW
1178 */
1180{
1181 /* Size of the VolumeID field (> 0x00000010) */
1183 /* Drive type of the drive the link target is stored on (DRIVE_*) */
1185 /* Serial number of the volume the link target is stored on */
1187 /* Offset of the volume label (ANSI, NULL-terminated string).
1188 Must be != 0x00000014 (see tagSHELL_LINK_INFO_VOLUME_IDW) */
1191
1193{
1194 /* Size of the VolumeID field (> 0x00000010) */
1196 /* Drive type of the drive the link target is stored on (DRIVE_*) */
1198 /* Serial number of the volume the link target is stored on */
1200 /* Offset of the volume label (ANSI, NULL-terminated string).
1201 If the value of this field is 0x00000014, ignore it and use
1202 cbVolumeLabelUnicodeOffset! */
1204 /* Offset of the volume label (Unicode, NULL-terminated string).
1205 If the value of the VolumeLabelOffset field is not 0x00000014,
1206 this field must be ignored (==> it doesn't exists ==> ANSI). */
1209
1210/*****************************************************************************
1211 * SHELL_LINK_INFO_CNR_LINKA/W (CNR = Common Network Relative)
1212 * If cbNetNameOffset == 0x00000014 then use SHELL_LINK_INFO_CNR_LINKA
1213 * If cbNetNameOffset > 0x00000014 then use SHELL_LINK_INFO_CNR_LINKW
1214 */
1216{
1217 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
1219 /* Specifies which fields are present/populated (SLI_CNR_*) */
1221 /* Offset of the NetName field (ANSI, NULL–terminated string) */
1223 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
1225 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
1228
1230{
1231 /* Size of the CommonNetworkRelativeLink field (>= 0x00000014) */
1233 /* Specifies which fields are present/populated (SLI_CNR_*) */
1235 /* Offset of the NetName field (ANSI, NULL–terminated string) */
1237 /* Offset of the DeviceName field (ANSI, NULL–terminated string) */
1239 /* Type of the network provider (WNNC_NET_* defined in winnetwk.h) */
1241 /* Offset of the NetNameUnicode field (Unicode, NULL–terminated string) */
1243 /* Offset of the DeviceNameUnicode field (Unicode, NULL–terminated string) */
1246
1247/* DeviceName is present */
1248#define SLI_CNR_VALID_DEVICE 0x00000001
1249/* NetworkProviderType is present */
1250#define SLI_CNR_VALID_NET_TYPE 0x00000002
1251
1252/*****************************************************************************
1253 * Shell Link Extra Data (IShellLinkDataList)
1254 */
1255typedef struct tagEXP_TRACKER
1256{
1257 /* .cbSize = 0x00000060, .dwSignature = 0xa0000003 */
1259 /* Length >= 0x00000058 */
1261 /* Must be 0x00000000 */
1263 /* NetBIOS name (ANSI, unused bytes are set to zero) */
1264 CHAR szMachineID[16]; /* "variable" >= 16 (?) */
1265 /* Some GUIDs for the Link Tracking service (from the FS?) */
1271
1272typedef struct tagEXP_SHIM
1273{
1274 /* .cbSize >= 0x00000088, .dwSignature = 0xa0000008 */
1276 /* Name of a shim layer to apply (Unicode, unused bytes are set to zero) */
1277 WCHAR szwLayerName[64]; /* "variable" >= 64 */
1279
1281{
1282 /* .cbSize = 0x0000001c, .dwSignature = 0xa000000b */
1284 /* A GUID value that identifies a known folder */
1286 /* Specifies the location of the ItemID of the first child
1287 segment of the IDList specified by guidKnownFolder */
1290
1292{
1293 /* .cbSize >= 0x0000000a, .dwSignature = 0xa000000c */
1295 /* Specifies an alternate IDList that can be used instead
1296 of the "normal" IDList (SLDF_HAS_ID_LIST) */
1297 /* LPITEMIDLIST pIDList; (variable) */
1299
1300#define EXP_TRACKER_SIG 0xa0000003
1301#define EXP_SHIM_SIG 0xa0000008
1302#define EXP_KNOWN_FOLDER_SIG 0xa000000b
1303#define EXP_VISTA_ID_LIST_SIG 0xa000000c
1304
1305/* Not compatible yet */
1307{
1313
1314#include <poppack.h>
1315
1316#if defined(_WIN64) || defined(BUILD_WOW6432)
1317 typedef UINT64 APPBAR_OUTPUT;
1318#else
1320#endif
1321
1322/*
1323 * Private structures for internal AppBar messaging.
1324 * These structures can be sent from 32-bit shell32 to 64-bit Explorer.
1325 * See also: https://learn.microsoft.com/en-us/windows/win32/winprog64/interprocess-communication
1326 * > ... only the lower 32 bits are significant, so it is safe to truncate the handle
1327 * See also: https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-duplicatehandle
1328 * > DuplicateHandle can be used to duplicate a handle between a 32-bit process and a 64-bit process.
1329 */
1330#include <pshpack8.h>
1332{
1333 DWORD cbSize; /* == sizeof(APPBARDATAINTEROP) */
1340typedef struct tagAPPBAR_COMMAND
1341{
1344 APPBAR_OUTPUT hOutput; /* For shlwapi!SHAllocShared */
1347#include <poppack.h>
1348
1349#if defined(_WIN64) || defined(BUILD_WOW6432)
1350C_ASSERT(sizeof(APPBAR_COMMAND) == 0x40);
1351#else
1352C_ASSERT(sizeof(APPBAR_COMMAND) == 0x38);
1353#endif
1354
1355#ifdef __cplusplus
1356} /* extern "C" */
1357#endif /* defined(__cplusplus) */
1358
1359#endif /* _UNDOCSHELL_H */
DWORD dwFileAttributes
#define ShellExecCmdLine
COMPILER_DEPENDENT_UINT64 UINT64
Definition: actypes.h:131
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:299
TCHAR lpTitle[80]
Definition: ctm.c:69
static LPVOID LPUNKNOWN
Definition: dinput.c:53
UINT uFlags
Definition: api.c:59
#define MAX_PATH
Definition: compat.h:34
#define CALLBACK
Definition: compat.h:35
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:41
#define pt(x, y)
Definition: drawing.c:79
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
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
unsigned int UINT
Definition: sysinfo.c:13
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
LONG_PTR LPARAM
Definition: minwindef.h:175
LONG_PTR LRESULT
Definition: minwindef.h:176
UINT_PTR WPARAM
Definition: minwindef.h:174
CONST void * LPCVOID
Definition: minwindef.h:164
LPCWSTR szPath
Definition: env.c:37
static LPSTR pName
Definition: security.c:86
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:60
WORD unused[29]
Definition: crypt.c:1298
LPCSTR LPCTSTR
Definition: ms-dtyp.idl:130
HICON hIcon
Definition: msconfig.c:44
const CLSID * clsid
Definition: msctf.cpp:50
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
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
_In_ LPWSTR _In_ DWORD _In_ LPCVOID pvData
Definition: netsh.h:116
#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
static HANDLE ACCESS_MASK ULONG attributes
Definition: om.c:94
#define CONST
Definition: pedump.c:81
short WCHAR
Definition: pedump.c:58
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
char CHAR
Definition: pedump.c:57
#define REFIID
Definition: guiddef.h:118
_In_opt_ LPCSTR _In_opt_ LPCSTR _In_ SRRF _Out_opt_ LPDWORD pdwType
Definition: shlwapi.h:783
_In_ _Out_writes_opt_ pcchValueName _Inout_opt_ LPDWORD _Out_opt_ _Out_writes_bytes_to_opt_ pcbData _Inout_opt_ LPDWORD pcbData
Definition: shlwapi.h:757
_In_ UINT cchBuf
Definition: shlwapi.h:378
_In_ UINT uID
Definition: shlwapi.h:156
_In_opt_ LPCSTR _In_opt_ LPCSTR pszValue
Definition: shlwapi.h:783
_In_ int nIDDlgItem
Definition: winuser.h:4773
_In_opt_ LPCSTR lpDirectory
Definition: shellapi.h:492
BOOL WINAPI LinkWindow_RegisterClass(void)
Definition: shellord.c:2851
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:301
Definition: dcommon.idl:28
LPDWORD lpdwUser
Definition: undocshell.h:653
DWORD dwReserved
Definition: undocshell.h:650
LPCITEMIDLIST pidl
Definition: undocshell.h:652
DWORD dwReserved2
Definition: undocshell.h:651
LPCITEMIDLIST pidl
Definition: undocshell.h:683
STRRET lpText
Definition: undocshell.h:686
DWORD dwDestAttribs
Definition: undocshell.h:676
DWORD dwSrcAttribs
Definition: undocshell.h:674
LPCSTR pszSrcFile
Definition: undocshell.h:673
LPCSTR pszDestFile
Definition: undocshell.h:675
LPCITEMIDLIST pidl
Definition: undocshell.h:662
LPDWORD lpdwUser
Definition: undocshell.h:663
LPCWSTR lpFile
Definition: undocshell.h:226
LPCWSTR lpDirectory
Definition: undocshell.h:227
SHELLSTATE ss
Definition: undocshell.h:637
APPBAR_OUTPUT hOutput
Definition: undocshell.h:1344
APPBARDATAINTEROP abd
Definition: undocshell.h:1342
DATABLOCK_HEADER dbh
Definition: undocshell.h:1283
WCHAR szwLayerName[64]
Definition: undocshell.h:1277
DATABLOCK_HEADER dbh
Definition: undocshell.h:1275
CHAR szMachineID[16]
Definition: undocshell.h:1264
GUID guidDroidObject
Definition: undocshell.h:1267
DATABLOCK_HEADER dbh
Definition: undocshell.h:1258
GUID guidDroidBirthVolume
Definition: undocshell.h:1268
GUID guidDroidVolume
Definition: undocshell.h:1266
GUID guidDroidBirthObject
Definition: undocshell.h:1269
DATABLOCK_HEADER dbh
Definition: undocshell.h:1294
WCHAR szHashItem[MAX_PATH]
Definition: undocshell.h:196
uint16_t * PWSTR
Definition: typedefs.h:56
const char * LPCSTR
Definition: typedefs.h:52
uint32_t * PULONG
Definition: typedefs.h:59
char * PSTR
Definition: typedefs.h:51
const uint16_t * PCWSTR
Definition: typedefs.h:57
const uint16_t * LPCWSTR
Definition: typedefs.h:57
unsigned char * LPBYTE
Definition: typedefs.h:53
uint16_t * LPWSTR
Definition: typedefs.h:56
int64_t LONGLONG
Definition: typedefs.h:68
uint16_t * LPWORD
Definition: typedefs.h:56
uint32_t * LPDWORD
Definition: typedefs.h:59
char * LPSTR
Definition: typedefs.h:51
int32_t INT
Definition: typedefs.h:58
const char * PCSTR
Definition: typedefs.h:52
uint32_t UINT32
Definition: typedefs.h:59
uint32_t ULONG
Definition: typedefs.h:59
LPITEMIDLIST WINAPI SHSimpleIDListFromPathA(LPCSTR lpszPath)
Definition: pidl.c:1223
int WINAPI FileMenu_AppendFilesForPidl(HMENU hMenu, LPCITEMIDLIST pidl, BOOL bAddSeparator)
Definition: shlmenu.c:478
HANDLE APPBAR_OUTPUT
Definition: undocshell.h:1319
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)
Definition: shellpath.c:456
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:203
BOOL WINAPI IsSuspendAllowed(VOID)
Definition: utils.cpp:956
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:1277
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 tagSHCNF_UPDATEIMAGE_DATA_1 * PSHCNF_UPDATEIMAGE_DATA_1
struct tagSHELL_LINK_INFOW SHELL_LINK_INFOW
struct tagAPPBARDATAINTEROP * PAPPBARDATAINTEROP
const SFVCBINFO * LPCSFVCBINFO
Definition: undocshell.h:655
VOID WINAPI PathQualifyA(LPSTR pszPath)
LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl)
Definition: pidl.c:472
BOOL WINAPI DAD_DragEnter(_In_ HWND hWnd)
Definition: shellord.c:1779
BOOL WINAPI PathIsExeAW(LPCVOID lpszPath)
Definition: shellpath.c:761
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)
Definition: shellpath.c:517
struct CWTESTPATHSTRUCT * LPCWTESTPATHSTRUCT
LPVOID WINAPI PathFindExtensionAW(LPCVOID path)
Definition: shellpath.c:480
int WINAPI LogoffWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1541
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:3222
BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec)
Definition: shellpath.c:791
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)
Definition: shellpath.c:667
HRESULT WINAPI SHRegisterDragDrop(HWND hWnd, LPDROPTARGET lpDropTarget)
Definition: shellord.c:753
HRESULT WINAPI SHILCreateFromPathW(LPCWSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:404
struct _SHCNF_PRINTJOB_INFO * PSHCNF_PRINTJOB_INFO
BOOL WINAPI RegisterShellHook(HWND hWnd, DWORD dwType)
Definition: shellord.c:524
LPWSTR WINAPI ShortSizeFormatW(_In_ DWORD dwNumber, _Out_writes_(0x8FFF) LPWSTR pszBuffer)
Definition: utils.cpp:802
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:1755
struct tagSHCNF_UPDATEIMAGE_DATA_2 * PSHCNF_UPDATEIMAGE_DATA_2
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)
struct tagSHCNF_UPDATEIMAGE_DATA_1 SHCNF_UPDATEIMAGE_DATA_1
VOID WINAPI CDefFolderMenu_MergeMenu(_In_ HINSTANCE hInstance, _In_ UINT uMainMerge, _In_ UINT uPopupMerge, _Inout_ LPQCMINFO lpQcmInfo)
Definition: utils.cpp:77
void WINAPI PathStripPathAW(LPVOID lpszPath)
Definition: shellpath.c:557
#define REGSHELLSTATE_SIZE
Definition: undocshell.h:639
struct tagSHELL_LINK_INFOA * LPSHELL_LINK_INFOA
HRESULT WINAPI SHCreatePropertyBag(_In_ REFIID riid, _Out_ void **ppvObj)
Definition: utils.cpp:1009
VOID WINAPI PathSetDlgItemPathAW(HWND hDlg, int nIDDlgItem, LPCVOID lpszPath)
Definition: shellpath.c:1549
LPNMRUNFILEDLGW LPNMRUNFILEDLG
Definition: undocshell.h:233
BOOL WINAPI PathIsDirectoryAW(LPCVOID lpszPath)
Definition: shellpath.c:771
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:3445
PNMRUNFILEDLGW PNMRUNFILEDLG
Definition: undocshell.h:232
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:711
LPVOID WINAPI PathGetArgsAW(LPVOID lpszPath)
Definition: shellpath.c:527
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:421
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:557
void WINAPI ExitWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1604
struct tagEXP_TRACKER EXP_TRACKER
void WINAPI PathRemoveArgsAW(LPVOID lpszPath)
Definition: shellpath.c:578
BOOL WINAPI PathStripToRootAW(LPVOID lpszPath)
Definition: shellpath.c:568
WORD WINAPI ExtractIconResInfoW(_In_ HANDLE hHandle, _In_ LPCWSTR lpFileName, _In_ WORD wIndex, _Out_ LPWORD lpSize, _Out_ LPHANDLE lpIcon)
Definition: stubs.cpp:639
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:678
BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszFile1OrCSIDL, _In_ LPCWSTR pszFile2)
Definition: utils.cpp:1718
struct tagSHELL_LINK_INFO_VOLUME_IDA SHELL_LINK_INFO_VOLUME_IDA
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
Definition: shellord.c:2890
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:781
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:2001
BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl, LPVOID path)
Definition: pidl.c:184
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:583
HRESULT WINAPI SHShouldShowWizards(_In_ IUnknown *pUnknown)
Definition: utils.cpp:284
struct tagSHELL_LINK_HEADER * LPSHELL_LINK_HEADER
struct tagEXP_KNOWN_FOLDER * LPEXP_KNOWN_FOLDER
VOID WINAPI PathQuoteSpacesAW(LPVOID path)
Definition: shellpath.c:656
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)
Definition: shellpath.c:801
HRESULT WINAPI CopyStreamUI(_In_ IStream *pSrc, _Out_ IStream *pDst, _Inout_opt_ IProgressDialog *pProgress, _In_opt_ DWORDLONG dwlSize)
Definition: utils.cpp:1465
struct tagSHCNF_UPDATEIMAGE_DATA_2 SHCNF_UPDATEIMAGE_DATA_2
struct _NMRUNFILEDLGW NMRUNFILEDLGW
struct tagSHELL_LINK_INFO_VOLUME_IDW SHELL_LINK_INFO_VOLUME_IDW
BOOL WINAPI RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf)
Definition: shell32.cpp:91
void WINAPI FileMenu_Invalidate(HMENU hMenu)
Definition: shlmenu.c:459
BOOL WINAPI SHIsBadInterfacePtr(_In_ LPCVOID pv, _In_ UINT_PTR ucb)
Definition: utils.cpp:1977
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:22
BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath)
Definition: shellpath.c:691
LPSTR WINAPI SheRemoveQuotesA(LPSTR psz)
Definition: utils.cpp:1193
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:3192
HRESULT WINAPI PathProcessCommandAW(LPCVOID lpszPath, LPVOID lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:1531
BOOL WINAPI SHTestTokenPrivilegeW(_In_opt_ HANDLE hToken, _In_z_ LPCWSTR lpName)
const SFVSELECTSTATE * LPCSFVSELECTSTATE
Definition: undocshell.h:665
void WINAPI ILGlobalFree(LPITEMIDLIST pidl)
Definition: pidl.c:1071
struct tagAPPBARDATAINTEROP APPBARDATAINTEROP
int WINAPI PathParseIconLocationAW(LPVOID lpszPath)
Definition: shellpath.c:678
BOOL WINAPI ILGetDisplayNameEx(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type)
Definition: pidl.c:172
void WINAPI PathRemoveBlanksAW(LPVOID lpszPath)
Definition: shellpath.c:645
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)
INT WINAPI SHLookupIconIndexA(LPCSTR lpName, INT iIndex, UINT uFlags)
Definition: stubs.cpp:402
HRESULT WINAPI SHExtCoCreateInstance(_In_opt_ LPCWSTR aclsid, _In_opt_ const CLSID *clsid, _In_opt_ LPUNKNOWN pUnkOuter, _In_ REFIID refiid, _Out_ LPVOID *ppv)
Definition: shellole.c:222
VOID WINAPI CheckEscapesW(LPWSTR string, DWORD len)
Definition: shellstring.c:252
BOOL WINAPI FileIconInit(BOOL bFullInit)
Definition: shellord.c:2000
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW(LPCWSTR lpszPath)
Definition: pidl.c:1245
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
HRESULT WINAPI SHInvokeCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl, LPCSTR lpVerb)
BOOL WINAPI DAD_ShowDragImage(_In_ BOOL bShow)
Definition: shellord.c:1906
BOOL WINAPI DAD_SetDragImageFromListView(HWND hWnd, POINT pt)
Definition: stubs.cpp:572
LPWSTR WINAPI SheRemoveQuotesW(LPWSTR psz)
Definition: utils.cpp:1218
INT WINAPI SHLookupIconIndexW(LPCWSTR lpName, INT iIndex, UINT uFlags)
Definition: stubs.cpp:413
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:122
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:1583
DWORD WINAPI SHGetUserSessionId(_In_opt_ HANDLE hToken)
Definition: utils.cpp:822
LRESULT WINAPI FileMenu_MeasureItem(HWND hWnd, LPMEASUREITEMSTRUCT lpmis)
Definition: shlmenu.c:558
HRESULT(CALLBACK * LPFNCDCOCALLBACK)(LPUNKNOWN pUnkOuter, REFIID riidObject, LPVOID *ppvObject)
Definition: undocshell.h:829
HRESULT WINAPI SHRevokeDragDrop(HWND hWnd)
Definition: shellord.c:788
HRESULT WINAPI SHGetComputerDisplayNameW(_In_opt_ LPWSTR pszServerName, _In_ DWORD dwFlags, _Out_writes_z_(cchNameMax) LPWSTR pszName, _In_ DWORD cchNameMax)
Definition: utils.cpp:2142
VOID WINAPI PathQualifyW(LPWSTR pszPath)
BOOL WINAPI PathMakeUniqueNameAW(LPVOID lpszBuffer, DWORD dwBuffSize, LPCVOID lpszShortName, LPCVOID lpszLongName, LPCVOID lpszPathName)
Definition: shellpath.c:1093
PWSTR WINAPI StrRStrW(_In_ PCWSTR pszSrc, _In_opt_ PCWSTR pszLast, _In_ PCWSTR pszSearch)
Definition: utils.cpp:154
LPVOID WINAPI PathAddBackslashAW(LPVOID path)
Definition: shellpath.c:446
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:480
VOID WINAPI ShellExec_RunDLLA(_In_opt_ HWND hwnd, _In_opt_ HINSTANCE hInstance, _In_ PCSTR pszCmdLine, _In_ INT nCmdShow)
Definition: shlexec.cpp:3428
BOOL WINAPI PathResolveA(LPSTR path, LPCSTR *dirs, DWORD flags)
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:936
BOOL WINAPI SHWaitForFileToOpen(LPCITEMIDLIST pidl, DWORD dwFlags, DWORD dwTimeout)
Definition: shellord.c:2088
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:3058
void WINAPI PathRemoveExtensionAW(LPVOID lpszPath)
Definition: shellpath.c:589
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:3125
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lphimlLarge, HIMAGELIST *lphimlSmall)
Definition: iconcache.cpp:689
HRESULT WINAPI SHILCreateFromPathA(LPCSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:392
struct SFVCOLUMNINFO * LPSFVCOLUMNINFO
BOOL WINAPI LinkWindow_UnregisterClass(_In_ DWORD dwUnused)
Definition: utils.cpp:2409
NMRUNFILEDLGW NMRUNFILEDLG
Definition: undocshell.h:231
BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath)
Definition: shellpath.c:547
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)
Definition: shellpath.c:470
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:781
struct tagAPPBAR_COMMAND APPBAR_COMMAND
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:410
DWORD WINAPI SHNetConnectionDialog(HWND hwndOwner, LPCWSTR lpstrRemoteName, DWORD dwType)
Definition: stubs.cpp:559
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)
Definition: shellpath.c:1143
BOOL WINAPI SHOpenEffectiveToken(_Out_ LPHANDLE phToken)
Definition: utils.cpp:813
int WINAPI SHOutOfMemoryMessageBox(HWND hwndOwner, LPCSTR lpCaption, UINT uType)
Definition: shellord.c:2067
void(CALLBACK * LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile)
Definition: undocshell.h:392
BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath)
Definition: shellpath.c:701
LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile)
Definition: shellpath.c:433
struct tagEXP_KNOWN_FOLDER EXP_KNOWN_FOLDER
struct _REGSHELLSTATE * PREGSHELLSTATE
VOID WINAPI PathQualifyAW(LPVOID path)
BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR lpszBuffer, LPCWSTR lpszPathName, LPCWSTR lpszShortName, LPCWSTR lpszLongName)
Definition: shellpath.c:1108
void WINAPI RunFileDlg(HWND hWndOwner, HICON hIcon, LPCWSTR lpstrDirectory, LPCWSTR lpstrTitle, LPCWSTR lpstrDescription, UINT uFlags)
Definition: dialogs.cpp:400
struct tagAPPBAR_COMMAND * PAPPBAR_COMMAND
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:2445
_In_ LPCSTR lpFileName
Definition: winbase.h:2800
_In_ LPCSTR lpName
Definition: winbase.h:2519
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
_In_ BOOL bEnable
Definition: winddi.h:3426
DWORD COLORREF
Definition: windef.h:100
#define HRESULT
Definition: msvc.h:7
#define WINAPI
Definition: msvc.h:6
_In_ DWORD _In_ int _In_ int _In_opt_ LPNLSVERSIONINFO _In_opt_ LPVOID lpReserved
Definition: winnls.h:1279
ACCESS_MASK REGSAM
Definition: winreg.h:76