ReactOS  0.4.15-dev-3733-g974a0f0
undocshell.h File Reference
#include <stdio.h>
#include <pshpack1.h>
#include <poppack.h>
Include dependency graph for undocshell.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _SHCNF_PRINTJOB_INFO
 
struct  _NMRUNFILEDLGW
 
struct  CWTESTPATHSTRUCT
 
struct  SFVCBINFO
 
struct  SFVSELECTSTATE
 
struct  SFVCOPYHOOKINFO
 
struct  SFVCOLUMNINFO
 
struct  tagSHELL_LINK_HEADER
 
struct  tagSHELL_LINK_INFOA
 
struct  tagSHELL_LINK_INFOW
 
struct  tagSHELL_LINK_INFO_VOLUME_IDA
 
struct  tagSHELL_LINK_INFO_VOLUME_IDW
 
struct  tagSHELL_LINK_INFO_CNR_LINKA
 
struct  tagSHELL_LINK_INFO_CNR_LINKW
 
struct  tagEXP_TRACKER
 
struct  tagEXP_SHIM
 
struct  tagEXP_KNOWN_FOLDER
 
struct  tagEXP_VISTA_ID_LIST
 
struct  SFVM_CUSTOMVIEWINFO_DATA
 

Macros

#define TWM_DOEXITWINDOWS   (WM_USER + 342)
 
#define TWM_CYCLEFOCUS   (WM_USER + 348)
 
#define ILGDN_FORPARSING   0
 
#define ILGDN_NORMAL   1
 
#define ILGDN_INFOLDER   2
 
#define SHCNRF_InterruptLevel   0x0001
 
#define SHCNRF_ShellLevel   0x0002
 
#define SHCNRF_RecursiveInterrupt   0x1000 /* Must be combined with SHCNRF_InterruptLevel */
 
#define SHCNRF_NewDelivery   0x8000 /* Messages use shared memory */
 
#define SHCNF_PRINTJOBA   0x0004
 
#define SHCNF_PRINTJOBW   0x0007
 
#define RFF_NOBROWSE   0x01 /* Removes the browse button */
 
#define RFF_NODEFAULT   0x02 /* No default item selected */
 
#define RFF_CALCDIRECTORY   0x04 /* Calculates the working directory from the file name */
 
#define RFF_NOLABEL   0x08 /* Removes the edit box label */
 
#define RFF_NOSEPARATEMEM   0x20 /* Removes the Separate Memory Space check box (Windows NT only) */
 
#define RFN_VALIDATE   (-510)
 
#define RF_OK   0x00
 
#define RF_CANCEL   0x01
 
#define RF_RETRY   0x02
 
#define CWM_SETPATH   (WM_USER + 2)
 
#define CWM_WANTIDLE   (WM_USER + 3)
 
#define CWM_GETSETCURRENTINFO   (WM_USER + 4)
 
#define CWM_SELECTITEM   (WM_USER + 5)
 
#define CWM_SELECTITEMSTR   (WM_USER + 6)
 
#define CWM_GETISHELLBROWSER   (WM_USER + 7)
 
#define CWM_TESTPATH   (WM_USER + 9)
 
#define CWM_STATECHANGE   (WM_USER + 10)
 
#define CWM_GETPATH   (WM_USER + 12)
 
#define WM_GETISHELLBROWSER   CWM_GETISHELLBROWSER
 
#define CWTP_ISEQUAL   0
 
#define CWTP_ISCHILD   1
 
#define FM_DEFAULT_SELHEIGHT   -1
 
#define FM_FULL_SELHEIGHT   0
 
#define FMF_SMALL_ICONS   0x00
 
#define FMF_LARGE_ICONS   0x08
 
#define FMF_NO_COLUMN_BREAK   0x10
 
#define FM_SEPARATOR   (LPCSTR)1
 
#define FM_BLANK_ICON   -1
 
#define FM_DEFAULT_HEIGHT   0
 
#define FMF_NO_EMPTY_ITEM   0x01
 
#define FMF_NO_PROGRAM_GROUPS   0x04
 
#define PRF_CHECKEXISTANCE   0x01
 
#define PRF_EXECUTABLE   0x02
 
#define PRF_QUALIFYONPATH   0x04
 
#define PRF_WINDOWS31   0x08
 
#define PPCF_QUOTEPATH   0x01 /* implies PPCF_INCLUDEARGS */
 
#define PPCF_INCLUDEARGS   0x02
 
#define PPCF_DONTRESOLVE   0x20
 
#define PPCF_PATHISRELATIVE   0x40
 
#define DE_SAMEFILE   0x71
 
#define DE_MANYSRC1DEST   0x72
 
#define DE_DIFFDIR   0x73
 
#define DE_ROOTDIR   0x74
 
#define DE_OPCANCELLED   0x75
 
#define DE_DESTSUBTREE   0x76
 
#define DE_ACCESSDENIEDSRC   0x78
 
#define DE_PATHTOODEEP   0x79
 
#define DE_MANYDEST   0x7A
 
#define DE_INVALIDFILES   0x7C
 
#define DE_DESTSAMETREE   0x7D
 
#define DE_FLDDESTISFILE   0x7E
 
#define DE_FILEDESTISFLD   0x80
 
#define DE_FILENAMETOOLONG   0x81
 
#define DE_DEST_IS_CDROM   0x82
 
#define DE_DEST_IS_DVD   0x83
 
#define DE_DEST_IS_CDRECORD   0x84
 
#define DE_FILE_TOO_LARGE   0x85
 
#define DE_SRC_IS_CDROM   0x86
 
#define DE_SRC_IS_DVD   0x87
 
#define DE_SRC_IS_CDRECORD   0x88
 
#define ERRORONDEST   0x10000
 
#define SHWFF_ADD   0x01
 
#define SHWFF_REMOVE   0x02
 
#define SHWFF_WAIT   0x04
 
#define SECL_NO_UI   0x2
 
#define SECL_LOG_USAGE   0x8
 
#define SECL_USE_IDLIST   0x10
 
#define SECL_ALLOW_NONEXE   0x20
 
#define SECL_RUNAS   0x40
 
#define RSH_DEREGISTER   0
 
#define RSH_REGISTER   1
 
#define RSH_REGISTER_PROGMAN   2
 
#define RSH_REGISTER_TASKMAN   3
 
#define SHCLF_PREFIXNAME   0x01
 
#define SHCLF_CREATEONDESKTOP   0x02
 
#define CSIDL_FOLDER_MASK   0x00ff
 
#define SMC_EXEC   4
 
#define IDB_GOBUTTON_NORMAL   0x0e6
 
#define IDB_GOBUTTON_HOT   0x0e7
 
#define ITBBID_MENUBAND   1
 
#define ITBBID_BRANDBAND   5
 
#define ITBBID_TOOLSBAND   2
 
#define ITBBID_ADDRESSBAND   4
 
#define ITID_TEXTLABELS   3
 
#define ITID_TOOLBARBANDSHOWN   4
 
#define ITID_ADDRESSBANDSHOWN   5
 
#define ITID_LINKSBANDSHOWN   6
 
#define ITID_MENUBANDSHOWN   12
 
#define ITID_AUTOHIDEENABLED   13
 
#define ITID_CUSTOMIZEENABLED   20
 
#define ITID_TOOLBARLOCKED   27
 
#define BBID_STARTANIMATION   1
 
#define BBID_STOPANIMATION   2
 
#define SMSET_UNKNOWN08   0x08
 
#define SMSET_UNKNOWN10   0x10
 
#define TRAYCMD_STARTMENU   305
 
#define TRAYCMD_RUN_DIALOG   401
 
#define TRAYCMD_LOGOFF_DIALOG   402
 
#define TRAYCMD_CASCADE   403
 
#define TRAYCMD_TILE_H   404
 
#define TRAYCMD_TILE_V   405
 
#define TRAYCMD_TOGGLE_DESKTOP   407
 
#define TRAYCMD_DATE_AND_TIME   408
 
#define TRAYCMD_TASKBAR_PROPERTIES   413
 
#define TRAYCMD_MINIMIZE_ALL   415
 
#define TRAYCMD_RESTORE_ALL   416
 
#define TRAYCMD_SHOW_DESKTOP   419
 
#define TRAYCMD_SHOW_TASK_MGR   420
 
#define TRAYCMD_CUSTOMIZE_TASKBAR   421
 
#define TRAYCMD_LOCK_TASKBAR   424
 
#define TRAYCMD_HELP_AND_SUPPORT   503
 
#define TRAYCMD_CONTROL_PANEL   505
 
#define TRAYCMD_SHUTDOWN_DIALOG   506
 
#define TRAYCMD_PRINTERS_AND_FAXES   510
 
#define TRAYCMD_LOCK_DESKTOP   517
 
#define TRAYCMD_SWITCH_USER_DIALOG   5000
 
#define TRAYCMD_SEARCH_FILES   41093
 
#define TRAYCMD_SEARCH_COMPUTERS   41094
 
#define TABDMC_APPBAR   0
 
#define TABDMC_NOTIFY   1
 
#define TABDMC_LOADINPROC   2
 
#define INVALID_FILETITLE_CHARACTERSA   "\\/:*?\"<>|"
 
#define INVALID_FILETITLE_CHARACTERSW   L"\\/:*?\"<>|"
 
#define INVALID_FILETITLE_CHARACTERS   INVALID_FILETITLE_CHARACTERSA
 
#define SLI_VALID_LOCAL   0x00000001
 
#define SLI_VALID_NETWORK   0x00000002
 
#define SLI_CNR_VALID_DEVICE   0x00000001
 
#define SLI_CNR_VALID_NET_TYPE   0x00000002
 
#define EXP_TRACKER_SIG   0xa0000003
 
#define EXP_SHIM_SIG   0xa0000008
 
#define EXP_KNOWN_FOLDER_SIG   0xa000000b
 
#define EXP_VISTA_ID_LIST_SIG   0xa000000c
 

Typedefs

typedef struct _SHCNF_PRINTJOB_INFO SHCNF_PRINTJOB_INFO
 
typedef struct _SHCNF_PRINTJOB_INFOPSHCNF_PRINTJOB_INFO
 
typedef struct _NMRUNFILEDLGW NMRUNFILEDLGW
 
typedef struct _NMRUNFILEDLGWPNMRUNFILEDLGW
 
typedef struct _NMRUNFILEDLGWLPNMRUNFILEDLGW
 
typedef NMRUNFILEDLGW NMRUNFILEDLG
 
typedef PNMRUNFILEDLGW PNMRUNFILEDLG
 
typedef LPNMRUNFILEDLGW LPNMRUNFILEDLG
 
typedef struct CWTESTPATHSTRUCTLPCWTESTPATHSTRUCT
 
typedef void(CALLBACKLPFNFMCALLBACK) (LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile)
 
typedef struct SFVCBINFOLPSFVCBINFO
 
typedef const SFVCBINFOLPCSFVCBINFO
 
typedef struct SFVSELECTSTATELPSFVSELECTSTATE
 
typedef const SFVSELECTSTATELPCSFVSELECTSTATE
 
typedef struct SFVCOPYHOOKINFOLPSFVCOPYHOOKINFO
 
typedef const SFVCOPYHOOKINFOLPCSFVCOPYHOOKINFO
 
typedef struct SFVCOLUMNINFOLPSFVCOLUMNINFO
 
typedef HRESULT(CALLBACKLPFNCDCOCALLBACK) (LPUNKNOWN pUnkOuter, REFIID riidObject, LPVOID *ppvObject)
 
typedef struct tagSHELL_LINK_HEADER SHELL_LINK_HEADER
 
typedef struct tagSHELL_LINK_HEADERLPSHELL_LINK_HEADER
 
typedef struct tagSHELL_LINK_INFOA SHELL_LINK_INFOA
 
typedef struct tagSHELL_LINK_INFOALPSHELL_LINK_INFOA
 
typedef struct tagSHELL_LINK_INFOW SHELL_LINK_INFOW
 
typedef struct tagSHELL_LINK_INFOWLPSHELL_LINK_INFOW
 
typedef struct tagSHELL_LINK_INFO_VOLUME_IDA SHELL_LINK_INFO_VOLUME_IDA
 
typedef struct tagSHELL_LINK_INFO_VOLUME_IDALPSHELL_LINK_INFO_VOLUME_IDA
 
typedef struct tagSHELL_LINK_INFO_VOLUME_IDW SHELL_LINK_INFO_VOLUME_IDW
 
typedef struct tagSHELL_LINK_INFO_VOLUME_IDWLPSHELL_LINK_INFO_VOLUME_IDW
 
typedef struct tagSHELL_LINK_INFO_CNR_LINKA SHELL_LINK_INFO_CNR_LINKA
 
typedef struct tagSHELL_LINK_INFO_CNR_LINKALPSHELL_LINK_INFO_CNR_LINKA
 
typedef struct tagSHELL_LINK_INFO_CNR_LINKW SHELL_LINK_INFO_CNR_LINKW
 
typedef struct tagSHELL_LINK_INFO_CNR_LINKWLPSHELL_LINK_INFO_CNR_LINKW
 
typedef struct tagEXP_TRACKER EXP_TRACKER
 
typedef struct tagEXP_TRACKERLPEXP_TRACKER
 
typedef struct tagEXP_SHIM EXP_SHIM
 
typedef struct tagEXP_SHIMLPEXP_SHIM
 
typedef struct tagEXP_KNOWN_FOLDER EXP_KNOWN_FOLDER
 
typedef struct tagEXP_KNOWN_FOLDERLPEXP_KNOWN_FOLDER
 
typedef struct tagEXP_VISTA_ID_LIST EXP_VISTA_ID_LIST
 
typedef struct tagEXP_VISTA_ID_LISTLPEXP_VISTA_ID_LIST
 
typedef struct SFVM_CUSTOMVIEWINFO_DATA SFVM_CUSTOMVIEWINFO_DATA
 
typedef struct SFVM_CUSTOMVIEWINFO_DATALPSFVM_CUSTOMVIEWINFO_DATA
 

Functions

BOOL WINAPI ILGetDisplayName (LPCITEMIDLIST pidl, LPVOID path)
 
BOOL WINAPI ILGetDisplayNameEx (LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type)
 
LPITEMIDLIST WINAPI ILGlobalClone (LPCITEMIDLIST pidl)
 
void WINAPI ILGlobalFree (LPITEMIDLIST pidl)
 
LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath)
 
LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath)
 
HRESULT WINAPI SHILCreateFromPathA (LPCSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
 
HRESULT WINAPI SHILCreateFromPathW (LPCWSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
 
BOOL WINAPI StrRetToStrNA (LPSTR, DWORD, LPSTRRET, const ITEMIDLIST *)
 
BOOL WINAPI StrRetToStrNW (LPWSTR, DWORD, LPSTRRET, const ITEMIDLIST *)
 
void WINAPI RunFileDlg (HWND hWndOwner, HICON hIcon, LPCWSTR lpstrDirectory, LPCWSTR lpstrTitle, LPCWSTR lpstrDescription, UINT uFlags)
 
int WINAPI LogoffWindowsDialog (HWND hWndOwner)
 
void WINAPI ExitWindowsDialog (HWND hWndOwner)
 
BOOL WINAPI SHFindComputer (LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)
 
void WINAPI SHHandleDiskFull (HWND hwndOwner, UINT uDrive)
 
int WINAPI SHOutOfMemoryMessageBox (HWND hwndOwner, LPCSTR lpCaption, UINT uType)
 
DWORD WINAPI SHNetConnectionDialog (HWND hwndOwner, LPCWSTR lpstrRemoteName, DWORD dwType)
 
int WINAPI Shell_GetCachedImageIndexA (LPCSTR lpszFileName, int nIconIndex, UINT bSimulateDoc)
 
BOOL WINAPI Shell_GetImageLists (HIMAGELIST *lphimlLarge, HIMAGELIST *lphimlSmall)
 
HICON WINAPI SHGetFileIcon (DWORD dwReserved, LPCSTR lpszPath, DWORD dwFileAttributes, UINT uFlags)
 
BOOL WINAPI FileIconInit (BOOL bFullInit)
 
HMENU WINAPI FileMenu_Create (COLORREF crBorderColor, int nBorderWidth, HBITMAP hBorderBmp, int nSelHeight, UINT uFlags)
 
void WINAPI FileMenu_Destroy (HMENU hMenu)
 
BOOL WINAPI FileMenu_AppendItem (HMENU hMenu, LPCSTR lpszText, UINT uID, int iIcon, HMENU hMenuPopup, int nItemHeight)
 
int WINAPI FileMenu_InsertUsingPidl (HMENU hMenu, UINT uID, LPCITEMIDLIST pidl, UINT uFlags, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
 
int WINAPI FileMenu_ReplaceUsingPidl (HMENU hMenu, UINT uID, LPCITEMIDLIST pidl, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
 
void WINAPI FileMenu_Invalidate (HMENU hMenu)
 
HMENU WINAPI FileMenu_FindSubMenuByPidl (HMENU hMenu, LPCITEMIDLIST pidl)
 
BOOL WINAPI FileMenu_TrackPopupMenuEx (HMENU hMenu, UINT uFlags, int x, int y, HWND hWnd, LPTPMPARAMS lptpm)
 
BOOL WINAPI FileMenu_GetLastSelectedItemPidls (UINT uReserved, LPCITEMIDLIST *ppidlFolder, LPCITEMIDLIST *ppidlItem)
 
LRESULT WINAPI FileMenu_MeasureItem (HWND hWnd, LPMEASUREITEMSTRUCT lpmis)
 
LRESULT WINAPI FileMenu_DrawItem (HWND hWnd, LPDRAWITEMSTRUCT lpdis)
 
BOOL WINAPI FileMenu_InitMenuPopup (HMENU hMenu)
 
void WINAPI FileMenu_AbortInitMenu (void)
 
LRESULT WINAPI FileMenu_HandleMenuChar (HMENU hMenu, WPARAM wParam)
 
BOOL WINAPI FileMenu_DeleteAllItems (HMENU hMenu)
 
BOOL WINAPI FileMenu_DeleteItemByCmd (HMENU hMenu, UINT uID)
 
BOOL WINAPI FileMenu_DeleteItemByIndex (HMENU hMenu, UINT uPos)
 
BOOL WINAPI FileMenu_DeleteMenuItemByFirstID (HMENU hMenu, UINT uID)
 
BOOL WINAPI FileMenu_DeleteSeparator (HMENU hMenu)
 
BOOL WINAPI FileMenu_EnableItemByCmd (HMENU hMenu, UINT uID, BOOL bEnable)
 
DWORD WINAPI FileMenu_GetItemExtent (HMENU hMenu, UINT uPos)
 
int WINAPI FileMenu_AppendFilesForPidl (HMENU hMenu, LPCITEMIDLIST pidl, BOOL bAddSeparator)
 
int WINAPI FileMenu_AddFilesForPidl (HMENU hMenu, UINT uReserved, UINT uID, LPCITEMIDLIST pidl, UINT uFlags, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
 
HRESULT WINAPI SHRegisterDragDrop (HWND hWnd, LPDROPTARGET lpDropTarget)
 
HRESULT WINAPI SHRevokeDragDrop (HWND hWnd)
 
BOOL WINAPI DAD_DragEnter (HWND hWnd)
 
BOOL WINAPI DAD_SetDragImageFromListView (HWND hWnd, POINT pt)
 
BOOL WINAPI DAD_ShowDragImage (BOOL bShow)
 
BOOL WINAPI PathAppendAW (LPVOID lpszPath1, LPCVOID lpszPath2)
 
LPVOID WINAPI PathCombineAW (LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile)
 
LPVOID WINAPI PathAddBackslashAW (LPVOID path)
 
LPVOID WINAPI PathBuildRootAW (LPVOID lpszPath, int drive)
 
LPVOID WINAPI PathFindExtensionAW (LPCVOID path)
 
LPVOID WINAPI PathFindFileNameAW (LPCVOID path)
 
LPVOID WINAPI PathGetExtensionAW (LPCVOID lpszPath, DWORD void1, DWORD void2)
 
LPVOID WINAPI PathGetArgsAW (LPVOID lpszPath)
 
BOOL WINAPI PathRemoveFileSpecAW (LPVOID lpszPath)
 
void WINAPI PathRemoveBlanksAW (LPVOID lpszPath)
 
VOID WINAPI PathQuoteSpacesAW (LPVOID path)
 
void WINAPI PathUnquoteSpacesAW (LPVOID lpszPath)
 
BOOL WINAPI PathIsUNCAW (LPCVOID lpszPath)
 
BOOL WINAPI PathIsRelativeAW (LPCVOID lpszPath)
 
BOOL WINAPI PathIsRootAW (LPCVOID x)
 
BOOL WINAPI PathIsExeAW (LPCVOID lpszPath)
 
BOOL WINAPI PathIsDirectoryAW (LPCVOID lpszPath)
 
BOOL WINAPI PathFileExistsAW (LPCVOID lpszPath)
 
BOOL WINAPI PathMatchSpecAW (LPVOID lpszPath, LPVOID lpszSpec)
 
BOOL WINAPI PathMakeUniqueNameAW (LPVOID lpszBuffer, DWORD dwBuffSize, LPCVOID lpszShortName, LPCVOID lpszLongName, LPCVOID lpszPathName)
 
BOOL WINAPI PathYetAnotherMakeUniqueName (LPWSTR lpszBuffer, LPCWSTR lpszPathName, LPCWSTR lpszShortName, LPCWSTR lpszLongName)
 
VOID WINAPI PathQualifyA (LPSTR pszPath)
 
VOID WINAPI PathQualifyW (LPWSTR pszPath)
 
VOID WINAPI PathQualifyAW (LPVOID path)
 
BOOL WINAPI PathResolveA (LPSTR path, LPCSTR *dirs, DWORD flags)
 
BOOL WINAPI PathResolveW (LPWSTR path, LPCWSTR *dirs, DWORD flags)
 
BOOL WINAPI PathResolveAW (LPVOID lpszPath, LPCVOID *alpszPaths, DWORD dwFlags)
 
VOID WINAPI PathSetDlgItemPathAW (HWND hDlg, int nIDDlgItem, LPCVOID lpszPath)
 
HRESULT WINAPI PathProcessCommandAW (LPCVOID lpszPath, LPVOID lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
 
void WINAPI PathStripPathAW (LPVOID lpszPath)
 
BOOL WINAPI PathStripToRootAW (LPVOID lpszPath)
 
void WINAPI PathRemoveArgsAW (LPVOID lpszPath)
 
void WINAPI PathRemoveExtensionAW (LPVOID lpszPath)
 
int WINAPI PathParseIconLocationAW (LPVOID lpszPath)
 
BOOL WINAPI PathIsSameRootAW (LPCVOID lpszPath1, LPCVOID lpszPath2)
 
BOOL WINAPI PathFindOnPathAW (LPVOID sFile, LPCVOID *sOtherDirs)
 
BOOL WINAPI RegenerateUserEnvironment (LPVOID *lpEnvironment, BOOL bUpdateSelf)
 
BOOL WINAPI SHWaitForFileToOpen (LPCITEMIDLIST pidl, DWORD dwFlags, DWORD dwTimeout)
 
WORD WINAPI ArrangeWindows (HWND hwndParent, DWORD dwReserved, LPCRECT lpRect, WORD cKids, CONST HWND *lpKids)
 
HRESULT WINAPI ShellExecCmdLine (HWND hwnd, LPCWSTR pwszCommand, LPCWSTR pwszStartDir, int nShow, LPVOID pUnused, DWORD dwSeclFlags)
 
BOOL WINAPI RegisterShellHook (HWND hWnd, DWORD dwType)
 
HRESULT WINAPI SHCreateDefClassObject (REFIID riidFactory, LPVOID *ppvFactory, LPFNCDCOCALLBACK lpfnCallback, LPDWORD lpdwUsage, REFIID riidObject)
 
void WINAPI SHFreeUnusedLibraries (void)
 
HRESULT WINAPI SHCreateLinks (HWND hWnd, LPCSTR lpszDir, LPDATAOBJECT lpDataObject, UINT uFlags, LPITEMIDLIST *lppidlLinks)
 
VOID WINAPI CheckEscapesA (LPSTR string, DWORD len)
 
VOID WINAPI CheckEscapesW (LPWSTR string, DWORD len)
 
BOOL WINAPI SHInitRestricted (LPCVOID unused, LPCVOID inpRegKey)
 
INT WINAPI Shell_GetCachedImageIndex (LPCWSTR szPath, INT nIndex, UINT bSimulateDoc)
 
HRESULT WINAPI SHGetImageList (int iImageList, REFIID riid, void **ppv)
 
BOOL WINAPI GUIDFromStringW (_In_ PCWSTR psz, _Out_ LPGUID pguid)
 
void WINAPI ShellDDEInit (BOOL bInit)
 
DWORD WINAPI WinList_Init (void)
 
IStream *WINAPI SHGetViewStream (LPCITEMIDLIST, DWORD, LPCTSTR, LPCTSTR, LPCTSTR)
 
EXTERN_C HRESULT WINAPI SHCreateSessionKey (REGSAM samDesired, PHKEY phKey)
 

Macro Definition Documentation

◆ BBID_STARTANIMATION

#define BBID_STARTANIMATION   1

Definition at line 680 of file undocshell.h.

◆ BBID_STOPANIMATION

#define BBID_STOPANIMATION   2

Definition at line 681 of file undocshell.h.

◆ CSIDL_FOLDER_MASK

#define CSIDL_FOLDER_MASK   0x00ff

Definition at line 639 of file undocshell.h.

◆ CWM_GETISHELLBROWSER

#define CWM_GETISHELLBROWSER   (WM_USER + 7)

Definition at line 201 of file undocshell.h.

◆ CWM_GETPATH

#define CWM_GETPATH   (WM_USER + 12)

Definition at line 204 of file undocshell.h.

◆ CWM_GETSETCURRENTINFO

#define CWM_GETSETCURRENTINFO   (WM_USER + 4)

Definition at line 198 of file undocshell.h.

◆ CWM_SELECTITEM

#define CWM_SELECTITEM   (WM_USER + 5)

Definition at line 199 of file undocshell.h.

◆ CWM_SELECTITEMSTR

#define CWM_SELECTITEMSTR   (WM_USER + 6)

Definition at line 200 of file undocshell.h.

◆ CWM_SETPATH

#define CWM_SETPATH   (WM_USER + 2)

Definition at line 196 of file undocshell.h.

◆ CWM_STATECHANGE

#define CWM_STATECHANGE   (WM_USER + 10)

Definition at line 203 of file undocshell.h.

◆ CWM_TESTPATH

#define CWM_TESTPATH   (WM_USER + 9)

Definition at line 202 of file undocshell.h.

◆ CWM_WANTIDLE

#define CWM_WANTIDLE   (WM_USER + 3)

Definition at line 197 of file undocshell.h.

◆ CWTP_ISCHILD

#define CWTP_ISCHILD   1

Definition at line 210 of file undocshell.h.

◆ CWTP_ISEQUAL

#define CWTP_ISEQUAL   0

Definition at line 209 of file undocshell.h.

◆ DE_ACCESSDENIEDSRC

#define DE_ACCESSDENIEDSRC   0x78

Definition at line 494 of file undocshell.h.

◆ DE_DEST_IS_CDRECORD

#define DE_DEST_IS_CDRECORD   0x84

Definition at line 504 of file undocshell.h.

◆ DE_DEST_IS_CDROM

#define DE_DEST_IS_CDROM   0x82

Definition at line 502 of file undocshell.h.

◆ DE_DEST_IS_DVD

#define DE_DEST_IS_DVD   0x83

Definition at line 503 of file undocshell.h.

◆ DE_DESTSAMETREE

#define DE_DESTSAMETREE   0x7D

Definition at line 498 of file undocshell.h.

◆ DE_DESTSUBTREE

#define DE_DESTSUBTREE   0x76

Definition at line 493 of file undocshell.h.

◆ DE_DIFFDIR

#define DE_DIFFDIR   0x73

Definition at line 490 of file undocshell.h.

◆ DE_FILE_TOO_LARGE

#define DE_FILE_TOO_LARGE   0x85

Definition at line 505 of file undocshell.h.

◆ DE_FILEDESTISFLD

#define DE_FILEDESTISFLD   0x80

Definition at line 500 of file undocshell.h.

◆ DE_FILENAMETOOLONG

#define DE_FILENAMETOOLONG   0x81

Definition at line 501 of file undocshell.h.

◆ DE_FLDDESTISFILE

#define DE_FLDDESTISFILE   0x7E

Definition at line 499 of file undocshell.h.

◆ DE_INVALIDFILES

#define DE_INVALIDFILES   0x7C

Definition at line 497 of file undocshell.h.

◆ DE_MANYDEST

#define DE_MANYDEST   0x7A

Definition at line 496 of file undocshell.h.

◆ DE_MANYSRC1DEST

#define DE_MANYSRC1DEST   0x72

Definition at line 489 of file undocshell.h.

◆ DE_OPCANCELLED

#define DE_OPCANCELLED   0x75

Definition at line 492 of file undocshell.h.

◆ DE_PATHTOODEEP

#define DE_PATHTOODEEP   0x79

Definition at line 495 of file undocshell.h.

◆ DE_ROOTDIR

#define DE_ROOTDIR   0x74

Definition at line 491 of file undocshell.h.

◆ DE_SAMEFILE

#define DE_SAMEFILE   0x71

Definition at line 488 of file undocshell.h.

◆ DE_SRC_IS_CDRECORD

#define DE_SRC_IS_CDRECORD   0x88

Definition at line 508 of file undocshell.h.

◆ DE_SRC_IS_CDROM

#define DE_SRC_IS_CDROM   0x86

Definition at line 506 of file undocshell.h.

◆ DE_SRC_IS_DVD

#define DE_SRC_IS_DVD   0x87

Definition at line 507 of file undocshell.h.

◆ ERRORONDEST

#define ERRORONDEST   0x10000

Definition at line 510 of file undocshell.h.

◆ EXP_KNOWN_FOLDER_SIG

#define EXP_KNOWN_FOLDER_SIG   0xa000000b

Definition at line 947 of file undocshell.h.

◆ EXP_SHIM_SIG

#define EXP_SHIM_SIG   0xa0000008

Definition at line 946 of file undocshell.h.

◆ EXP_TRACKER_SIG

#define EXP_TRACKER_SIG   0xa0000003

Definition at line 945 of file undocshell.h.

◆ EXP_VISTA_ID_LIST_SIG

#define EXP_VISTA_ID_LIST_SIG   0xa000000c

Definition at line 948 of file undocshell.h.

◆ FM_BLANK_ICON

#define FM_BLANK_ICON   -1

Definition at line 263 of file undocshell.h.

◆ FM_DEFAULT_HEIGHT

#define FM_DEFAULT_HEIGHT   0

Definition at line 264 of file undocshell.h.

◆ FM_DEFAULT_SELHEIGHT

#define FM_DEFAULT_SELHEIGHT   -1

Definition at line 244 of file undocshell.h.

◆ FM_FULL_SELHEIGHT

#define FM_FULL_SELHEIGHT   0

Definition at line 245 of file undocshell.h.

◆ FM_SEPARATOR

#define FM_SEPARATOR   (LPCSTR)1

Definition at line 262 of file undocshell.h.

◆ FMF_LARGE_ICONS

#define FMF_LARGE_ICONS   0x08

Definition at line 249 of file undocshell.h.

◆ FMF_NO_COLUMN_BREAK

#define FMF_NO_COLUMN_BREAK   0x10

Definition at line 250 of file undocshell.h.

◆ FMF_NO_EMPTY_ITEM

#define FMF_NO_EMPTY_ITEM   0x01

Definition at line 275 of file undocshell.h.

◆ FMF_NO_PROGRAM_GROUPS

#define FMF_NO_PROGRAM_GROUPS   0x04

Definition at line 276 of file undocshell.h.

◆ FMF_SMALL_ICONS

#define FMF_SMALL_ICONS   0x00

Definition at line 248 of file undocshell.h.

◆ IDB_GOBUTTON_HOT

#define IDB_GOBUTTON_HOT   0x0e7

Definition at line 659 of file undocshell.h.

◆ IDB_GOBUTTON_NORMAL

#define IDB_GOBUTTON_NORMAL   0x0e6

Definition at line 658 of file undocshell.h.

◆ ILGDN_FORPARSING

#define ILGDN_FORPARSING   0

Definition at line 68 of file undocshell.h.

◆ ILGDN_INFOLDER

#define ILGDN_INFOLDER   2

Definition at line 70 of file undocshell.h.

◆ ILGDN_NORMAL

#define ILGDN_NORMAL   1

Definition at line 69 of file undocshell.h.

◆ INVALID_FILETITLE_CHARACTERS

#define INVALID_FILETITLE_CHARACTERS   INVALID_FILETITLE_CHARACTERSA

Definition at line 734 of file undocshell.h.

◆ INVALID_FILETITLE_CHARACTERSA

#define INVALID_FILETITLE_CHARACTERSA   "\\/:*?\"<>|"

Definition at line 728 of file undocshell.h.

◆ INVALID_FILETITLE_CHARACTERSW

#define INVALID_FILETITLE_CHARACTERSW   L"\\/:*?\"<>|"

Definition at line 729 of file undocshell.h.

◆ ITBBID_ADDRESSBAND

#define ITBBID_ADDRESSBAND   4

Definition at line 665 of file undocshell.h.

◆ ITBBID_BRANDBAND

#define ITBBID_BRANDBAND   5

Definition at line 663 of file undocshell.h.

◆ ITBBID_MENUBAND

#define ITBBID_MENUBAND   1

Definition at line 662 of file undocshell.h.

◆ ITBBID_TOOLSBAND

#define ITBBID_TOOLSBAND   2

Definition at line 664 of file undocshell.h.

◆ ITID_ADDRESSBANDSHOWN

#define ITID_ADDRESSBANDSHOWN   5

Definition at line 672 of file undocshell.h.

◆ ITID_AUTOHIDEENABLED

#define ITID_AUTOHIDEENABLED   13

Definition at line 675 of file undocshell.h.

◆ ITID_CUSTOMIZEENABLED

#define ITID_CUSTOMIZEENABLED   20

Definition at line 676 of file undocshell.h.

◆ ITID_LINKSBANDSHOWN

#define ITID_LINKSBANDSHOWN   6

Definition at line 673 of file undocshell.h.

◆ ITID_MENUBANDSHOWN

#define ITID_MENUBANDSHOWN   12

Definition at line 674 of file undocshell.h.

◆ ITID_TEXTLABELS

#define ITID_TEXTLABELS   3

Definition at line 670 of file undocshell.h.

◆ ITID_TOOLBARBANDSHOWN

#define ITID_TOOLBARBANDSHOWN   4

Definition at line 671 of file undocshell.h.

◆ ITID_TOOLBARLOCKED

#define ITID_TOOLBARLOCKED   27

Definition at line 677 of file undocshell.h.

◆ PPCF_DONTRESOLVE

#define PPCF_DONTRESOLVE   0x20

Definition at line 463 of file undocshell.h.

◆ PPCF_INCLUDEARGS

#define PPCF_INCLUDEARGS   0x02

Definition at line 461 of file undocshell.h.

◆ PPCF_PATHISRELATIVE

#define PPCF_PATHISRELATIVE   0x40

Definition at line 464 of file undocshell.h.

◆ PPCF_QUOTEPATH

#define PPCF_QUOTEPATH   0x01 /* implies PPCF_INCLUDEARGS */

Definition at line 460 of file undocshell.h.

◆ PRF_CHECKEXISTANCE

#define PRF_CHECKEXISTANCE   0x01

Definition at line 448 of file undocshell.h.

◆ PRF_EXECUTABLE

#define PRF_EXECUTABLE   0x02

Definition at line 449 of file undocshell.h.

◆ PRF_QUALIFYONPATH

#define PRF_QUALIFYONPATH   0x04

Definition at line 450 of file undocshell.h.

◆ PRF_WINDOWS31

#define PRF_WINDOWS31   0x08

Definition at line 451 of file undocshell.h.

◆ RF_CANCEL

#define RF_CANCEL   0x01

Definition at line 161 of file undocshell.h.

◆ RF_OK

#define RF_OK   0x00

Definition at line 160 of file undocshell.h.

◆ RF_RETRY

#define RF_RETRY   0x02

Definition at line 162 of file undocshell.h.

◆ RFF_CALCDIRECTORY

#define RFF_CALCDIRECTORY   0x04 /* Calculates the working directory from the file name */

Definition at line 132 of file undocshell.h.

◆ RFF_NOBROWSE

#define RFF_NOBROWSE   0x01 /* Removes the browse button */

Definition at line 130 of file undocshell.h.

◆ RFF_NODEFAULT

#define RFF_NODEFAULT   0x02 /* No default item selected */

Definition at line 131 of file undocshell.h.

◆ RFF_NOLABEL

#define RFF_NOLABEL   0x08 /* Removes the edit box label */

Definition at line 133 of file undocshell.h.

◆ RFF_NOSEPARATEMEM

#define RFF_NOSEPARATEMEM   0x20 /* Removes the Separate Memory Space check box (Windows NT only) */

Definition at line 134 of file undocshell.h.

◆ RFN_VALIDATE

#define RFN_VALIDATE   (-510)

Definition at line 137 of file undocshell.h.

◆ RSH_DEREGISTER

#define RSH_DEREGISTER   0

Definition at line 598 of file undocshell.h.

◆ RSH_REGISTER

#define RSH_REGISTER   1

Definition at line 599 of file undocshell.h.

◆ RSH_REGISTER_PROGMAN

#define RSH_REGISTER_PROGMAN   2

Definition at line 600 of file undocshell.h.

◆ RSH_REGISTER_TASKMAN

#define RSH_REGISTER_TASKMAN   3

Definition at line 601 of file undocshell.h.

◆ SECL_ALLOW_NONEXE

#define SECL_ALLOW_NONEXE   0x20

Definition at line 586 of file undocshell.h.

◆ SECL_LOG_USAGE

#define SECL_LOG_USAGE   0x8

Definition at line 584 of file undocshell.h.

◆ SECL_NO_UI

#define SECL_NO_UI   0x2

Definition at line 583 of file undocshell.h.

◆ SECL_RUNAS

#define SECL_RUNAS   0x40

Definition at line 587 of file undocshell.h.

◆ SECL_USE_IDLIST

#define SECL_USE_IDLIST   0x10

Definition at line 585 of file undocshell.h.

◆ SHCLF_CREATEONDESKTOP

#define SHCLF_CREATEONDESKTOP   0x02

Definition at line 624 of file undocshell.h.

◆ SHCLF_PREFIXNAME

#define SHCLF_PREFIXNAME   0x01

Definition at line 623 of file undocshell.h.

◆ SHCNF_PRINTJOBA

#define SHCNF_PRINTJOBA   0x0004

Definition at line 121 of file undocshell.h.

◆ SHCNF_PRINTJOBW

#define SHCNF_PRINTJOBW   0x0007

Definition at line 122 of file undocshell.h.

◆ SHCNRF_InterruptLevel

#define SHCNRF_InterruptLevel   0x0001

Definition at line 103 of file undocshell.h.

◆ SHCNRF_NewDelivery

#define SHCNRF_NewDelivery   0x8000 /* Messages use shared memory */

Definition at line 106 of file undocshell.h.

◆ SHCNRF_RecursiveInterrupt

#define SHCNRF_RecursiveInterrupt   0x1000 /* Must be combined with SHCNRF_InterruptLevel */

Definition at line 105 of file undocshell.h.

◆ SHCNRF_ShellLevel

#define SHCNRF_ShellLevel   0x0002

Definition at line 104 of file undocshell.h.

◆ SHWFF_ADD

#define SHWFF_ADD   0x01

Definition at line 566 of file undocshell.h.

◆ SHWFF_REMOVE

#define SHWFF_REMOVE   0x02

Definition at line 567 of file undocshell.h.

◆ SHWFF_WAIT

#define SHWFF_WAIT   0x04

Definition at line 568 of file undocshell.h.

◆ SLI_CNR_VALID_DEVICE

#define SLI_CNR_VALID_DEVICE   0x00000001

Definition at line 893 of file undocshell.h.

◆ SLI_CNR_VALID_NET_TYPE

#define SLI_CNR_VALID_NET_TYPE   0x00000002

Definition at line 895 of file undocshell.h.

◆ SLI_VALID_LOCAL

#define SLI_VALID_LOCAL   0x00000001

Definition at line 814 of file undocshell.h.

◆ SLI_VALID_NETWORK

#define SLI_VALID_NETWORK   0x00000002

Definition at line 816 of file undocshell.h.

◆ SMC_EXEC

#define SMC_EXEC   4

Definition at line 644 of file undocshell.h.

◆ SMSET_UNKNOWN08

#define SMSET_UNKNOWN08   0x08

Definition at line 684 of file undocshell.h.

◆ SMSET_UNKNOWN10

#define SMSET_UNKNOWN10   0x10

Definition at line 685 of file undocshell.h.

◆ TABDMC_APPBAR

#define TABDMC_APPBAR   0

Definition at line 713 of file undocshell.h.

◆ TABDMC_LOADINPROC

#define TABDMC_LOADINPROC   2

Definition at line 715 of file undocshell.h.

◆ TABDMC_NOTIFY

#define TABDMC_NOTIFY   1

Definition at line 714 of file undocshell.h.

◆ TRAYCMD_CASCADE

#define TRAYCMD_CASCADE   403

Definition at line 691 of file undocshell.h.

◆ TRAYCMD_CONTROL_PANEL

#define TRAYCMD_CONTROL_PANEL   505

Definition at line 704 of file undocshell.h.

◆ TRAYCMD_CUSTOMIZE_TASKBAR

#define TRAYCMD_CUSTOMIZE_TASKBAR   421

Definition at line 701 of file undocshell.h.

◆ TRAYCMD_DATE_AND_TIME

#define TRAYCMD_DATE_AND_TIME   408

Definition at line 695 of file undocshell.h.

◆ TRAYCMD_HELP_AND_SUPPORT

#define TRAYCMD_HELP_AND_SUPPORT   503

Definition at line 703 of file undocshell.h.

◆ TRAYCMD_LOCK_DESKTOP

#define TRAYCMD_LOCK_DESKTOP   517

Definition at line 707 of file undocshell.h.

◆ TRAYCMD_LOCK_TASKBAR

#define TRAYCMD_LOCK_TASKBAR   424

Definition at line 702 of file undocshell.h.

◆ TRAYCMD_LOGOFF_DIALOG

#define TRAYCMD_LOGOFF_DIALOG   402

Definition at line 690 of file undocshell.h.

◆ TRAYCMD_MINIMIZE_ALL

#define TRAYCMD_MINIMIZE_ALL   415

Definition at line 697 of file undocshell.h.

◆ TRAYCMD_PRINTERS_AND_FAXES

#define TRAYCMD_PRINTERS_AND_FAXES   510

Definition at line 706 of file undocshell.h.

◆ TRAYCMD_RESTORE_ALL

#define TRAYCMD_RESTORE_ALL   416

Definition at line 698 of file undocshell.h.

◆ TRAYCMD_RUN_DIALOG

#define TRAYCMD_RUN_DIALOG   401

Definition at line 689 of file undocshell.h.

◆ TRAYCMD_SEARCH_COMPUTERS

#define TRAYCMD_SEARCH_COMPUTERS   41094

Definition at line 710 of file undocshell.h.

◆ TRAYCMD_SEARCH_FILES

#define TRAYCMD_SEARCH_FILES   41093

Definition at line 709 of file undocshell.h.

◆ TRAYCMD_SHOW_DESKTOP

#define TRAYCMD_SHOW_DESKTOP   419

Definition at line 699 of file undocshell.h.

◆ TRAYCMD_SHOW_TASK_MGR

#define TRAYCMD_SHOW_TASK_MGR   420

Definition at line 700 of file undocshell.h.

◆ TRAYCMD_SHUTDOWN_DIALOG

#define TRAYCMD_SHUTDOWN_DIALOG   506

Definition at line 705 of file undocshell.h.

◆ TRAYCMD_STARTMENU

#define TRAYCMD_STARTMENU   305

Definition at line 688 of file undocshell.h.

◆ TRAYCMD_SWITCH_USER_DIALOG

#define TRAYCMD_SWITCH_USER_DIALOG   5000

Definition at line 708 of file undocshell.h.

◆ TRAYCMD_TASKBAR_PROPERTIES

#define TRAYCMD_TASKBAR_PROPERTIES   413

Definition at line 696 of file undocshell.h.

◆ TRAYCMD_TILE_H

#define TRAYCMD_TILE_H   404

Definition at line 692 of file undocshell.h.

◆ TRAYCMD_TILE_V

#define TRAYCMD_TILE_V   405

Definition at line 693 of file undocshell.h.

◆ TRAYCMD_TOGGLE_DESKTOP

#define TRAYCMD_TOGGLE_DESKTOP   407

Definition at line 694 of file undocshell.h.

◆ TWM_CYCLEFOCUS

#define TWM_CYCLEFOCUS   (WM_USER + 348)

Definition at line 57 of file undocshell.h.

◆ TWM_DOEXITWINDOWS

#define TWM_DOEXITWINDOWS   (WM_USER + 342)

Definition at line 56 of file undocshell.h.

◆ WM_GETISHELLBROWSER

#define WM_GETISHELLBROWSER   CWM_GETISHELLBROWSER

Definition at line 206 of file undocshell.h.

Typedef Documentation

◆ EXP_KNOWN_FOLDER

◆ EXP_SHIM

◆ EXP_TRACKER

◆ EXP_VISTA_ID_LIST

◆ LPCSFVCBINFO

Definition at line 524 of file undocshell.h.

◆ LPCSFVCOPYHOOKINFO

Definition at line 547 of file undocshell.h.

◆ LPCSFVSELECTSTATE

Definition at line 534 of file undocshell.h.

◆ LPCWTESTPATHSTRUCT

◆ LPEXP_KNOWN_FOLDER

◆ LPEXP_SHIM

◆ LPEXP_TRACKER

◆ LPEXP_VISTA_ID_LIST

◆ LPFNCDCOCALLBACK

typedef HRESULT(CALLBACK * LPFNCDCOCALLBACK) (LPUNKNOWN pUnkOuter, REFIID riidObject, LPVOID *ppvObject)

Definition at line 608 of file undocshell.h.

◆ LPFNFMCALLBACK

typedef void(CALLBACK * LPFNFMCALLBACK) (LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile)

Definition at line 279 of file undocshell.h.

◆ LPNMRUNFILEDLG

Definition at line 157 of file undocshell.h.

◆ LPNMRUNFILEDLGW

◆ LPSFVCBINFO

◆ LPSFVCOLUMNINFO

◆ LPSFVCOPYHOOKINFO

◆ LPSFVM_CUSTOMVIEWINFO_DATA

◆ LPSFVSELECTSTATE

◆ LPSHELL_LINK_HEADER

◆ LPSHELL_LINK_INFO_CNR_LINKA

◆ LPSHELL_LINK_INFO_CNR_LINKW

◆ LPSHELL_LINK_INFO_VOLUME_IDA

◆ LPSHELL_LINK_INFO_VOLUME_IDW

◆ LPSHELL_LINK_INFOA

◆ LPSHELL_LINK_INFOW

◆ NMRUNFILEDLG

Definition at line 155 of file undocshell.h.

◆ NMRUNFILEDLGW

◆ PNMRUNFILEDLG

Definition at line 156 of file undocshell.h.

◆ PNMRUNFILEDLGW

◆ PSHCNF_PRINTJOB_INFO

◆ SFVM_CUSTOMVIEWINFO_DATA

◆ SHCNF_PRINTJOB_INFO

◆ SHELL_LINK_HEADER

◆ SHELL_LINK_INFO_CNR_LINKA

◆ SHELL_LINK_INFO_CNR_LINKW

◆ SHELL_LINK_INFO_VOLUME_IDA

◆ SHELL_LINK_INFO_VOLUME_IDW

◆ SHELL_LINK_INFOA

◆ SHELL_LINK_INFOW

Function Documentation

◆ ArrangeWindows()

WORD WINAPI ArrangeWindows ( HWND  hwndParent,
DWORD  dwReserved,
LPCRECT  lpRect,
WORD  cKids,
CONST HWND lpKids 
)

◆ CheckEscapesA()

VOID WINAPI CheckEscapesA ( LPSTR  string,
DWORD  len 
)

Definition at line 227 of file shellstring.c.

230 {
231  LPWSTR wString;
232  TRACE("(%s %d)\n", debugstr_a(string), len);
233 
234  if (!string || !string[0])
235  return;
236 
237  wString = LocalAlloc(LPTR, len * sizeof(WCHAR));
238  if (!wString)
239  return;
240 
241  SHAnsiToUnicode(string, wString, len);
242  CheckEscapesW(wString, len);
243  SHUnicodeToAnsi(wString, string, len);
244  LocalFree(wString);
245 }
VOID WINAPI CheckEscapesW(LPWSTR string, DWORD len)
Definition: shellstring.c:252
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define debugstr_a
Definition: kernel32.h:31
DWORD WINAPI SHAnsiToUnicode(LPCSTR lpSrcStr, LPWSTR lpDstStr, int iLen)
Definition: string.c:2659
GLenum GLsizei len
Definition: glext.h:6722
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
Definition: string.c:2783
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
#define LPTR
Definition: winbase.h:378
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1373
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ CheckEscapesW()

VOID WINAPI CheckEscapesW ( LPWSTR  string,
DWORD  len 
)

Definition at line 252 of file shellstring.c.

255 {
256  DWORD size = lstrlenW(string);
257  LPWSTR s, d;
258 
259  TRACE("(%s %d) stub\n", debugstr_w(string), len);
260 
261  if (StrPBrkW(string, L" \",;^") && size + 2 <= len)
262  {
263  s = &string[size - 1];
264  d = &string[size + 2];
265  *d-- = 0;
266  *d-- = '"';
267  for (;d > string;)
268  *d-- = *s--;
269  *d = '"';
270  }
271 }
LPWSTR WINAPI StrPBrkW(LPCWSTR lpszStr, LPCWSTR lpszMatch)
Definition: string.c:1276
#define lstrlenW
Definition: compat.h:609
#define L(x)
Definition: ntvdm.h:50
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
GLdouble s
Definition: gl.h:2039
char string[160]
Definition: util.h:11
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define d
Definition: ke_i.h:81

Referenced by CheckEscapesA().

◆ DAD_DragEnter()

BOOL WINAPI DAD_DragEnter ( HWND  hWnd)

Definition at line 1559 of file shellord.c.

1560 {
1561  FIXME("hwnd = %p\n",hwnd);
1562  return FALSE;
1563 }
#define FALSE
Definition: types.h:117
#define FIXME(fmt,...)
Definition: debug.h:111
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4022

◆ DAD_SetDragImageFromListView()

BOOL WINAPI DAD_SetDragImageFromListView ( HWND  hWnd,
POINT  pt 
)

Definition at line 968 of file stubs.cpp.

969 {
970  FIXME("DAD_SetDragImageFromListView() stub\n");
971  return FALSE;
972 }
#define FALSE
Definition: types.h:117
#define FIXME(fmt,...)
Definition: debug.h:111

◆ DAD_ShowDragImage()

BOOL WINAPI DAD_ShowDragImage ( BOOL  bShow)

Definition at line 1610 of file shellord.c.

1611 {
1612  FIXME("0x%08x stub\n",bShow);
1613  return FALSE;
1614 }
#define FALSE
Definition: types.h:117
#define FIXME(fmt,...)
Definition: debug.h:111

◆ ExitWindowsDialog()

void WINAPI ExitWindowsDialog ( HWND  hWndOwner)

Definition at line 1614 of file dialogs.cpp.

1615 {
1616  typedef DWORD (WINAPI *ShellShFunc)(HWND hParent, WCHAR *Username, BOOL bHideLogoff);
1617  HINSTANCE msginaDll = LoadLibraryW(L"msgina.dll");
1618 
1619  TRACE("(%p)\n", hWndOwner);
1620 
1621  CComPtr<IUnknown> fadeHandler;
1622  HWND parent;
1623  if (!CallShellDimScreen(&fadeHandler, &parent))
1624  parent = hWndOwner;
1625 
1626  /* If the DLL cannot be found for any reason, then it simply uses a
1627  dialog box to ask if the user wants to shut down the computer. */
1628  if (!msginaDll)
1629  {
1630  TRACE("Unable to load msgina.dll.\n");
1632  return;
1633  }
1634 
1635  ShellShFunc pShellShutdownDialog = (ShellShFunc)GetProcAddress(msginaDll, "ShellShutdownDialog");
1636 
1637  if (pShellShutdownDialog)
1638  {
1639  /* Actually call the function */
1640  DWORD returnValue = pShellShutdownDialog(parent, NULL, FALSE);
1641 
1642  switch (returnValue)
1643  {
1644  case 0x01: /* Log off user */
1645  {
1647  break;
1648  }
1649  case 0x02: /* Shut down */
1650  {
1651  EnablePrivilege(L"SeShutdownPrivilege", TRUE);
1653  EnablePrivilege(L"SeShutdownPrivilege", FALSE);
1654  break;
1655  }
1656  case 0x03: /* Install Updates/Shutdown (?) */
1657  {
1658  break;
1659  }
1660  case 0x04: /* Reboot */
1661  {
1662  EnablePrivilege(L"SeShutdownPrivilege", TRUE);
1664  EnablePrivilege(L"SeShutdownPrivilege", FALSE);
1665  break;
1666  }
1667  case 0x10: /* Sleep */
1668  {
1669  if (IsPwrSuspendAllowed())
1670  {
1671  EnablePrivilege(L"SeShutdownPrivilege", TRUE);
1673  EnablePrivilege(L"SeShutdownPrivilege", FALSE);
1674  }
1675  break;
1676  }
1677  case 0x40: /* Hibernate */
1678  {
1679  if (IsPwrHibernateAllowed())
1680  {
1681  EnablePrivilege(L"SeShutdownPrivilege", TRUE);
1683  EnablePrivilege(L"SeShutdownPrivilege", FALSE);
1684  }
1685  break;
1686  }
1687  /* If the option is any other value */
1688  default:
1689  break;
1690  }
1691  }
1692  else
1693  {
1694  /* If the function cannot be found, then revert to using the backup solution */
1695  TRACE("Unable to find the 'ShellShutdownDialog' function");
1697  }
1698 
1699  FreeLibrary(msginaDll);
1700 }
BOOLEAN WINAPI SetSuspendState(BOOLEAN Hibernate, BOOLEAN ForceCritical, BOOLEAN DisableWakeEvent)
Definition: powrprof.c:681
BOOLEAN WINAPI IsPwrSuspendAllowed(VOID)
Definition: powrprof.c:488
#define TRUE
Definition: types.h:120
#define EWX_REBOOT
Definition: winuser.h:633
#define DWORD
Definition: nt_native.h:44
#define EWX_LOGOFF
Definition: winuser.h:631
#define L(x)
Definition: ntvdm.h:50
#define FALSE
Definition: types.h:117
#define EWX_SHUTDOWN
Definition: winuser.h:634
unsigned int BOOL
Definition: ntddk_ex.h:94
#define LoadLibraryW(x)
Definition: compat.h:606
#define TRACE(s)
Definition: solgame.cpp:4
#define FreeLibrary(x)
Definition: compat.h:607
r parent
Definition: btrfs.c:2944
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define WINAPI
Definition: msvc.h:6
unsigned long DWORD
Definition: ntddk_ex.h:95
static BOOL EnablePrivilege(LPCWSTR lpszPrivilegeName, BOOL bEnablePrivilege)
Definition: dialogs.cpp:1052
BOOL WINAPI ExitWindowsEx(_In_ UINT, _In_ DWORD)
#define NULL
Definition: types.h:112
#define GetProcAddress(x, y)
Definition: compat.h:612
VOID ExitWindowsDialog_backup(HWND hWndOwner)
Definition: dialogs.cpp:1591
BOOL CallShellDimScreen(IUnknown **pUnknown, HWND *hWindow)
Definition: dialogs.cpp:1032
BOOLEAN WINAPI IsPwrHibernateAllowed(VOID)
Definition: powrprof.c:450

Referenced by CTrayWindow::DoExitWindows(), ShowExitWindowsDialog(), and CShellDispatch::ShutdownWindows().

◆ FileIconInit()

BOOL WINAPI FileIconInit ( BOOL  bFullInit)

Definition at line 1694 of file shellord.c.

1695 {
1696  return SIC_Initialize();
1697 }
BOOL SIC_Initialize(void)
Definition: iconcache.cpp:484

Referenced by DisplayImageList(), and StartWithDesktop().

◆ FileMenu_AbortInitMenu()

void WINAPI FileMenu_AbortInitMenu ( void  )

Definition at line 802 of file shlmenu.c.

803 { TRACE("\n");
804  bAbortInit = TRUE;
805 }
#define TRUE
Definition: types.h:120
static BOOL bAbortInit
Definition: shlmenu.c:68
#define TRACE(s)
Definition: solgame.cpp:4

◆ FileMenu_AddFilesForPidl()

int WINAPI FileMenu_AddFilesForPidl ( HMENU  hMenu,
UINT  uReserved,
UINT  uID,
LPCITEMIDLIST  pidl,
UINT  uFlags,
UINT  uEnumFlags,
LPFNFMCALLBACK  lpfnCallback 
)

Definition at line 504 of file shlmenu.c.

512 {
513  TRACE("%p 0x%08x 0x%08x %p 0x%08x 0x%08x %p\n",
514  hmenu, uReserved, uID, pidl, uFlags, uEnumFlags, lpfnCallback);
515 
516  return FileMenu_InsertUsingPidl ( hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback);
517 
518 }
int WINAPI FileMenu_InsertUsingPidl(HMENU hmenu, UINT uID, LPCITEMIDLIST pidl, UINT uFlags, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:414
static HMENU hmenu
Definition: win.c:66
UINT uFlags
Definition: api.c:59
#define TRACE(s)
Definition: solgame.cpp:4

◆ FileMenu_AppendFilesForPidl()

int WINAPI FileMenu_AppendFilesForPidl ( HMENU  hMenu,
LPCITEMIDLIST  pidl,
BOOL  bAddSeparator 
)

Definition at line 478 of file shlmenu.c.

482 {
483  LPFMINFO menudata;
484 
485  menudata = FM_GetMenuInfo(hmenu);
486 
487  menudata->bInitialized = FALSE;
488 
489  FM_InitMenuPopup(hmenu, pidl);
490 
491  if (bAddSeparator)
493 
494  TRACE("%p %p 0x%08x\n",hmenu, pidl,bAddSeparator);
495 
496  return 0;
497 }
static HMENU hmenu
Definition: win.c:66
#define FM_DEFAULT_HEIGHT
Definition: undocshell.h:264
#define FALSE
Definition: types.h:117
BOOL bInitialized
Definition: shlmenu.c:46
#define TRACE(s)
Definition: solgame.cpp:4
static BOOL FileMenu_AppendItemW(HMENU hMenu, LPCWSTR lpText, UINT uID, int icon, HMENU hMenuPopup, int nItemHeight)
Definition: shlmenu.c:304
#define FM_SEPARATOR
Definition: shlmenu.c:39
Definition: shlmenu.c:44
static int FM_InitMenuPopup(HMENU hmenu, LPCITEMIDLIST pAlternatePidl)
Definition: shlmenu.c:129
static LPFMINFO FM_GetMenuInfo(HMENU hmenu)
Definition: shlmenu.c:74

◆ FileMenu_AppendItem()

BOOL WINAPI FileMenu_AppendItem ( HMENU  hMenu,
LPCSTR  lpszText,
UINT  uID,
int  iIcon,
HMENU  hMenuPopup,
int  nItemHeight 
)

◆ FileMenu_Create()

HMENU WINAPI FileMenu_Create ( COLORREF  crBorderColor,
int  nBorderWidth,
HBITMAP  hBorderBmp,
int  nSelHeight,
UINT  uFlags 
)

Definition at line 250 of file shlmenu.c.

256 {
258  LPFMINFO menudata;
259 
260  HMENU hMenu = CreatePopupMenu();
261 
262  TRACE("0x%08x 0x%08x %p 0x%08x 0x%08x hMenu=%p\n",
263  crBorderColor, nBorderWidth, hBorderBmp, nSelHeight, uFlags, hMenu);
264 
265  menudata = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(FMINFO));
266  menudata->crBorderColor = crBorderColor;
267  menudata->nBorderWidth = nBorderWidth;
268  menudata->hBorderBmp = hBorderBmp;
269 
270  MenuInfo.cbSize = sizeof(MENUINFO);
271  MenuInfo.fMask = MIM_MENUDATA;
272  MenuInfo.dwMenuData = (ULONG_PTR) menudata;
273  SetMenuInfo (hMenu, &MenuInfo);
274 
275  return hMenu;
276 }
struct tagMENUINFO MENUINFO
UINT uFlags
Definition: api.c:59
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
COLORREF crBorderColor
Definition: shlmenu.c:49
Definition: shlmenu.c:44
HBITMAP hBorderBmp
Definition: shlmenu.c:51
menu info structure
Definition: window.h:275
BOOL WINAPI SetMenuInfo(_In_ HMENU, _In_ LPCMENUINFO)
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
HMENU WINAPI CreatePopupMenu(void)
Definition: menu.c:846
#define ULONG_PTR
Definition: config.h:101
int nBorderWidth
Definition: shlmenu.c:50
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60

◆ FileMenu_DeleteAllItems()

BOOL WINAPI FileMenu_DeleteAllItems ( HMENU  hMenu)

Definition at line 669 of file shlmenu.c.

670 {
671  MENUITEMINFOW mii;
672  LPFMINFO menudata;
673 
674  int i;
675 
676  TRACE("%p\n", hmenu);
677 
678  ZeroMemory ( &mii, sizeof(MENUITEMINFOW));
679  mii.cbSize = sizeof(MENUITEMINFOW);
681 
682  for (i = 0; i < GetMenuItemCount( hmenu ); i++)
683  { GetMenuItemInfoW(hmenu, i, TRUE, &mii );
684 
685  SHFree((LPFMINFO)mii.dwItemData);
686 
687  if (mii.hSubMenu)
689  }
690 
691  while (DeleteMenu (hmenu, 0, MF_BYPOSITION)){};
692 
693  menudata = FM_GetMenuInfo(hmenu);
694 
695  menudata->bInitialized = FALSE;
696 
697  return TRUE;
698 }
static HMENU hmenu
Definition: win.c:66
#define TRUE
Definition: types.h:120
#define ZeroMemory
Definition: winbase.h:1664
#define MIIM_SUBMENU
Definition: winuser.h:718
void WINAPI FileMenu_Destroy(HMENU hmenu)
Definition: shlmenu.c:284
#define FALSE
Definition: types.h:117
#define MF_BYPOSITION
Definition: winuser.h:203
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
BOOL bInitialized
Definition: shlmenu.c:46
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
#define TRACE(s)
Definition: solgame.cpp:4
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
Definition: shlmenu.c:44
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
void WINAPI SHFree(LPVOID pv)
Definition: shellole.c:326
#define MIIM_DATA
Definition: winuser.h:721
ULONG_PTR dwItemData
Definition: winuser.h:3248
static LPFMINFO FM_GetMenuInfo(HMENU hmenu)
Definition: shlmenu.c:74
struct tagMENUITEMINFOW MENUITEMINFOW

Referenced by FileMenu_Destroy(), and FileMenu_ReplaceUsingPidl().

◆ FileMenu_DeleteItemByCmd()

BOOL WINAPI FileMenu_DeleteItemByCmd ( HMENU  hMenu,
UINT  uID 
)

Definition at line 704 of file shlmenu.c.

705 {
706  MENUITEMINFOW mii;
707 
708  TRACE("%p 0x%08x\n", hMenu, uID);
709 
710  ZeroMemory ( &mii, sizeof(MENUITEMINFOW));
711  mii.cbSize = sizeof(MENUITEMINFOW);
712  mii.fMask = MIIM_SUBMENU;
713 
714  GetMenuItemInfoW(hMenu, uID, FALSE, &mii );
715  if ( mii.hSubMenu )
716  {
717  /* FIXME: Do what? */
718  }
719 
720  DeleteMenu(hMenu, MF_BYCOMMAND, uID);
721  return TRUE;
722 }
#define MF_BYCOMMAND
Definition: winuser.h:202
#define TRUE
Definition: types.h:120
#define ZeroMemory
Definition: winbase.h:1664
#define MIIM_SUBMENU
Definition: winuser.h:718
#define FALSE
Definition: types.h:117
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
#define TRACE(s)
Definition: solgame.cpp:4
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
struct tagMENUITEMINFOW MENUITEMINFOW

◆ FileMenu_DeleteItemByIndex()

BOOL WINAPI FileMenu_DeleteItemByIndex ( HMENU  hMenu,
UINT  uPos 
)

Definition at line 727 of file shlmenu.c.

728 {
729  MENUITEMINFOW mii;
730 
731  TRACE("%p 0x%08x\n", hMenu, uPos);
732 
733  ZeroMemory ( &mii, sizeof(MENUITEMINFOW));
734  mii.cbSize = sizeof(MENUITEMINFOW);
735  mii.fMask = MIIM_SUBMENU;
736 
737  GetMenuItemInfoW(hMenu, uPos, TRUE, &mii );
738  if ( mii.hSubMenu )
739  {
740  /* FIXME: Do what? */
741  }
742 
743  DeleteMenu(hMenu, MF_BYPOSITION, uPos);
744  return TRUE;
745 }
#define TRUE
Definition: types.h:120
#define ZeroMemory
Definition: winbase.h:1664
#define MIIM_SUBMENU
Definition: winuser.h:718
#define MF_BYPOSITION
Definition: winuser.h:203
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
#define TRACE(s)
Definition: solgame.cpp:4
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
struct tagMENUITEMINFOW MENUITEMINFOW

◆ FileMenu_DeleteMenuItemByFirstID()

BOOL WINAPI FileMenu_DeleteMenuItemByFirstID ( HMENU  hMenu,
UINT  uID 
)

◆ FileMenu_DeleteSeparator()

BOOL WINAPI FileMenu_DeleteSeparator ( HMENU  hMenu)

Definition at line 761 of file shlmenu.c.

762 {
763  TRACE("%p\n", hMenu);
764  return FALSE;
765 }
#define FALSE
Definition: types.h:117
#define TRACE(s)
Definition: solgame.cpp:4

◆ FileMenu_Destroy()

void WINAPI FileMenu_Destroy ( HMENU  hMenu)

Definition at line 284 of file shlmenu.c.

285 {
286  LPFMINFO menudata;
287 
288  TRACE("%p\n", hmenu);
289 
291 
292  menudata = FM_GetMenuInfo(hmenu);
293 
294  SHFree( menudata->pidl);
295  HeapFree(GetProcessHeap(), 0, menudata);
296 
297  DestroyMenu (hmenu);
298 }
static HMENU hmenu
Definition: win.c:66
LPITEMIDLIST pidl
Definition: shlmenu.c:54
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
BOOL WINAPI FileMenu_DeleteAllItems(HMENU hmenu)
Definition: shlmenu.c:669
Definition: shlmenu.c:44
BOOL WINAPI DestroyMenu(_In_ HMENU)
void WINAPI SHFree(LPVOID pv)
Definition: shellole.c:326
static LPFMINFO FM_GetMenuInfo(HMENU hmenu)
Definition: shlmenu.c:74
#define HeapFree(x, y, z)
Definition: compat.h:594

Referenced by FileMenu_DeleteAllItems().

◆ FileMenu_DrawItem()

LRESULT WINAPI FileMenu_DrawItem ( HWND  hWnd,
LPDRAWITEMSTRUCT  lpdis 
)

Definition at line 586 of file shlmenu.c.

589 {
590  LPFMITEM pMyItem = (LPFMITEM)(lpdis->itemData);
591  COLORREF clrPrevText, clrPrevBkgnd;
592  int xi,yi,xt,yt;
593  HIMAGELIST hImageList;
594  RECT TextRect;
595  LPFMINFO menuinfo;
596 
597  TRACE("%p %p %s\n", hWnd, lpdis, debugstr_w(pMyItem->szItemText));
598 
599  if (lpdis->itemState & ODS_SELECTED)
600  {
601  clrPrevText = SetTextColor(lpdis->hDC, GetSysColor (COLOR_HIGHLIGHTTEXT));
602  clrPrevBkgnd = SetBkColor(lpdis->hDC, GetSysColor (COLOR_HIGHLIGHT));
603  }
604  else
605  {
606  clrPrevText = SetTextColor(lpdis->hDC, GetSysColor (COLOR_MENUTEXT));
607  clrPrevBkgnd = SetBkColor(lpdis->hDC, GetSysColor (COLOR_MENU));
608  }
609 
610  TextRect = lpdis->rcItem;
611 
612  /* add the menubitmap */
613  menuinfo = FM_GetMenuInfo(pMyItem->hMenu);
614  if (menuinfo->nBorderWidth)
615  TextRect.left += menuinfo->nBorderWidth;
616 
617  TextRect.left += FM_LEFTBORDER;
618  xi = TextRect.left + FM_SPACE1;
619  yi = TextRect.top + FM_Y_SPACE/2;
620  TextRect.bottom -= FM_Y_SPACE/2;
621 
622  xt = xi + FM_ICON_SIZE + FM_SPACE2;
623  yt = yi;
624 
625  ExtTextOutW (lpdis->hDC, xt , yt, ETO_OPAQUE, &TextRect, pMyItem->szItemText, pMyItem->cchItemText, NULL);
626 
627  Shell_GetImageLists(0, &hImageList);
628  ImageList_Draw(hImageList, pMyItem->iIconIndex, lpdis->hDC, xi, yi, ILD_NORMAL);
629 
630  TRACE("-- %s\n", wine_dbgstr_rect(&TextRect));
631 
632  SetTextColor(lpdis->hDC, clrPrevText);
633  SetBkColor(lpdis->hDC, clrPrevBkgnd);
634 
635  return TRUE;
636 }
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
#define COLOR_HIGHLIGHT
Definition: winuser.h:920
struct FMITEM * LPFMITEM
#define TRUE
Definition: types.h:120
HWND hWnd
Definition: settings.c:17
LONG top
Definition: windef.h:307
ULONG_PTR itemData
Definition: winuser.h:3073
#define FM_SPACE2
Definition: shlmenu.c:552
BOOL WINAPI ImageList_Draw(HIMAGELIST himl, INT i, HDC hdc, INT x, INT y, UINT fStyle)
Definition: imagelist.c:1228
LONG left
Definition: windef.h:306
DWORD WINAPI GetSysColor(_In_ int)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
Definition: dc.c:999
#define ETO_OPAQUE
Definition: wingdi.h:647
#define FM_LEFTBORDER
Definition: shlmenu.c:553
#define debugstr_w
Definition: kernel32.h:32
#define COLOR_MENU
Definition: winuser.h:911
int iIconIndex
Definition: shlmenu.c:63
#define FM_Y_SPACE
Definition: shlmenu.c:550
#define COLOR_HIGHLIGHTTEXT
Definition: winuser.h:921
#define TRACE(s)
Definition: solgame.cpp:4
DWORD COLORREF
Definition: windef.h:300
const char * wine_dbgstr_rect(const RECT *rect)
#define COLOR_MENUTEXT
Definition: winuser.h:914
#define FM_ICON_SIZE
Definition: shlmenu.c:549
Definition: shlmenu.c:44
WCHAR szItemText[1]
Definition: shlmenu.c:65
#define FM_SPACE1
Definition: shlmenu.c:551
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lpBigList, HIMAGELIST *lpSmallList)
Definition: iconcache.cpp:700
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
Definition: text.c:911
Definition: shlmenu.c:61
int cchItemText
Definition: shlmenu.c:62
#define NULL
Definition: types.h:112
#define ODS_SELECTED
Definition: winuser.h:2525
LONG bottom
Definition: windef.h:309
int nBorderWidth
Definition: shlmenu.c:50
#define ILD_NORMAL
Definition: commctrl.h:417
static LPFMINFO FM_GetMenuInfo(HMENU hmenu)
Definition: shlmenu.c:74
HMENU hMenu
Definition: shlmenu.c:64

◆ FileMenu_EnableItemByCmd()

BOOL WINAPI FileMenu_EnableItemByCmd ( HMENU  hMenu,
UINT  uID,
BOOL  bEnable 
)

Definition at line 770 of file shlmenu.c.

774 {
775  TRACE("%p 0x%08x 0x%08x\n", hMenu, uID,bEnable);
776  return FALSE;
777 }
#define FALSE
Definition: types.h:117
#define TRACE(s)
Definition: solgame.cpp:4
_In_ BOOL bEnable
Definition: winddi.h:3426

◆ FileMenu_FindSubMenuByPidl()

HMENU WINAPI FileMenu_FindSubMenuByPidl ( HMENU  hMenu,
LPCITEMIDLIST  pidl 
)

Definition at line 467 of file shlmenu.c.

470 {
471  FIXME("%p %p\n",hMenu, pidl);
472  return 0;
473 }
#define FIXME(fmt,...)
Definition: debug.h:111

◆ FileMenu_GetItemExtent()

DWORD WINAPI FileMenu_GetItemExtent ( HMENU  hMenu,
UINT  uPos 
)

Definition at line 785 of file shlmenu.c.

786 { RECT rect;
787 
788  FIXME("%p 0x%08x\n", hMenu, uPos);
789 
790  if (GetMenuItemRect(0, hMenu, uPos, &rect))
791  {
792  FIXME("%s\n", wine_dbgstr_rect(&rect));
793  return ((rect.right-rect.left)<<16) + (rect.top-rect.bottom);
794  }
795  return 0x00100010; /*FIXME*/
796 }
& rect
Definition: startmenu.cpp:1413
#define FIXME(fmt,...)
Definition: debug.h:111
const char * wine_dbgstr_rect(const RECT *rect)
BOOL WINAPI GetMenuItemRect(_In_opt_ HWND, _In_ HMENU, _In_ UINT, _Out_ LPRECT)

◆ FileMenu_GetLastSelectedItemPidls()

BOOL WINAPI FileMenu_GetLastSelectedItemPidls ( UINT  uReserved,
LPCITEMIDLIST ppidlFolder,
LPCITEMIDLIST ppidlItem 
)

Definition at line 540 of file shlmenu.c.

544 {
545  FIXME("0x%08x %p %p\n",uReserved, ppidlFolder, ppidlItem);
546  return FALSE;
547 }
#define FALSE
Definition: types.h:117
#define FIXME(fmt,...)
Definition: debug.h:111

◆ FileMenu_HandleMenuChar()

LRESULT WINAPI FileMenu_HandleMenuChar ( HMENU  hMenu,
WPARAM  wParam 
)

Definition at line 655 of file shlmenu.c.

658 {
659  FIXME("%p 0x%08lx\n",hMenu,wParam);
660  return 0;
661 }
WPARAM wParam
Definition: combotst.c:138
#define FIXME(fmt,...)
Definition: debug.h:111

◆ FileMenu_InitMenuPopup()

BOOL WINAPI FileMenu_InitMenuPopup ( HMENU  hMenu)

Definition at line 646 of file shlmenu.c.

647 {
649  return TRUE;
650 }
static HMENU hmenu
Definition: win.c:66
#define TRUE
Definition: types.h:120
static int FM_InitMenuPopup(HMENU hmenu, LPCITEMIDLIST pAlternatePidl)
Definition: shlmenu.c:129
#define NULL
Definition: types.h:112

◆ FileMenu_InsertUsingPidl()

int WINAPI FileMenu_InsertUsingPidl ( HMENU  hMenu,
UINT  uID,
LPCITEMIDLIST  pidl,
UINT  uFlags,
UINT  uEnumFlags,
LPFNFMCALLBACK  lpfnCallback 
)

Definition at line 414 of file shlmenu.c.

421 {
422  TRACE("%p 0x%08x %p 0x%08x 0x%08x %p\n",
423  hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback);
424 
425  pdump (pidl);
426 
427  bAbortInit = FALSE;
428 
429  FM_SetMenuParameter(hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback);
430 
431  return FM_InitMenuPopup(hmenu, NULL);
432 }
static LPFMINFO FM_SetMenuParameter(HMENU hmenu, UINT uID, LPCITEMIDLIST pidl, UINT uFlags, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:100
static HMENU hmenu
Definition: win.c:66
UINT uFlags
Definition: api.c:59
#define FALSE
Definition: types.h:117
static BOOL bAbortInit
Definition: shlmenu.c:68
#define TRACE(s)
Definition: solgame.cpp:4
static int FM_InitMenuPopup(HMENU hmenu, LPCITEMIDLIST pAlternatePidl)
Definition: shlmenu.c:129
void pdump(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:248
#define NULL
Definition: types.h:112

Referenced by FileMenu_AddFilesForPidl().

◆ FileMenu_Invalidate()

void WINAPI FileMenu_Invalidate ( HMENU  hMenu)

Definition at line 459 of file shlmenu.c.

460 {
461  FIXME("%p\n",hMenu);
462 }
#define FIXME(fmt,...)
Definition: debug.h:111

◆ FileMenu_MeasureItem()

LRESULT WINAPI FileMenu_MeasureItem ( HWND  hWnd,
LPMEASUREITEMSTRUCT  lpmis 
)

Definition at line 558 of file shlmenu.c.

561 {
562  LPFMITEM pMyItem = (LPFMITEM)(lpmis->itemData);
563  HDC hdc = GetDC(hWnd);
564  SIZE size;
565  LPFMINFO menuinfo;
566 
567  TRACE("%p %p %s\n", hWnd, lpmis, debugstr_w(pMyItem->szItemText));
568 
569  GetTextExtentPoint32W(hdc, pMyItem->szItemText, pMyItem->cchItemText, &size);
570 
572  lpmis->itemHeight = (size.cy > (FM_ICON_SIZE + FM_Y_SPACE)) ? size.cy : (FM_ICON_SIZE + FM_Y_SPACE);
573 
574  /* add the menubitmap */
575  menuinfo = FM_GetMenuInfo(pMyItem->hMenu);
576  if (menuinfo->nBorderWidth)
577  lpmis->itemWidth += menuinfo->nBorderWidth;
578 
579  TRACE("-- 0x%04x 0x%04x\n", lpmis->itemWidth, lpmis->itemHeight);
580  ReleaseDC (hWnd, hdc);
581  return 0;
582 }
struct FMITEM * LPFMITEM
HDC WINAPI GetDC(_In_opt_ HWND)
static HDC
Definition: imagelist.c:92
HWND hWnd
Definition: settings.c:17
#define FM_SPACE2
Definition: shlmenu.c:552
#define FM_LEFTBORDER
Definition: shlmenu.c:553
#define debugstr_w
Definition: kernel32.h:32
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define FM_Y_SPACE
Definition: shlmenu.c:550
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
#define FM_RIGHTBORDER
Definition: shlmenu.c:554
#define FM_ICON_SIZE
Definition: shlmenu.c:549
Definition: shlmenu.c:44
HDC hdc
Definition: main.c:9
WCHAR szItemText[1]
Definition: shlmenu.c:65
ULONG_PTR itemData
Definition: winuser.h:3626
#define FM_SPACE1
Definition: shlmenu.c:551
Definition: shlmenu.c:61
int cchItemText
Definition: shlmenu.c:62
int nBorderWidth
Definition: shlmenu.c:50
static LPFMINFO FM_GetMenuInfo(HMENU hmenu)
Definition: shlmenu.c:74
HMENU hMenu
Definition: shlmenu.c:64
BOOL WINAPI GetTextExtentPoint32W(_In_ HDC hdc, _In_reads_(c) LPCWSTR lpString, _In_ int c, _Out_ LPSIZE psizl)

◆ FileMenu_ReplaceUsingPidl()

int WINAPI FileMenu_ReplaceUsingPidl ( HMENU  hMenu,
UINT  uID,
LPCITEMIDLIST  pidl,
UINT  uEnumFlags,
LPFNFMCALLBACK  lpfnCallback 
)

Definition at line 439 of file shlmenu.c.

445 {
446  TRACE("%p 0x%08x %p 0x%08x %p\n",
447  hmenu, uID, pidl, uEnumFlags, lpfnCallback);
448 
450 
451  FM_SetMenuParameter(hmenu, uID, pidl, 0, uEnumFlags, lpfnCallback);
452 
453  return FM_InitMenuPopup(hmenu, NULL);
454 }
static LPFMINFO FM_SetMenuParameter(HMENU hmenu, UINT uID, LPCITEMIDLIST pidl, UINT uFlags, UINT uEnumFlags, LPFNFMCALLBACK lpfnCallback)
Definition: shlmenu.c:100
static HMENU hmenu
Definition: win.c:66
#define TRACE(s)
Definition: solgame.cpp:4
BOOL WINAPI FileMenu_DeleteAllItems(HMENU hmenu)
Definition: shlmenu.c:669
static int FM_InitMenuPopup(HMENU hmenu, LPCITEMIDLIST pAlternatePidl)
Definition: shlmenu.c:129
#define NULL
Definition: types.h:112

◆ FileMenu_TrackPopupMenuEx()

BOOL WINAPI FileMenu_TrackPopupMenuEx ( HMENU  hMenu,
UINT  uFlags,
int  x,
int  y,
HWND  hWnd,
LPTPMPARAMS  lptpm 
)

Definition at line 524 of file shlmenu.c.

531 {
532  TRACE("%p 0x%08x 0x%x 0x%x %p %p\n",
533  hMenu, uFlags, x, y, hWnd, lptpm);
534  return TrackPopupMenuEx(hMenu, uFlags, x, y, hWnd, lptpm);
535 }
BOOL WINAPI TrackPopupMenuEx(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _In_ HWND, _In_opt_ LPTPMPARAMS)
HWND hWnd
Definition: settings.c:17
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
UINT uFlags
Definition: api.c:59
#define TRACE(s)
Definition: solgame.cpp:4
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548

◆ GUIDFromStringW()

BOOL WINAPI GUIDFromStringW ( _In_ PCWSTR  psz,
_Out_ LPGUID  pguid 
)

◆ ILGetDisplayName()

BOOL WINAPI ILGetDisplayName ( LPCITEMIDLIST  pidl,
LPVOID  path 
)

Definition at line 174 of file pidl.c.

175 {
176  TRACE_(shell)("%p %p\n", pidl, path);
177 
178  if (SHELL_OsIsUnicode())
181 }
GLsizei const GLchar ** path
Definition: glext.h:7234
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
#define ILGDN_FORPARSING
Definition: undocshell.h:68
BOOL ILGetDisplayNameExW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPWSTR path, DWORD type)
Definition: pidl.c:91
#define TRACE_(x)
Definition: compat.h:76
static BOOL ILGetDisplayNameExA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPSTR path, DWORD type)
Definition: pidl.c:74
void shell(int argc, const char *argv[])
Definition: cmds.c:1231
#define NULL
Definition: types.h:112

Referenced by SHOpenFolderWindow().

◆ ILGetDisplayNameEx()

BOOL WINAPI ILGetDisplayNameEx ( LPSHELLFOLDER  psf,
LPCITEMIDLIST  pidl,
LPVOID  path,
DWORD  type 
)

Definition at line 162 of file pidl.c.

163 {
164  TRACE_(shell)("%p %p %p %d\n", psf, pidl, path, type);
165 
166  if (SHELL_OsIsUnicode())
167  return ILGetDisplayNameExW(psf, pidl, path, type);
168  return ILGetDisplayNameExA(psf, pidl, path, type);
169 }
GLsizei const GLchar ** path
Definition: glext.h:7234
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL ILGetDisplayNameExW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPWSTR path, DWORD type)
Definition: pidl.c:91
#define TRACE_(x)
Definition: compat.h:76
static BOOL ILGetDisplayNameExA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPSTR path, DWORD type)
Definition: pidl.c:74
void shell(int argc, const char *argv[])
Definition: cmds.c:1231
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545

Referenced by CBandSiteMenu::_AddISFBandToMenu(), CISFBand::GetBandInfo(), and CTravelEntry::GetToolTipText().

◆ ILGlobalClone()

LPITEMIDLIST WINAPI ILGlobalClone ( LPCITEMIDLIST  pidl)

Definition at line 460 of file pidl.c.

461 {
462  DWORD len;
463  LPITEMIDLIST newpidl;
464 
465  if (!pidl)
466  return NULL;
467 
468  len = ILGetSize(pidl);
469  newpidl = Alloc(len);
470  if (newpidl)
471  memcpy(newpidl,pidl,len);
472 
473  TRACE("pidl=%p newpidl=%p\n",pidl, newpidl);
474  pdump(pidl);
475 
476  return newpidl;
477 }
LPVOID WINAPI Alloc(INT)
#define TRACE(s)
Definition: solgame.cpp:4
unsigned long DWORD
Definition: ntddk_ex.h:95
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
GLenum GLsizei len
Definition: glext.h:6722
UINT WINAPI ILGetSize(LPCITEMIDLIST pidl)
Definition: pidl.c:815
void pdump(LPCITEMIDLIST pidl)
Definition: debughlp.cpp:248
#define NULL
Definition: types.h:112
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41

◆ ILGlobalFree()

void WINAPI ILGlobalFree ( LPITEMIDLIST  pidl)

Definition at line 945 of file pidl.c.

946 {
947  TRACE("%p\n", pidl);
948 
949  Free(pidl);
950 }
BOOL WINAPI Free(LPVOID)
#define TRACE(s)
Definition: solgame.cpp:4

◆ LogoffWindowsDialog()

int WINAPI LogoffWindowsDialog ( HWND  hWndOwner)

Definition at line 1522 of file dialogs.cpp.

1523 {
1524  CComPtr<IUnknown> fadeHandler;
1525  BOOL bIsAltKeyPressed = FALSE;
1526  MSG Msg;
1527  HWND parent = NULL;
1528  HWND hWndChild = NULL;
1529  WCHAR szBuffer[30];
1530  DWORD LogoffDialogID = IDD_LOG_OFF;
1532 
1533  if (!CallShellDimScreen(&fadeHandler, &parent))
1534  parent = hWndOwner;
1535 
1536  Context.bFriendlyUI = IsFriendlyUIActive();
1537  if (Context.bFriendlyUI)
1538  {
1539  LogoffDialogID = IDD_LOG_OFF_FANCY;
1540  }
1541 
1544 
1545  /* Detect either Alt key has been pressed */
1546  while (GetMessageW(&Msg, NULL, 0, 0))
1547  {
1549  {
1552  }
1553 
1554  switch (Msg.message)
1555  {
1556  case WM_SYSKEYDOWN:
1557  {
1558  /* If the Alt key has been pressed once, add prefix to static controls */
1559  if (Msg.wParam == VK_MENU && !bIsAltKeyPressed && Context.bFriendlyUI)
1560  {
1561  for (int i = 0; i < NUMBER_OF_BUTTONS; i++)
1562  {
1563  GetDlgItemTextW(hWndChild, IDC_LOG_OFF_BUTTON + i, szBuffer, _countof(szBuffer));
1565  }
1566  bIsAltKeyPressed = TRUE;
1567  }
1568  }
1569  break;
1570  }
1571  }
1572  return 0;
1573 }
#define IDC_LOG_OFF_STATIC
Definition: shresdef.h:483
#define IDD_LOG_OFF_FANCY
Definition: shresdef.h:521
BOOL WINAPI TranslateMessage(_In_ const MSG *)
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
Definition: dialog.c:2263
#define TRUE
Definition: types.h:120
struct @1584 Msg[]
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1827
static BOOL IsFriendlyUIActive(VOID)
Definition: dialogs.cpp:1303
#define VK_MENU
Definition: winuser.h:2184
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR)
#define IDC_LOG_OFF_BUTTON
Definition: shresdef.h:481
#define FALSE
Definition: types.h:117
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)
unsigned int BOOL
Definition: ntddk_ex.h:94
LONG_PTR LPARAM
Definition: windef.h:208
r parent
Definition: btrfs.c:2944
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define _countof(array)
Definition: sndvol32.h:68
unsigned long DWORD
Definition: ntddk_ex.h:95
INT_PTR CALLBACK LogOffDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: dialogs.cpp:1412
#define NUMBER_OF_BUTTONS
Definition: dialogs.cpp:1116
#define SW_SHOWNORMAL
Definition: winuser.h:764
#define shell32_hInstance
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define NULL
Definition: types.h:112
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
struct tagContext Context
Definition: acpixf.h:1034
#define WM_SYSKEYDOWN
Definition: winuser.h:1706
HWND WINAPI CreateDialogParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define IDD_LOG_OFF
Definition: shresdef.h:515
HWND hWndChild[NUM_TABS]
Definition: main.h:75
BOOL CallShellDimScreen(IUnknown **pUnknown, HWND *hWindow)
Definition: dialogs.cpp:1032
BOOL WINAPI IsDialogMessageW(_In_ HWND, _In_ LPMSG)

Referenced by CTrayWindow::HandleCommand(), and StartMenuHandler::ShowLogoffDialog().

◆ PathAddBackslashAW()

LPVOID WINAPI PathAddBackslashAW ( LPVOID  path)

◆ PathAppendAW()

BOOL WINAPI PathAppendAW ( LPVOID  lpszPath1,
LPCVOID  lpszPath2 
)

Definition at line 238 of file shellpath.c.

241 {
242  if (SHELL_OsIsUnicode())
243  return PathAppendW(lpszPath1, lpszPath2);
244  return PathAppendA(lpszPath1, lpszPath2);
245 }
BOOL WINAPI PathAppendA(LPSTR lpszPath, LPCSTR lpszAppend)
Definition: path.c:106
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL WINAPI PathAppendW(LPWSTR lpszPath, LPCWSTR lpszAppend)
Definition: path.c:126

◆ PathBuildRootAW()

LPVOID WINAPI PathBuildRootAW ( LPVOID  lpszPath,
int  drive 
)

◆ PathCombineAW()

LPVOID WINAPI PathCombineAW ( LPVOID  szDest,
LPCVOID  lpszDir,
LPCVOID  lpszFile 
)

◆ PathFileExistsAW()

BOOL WINAPI PathFileExistsAW ( LPCVOID  lpszPath)

Definition at line 398 of file shellpath.c.

399 {
400  if (SHELL_OsIsUnicode())
401  return PathFileExistsW (lpszPath);
402  return PathFileExistsA (lpszPath);
403 }
BOOL WINAPI PathFileExistsA(LPCSTR lpszPath)
Definition: path.c:1754
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath)
Definition: path.c:1776

◆ PathFindExtensionAW()

LPVOID WINAPI PathFindExtensionAW ( LPCVOID  path)

◆ PathFindFileNameAW()

LPVOID WINAPI PathFindFileNameAW ( LPCVOID  path)

◆ PathFindOnPathAW()

BOOL WINAPI PathFindOnPathAW ( LPVOID  sFile,
LPCVOID sOtherDirs 
)

◆ PathGetArgsAW()

LPVOID WINAPI PathGetArgsAW ( LPVOID  lpszPath)

◆ PathGetExtensionAW()

LPVOID WINAPI PathGetExtensionAW ( LPCVOID  lpszPath,
DWORD  void1,
DWORD  void2 
)

◆ PathIsDirectoryAW()

BOOL WINAPI PathIsDirectoryAW ( LPCVOID  lpszPath)

◆ PathIsExeAW()

BOOL WINAPI PathIsExeAW ( LPCVOID  lpszPath)

Definition at line 388 of file shellpath.c.

389 {
390  if (SHELL_OsIsUnicode())
391  return PathIsExeW (path);
392  return PathIsExeA(path);
393 }
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL PathIsExeW(LPCWSTR lpszPath)
Definition: shellpath.c:370
static BOOL PathIsExeA(LPCSTR lpszPath)
Definition: shellpath.c:352

◆ PathIsRelativeAW()

BOOL WINAPI PathIsRelativeAW ( LPCVOID  lpszPath)

◆ PathIsRootAW()

BOOL WINAPI PathIsRootAW ( LPCVOID  x)

Definition at line 342 of file shellpath.c.

343 {
344  if (SHELL_OsIsUnicode())
345  return PathIsRootW(lpszPath);
346  return PathIsRootA(lpszPath);
347 }
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL WINAPI PathIsRootW(LPCWSTR lpszPath)
Definition: path.c:1641
BOOL WINAPI PathIsRootA(LPCSTR lpszPath)
Definition: path.c:1601

◆ PathIsSameRootAW()

BOOL WINAPI PathIsSameRootAW ( LPCVOID  lpszPath1,
LPCVOID  lpszPath2 
)

◆ PathIsUNCAW()

BOOL WINAPI PathIsUNCAW ( LPCVOID  lpszPath)

◆ PathMakeUniqueNameAW()

BOOL WINAPI PathMakeUniqueNameAW ( LPVOID  lpszBuffer,
DWORD  dwBuffSize,
LPCVOID  lpszShortName,
LPCVOID  lpszLongName,
LPCVOID  lpszPathName 
)

Definition at line 477 of file shellpath.c.

483 {
484  if (SHELL_OsIsUnicode())
485  return PathMakeUniqueNameW(lpszBuffer,dwBuffSize, lpszShortName,lpszLongName,lpszPathName);
486  return PathMakeUniqueNameA(lpszBuffer,dwBuffSize, lpszShortName,lpszLongName,lpszPathName);
487 }
static BOOL PathMakeUniqueNameW(LPWSTR lpszBuffer, DWORD dwBuffSize, LPCWSTR lpszShortName, LPCWSTR lpszLongName, LPCWSTR lpszPathName)
Definition: shellpath.c:461
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
static BOOL PathMakeUniqueNameA(LPSTR lpszBuffer, DWORD dwBuffSize, LPCSTR lpszShortName, LPCSTR lpszLongName, LPCSTR lpszPathName)
Definition: shellpath.c:445

◆ PathMatchSpecAW()

BOOL WINAPI PathMatchSpecAW ( LPVOID  lpszPath,
LPVOID  lpszSpec 
)

◆ PathParseIconLocationAW()

int WINAPI PathParseIconLocationAW ( LPVOID  lpszPath)

◆ PathProcessCommandAW()

HRESULT WINAPI PathProcessCommandAW ( LPCVOID  lpszPath,
LPVOID  lpszBuff,
DWORD  dwBuffSize,
DWORD  dwFlags 
)

Definition at line 799 of file shellpath.c.

804 {
805  if (SHELL_OsIsUnicode())
806  return PathProcessCommandW(lpszPath, lpszBuff, dwBuffSize, dwFlags);
807  return PathProcessCommandA(lpszPath, lpszBuff, dwBuffSize, dwFlags);
808 }
static LONG PathProcessCommandA(LPCSTR lpszPath, LPSTR lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:767
static LONG PathProcessCommandW(LPCWSTR lpszPath, LPWSTR lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:783
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175

◆ PathQualifyA()

VOID WINAPI PathQualifyA ( LPSTR  pszPath)

Definition at line 601 of file shellpath.c.

602 {
604  TRACE("%s\n",pszPath);
607  SHUnicodeToAnsi(szPath, pszPath, MAX_PATH);
608 }
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define _countof(array)
Definition: sndvol32.h:68
#define MAX_PATH
Definition: compat.h:34
DWORD WINAPI SHAnsiToUnicode(LPCSTR lpSrcStr, LPWSTR lpDstStr, int iLen)
Definition: string.c:2659
VOID WINAPI PathQualifyW(LPWSTR pszPath)
Definition: shellpath.c:613
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
Definition: string.c:2783
LPCWSTR szPath
Definition: env.c:37

Referenced by PathQualifyAW().

◆ PathQualifyAW()

VOID WINAPI PathQualifyAW ( LPVOID  path)

Definition at line 622 of file shellpath.c.

623 {
624  if (SHELL_OsIsUnicode())
625  PathQualifyW(pszPath);
626  else
627  PathQualifyA(pszPath);
628 }
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
VOID WINAPI PathQualifyW(LPWSTR pszPath)
Definition: shellpath.c:613
VOID WINAPI PathQualifyA(LPSTR pszPath)
Definition: shellpath.c:601

◆ PathQualifyW()

VOID WINAPI PathQualifyW ( LPWSTR  pszPath)

Definition at line 613 of file shellpath.c.

614 {
615  TRACE("%s\n",debugstr_w(pszPath));
616  PathQualifyExW(pszPath, NULL, 0);
617 }
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
static VOID WINAPI PathQualifyExW(LPWSTR pszPath, LPCWSTR pszDir, DWORD dwFlags)
Definition: shellpath.c:161
#define NULL
Definition: types.h:112

Referenced by PathQualifyA(), and PathQualifyAW().

◆ PathQuoteSpacesAW()

VOID WINAPI PathQuoteSpacesAW ( LPVOID  path)

◆ PathRemoveArgsAW()

void WINAPI PathRemoveArgsAW ( LPVOID  lpszPath)

◆ PathRemoveBlanksAW()

void WINAPI PathRemoveBlanksAW ( LPVOID  lpszPath)

◆ PathRemoveExtensionAW()

void WINAPI PathRemoveExtensionAW ( LPVOID  lpszPath)

◆ PathRemoveFileSpecAW()

BOOL WINAPI PathRemoveFileSpecAW ( LPVOID  lpszPath)

Definition at line 284 of file shellpath.c.

285 {
286  if (SHELL_OsIsUnicode())
287  return PathRemoveFileSpecW(lpszPath);
288  return PathRemoveFileSpecA(lpszPath);
289 }
BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath)
Definition: path.c:629
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL WINAPI PathRemoveFileSpecA(LPSTR lpszPath)
Definition: path.c:586

◆ PathResolveA()

BOOL WINAPI PathResolveA ( LPSTR  path,
LPCSTR dirs,
DWORD  flags 
)

Definition at line 630 of file shellpath.c.

631 {
632  BOOL ret = FALSE;
633  LPWSTR *dirsW = NULL;
634  DWORD iDir, cDirs, cbDirs;
635  WCHAR pathW[MAX_PATH];
636 
637  TRACE("PathResolveA(%s,%p,0x%08x)\n", debugstr_a(path), dirs, flags);
638 
639  if (dirs)
640  {
641  for (cDirs = 0; dirs[cDirs]; ++cDirs)
642  ;
643 
644  cbDirs = (cDirs + 1) * sizeof(LPWSTR);
645  dirsW = SHAlloc(cbDirs);
646  if (!dirsW)
647  goto Cleanup;
648 
649  ZeroMemory(dirsW, cbDirs);
650  for (iDir = 0; iDir < cDirs; ++iDir)
651  {
652  __SHCloneStrAtoW(&dirsW[iDir], dirs[iDir]);
653  if (dirsW[iDir] == NULL)
654  goto Cleanup;
655  }
656  }
657 
658  SHAnsiToUnicode(path, pathW, _countof(pathW));
659 
660  ret = PathResolveW(pathW, (LPCWSTR*)dirsW, flags);
661  if (ret)
662  SHUnicodeToAnsi(pathW, path, MAX_PATH);
663 
664 Cleanup:
665  if (dirsW)
666  {
667  for (iDir = 0; iDir < cDirs; ++iDir)
668  {
669  SHFree(dirsW[iDir]);
670  }
671  SHFree(dirsW);
672  }
673  return ret;
674 }
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define ZeroMemory
Definition: winbase.h:1664
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
BOOL WINAPI PathResolveW(LPWSTR path, LPCWSTR *dirs, DWORD flags)
Definition: shellpath.c:676
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define debugstr_a
Definition: kernel32.h:31
#define _countof(array)
Definition: sndvol32.h:68
#define MAX_PATH
Definition: compat.h:34
DWORD WINAPI SHAnsiToUnicode(LPCSTR lpSrcStr, LPWSTR lpDstStr, int iLen)
Definition: string.c:2659
unsigned long DWORD
Definition: ntddk_ex.h:95
GLbitfield flags
Definition: glext.h:7161
int ret
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
Definition: string.c:2783
static const WCHAR Cleanup[]
Definition: register.c:80
static __inline LPWSTR __SHCloneStrAtoW(WCHAR **target, const char *source)
Definition: shell32_main.h:160
#define NULL
Definition: types.h:112
void WINAPI SHFree(LPVOID pv)
Definition: shellole.c:326
WCHAR * LPWSTR
Definition: xmlstorage.h:184
LPVOID WINAPI SHAlloc(SIZE_T len)
Definition: shellole.c:304

Referenced by PathResolveAW().

◆ PathResolveAW()

BOOL WINAPI PathResolveAW ( LPVOID  lpszPath,
LPCVOID alpszPaths,
DWORD  dwFlags 
)

Definition at line 756 of file shellpath.c.

757 {
758  if (SHELL_OsIsUnicode())
759  return PathResolveW(path, (LPCWSTR*)paths, flags);
760  else
761  return PathResolveA(path, (LPCSTR*)paths, flags);
762 }
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL WINAPI PathResolveW(LPWSTR path, LPCWSTR *dirs, DWORD flags)
Definition: shellpath.c:676
const char * LPCSTR
Definition: xmlstorage.h:183
GLbitfield flags
Definition: glext.h:7161
GLsizei const GLuint * paths
Definition: glext.h:11717
BOOL WINAPI PathResolveA(LPSTR path, LPCSTR *dirs, DWORD flags)
Definition: shellpath.c:630

◆ PathResolveW()

BOOL WINAPI PathResolveW ( LPWSTR  path,
LPCWSTR dirs,
DWORD  flags 
)

Definition at line 676 of file shellpath.c.

677 {
679 
680  TRACE("PathResolveW(%s,%p,0x%08x)\n", debugstr_w(path), dirs, flags);
681 
682  if (flags & PRF_VERIFYEXISTS)
684 
686 
687  if (PathIsRootW(path))
688  {
689  if ((path[0] == L'\\' && path[1] == 0) ||
691  {
692  if (flags & PRF_FIRSTDIRDEF)
693  PathQualifyExW(path, dirs[0], 0);
694  else
695  PathQualifyExW(path, NULL, 0);
696  }
697 
698  if (flags & PRF_VERIFYEXISTS)
700  return TRUE;
701  }
702  else if (PathIsFileSpecW(path))
703  {
704  if ((flags & PRF_TRYPROGRAMEXTENSIONS) && PathSearchOnExtensionsW(path, dirs, TRUE, dwWhich))
705  return TRUE;
706 
707  if (PathFindOnPathW(path, dirs))
708  {
709 #if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
710  if (!(flags & PRF_REQUIREABSOLUTE))
711  return TRUE;
712 
713  if (!PathIsAbsoluteW(path))
715 #else
716  return TRUE;
717 #endif
718  }
719  }
720  else if (!PathIsURLW(path))
721  {
722  if (flags & PRF_FIRSTDIRDEF)
723  PathQualifyExW(path, *dirs, 1);
724  else
725  PathQualifyExW(path, NULL, 1);
726 
727  if (flags & PRF_VERIFYEXISTS)
728  {
730  PathSearchOnExtensionsW(path, dirs, FALSE, dwWhich))
731  {
732  return TRUE;
733  }
735  {
736  return FALSE;
737  }
738  }
739 
740 #if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
742  {
743  if (!PathIsAbsoluteW(path))
745  }
746 #endif
747  return TRUE;
748  }
749 
750  return FALSE;
751 }
BOOL WINAPI PathFileExistsAndAttributesW(LPCWSTR lpszPath, DWORD *dwAttr)
Definition: path.c:1831
#define WHICH_DEFAULT
#define TRUE
Definition: types.h:120
#define PRF_FIRSTDIRDEF
Definition: PathResolve.cpp:32
#define PRF_DONTFINDLNK
Definition: PathResolve.cpp:33
#define PRF_VERIFYEXISTS
Definition: PathResolve.cpp:29
#define PRF_TRYPROGRAMEXTENSIONS
Definition: PathResolve.cpp:31
BOOL WINAPI PathIsURLW(LPCWSTR lpstrPath)
Definition: url.c:2432
static BOOL WINAPI PathIsAbsoluteW(LPCWSTR path)
Definition: shellpath.c:129
#define L(x)
Definition: ntvdm.h:50
#define FALSE
Definition: types.h:117
BOOL WINAPI PathIsUNCServerShareW(LPCWSTR lpszPath)
Definition: path.c:2377
#define debugstr_w
Definition: kernel32.h:32
#define PRF_REQUIREABSOLUTE
Definition: PathResolve.cpp:36
BOOL WINAPI PathIsFileSpecW(LPCWSTR lpszPath)
Definition: path.c:2132
#define ERROR_FILE_NOT_FOUND
Definition: disk.h:79
BOOL WINAPI PathIsRootW(LPCWSTR lpszPath)
Definition: path.c:1641
#define TRACE(s)
Definition: solgame.cpp:4
unsigned long DWORD
Definition: ntddk_ex.h:95
#define SetLastError(x)
Definition: compat.h:611
GLbitfield flags
Definition: glext.h:7161
static BOOL WINAPI PathSearchOnExtensionsW(LPWSTR pszPath, LPCWSTR *ppszDirs, BOOL bDoSearch, DWORD dwWhich)
Definition: shellpath.c:116
static VOID WINAPI PathQualifyExW(LPWSTR pszPath, LPCWSTR pszDir, DWORD dwFlags)
Definition: shellpath.c:161
#define WHICH_LNK
VOID WINAPI PathUnquoteSpacesW(LPWSTR lpszPath)
Definition: path.c:1034
#define NULL
Definition: types.h:112
BOOL WINAPI PathIsUNCServerW(LPCWSTR lpszPath)
Definition: path.c:2322
static BOOL WINAPI PathMakeAbsoluteW(LPWSTR path)
Definition: shellpath.c:135
BOOL WINAPI PathFindOnPathW(LPWSTR lpszFile, LPCWSTR *lppszOtherDirs)
Definition: path.c:1402

Referenced by PathResolveA(), PathResolveAW(), and CShellLink::SetTargetFromPIDLOrPath().

◆ PathSetDlgItemPathAW()

VOID WINAPI PathSetDlgItemPathAW ( HWND  hDlg,
int  nIDDlgItem,
LPCVOID  lpszPath 
)

◆ PathStripPathAW()

void WINAPI PathStripPathAW ( LPVOID  lpszPath)

◆ PathStripToRootAW()

BOOL WINAPI PathStripToRootAW ( LPVOID  lpszPath)

◆ PathUnquoteSpacesAW()

void WINAPI PathUnquoteSpacesAW ( LPVOID  lpszPath)

◆ PathYetAnotherMakeUniqueName()

BOOL WINAPI PathYetAnotherMakeUniqueName ( LPWSTR  lpszBuffer,
LPCWSTR  lpszPathName,
LPCWSTR  lpszShortName,
LPCWSTR  lpszLongName 
)

Definition at line 492 of file shellpath.c.

493 {
494  WCHAR pathW[MAX_PATH], retW[MAX_PATH];
495  const WCHAR *file, *ext;
496  int i = 2;
497 
498  TRACE("(%p, %s, %s, %s)\n", buffer, debugstr_w(path), debugstr_w(shortname), debugstr_w(longname));
499 
500  file = longname ? longname : shortname;
501  PathCombineW(pathW, path, file);
502  strcpyW(retW, pathW);
503  PathRemoveExtensionW(pathW);
504 
506 
507  /* now try to make it unique */
508  while (PathFileExistsW(retW))
509  {
510  sprintfW(retW, L"%s (%d)%s", pathW, i, ext);
511  i++;
512  }
513 
514  strcpyW(buffer, retW);
515  TRACE("ret - %s\n", debugstr_w(buffer));
516 
517  return TRUE;
518 }
#define TRUE
Definition: types.h:120
GLuint buffer
Definition: glext.h:5915
#define L(x)
Definition: ntvdm.h:50
void WINAPI PathRemoveExtensionW(LPWSTR lpszPath)
Definition: path.c:823
#define debugstr_w
Definition: kernel32.h:32
char ext[3]
Definition: mkdosfs.c:358
BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath)
Definition: path.c:1776
LPWSTR WINAPI PathFindExtensionW(LPCWSTR lpszPath)
Definition: path.c:447
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MAX_PATH
Definition: compat.h:34
const char file[]
Definition: icontest.c:11
WINE_UNICODE_INLINE WCHAR * strcpyW(WCHAR *dst, const WCHAR *src)
Definition: unicode.h:219
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define sprintfW
Definition: unicode.h:58
LPWSTR WINAPI PathCombineW(LPWSTR lpszDest, LPCWSTR lpszDir, LPCWSTR lpszFile)
Definition: path.c:194
Definition: fci.c:126

Referenced by BrsFolder_NewFolder(), CNewMenu::CreateNewFolder(), CDefaultContextMenu::DoCreateNewFolder(), loadShell32(), and CNewMenu::NewItemByNonCommand().

◆ RegenerateUserEnvironment()

BOOL WINAPI RegenerateUserEnvironment ( LPVOID lpEnvironment,
BOOL  bUpdateSelf 
)

Definition at line 71 of file shell32.cpp.

72 {
75  return FALSE;
76 
77  BOOL bResult = CreateEnvironmentBlock(lpEnvironment, hUserToken, TRUE);
78  if (!bResult || !lpEnvironment)
79  {
81  return FALSE;
82  }
83 
84  if (bUpdateSelf)
85  {
86  LPWSTR pszz = (LPWSTR)*lpEnvironment;
87  if (!pszz)
88  return FALSE;
89 
90  while (*pszz)
91  {
92  size_t cch = wcslen(pszz);
93  LPWSTR pchEqual = wcschr(pszz, L'=');
94  if (pchEqual)
95  {
96  CStringW strName(pszz, pchEqual - pszz);
97  SetEnvironmentVariableW(strName, pchEqual + 1);
98  }
99  pszz += cch + 1;
100  }
101  }
102 
104 
105  return bResult;
106 }
#define CloseHandle
Definition: compat.h:598
#define TOKEN_WRITE
Definition: setypes.h:931
BOOL WINAPI CreateEnvironmentBlock(OUT LPVOID *lpEnvironment, IN HANDLE hToken, IN BOOL bInherit)
Definition: environment.c:505
#define L(x)
Definition: ntvdm.h:50
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
HANDLE hUserToken
Definition: install.c:39
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
return TRUE
Definition: shell32.cpp:399
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableW(IN LPCWSTR lpName, IN LPCWSTR lpValue)
Definition: environ.c:259
#define TOKEN_READ
Definition: setypes.h:929
#define GetCurrentProcess()
Definition: compat.h:618
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
Definition: security.c:296
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
WCHAR * LPWSTR
Definition: xmlstorage.h:184
IN PCTCH IN DWORD cch
Definition: pager.h:36

Referenced by CDesktopBrowser::OnSettingChange().

◆ RegisterShellHook()

BOOL WINAPI RegisterShellHook ( HWND  hWnd,
DWORD  dwType 
)

Definition at line 311 of file shellord.c.

314 {
315  if (dwType == 3)
316  {
319  }
320  else if (dwType == 0)
321  {
323  }
324 
325  ERR("Unsupported argument");
326  return FALSE;
327 }
HWND hWnd
Definition: settings.c:17
#define FALSE
Definition: types.h:117
BOOL WINAPI RegisterShellHookWindow(_In_ HWND)
#define ERR(fmt,...)
Definition: debug.h:110
HWND WINAPI SetTaskmanWindow(HWND)
Definition: window.c:1909
BOOL WINAPI DeregisterShellHookWindow(_In_ HWND)

Referenced by CTaskSwitchWnd::OnCreate(), and CTaskSwitchWnd::OnDestroy().

◆ RunFileDlg()

void WINAPI RunFileDlg ( HWND  hWndOwner,
HICON  hIcon,
LPCWSTR  lpstrDirectory,
LPCWSTR  lpstrTitle,
LPCWSTR  lpstrDescription,
UINT  uFlags 
)

Definition at line 409 of file dialogs.cpp.

416 {
417  TRACE("\n");
418 
419  RUNFILEDLGPARAMS rfdp;
420  rfdp.hwndOwner = hWndOwner;
421  rfdp.hIcon = hIcon;
422  rfdp.lpstrDirectory = lpstrDirectory;
423  rfdp.lpstrTitle = lpstrTitle;
424  rfdp.lpstrDescription = lpstrDescription;
425  rfdp.uFlags = uFlags;
426 
428 }
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
UINT uFlags
Definition: api.c:59
LPCWSTR lpstrDescription
Definition: dialogs.cpp:31
LONG_PTR LPARAM
Definition: windef.h:208
static INT_PTR CALLBACK RunDlgProc(HWND, UINT, WPARAM, LPARAM)
Definition: dialogs.cpp:511
#define TRACE(s)
Definition: solgame.cpp:4
#define IDD_RUN
Definition: shresdef.h:333
#define shell32_hInstance
HICON hIcon
Definition: msconfig.c:44
LPCWSTR lpstrTitle
Definition: dialogs.cpp:30
LPCWSTR lpstrDirectory
Definition: dialogs.cpp:29
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582

Referenced by RunDialogThread::Run(), CTrayWindow::RunFileDlgThread(), and TaskManager_OnFileNew().

◆ SHCreateDefClassObject()

HRESULT WINAPI SHCreateDefClassObject ( REFIID  riidFactory,
LPVOID ppvFactory,
LPFNCDCOCALLBACK  lpfnCallback,
LPDWORD  lpdwUsage,
REFIID  riidObject 
)

◆ SHCreateLinks()

HRESULT WINAPI SHCreateLinks ( HWND  hWnd,
LPCSTR  lpszDir,
LPDATAOBJECT  lpDataObject,
UINT  uFlags,
LPITEMIDLIST lppidlLinks 
)

◆ SHCreateSessionKey()

EXTERN_C HRESULT WINAPI SHCreateSessionKey ( REGSAM  samDesired,
PHKEY  phKey 
)

Definition at line 151 of file shellreg.c.

152 {
153  HRESULT hr = S_OK;
154  static WCHAR wszSessionKey[256];
155  LONG Error;
156 
157  if (!wszSessionKey[0]) // FIXME: Critical Section
158  {
159  HANDLE hToken;
160 
162  {
163  TOKEN_STATISTICS Stats;
165 
166  if (GetTokenInformation(hToken, TokenStatistics, &Stats, sizeof(Stats), &ReturnLength))
167  {
168  swprintf(wszSessionKey,
169  L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\SessionInfo\\%08x%08x",
171  }
172  else
174 
175  CloseHandle(hToken);
176  }
177  else
179  }
180 
181  if(SUCCEEDED(hr))
182  {
183  Error = RegCreateKeyExW(HKEY_LOCAL_MACHINE, wszSessionKey, 0, NULL,
184  REG_OPTION_VOLATILE, samDesired, NULL, phKey, NULL);
185  if (Error != ERROR_SUCCESS)
187  }
188 
189  return hr;
190 }
LUID AuthenticationId
Definition: setypes.h:1065
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
Definition: dumpinfo.c:39
#define CloseHandle
Definition: compat.h:598
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1040
#define swprintf
Definition: precomp.h:40
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1091
#define L(x)
Definition: ntvdm.h:50
long LONG
Definition: pedump.c:60
if SUCCEEDED(hr)
__wchar_t WCHAR
Definition: xmlstorage.h:180
DWORD LowPart
LONG HRESULT
Definition: typedefs.h:79
unsigned long DWORD
Definition: ntddk_ex.h:95
BOOL Error
Definition: chkdsk.c:66
#define TOKEN_READ
Definition: setypes.h:929
LONG HighPart
#define GetCurrentProcess()
Definition: compat.h:618
#define S_OK
Definition: intsafe.h:52
#define NULL
Definition: types.h:112
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
Definition: security.c:296
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
Definition: security.c:413
#define REG_OPTION_VOLATILE
Definition: nt_native.h:1060
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

Referenced by DoStartStartupItems().

◆ Shell_GetCachedImageIndex()

INT WINAPI Shell_GetCachedImageIndex ( LPCWSTR  szPath,
INT  nIndex,
UINT  bSimulateDoc 
)

Definition at line 855 of file iconcache.cpp.

856 {
857  return Shell_GetCachedImageIndexAW(szPath, nIndex, bSimulateDoc);
858 }
EXTERN_C INT WINAPI Shell_GetCachedImageIndexAW(LPCVOID szPath, INT nIndex, BOOL bSimulateDoc)
Definition: iconcache.cpp:849
LPCWSTR szPath
Definition: env.c:37

Referenced by CShellMenuCallback::OnGetInfo().

◆ Shell_GetCachedImageIndexA()

int WINAPI Shell_GetCachedImageIndexA ( LPCSTR  lpszFileName,
int  nIconIndex,
UINT  bSimulateDoc 
)

◆ Shell_GetImageLists()

BOOL WINAPI Shell_GetImageLists ( HIMAGELIST lphimlLarge,
HIMAGELIST lphimlSmall 
)

Definition at line 700 of file iconcache.cpp.

701 {
702  TRACE("(%p,%p)\n",lpBigList,lpSmallList);
703 
704  if (!sic_hdpa)
705  SIC_Initialize();
706 
707  if (lpBigList)
708  *lpBigList = ShellBigIconList;
709 
710  if (lpSmallList)
711  *lpSmallList = ShellSmallIconList;
712 
713  return TRUE;
714 }
static HIMAGELIST ShellBigIconList
Definition: iconcache.cpp:41
#define TRUE
Definition: types.h:120
static HIMAGELIST ShellSmallIconList
Definition: iconcache.cpp:40
#define TRACE(s)
Definition: solgame.cpp:4
static HDPA sic_hdpa
Definition: iconcache.cpp:38
BOOL SIC_Initialize(void)
Definition: iconcache.cpp:484

Referenced by CShellBrowser::BrowseToPath(), DisplayImageList(), FileMenu_DrawItem(), InitializeTreeView(), CDefView::InitList(), CDefView::OnNotify(), SHGetFileInfoW(), SHGetImageList(), and test_SHGetImageList().

◆ ShellDDEInit()

void WINAPI ShellDDEInit ( BOOL  bInit)

Definition at line 227 of file shdocvw_main.c.

228 {
229  TRACE("(%d)\n", start);
230 
231  if (!pShellDDEInit)
232  {
233  if (!SHDOCVW_LoadShell32())
234  return FALSE;
235  pShellDDEInit = (void *)GetProcAddress(SHDOCVW_hshell32, (LPCSTR)188);
236  }
237 
238  if (pShellDDEInit)
239  return pShellDDEInit(start);
240  else
241  return FALSE;
242 }
#define FALSE
Definition: types.h:117
const char * LPCSTR
Definition: xmlstorage.h:183
#define TRACE(s)
Definition: solgame.cpp:4
static HMODULE SHDOCVW_hshell32
Definition: shdocvw_main.c:44
GLuint start
Definition: gl.h:1545
static BOOL SHDOCVW_LoadShell32(void)
Definition: shdocvw_main.c:200
#define GetProcAddress(x, y)
Definition: compat.h:612

◆ ShellExecCmdLine()

HRESULT WINAPI ShellExecCmdLine ( HWND  hwnd,
LPCWSTR  pwszCommand,
LPCWSTR  pwszStartDir,
int  nShow,
LPVOID  pUnused,
DWORD  dwSeclFlags 
)

Definition at line 2399 of file shlexec.cpp.

2406 {
2409  LPCWSTR pszVerb = NULL;
2410  WCHAR szFile[MAX_PATH], szFile2[MAX_PATH];
2411  HRESULT hr;
2412  LPCWSTR pchParams;
2413  LPWSTR lpCommand = NULL;
2414 
2415  if (pwszCommand == NULL)
2417  1, (ULONG_PTR*)pwszCommand);
2418 
2419  __SHCloneStrW(&lpCommand, pwszCommand);
2420  StrTrimW(lpCommand, L" \t");
2421 
2422  if (dwSeclFlags & SECL_NO_UI)
2424  if (dwSeclFlags & SECL_LOG_USAGE)
2426  if (dwSeclFlags & SECL_USE_IDLIST)
2428 
2429  if (dwSeclFlags & SECL_RUNAS)
2430  {
2431  dwSize = 0;
2432  hr = AssocQueryStringW(0, ASSOCSTR_COMMAND, lpCommand, L"RunAs", NULL, &dwSize);
2433  if (SUCCEEDED(hr) && dwSize != 0)
2434  {
2435  pszVerb = L"runas";
2436  }
2437  }
2438 
2439  if (PathIsURLW(lpCommand) || UrlIsW(lpCommand, URLIS_APPLIABLE))
2440  {
2441  StringCchCopyW(szFile, _countof(szFile), lpCommand);
2442  pchParams = NULL;
2443  }
2444  else
2445  {
2446  pchParams = SplitParams(lpCommand, szFile, _countof(szFile));
2447  if (szFile[0] != UNICODE_NULL && szFile[1] == L':' &&
2448  szFile[2] == UNICODE_NULL)
2449  {
2450  PathAddBackslashW(szFile);
2451  }
2452 
2453  WCHAR szCurDir[MAX_PATH];
2454  GetCurrentDirectoryW(_countof(szCurDir), szCurDir);
2455  if (pwszStartDir)
2456  {
2457  SetCurrentDirectoryW(pwszStartDir);
2458  }
2459 
2460  if (PathIsRelativeW(szFile) &&
2461  GetFullPathNameW(szFile, _countof(szFile2), szFile2, NULL) &&
2462  PathFileExistsW(szFile2))
2463  {
2464  StringCchCopyW(szFile, _countof(szFile), szFile2);
2465  }
2466  else if (SearchPathW(NULL, szFile, NULL, _countof(szFile2), szFile2, NULL) ||
2467  SearchPathW(NULL, szFile, L".exe", _countof(szFile2), szFile2, NULL) ||
2468  SearchPathW(NULL, szFile, L".com", _countof(szFile2), szFile2, NULL) ||
2469  SearchPathW(pwszStartDir, szFile, NULL, _countof(szFile2), szFile2, NULL) ||
2470  SearchPathW(pwszStartDir, szFile, L".exe", _countof(szFile2), szFile2, NULL) ||
2471  SearchPathW(pwszStartDir, szFile, L".com", _countof(szFile2), szFile2, NULL))
2472  {
2473  StringCchCopyW(szFile, _countof(szFile), szFile2);
2474  }
2475  else if (SearchPathW(NULL, lpCommand, NULL, _countof(szFile2), szFile2, NULL) ||
2476  SearchPathW(NULL, lpCommand, L".exe", _countof(szFile2), szFile2, NULL) ||
2477  SearchPathW(NULL, lpCommand, L".com", _countof(szFile2), szFile2, NULL) ||
2478  SearchPathW(pwszStartDir, lpCommand, NULL, _countof(szFile2), szFile2, NULL) ||
2479  SearchPathW(pwszStartDir, lpCommand, L".exe", _countof(szFile2), szFile2, NULL) ||
2480  SearchPathW(pwszStartDir, lpCommand, L".com", _countof(szFile2), szFile2, NULL))
2481  {
2482  StringCchCopyW(szFile, _countof(szFile), szFile2);
2483  pchParams = NULL;
2484  }
2485 
2486  if (pwszStartDir)
2487  {
2488  SetCurrentDirectoryW(szCurDir);
2489  }
2490 
2491  if (!(dwSeclFlags & SECL_ALLOW_NONEXE))
2492  {
2493  if (!GetBinaryTypeW(szFile, &dwType))
2494  {
2495  SHFree(lpCommand);
2496 
2497  if (!(dwSeclFlags & SECL_NO_UI))
2498  {
2499  WCHAR szText[128 + MAX_PATH], szFormat[128];
2501  StringCchPrintfW(szText, _countof(szText), szFormat, szFile);
2503  }
2504  return CO_E_APPNOTFOUND;
2505  }
2506  }
2507  else
2508  {
2510  {
2511  SHFree(lpCommand);
2512 
2513  if (!(dwSeclFlags & SECL_NO_UI))
2514  {
2515  WCHAR szText[128 + MAX_PATH], szFormat[128];
2517  StringCchPrintfW(szText, _countof(szText), szFormat, szFile);
2519  }
2521  }
2522  }
2523  }
2524 
2525  ZeroMemory(&info, sizeof(info));
2526  info.cbSize = sizeof(info);
2527  info.fMask = dwFlags;
2528  info.hwnd = hwnd;
2529  info.lpVerb = pszVerb;
2530  info.lpFile = szFile;
2531  info.lpParameters = (pchParams && *pchParams) ? pchParams : NULL;
2532  info.lpDirectory = pwszStartDir;
2533  info.nShow = nShow;
2534  if (ShellExecuteExW(&info))
2535  {
2536  if (info.lpIDList)
2537  CoTaskMemFree(info.lpIDList);
2538 
2539  SHFree(lpCommand);
2540 
2541  return S_OK;
2542  }
2543 
2544  dwError = GetLastError();
2545 
2546  SHFree(lpCommand);
2547 
2548  return HRESULT_FROM_WIN32(dwError);
2549 }
BOOL WINAPI PathIsRelativeW(LPCWSTR lpszPath)
Definition: path.c:1578
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
HRESULT hr
Definition: shlfolder.c:183
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define SECL_USE_IDLIST
#define EXCEPTION_ACCESS_VIOLATION
Definition: winbase.h:308
#define SECL_NO_UI
#define GetCurrentDirectoryW(x, y)
Definition: compat.h:615
#define EXCEPTION_NONCONTINUABLE
Definition: rtltypes.h:154
#define SECL_RUNAS
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1040
#define ZeroMemory
Definition: winbase.h:1664
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
Definition: path.c:1105
static LPCWSTR SplitParams(LPCWSTR psz, LPWSTR pszArg0, size_t cchArg0)
Definition: shlexec.cpp:2353
BOOL WINAPI GetBinaryTypeW(LPCWSTR lpApplicationName, LPDWORD lpBinaryType)
Definition: vdm.c:1243
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
BOOL WINAPI PathIsURLW(LPCWSTR lpstrPath)
Definition: url.c:2432
uint32_t ULONG_PTR
Definition: typedefs.h:65
static __inline void __SHCloneStrW(WCHAR **target, const WCHAR *source)
Definition: shell32_main.h:154
#define L(x)
Definition: ntvdm.h:50
#define UNICODE_NULL
static const WCHAR szText[]
Definition: dialog.c:139
LPWSTR WINAPI PathAddBackslashW(LPWSTR lpszPath)
Definition: path.c:294
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
Definition: fileinfo.c:652
if SUCCEEDED(hr)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
Definition: strsafe.h:149
#define SEE_MASK_NOASYNC
Definition: shellapi.h:33
#define SEE_MASK_FLAG_NO_UI
Definition: shellapi.h:36
#define SECL_LOG_USAGE
#define SECL_ALLOW_NONEXE
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
Definition: shlexec.cpp:2247
BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath)
Definition: path.c:1776
HRESULT WINAPI AssocQueryStringW(ASSOCF cfFlags, ASSOCSTR str, LPCWSTR pszAssoc, LPCWSTR pszExtra, LPWSTR pszOut, DWORD *pcchOut)
Definition: assoc.c:427
#define ERROR_FILE_NOT_FOUND
Definition: disk.h:79
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:79
#define _countof(array)
Definition: sndvol32.h:68
#define MAX_PATH
Definition: compat.h:34
#define SEE_MASK_DOENVSUBST
Definition: shellapi.h:35
unsigned long DWORD
Definition: ntddk_ex.h:95
#define INVALID_FILE_ATTRIBUTES
Definition: vfdcmd.c:23
struct _test_info info[]
Definition: SetCursorPos.c:19
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define MB_ICONERROR
Definition: winuser.h:781
#define IDS_FILE_NOT_FOUND
Definition: shresdef.h:312
BOOL WINAPI UrlIsW(LPCWSTR pszUrl, URLIS Urlis)
Definition: url.c:1933
DWORD WINAPI SearchPathW(IN LPCWSTR lpPath OPTIONAL, IN LPCWSTR lpFileName, IN LPCWSTR lpExtension OPTIONAL, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart OPTIONAL)
Definition: path.c:1297
#define S_OK
Definition: intsafe.h:52
#define shell32_hInstance
VOID WINAPI RaiseException(IN DWORD dwExceptionCode, IN DWORD dwExceptionFlags, IN DWORD nNumberOfArguments, IN CONST ULONG_PTR *lpArguments OPTIONAL)
Definition: except.c:700
#define SEE_MASK_FLAG_LOG_USAGE
Definition: shellapi.h:57
BOOL WINAPI SetCurrentDirectoryW(IN LPCWSTR lpPathName)
Definition: path.c:2248
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Definition: strsafe.h:530
#define NULL
Definition: types.h:112
BOOL WINAPI StrTrimW(LPWSTR lpszStr, LPCWSTR lpszTrim)
Definition: string.c:1869
void WINAPI SHFree(LPVOID pv)
Definition: shellole.c:326
#define SEE_MASK_INVOKEIDLIST
Definition: shellapi.h:28
#define CO_E_APPNOTFOUND
Definition: winerror.h:2808
WCHAR * LPWSTR
Definition: xmlstorage.h:184
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4022
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56

◆ SHFindComputer()

BOOL WINAPI SHFindComputer ( LPCITEMIDLIST  pidlRoot,
LPCITEMIDLIST  pidlSavedSearch 
)

Definition at line 33 of file stubs.cpp.

34 {
35  FIXME("SHFindComputer() stub\n");
36  return FALSE;
37 }
#define FALSE
Definition: types.h:117
#define FIXME(fmt,...)
Definition: debug.h:111

Referenced by CTrayWindow::HandleCommand(), CTrayWindow::HandleHotKey(), and StartMenuHandler::ShowSearchComputer().

◆ SHFreeUnusedLibraries()

void WINAPI SHFreeUnusedLibraries ( void  )

Definition at line 1541 of file shellord.c.

1542 {
1543  FIXME("stub\n");
1545 }
void WINAPI DECLSPEC_HOTPATCH CoFreeUnusedLibraries(void)
Definition: compobj.c:3701
#define FIXME(fmt,...)
Definition: debug.h:111

◆ SHGetFileIcon()

HICON WINAPI SHGetFileIcon ( DWORD  dwReserved,
LPCSTR  lpszPath,
DWORD  dwFileAttributes,
UINT  uFlags 
)

◆ SHGetImageList()

HRESULT WINAPI SHGetImageList ( int  iImageList,
REFIID  riid,
void **  ppv 
)

Definition at line 2406 of file shellord.c.

2407 {
2408  HIMAGELIST hLarge, hSmall;
2409  HIMAGELIST hNew;
2410  HRESULT ret = E_FAIL;
2411 
2412  /* Wine currently only maintains large and small image lists */
2413  if ((iImageList != SHIL_LARGE) && (iImageList != SHIL_SMALL) && (iImageList != SHIL_SYSSMALL))
2414  {
2415  FIXME("Unsupported image list %i requested\n", iImageList);
2416  return E_FAIL;
2417  }
2418 
2419  Shell_GetImageLists(&hLarge, &hSmall);
2420 #ifndef __REACTOS__
2421  hNew = ImageList_Duplicate(iImageList == SHIL_LARGE ? hLarge : hSmall);
2422 
2423  /* Get the interface for the new image list */
2424  if (hNew)
2425  {
2427  ImageList_Destroy(hNew);
2428  }
2429 #else
2430  /* Duplicating the imagelist causes the start menu items not to draw on
2431  * the first show. Was the Duplicate necessary for some reason? I believe
2432  * Windows returns the raw pointer here. */
2433  hNew = (iImageList == SHIL_LARGE ? hLarge : hSmall);
2434  ret = IImageList2_QueryInterface((IImageList2 *) hNew, riid, ppv);
2435 #endif
2436 
2437  return ret;
2438 }
#define SHIL_LARGE
Definition: shellapi.h:182
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
HRESULT WINAPI HIMAGELIST_QueryInterface(HIMAGELIST himl, REFIID riid, void **ppv)
Definition: imagelist.c:4038
#define E_FAIL
Definition: ddrawi.h:102
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
Definition: imagelist.c:928
#define FIXME(fmt,...)
Definition: debug.h:111
LONG HRESULT
Definition: typedefs.h:79
int ret
HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himlSrc)
Definition: imagelist.c:1801
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lpBigList, HIMAGELIST *lpSmallList)
Definition: iconcache.cpp:700
#define SHIL_SMALL
Definition: shellapi.h:183
#define SHIL_SYSSMALL
Definition: shellapi.h:185

Referenced by check_icon_size(), CISFBand::CreateSimpleToolbar(), CExplorerBand::InitializeExplorerBand(), CISFBand::InvokeCommand(), CSearchBar::OnInitDialog(), CAddressBand::SetSite(), test_get_file_info_iconlist(), test_SHGetImageList(), and CMenuToolbarBase::UpdateImageLists().

◆ SHGetViewStream()

IStream* WINAPI SHGetViewStream ( LPCITEMIDLIST  ,
DWORD  ,
LPCTSTR  ,
LPCTSTR  ,
LPCTSTR   
)

◆ SHHandleDiskFull()

void WINAPI SHHandleDiskFull ( HWND  hwndOwner,
UINT  uDrive 
)

Definition at line 979 of file stubs.cpp.

980 {
981  FIXME("SHHandleDiskFull() stub\n");
982 }
#define FIXME(fmt,...)
Definition: debug.h:111

◆ SHILCreateFromPathA()

HRESULT WINAPI SHILCreateFromPathA ( LPCSTR  path,
LPITEMIDLIST ppidl,
DWORD attributes 
)

Definition at line 380 of file pidl.c.

381 {
382  WCHAR lpszDisplayName[MAX_PATH];
383 
384  TRACE_(shell)("%s %p 0x%08x\n", path, ppidl, attributes ? *attributes : 0);
385 
386  if (!MultiByteToWideChar(CP_ACP, 0, path, -1, lpszDisplayName, MAX_PATH))
387  lpszDisplayName[MAX_PATH-1] = 0;
388 
389  return SHILCreateFromPathW(lpszDisplayName, ppidl, attributes);
390 }
GLsizei const GLchar ** path
Definition: glext.h:7234
#define CP_ACP
Definition: compat.h:109
#define TRACE_(x)
Definition: compat.h:76
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MAX_PATH
Definition: compat.h:34
void shell(int argc, const char *argv[])
Definition: cmds.c:1231
#define MultiByteToWideChar
Definition: compat.h:110
HRESULT WINAPI SHILCreateFromPathW(LPCWSTR path, LPITEMIDLIST *ppidl, DWORD *attributes)
Definition: pidl.c:392

Referenced by ILCreateFromPathA(), and SHILCreateFromPathAW().

◆ SHILCreateFromPathW()

HRESULT WINAPI SHILCreateFromPathW ( LPCWSTR  path,
LPITEMIDLIST ppidl,
DWORD attributes 
)

Definition at line 392 of file pidl.c.

393 {
394  LPSHELLFOLDER sf;
395  DWORD pchEaten;
396  HRESULT ret = E_FAIL;
397 
398  TRACE_(shell)("%s %p 0x%08x\n", debugstr_w(path), ppidl, attributes ? *attributes : 0);
399 
400  if (SUCCEEDED (SHGetDesktopFolder(&sf)))
401  {
402  ret = IShellFolder_ParseDisplayName(sf, 0, NULL, (LPWSTR)path, &pchEaten, ppidl, attributes);
403  IShellFolder_Release(sf);
404  }
405  return ret;
406 }
#define E_FAIL
Definition: ddrawi.h:102
if SUCCEEDED(hr)
#define debugstr_w
Definition: kernel32.h:32
#define TRACE_(x)
Definition: compat.h:76
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
LONG HRESULT
Definition: typedefs.h:79
unsigned long DWORD
Definition: ntddk_ex.h:95
int ret
void shell(int argc, const char *argv[])
Definition: cmds.c:1231
#define NULL
Definition: types.h:112
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by CDefaultContextMenu::DoCreateNewFolder(), ILCreateFromPathW(), CNewMenu::SelectNewItem(), CShellLink::SetTargetFromPIDLOrPath(), SHGetFileInfoW(), SHGetFolderLocation(), SHILCreateFromPathA(), SHILCreateFromPathAW(), and VariantToIdlist().

◆ SHInitRestricted()

BOOL WINAPI SHInitRestricted ( LPCVOID  unused,
LPCVOID  inpRegKey 
)

◆ SHNetConnectionDialog()

DWORD WINAPI SHNetConnectionDialog ( HWND  hwndOwner,
LPCWSTR  lpstrRemoteName,
DWORD  dwType 
)

Definition at line 955 of file stubs.cpp.

958 {
959  FIXME("SHNetConnectionDialog() stub\n");
961 }
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define FIXME(fmt,...)
Definition: debug.h:111

◆ SHOutOfMemoryMessageBox()

int WINAPI SHOutOfMemoryMessageBox ( HWND  hwndOwner,
LPCSTR  lpCaption,
UINT  uType 
)

Definition at line 1761 of file shellord.c.

1765 {
1766  FIXME("%p %s 0x%08x stub\n",hwndOwner, lpCaption, uType);
1767  return 0;
1768 }
#define FIXME(fmt,...)
Definition: debug.h:111

◆ SHRegisterDragDrop()

HRESULT WINAPI SHRegisterDragDrop ( HWND  hWnd,
LPDROPTARGET  lpDropTarget 
)

Definition at line 540 of file shellord.c.

543 {
544  static BOOL ole_initialized = FALSE;
545  HRESULT hr;
546 
547  TRACE("(%p,%p)\n", hWnd, pDropTarget);
548 
549  if (!ole_initialized)
550  {
551  hr = OleInitialize(NULL);
552  if (FAILED(hr))
553  return hr;
554  ole_initialized = TRUE;
555  }
556  return RegisterDragDrop(hWnd, pDropTarget);
557 }
HRESULT hr
Definition: shlfolder.c:183
#define TRUE
Definition: types.h:120
HWND hWnd
Definition: settings.c:17
HRESULT WINAPI RegisterDragDrop(HWND hwnd, LPDROPTARGET pDropTarget)
Definition: ole2.c:557
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:79
HRESULT WINAPI DECLSPEC_HOTPATCH OleInitialize(LPVOID reserved)
Definition: ole2.c:169
#define NULL
Definition: types.h:112

◆ SHRevokeDragDrop()

HRESULT WINAPI SHRevokeDragDrop ( HWND  hWnd)

Definition at line 575 of file shellord.c.

576 {
577  TRACE("(%p)\n", hWnd);
578  return RevokeDragDrop(hWnd);
579 }
HWND hWnd
Definition: settings.c:17
HRESULT WINAPI RevokeDragDrop(HWND hwnd)
Definition: ole2.c:639
#define TRACE(s)
Definition: solgame.cpp:4

◆ SHSimpleIDListFromPathA()

LPITEMIDLIST WINAPI SHSimpleIDListFromPathA ( LPCSTR  lpszPath)

Definition at line 1089 of file pidl.c.

1090 {
1091  LPITEMIDLIST pidl = NULL;
1092  LPWSTR wPath = NULL;
1093  int len;
1094 
1095  TRACE("%s\n", debugstr_a(lpszPath));
1096 
1097  if (lpszPath)
1098  {
1099  len = MultiByteToWideChar(CP_ACP, 0, lpszPath, -1, NULL, 0);
1100  wPath = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
1101  MultiByteToWideChar(CP_ACP, 0, lpszPath, -1, wPath, len);
1102  }
1103 #ifdef __REACTOS__
1104  // FIXME: Needs folder attribute
1105  if (PathFileExistsW(wPath))
1106  {
1107  pidl = ILCreateFromPathW(wPath);
1108  HeapFree(GetProcessHeap(), 0, wPath);
1109  return pidl;
1110  }
1111 #endif
1112 
1113  _ILParsePathW(wPath, NULL, TRUE, &pidl, NULL);
1114 
1115  HeapFree(GetProcessHeap(), 0, wPath);
1116  TRACE("%s %p\n", debugstr_a(lpszPath), pidl);
1117  return pidl;
1118 }
#define TRUE
Definition: types.h:120
#define CP_ACP
Definition: compat.h:109
BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath)
Definition: path.c:1776
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define debugstr_a
Definition: kernel32.h:31
static HRESULT _ILParsePathW(LPCWSTR path, LPWIN32_FIND_DATAW lpFindFile, BOOL bBindCtx, LPITEMIDLIST *ppidl, LPDWORD prgfInOut)
Definition: pidl.c:1030
GLenum GLsizei len
Definition: glext.h:6722
#define NULL
Definition: types.h:112
#define MultiByteToWideChar
Definition: compat.h:110
LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR path)
Definition: pidl.c:982
WCHAR * LPWSTR
Definition: xmlstorage.h:184
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
#define HeapFree(x, y, z)
Definition: compat.h:594

Referenced by SHSimpleIDListFromPathAW().

◆ SHSimpleIDListFromPathW()

LPITEMIDLIST WINAPI SHSimpleIDListFromPathW ( LPCWSTR  lpszPath)

Definition at line 1120 of file pidl.c.

1121 {
1122  LPITEMIDLIST pidl = NULL;
1123 
1124  TRACE("%s\n", debugstr_w(lpszPath));
1125 #ifdef __REACTOS__
1126  // FIXME: Needs folder attribute
1127  if (PathFileExistsW(lpszPath))
1128  return ILCreateFromPathW(lpszPath);
1129 #endif
1130 
1131  _ILParsePathW(lpszPath, NULL, TRUE, &pidl, NULL);
1132  TRACE("%s %p\n", debugstr_w(lpszPath), pidl);
1133  return pidl;
1134 }
#define TRUE
Definition: types.h:120
#define debugstr_w
Definition: kernel32.h:32
BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath)
Definition: path.c:1776
#define TRACE(s)
Definition: solgame.cpp:4
static HRESULT _ILParsePathW(LPCWSTR path, LPWIN32_FIND_DATAW lpFindFile, BOOL bBindCtx, LPITEMIDLIST *ppidl, LPDWORD prgfInOut)
Definition: pidl.c:1030
#define NULL
Definition: types.h:112
LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR path)
Definition: pidl.c:982
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41

Referenced by BrsFolder_Treeview_Rename(), CShellLink::SetTargetFromPIDLOrPath(), SHChangeNotify(), and SHSimpleIDListFromPathAW().

◆ SHWaitForFileToOpen()

BOOL WINAPI SHWaitForFileToOpen ( LPCITEMIDLIST  pidl,
DWORD  dwFlags,
DWORD  dwTimeout 
)

Definition at line 1782 of file shellord.c.

1786 {
1787  FIXME("%p 0x%08x 0x%08x stub\n", pidl, dwFlags, dwTimeout);
1788  return FALSE;
1789 }
#define FALSE
Definition: types.h:117
#define FIXME(fmt,...)
Definition: debug.h:111
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
Definition: wincrypt.h:6077

◆ StrRetToStrNA()

BOOL WINAPI StrRetToStrNA ( LPSTR  ,
DWORD  ,
LPSTRRET  ,
const ITEMIDLIST  
)

Definition at line 54 of file shellstring.c.

55 {
56  TRACE("dest=%p len=0x%x strret=%p(%s) pidl=%p\n", dest, len, src, debugstr_strret(src), pidl);
57 
58  if (!dest)
59  return FALSE;
60 
61  switch (src->uType)
62  {
63  case STRRET_WSTR:
64  WideCharToMultiByte(CP_ACP, 0, src->u.pOleStr, -1, dest, len, NULL, NULL);
65  CoTaskMemFree(src->u.pOleStr);
66  break;
67  case STRRET_CSTR:
68  lstrcpynA(dest, src->u.cStr, len);
69  break;
70  case STRRET_OFFSET:
71  lstrcpynA(dest, ((LPCSTR)&pidl->mkid)+src->u.uOffset, len);
72  break;
73  default:
74  FIXME("unknown type %u!\n", src->uType);
75  if (len)
76  *dest = '\0';
77  return FALSE;
78  }
79  TRACE("-- %s\n", debugstr_a(dest) );
80  return TRUE;
81 }
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
#define WideCharToMultiByte
Definition: compat.h:111
#define TRUE
Definition: types.h:120
#define CP_ACP
Definition: compat.h:109
#define FALSE
Definition: types.h:117
#define FIXME(fmt,...)
Definition: debug.h:111
const char * LPCSTR
Definition: xmlstorage.h:183
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
GLenum GLsizei len
Definition: glext.h:6722
GLenum src
Definition: glext.h:6340
static const char * debugstr_strret(STRRET *s)
Definition: shellstring.c:39
#define NULL
Definition: types.h:112
#define lstrcpynA
Definition: compat.h:610
static char * dest
Definition: rtl.c:135

Referenced by CDefView::OnNotify(), and StrRetToStrNAW().

◆ StrRetToStrNW()

BOOL WINAPI StrRetToStrNW ( LPWSTR  ,
DWORD  ,
LPSTRRET  ,
const ITEMIDLIST  
)

Definition at line 85 of file shellstring.c.

86 {
87  TRACE("dest=%p len=0x%x strret=%p(%s) pidl=%p\n", dest, len, src, debugstr_strret(src), pidl);
88 
89  if (!dest)
90  return FALSE;
91 
92  switch (src->uType)
93  {
94  case STRRET_WSTR:
95  lstrcpynW(dest, src->u.pOleStr, len);
96  CoTaskMemFree(src->u.pOleStr);
97  break;
98  case STRRET_CSTR:
99  if (!MultiByteToWideChar(CP_ACP, 0, src->u.cStr, -1, dest, len) && len)
100  dest[len-1] = 0;
101  break;
102  case STRRET_OFFSET:
103  if (!MultiByteToWideChar(CP_ACP, 0, ((LPCSTR)&pidl->mkid)+src->u.uOffset, -1, dest, len)
104  && len)
105  dest[len-1] = 0;
106  break;
107  default:
108  FIXME("unknown type %u!\n", src->uType);
109  if (len)
110  *dest = '\0';
111  return FALSE;
112  }
113  return TRUE;
114 }
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
#define TRUE
Definition: types.h:120
#define CP_ACP
Definition: compat.h:109
#define lstrcpynW
Definition: compat.h:597
#define FALSE
Definition: types.h:117
#define FIXME(fmt,...)
Definition: debug.h:111
const char * LPCSTR
Definition: xmlstorage.h:183
#define TRACE(s)
Definition: solgame.cpp:4
GLenum GLsizei len
Definition: glext.h:6722
GLenum src
Definition: glext.h:6340
static const char * debugstr_strret(STRRET *s)
Definition: shellstring.c:39
#define MultiByteToWideChar
Definition: compat.h:110
static char * dest
Definition: rtl.c:135

Referenced by GetName(), ILGetDisplayNameExW(), CDefView::InitList(), CDefView::OnNotify(), SHELL_GetPathFromIDListForExecuteW(), SHGetFileInfoW(), and StrRetToStrNAW().

◆ WinList_Init()

DWORD WINAPI WinList_Init ( void  )

Definition at line 68 of file misc.cpp.

69 {
70  /* do something here (perhaps we may want to add our own implementation fo win8) */
71  return 0;
72 }