ReactOS  0.4.13-dev-249-gcba1a2f
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  _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 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_OPCANCELLED   0x75
 
#define DE_DESTSUBTREE   0x76
 
#define DE_INVALIDFILES   0x7C
 
#define DE_DESTSAMETREE   0x7D
 
#define DE_FLDDESTISFILE   0x7E
 
#define DE_FILEDESTISFLD   0x80
 
#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 DbgPrint(fmt, ...)   Win32DbgPrint(__FILE__, __LINE__, fmt, ##__VA_ARGS__)
 
#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 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 _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)
 
BOOL WINAPI PathQualifyAW (LPCVOID path)
 
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)
 
DWORD WINAPI CheckEscapesA (LPSTR string, DWORD len)
 
DWORD 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)
 
static ULONG Win32DbgPrint (const char *filename, int line, const char *lpFormat,...)
 
static void DbgDumpMenuInternal (HMENU hmenu, char *padding, int padlevel)
 
static __inline void DbgDumpMenu (HMENU hmenu)
 
static void DumpIdList (LPCITEMIDLIST pcidl)
 
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 781 of file undocshell.h.

◆ BBID_STOPANIMATION

#define BBID_STOPANIMATION   2

Definition at line 782 of file undocshell.h.

◆ CSIDL_FOLDER_MASK

#define CSIDL_FOLDER_MASK   0x00ff

Definition at line 606 of file undocshell.h.

◆ CWM_GETISHELLBROWSER

#define CWM_GETISHELLBROWSER   (WM_USER + 7)

Definition at line 185 of file undocshell.h.

◆ CWM_GETPATH

#define CWM_GETPATH   (WM_USER + 12)

Definition at line 188 of file undocshell.h.

◆ CWM_GETSETCURRENTINFO

#define CWM_GETSETCURRENTINFO   (WM_USER + 4)

Definition at line 182 of file undocshell.h.

◆ CWM_SELECTITEM

#define CWM_SELECTITEM   (WM_USER + 5)

Definition at line 183 of file undocshell.h.

◆ CWM_SELECTITEMSTR

#define CWM_SELECTITEMSTR   (WM_USER + 6)

Definition at line 184 of file undocshell.h.

◆ CWM_SETPATH

#define CWM_SETPATH   (WM_USER + 2)

Definition at line 180 of file undocshell.h.

◆ CWM_STATECHANGE

#define CWM_STATECHANGE   (WM_USER + 10)

Definition at line 187 of file undocshell.h.

◆ CWM_TESTPATH

#define CWM_TESTPATH   (WM_USER + 9)

Definition at line 186 of file undocshell.h.

◆ CWM_WANTIDLE

#define CWM_WANTIDLE   (WM_USER + 3)

Definition at line 181 of file undocshell.h.

◆ CWTP_ISCHILD

#define CWTP_ISCHILD   1

Definition at line 194 of file undocshell.h.

◆ CWTP_ISEQUAL

#define CWTP_ISEQUAL   0

Definition at line 193 of file undocshell.h.

◆ DbgPrint

#define DbgPrint (   fmt,
  ... 
)    Win32DbgPrint(__FILE__, __LINE__, fmt, ##__VA_ARGS__)

Definition at line 654 of file undocshell.h.

◆ DE_DESTSAMETREE

#define DE_DESTSAMETREE   0x7D

Definition at line 475 of file undocshell.h.

◆ DE_DESTSUBTREE

#define DE_DESTSUBTREE   0x76

Definition at line 473 of file undocshell.h.

◆ DE_DIFFDIR

#define DE_DIFFDIR   0x73

Definition at line 471 of file undocshell.h.

◆ DE_FILEDESTISFLD

#define DE_FILEDESTISFLD   0x80

Definition at line 477 of file undocshell.h.

◆ DE_FLDDESTISFILE

#define DE_FLDDESTISFILE   0x7E

Definition at line 476 of file undocshell.h.

◆ DE_INVALIDFILES

#define DE_INVALIDFILES   0x7C

Definition at line 474 of file undocshell.h.

◆ DE_MANYSRC1DEST

#define DE_MANYSRC1DEST   0x72

Definition at line 470 of file undocshell.h.

◆ DE_OPCANCELLED

#define DE_OPCANCELLED   0x75

Definition at line 472 of file undocshell.h.

◆ DE_SAMEFILE

#define DE_SAMEFILE   0x71

Definition at line 469 of file undocshell.h.

◆ EXP_KNOWN_FOLDER_SIG

#define EXP_KNOWN_FOLDER_SIG   0xa000000b

Definition at line 1005 of file undocshell.h.

◆ EXP_SHIM_SIG

#define EXP_SHIM_SIG   0xa0000008

Definition at line 1004 of file undocshell.h.

◆ EXP_TRACKER_SIG

#define EXP_TRACKER_SIG   0xa0000003

Definition at line 1003 of file undocshell.h.

◆ EXP_VISTA_ID_LIST_SIG

#define EXP_VISTA_ID_LIST_SIG   0xa000000c

Definition at line 1006 of file undocshell.h.

◆ FM_BLANK_ICON

#define FM_BLANK_ICON   -1

Definition at line 247 of file undocshell.h.

◆ FM_DEFAULT_HEIGHT

#define FM_DEFAULT_HEIGHT   0

Definition at line 248 of file undocshell.h.

◆ FM_DEFAULT_SELHEIGHT

#define FM_DEFAULT_SELHEIGHT   -1

Definition at line 228 of file undocshell.h.

◆ FM_FULL_SELHEIGHT

#define FM_FULL_SELHEIGHT   0

Definition at line 229 of file undocshell.h.

◆ FM_SEPARATOR

#define FM_SEPARATOR   (LPCSTR)1

Definition at line 246 of file undocshell.h.

◆ FMF_LARGE_ICONS

#define FMF_LARGE_ICONS   0x08

Definition at line 233 of file undocshell.h.

◆ FMF_NO_COLUMN_BREAK

#define FMF_NO_COLUMN_BREAK   0x10

Definition at line 234 of file undocshell.h.

◆ FMF_NO_EMPTY_ITEM

#define FMF_NO_EMPTY_ITEM   0x01

Definition at line 259 of file undocshell.h.

◆ FMF_NO_PROGRAM_GROUPS

#define FMF_NO_PROGRAM_GROUPS   0x04

Definition at line 260 of file undocshell.h.

◆ FMF_SMALL_ICONS

#define FMF_SMALL_ICONS   0x00

Definition at line 232 of file undocshell.h.

◆ IDB_GOBUTTON_HOT

#define IDB_GOBUTTON_HOT   0x0e7

Definition at line 760 of file undocshell.h.

◆ IDB_GOBUTTON_NORMAL

#define IDB_GOBUTTON_NORMAL   0x0e6

Definition at line 759 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.

◆ ITBBID_ADDRESSBAND

#define ITBBID_ADDRESSBAND   4

Definition at line 766 of file undocshell.h.

◆ ITBBID_BRANDBAND

#define ITBBID_BRANDBAND   5

Definition at line 764 of file undocshell.h.

◆ ITBBID_MENUBAND

#define ITBBID_MENUBAND   1

Definition at line 763 of file undocshell.h.

◆ ITBBID_TOOLSBAND

#define ITBBID_TOOLSBAND   2

Definition at line 765 of file undocshell.h.

◆ ITID_ADDRESSBANDSHOWN

#define ITID_ADDRESSBANDSHOWN   5

Definition at line 773 of file undocshell.h.

◆ ITID_AUTOHIDEENABLED

#define ITID_AUTOHIDEENABLED   13

Definition at line 776 of file undocshell.h.

◆ ITID_CUSTOMIZEENABLED

#define ITID_CUSTOMIZEENABLED   20

Definition at line 777 of file undocshell.h.

◆ ITID_LINKSBANDSHOWN

#define ITID_LINKSBANDSHOWN   6

Definition at line 774 of file undocshell.h.

◆ ITID_MENUBANDSHOWN

#define ITID_MENUBANDSHOWN   12

Definition at line 775 of file undocshell.h.

◆ ITID_TEXTLABELS

#define ITID_TEXTLABELS   3

Definition at line 771 of file undocshell.h.

◆ ITID_TOOLBARBANDSHOWN

#define ITID_TOOLBARBANDSHOWN   4

Definition at line 772 of file undocshell.h.

◆ ITID_TOOLBARLOCKED

#define ITID_TOOLBARLOCKED   27

Definition at line 778 of file undocshell.h.

◆ PPCF_DONTRESOLVE

#define PPCF_DONTRESOLVE   0x20

Definition at line 444 of file undocshell.h.

◆ PPCF_INCLUDEARGS

#define PPCF_INCLUDEARGS   0x02

Definition at line 442 of file undocshell.h.

◆ PPCF_PATHISRELATIVE

#define PPCF_PATHISRELATIVE   0x40

Definition at line 445 of file undocshell.h.

◆ PPCF_QUOTEPATH

#define PPCF_QUOTEPATH   0x01 /* implies PPCF_INCLUDEARGS */

Definition at line 441 of file undocshell.h.

◆ PRF_CHECKEXISTANCE

#define PRF_CHECKEXISTANCE   0x01

Definition at line 431 of file undocshell.h.

◆ PRF_EXECUTABLE

#define PRF_EXECUTABLE   0x02

Definition at line 432 of file undocshell.h.

◆ PRF_QUALIFYONPATH

#define PRF_QUALIFYONPATH   0x04

Definition at line 433 of file undocshell.h.

◆ PRF_WINDOWS31

#define PRF_WINDOWS31   0x08

Definition at line 434 of file undocshell.h.

◆ RF_CANCEL

#define RF_CANCEL   0x01

Definition at line 145 of file undocshell.h.

◆ RF_OK

#define RF_OK   0x00

Definition at line 144 of file undocshell.h.

◆ RF_RETRY

#define RF_RETRY   0x02

Definition at line 146 of file undocshell.h.

◆ RFF_CALCDIRECTORY

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

Definition at line 116 of file undocshell.h.

◆ RFF_NOBROWSE

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

Definition at line 114 of file undocshell.h.

◆ RFF_NODEFAULT

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

Definition at line 115 of file undocshell.h.

◆ RFF_NOLABEL

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

Definition at line 117 of file undocshell.h.

◆ RFF_NOSEPARATEMEM

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

Definition at line 118 of file undocshell.h.

◆ RFN_VALIDATE

#define RFN_VALIDATE   (-510)

Definition at line 121 of file undocshell.h.

◆ RSH_DEREGISTER

#define RSH_DEREGISTER   0

Definition at line 565 of file undocshell.h.

◆ RSH_REGISTER

#define RSH_REGISTER   1

Definition at line 566 of file undocshell.h.

◆ RSH_REGISTER_PROGMAN

#define RSH_REGISTER_PROGMAN   2

Definition at line 567 of file undocshell.h.

◆ RSH_REGISTER_TASKMAN

#define RSH_REGISTER_TASKMAN   3

Definition at line 568 of file undocshell.h.

◆ SECL_ALLOW_NONEXE

#define SECL_ALLOW_NONEXE   0x20

Definition at line 553 of file undocshell.h.

◆ SECL_LOG_USAGE

#define SECL_LOG_USAGE   0x8

Definition at line 551 of file undocshell.h.

◆ SECL_NO_UI

#define SECL_NO_UI   0x2

Definition at line 550 of file undocshell.h.

◆ SECL_RUNAS

#define SECL_RUNAS   0x40

Definition at line 554 of file undocshell.h.

◆ SECL_USE_IDLIST

#define SECL_USE_IDLIST   0x10

Definition at line 552 of file undocshell.h.

◆ SHCLF_CREATEONDESKTOP

#define SHCLF_CREATEONDESKTOP   0x02

Definition at line 591 of file undocshell.h.

◆ SHCLF_PREFIXNAME

#define SHCLF_PREFIXNAME   0x01

Definition at line 590 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 533 of file undocshell.h.

◆ SHWFF_REMOVE

#define SHWFF_REMOVE   0x02

Definition at line 534 of file undocshell.h.

◆ SHWFF_WAIT

#define SHWFF_WAIT   0x04

Definition at line 535 of file undocshell.h.

◆ SLI_CNR_VALID_DEVICE

#define SLI_CNR_VALID_DEVICE   0x00000001

Definition at line 951 of file undocshell.h.

◆ SLI_CNR_VALID_NET_TYPE

#define SLI_CNR_VALID_NET_TYPE   0x00000002

Definition at line 953 of file undocshell.h.

◆ SLI_VALID_LOCAL

#define SLI_VALID_LOCAL   0x00000001

Definition at line 872 of file undocshell.h.

◆ SLI_VALID_NETWORK

#define SLI_VALID_NETWORK   0x00000002

Definition at line 874 of file undocshell.h.

◆ SMC_EXEC

#define SMC_EXEC   4

Definition at line 611 of file undocshell.h.

◆ SMSET_UNKNOWN08

#define SMSET_UNKNOWN08   0x08

Definition at line 785 of file undocshell.h.

◆ SMSET_UNKNOWN10

#define SMSET_UNKNOWN10   0x10

Definition at line 786 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 190 of file undocshell.h.

Typedef Documentation

◆ EXP_KNOWN_FOLDER

◆ EXP_SHIM

◆ EXP_TRACKER

◆ EXP_VISTA_ID_LIST

◆ LPCSFVCBINFO

Definition at line 491 of file undocshell.h.

◆ LPCSFVCOPYHOOKINFO

Definition at line 514 of file undocshell.h.

◆ LPCSFVSELECTSTATE

Definition at line 501 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 575 of file undocshell.h.

◆ LPFNFMCALLBACK

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

Definition at line 263 of file undocshell.h.

◆ LPNMRUNFILEDLG

Definition at line 141 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 139 of file undocshell.h.

◆ NMRUNFILEDLGW

◆ PNMRUNFILEDLG

Definition at line 140 of file undocshell.h.

◆ PNMRUNFILEDLGW

◆ SFVM_CUSTOMVIEWINFO_DATA

◆ 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()

DWORD WINAPI CheckEscapesA ( LPSTR  string,
DWORD  len 
)

Definition at line 232 of file shellstring.c.

235 {
236  LPWSTR wString;
237  DWORD ret = 0;
238 
239  TRACE("(%s %d)\n", debugstr_a(string), len);
240  wString = LocalAlloc(LPTR, len * sizeof(WCHAR));
241  if (wString)
242  {
243  MultiByteToWideChar(CP_ACP, 0, string, len, wString, len);
244  ret = CheckEscapesW(wString, len);
245  WideCharToMultiByte(CP_ACP, 0, wString, len, string, len, NULL, NULL);
246  LocalFree(wString);
247  }
248  return ret;
249 }
#define WideCharToMultiByte
Definition: compat.h:101
#define CP_ACP
Definition: compat.h:99
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define debugstr_a
Definition: kernel32.h:31
unsigned long DWORD
Definition: ntddk_ex.h:95
int ret
DWORD WINAPI CheckEscapesW(LPWSTR string, DWORD len)
Definition: shellstring.c:258
GLenum GLsizei len
Definition: glext.h:6722
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
#define MultiByteToWideChar
Definition: compat.h:100
#define LPTR
Definition: winbase.h:362
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1373
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ CheckEscapesW()

DWORD WINAPI CheckEscapesW ( LPWSTR  string,
DWORD  len 
)

Definition at line 258 of file shellstring.c.

261 {
262  DWORD size = lstrlenW(string);
263  LPWSTR s, d;
264 
265  TRACE("(%s %d) stub\n", debugstr_w(string), len);
266 
267  if (StrPBrkW(string, strEscapedChars) && size + 2 <= len)
268  {
269  s = &string[size - 1];
270  d = &string[size + 2];
271  *d-- = 0;
272  *d-- = '"';
273  for (;d > string;)
274  *d-- = *s--;
275  *d = '"';
276  return size + 2;
277  }
278  return size;
279 }
LPWSTR WINAPI StrPBrkW(LPCWSTR lpszStr, LPCWSTR lpszMatch)
Definition: string.c:1276
#define lstrlenW
Definition: compat.h:407
static const WCHAR strEscapedChars[]
Definition: shellstring.c:251
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
#define d
Definition: ke_i.h:81
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

Referenced by CheckEscapesA().

◆ DAD_DragEnter()

BOOL WINAPI DAD_DragEnter ( HWND  hWnd)

Definition at line 1152 of file shellord.c.

1153 {
1154  FIXME("hwnd = %p\n",hwnd);
1155  return FALSE;
1156 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define FIXME(fmt,...)
Definition: debug.h:110

◆ DAD_SetDragImageFromListView()

BOOL WINAPI DAD_SetDragImageFromListView ( HWND  hWnd,
POINT  pt 
)

Definition at line 1007 of file stubs.cpp.

1008 {
1009  FIXME("DAD_SetDragImageFromListView() stub\n");
1010  return FALSE;
1011 }
#define FIXME(fmt,...)
Definition: debug.h:110

◆ DAD_ShowDragImage()

BOOL WINAPI DAD_ShowDragImage ( BOOL  bShow)

Definition at line 1203 of file shellord.c.

1204 {
1205  FIXME("0x%08x stub\n",bShow);
1206  return FALSE;
1207 }
#define FIXME(fmt,...)
Definition: debug.h:110

◆ DbgDumpMenu()

static __inline void DbgDumpMenu ( HMENU  hmenu)
static

Definition at line 693 of file undocshell.h.

694 {
695  char padding[128];
697 }
static HMENU hmenu
Definition: win.c:66
static void DbgDumpMenuInternal(HMENU hmenu, char *padding, int padlevel)
Definition: undocshell.h:657
unsigned int padding
Definition: isohybrid.c:50

◆ DbgDumpMenuInternal()

static void DbgDumpMenuInternal ( HMENU  hmenu,
char padding,
int  padlevel 
)
inlinestatic

Definition at line 657 of file undocshell.h.

658 {
659  WCHAR label[128];
660  int i;
662 
663  padding[padlevel] = '.';
664  padding[padlevel + 1] = '.';
665  padding[padlevel + 2] = 0;
666 
667  for (i = 0; i < count; i++)
668  {
669  MENUITEMINFOW mii = { 0 };
670 
671  mii.cbSize = sizeof(mii);
673  mii.dwTypeData = label;
674  mii.cch = _countof(label);
675 
676  GetMenuItemInfoW(hmenu, i, TRUE, &mii);
677 
678  if (mii.fType & MFT_BITMAP)
679  DbgPrint("%s%2d - %08x: BITMAP %08p (state=%d, has submenu=%s)\n", padding, i, mii.wID, mii.hbmpItem, mii.fState, mii.hSubMenu ? "TRUE" : "FALSE");
680  else if (mii.fType & MFT_SEPARATOR)
681  DbgPrint("%s%2d - %08x ---SEPARATOR---\n", padding, i, mii.wID);
682  else
683  DbgPrint("%s%2d - %08x: %S (state=%d, has submenu=%s)\n", padding, i, mii.wID, mii.dwTypeData, mii.fState, mii.hSubMenu ? "TRUE" : "FALSE");
684 
685  if (mii.hSubMenu)
686  DbgDumpMenuInternal(mii.hSubMenu, padding, padlevel + 2);
687 
688  }
689 
690  padding[padlevel] = 0;
691 }
#define MIIM_FTYPE
Definition: winuser.h:724
#define TRUE
Definition: types.h:120
static HMENU hmenu
Definition: win.c:66
#define _countof(array)
Definition: fontsub.cpp:30
GLuint GLuint GLsizei count
Definition: gl.h:1545
LPWSTR dwTypeData
Definition: winuser.h:3211
#define MFT_BITMAP
Definition: winuser.h:733
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 MIIM_SUBMENU
Definition: winuser.h:718
#define MIIM_STATE
Definition: winuser.h:716
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
static void DbgDumpMenuInternal(HMENU hmenu, char *padding, int padlevel)
Definition: undocshell.h:657
#define MIIM_ID
Definition: winuser.h:717
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
unsigned int padding
Definition: isohybrid.c:50
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MFT_SEPARATOR
Definition: winuser.h:739
uint8_t label[11]
Definition: fsck.fat.h:65
#define MIIM_STRING
Definition: winuser.h:722
#define DbgPrint(fmt,...)
Definition: undocshell.h:654

Referenced by DbgDumpMenu().

◆ DumpIdList()

static void DumpIdList ( LPCITEMIDLIST  pcidl)
inlinestatic

Definition at line 701 of file undocshell.h.

702 {
703  DbgPrint("Begin IDList Dump\n");
704 
705  for (; pcidl != NULL; pcidl = ILGetNext(pcidl))
706  {
707  int i;
708  int cb = pcidl->mkid.cb;
709  BYTE * sh = (BYTE*) &(pcidl->mkid);
710  if (cb == 0) // ITEMIDLISTs are terminatedwith a null SHITEMID.
711  break;
712  DbgPrint("Begin SHITEMID (cb=%d)\n", cb);
713  if ((cb & 3) != 0)
714  DbgPrint(" - WARNING: cb is not a multiple of 4\n");
715  for (i = 0; (i + 4) <= cb; i += 4)
716  {
717  DbgPrint(" - abID[%08x]: %02x %02x %02x %02x\n",
718  i,
719  sh[i + 0],
720  sh[i + 1],
721  sh[i + 2],
722  sh[i + 3]);
723  }
724  if (i < cb)
725  {
726  cb -= i;
727  if (cb == 3)
728  {
729  DbgPrint(" - abID[%08x]: %02x %02x %02x --\n",
730  i,
731  sh[i + 0],
732  sh[i + 1],
733  sh[i + 2]);
734  }
735  else if (cb == 2)
736  {
737  DbgPrint(" - abID[%08x]: %02x %02x -- --\n",
738  i,
739  sh[i + 0],
740  sh[i + 1]);
741  }
742  else if (cb == 1)
743  {
744  DbgPrint(" - abID[%08x]: %02x -- -- --\n",
745  i,
746  sh[i + 0]);
747  }
748  }
749  DbgPrint("End SHITEMID\n");
750  }
751  DbgPrint("End IDList Dump.\n");
752 }
LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST pidl)
Definition: pidl.c:851
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
smooth NULL
Definition: ftsmooth.c:416
static DWORD cb
Definition: integrity.c:41
unsigned char BYTE
Definition: mem.h:68
short sh
Definition: format.c:272
#define DbgPrint(fmt,...)
Definition: undocshell.h:654

Referenced by CNtObjectFolder::ResolveSymLink().

◆ ExitWindowsDialog()

void WINAPI ExitWindowsDialog ( HWND  hWndOwner)

Definition at line 1145 of file dialogs.cpp.

1146 {
1147  typedef DWORD (WINAPI *ShellShFunc)(HWND hParent, WCHAR *Username, BOOL bHideLogoff);
1148  HINSTANCE msginaDll = LoadLibraryW(L"msgina.dll");
1149 
1150  TRACE("(%p)\n", hWndOwner);
1151 
1152  CComPtr<IUnknown> fadeHandler;
1153  HWND parent;
1154  if (!CallShellDimScreen(&fadeHandler, &parent))
1155  parent = hWndOwner;
1156 
1157  /* If the DLL cannot be found for any reason, then it simply uses a
1158  dialog box to ask if the user wants to shut down the computer. */
1159  if (!msginaDll)
1160  {
1161  TRACE("Unable to load msgina.dll.\n");
1163  return;
1164  }
1165 
1166  ShellShFunc pShellShutdownDialog = (ShellShFunc)GetProcAddress(msginaDll, "ShellShutdownDialog");
1167 
1168  if (pShellShutdownDialog)
1169  {
1170  /* Actually call the function */
1171  DWORD returnValue = pShellShutdownDialog(parent, NULL, FALSE);
1172 
1173  switch (returnValue)
1174  {
1175  case 0x01: /* Log off user */
1176  {
1178  break;
1179  }
1180  case 0x02: /* Shut down */
1181  {
1182  EnablePrivilege(L"SeShutdownPrivilege", TRUE);
1184  EnablePrivilege(L"SeShutdownPrivilege", FALSE);
1185  break;
1186  }
1187  case 0x03: /* Install Updates/Shutdown (?) */
1188  {
1189  break;
1190  }
1191  case 0x04: /* Reboot */
1192  {
1193  EnablePrivilege(L"SeShutdownPrivilege", TRUE);
1195  EnablePrivilege(L"SeShutdownPrivilege", FALSE);
1196  break;
1197  }
1198  case 0x10: /* Sleep */
1199  {
1200  if (IsPwrSuspendAllowed())
1201  {
1202  EnablePrivilege(L"SeShutdownPrivilege", TRUE);
1204  EnablePrivilege(L"SeShutdownPrivilege", FALSE);
1205  }
1206  break;
1207  }
1208  case 0x40: /* Hibernate */
1209  {
1210  if (IsPwrHibernateAllowed())
1211  {
1212  EnablePrivilege(L"SeShutdownPrivilege", TRUE);
1214  EnablePrivilege(L"SeShutdownPrivilege", FALSE);
1215  }
1216  break;
1217  }
1218  /* If the option is any other value */
1219  default:
1220  break;
1221  }
1222  }
1223  else
1224  {
1225  /* If the function cannot be found, then revert to using the backup solution */
1226  TRACE("Unable to find the 'ShellShutdownDialog' function");
1228  }
1229 
1230  FreeLibrary(msginaDll);
1231 }
BOOLEAN WINAPI SetSuspendState(BOOLEAN Hibernate, BOOLEAN ForceCritical, BOOLEAN DisableWakeEvent)
Definition: powrprof.c:681
#define TRUE
Definition: types.h:120
BOOLEAN WINAPI IsPwrSuspendAllowed(VOID)
Definition: powrprof.c:488
#define EWX_REBOOT
Definition: winuser.h:633
#define DWORD
Definition: nt_native.h:44
#define EWX_LOGOFF
Definition: winuser.h:631
#define EWX_SHUTDOWN
Definition: winuser.h:634
unsigned int BOOL
Definition: ntddk_ex.h:94
#define LoadLibraryW(x)
Definition: compat.h:404
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define FreeLibrary(x)
Definition: compat.h:405
r parent
Definition: btrfs.c:2677
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define WINAPI
Definition: msvc.h:8
unsigned long DWORD
Definition: ntddk_ex.h:95
static BOOL EnablePrivilege(LPCWSTR lpszPrivilegeName, BOOL bEnablePrivilege)
Definition: dialogs.cpp:995
static const WCHAR L[]
Definition: oid.c:1250
const DOCKBAR PVOID HWND hParent
Definition: tooldock.h:22
BOOL WINAPI ExitWindowsEx(_In_ UINT, _In_ DWORD)
#define GetProcAddress(x, y)
Definition: compat.h:410
VOID ExitWindowsDialog_backup(HWND hWndOwner)
Definition: dialogs.cpp:1122
BOOL CallShellDimScreen(IUnknown **pUnknown, HWND *hWindow)
Definition: dialogs.cpp:975
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 1298 of file shellord.c.

1299 {
1300  return SIC_Initialize();
1301 }
BOOL SIC_Initialize(void)
Definition: iconcache.cpp:484

Referenced by DisplayImageList(), and StartWithDesktop().

◆ FileMenu_AbortInitMenu()

void WINAPI FileMenu_AbortInitMenu ( void  )

Definition at line 803 of file shlmenu.c.

804 { TRACE("\n");
805  bAbortInit = TRUE;
806 }
#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 505 of file shlmenu.c.

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

◆ FileMenu_AppendFilesForPidl()

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

Definition at line 479 of file shlmenu.c.

483 {
484  LPFMINFO menudata;
485 
486  menudata = FM_GetMenuInfo(hmenu);
487 
488  menudata->bInitialized = FALSE;
489 
490  FM_InitMenuPopup(hmenu, pidl);
491 
492  if (bAddSeparator)
494 
495  TRACE("%p %p 0x%08x\n",hmenu, pidl,bAddSeparator);
496 
497  return 0;
498 }
static HMENU hmenu
Definition: win.c:66
#define FM_DEFAULT_HEIGHT
Definition: undocshell.h:248
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:305
#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 251 of file shlmenu.c.

257 {
259  LPFMINFO menudata;
260 
261  HMENU hMenu = CreatePopupMenu();
262 
263  TRACE("0x%08x 0x%08x %p 0x%08x 0x%08x hMenu=%p\n",
264  crBorderColor, nBorderWidth, hBorderBmp, nSelHeight, uFlags, hMenu);
265 
266  menudata = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(FMINFO));
267  menudata->crBorderColor = crBorderColor;
268  menudata->nBorderWidth = nBorderWidth;
269  menudata->hBorderBmp = hBorderBmp;
270 
271  MenuInfo.cbSize = sizeof(MENUINFO);
272  MenuInfo.fMask = MIM_MENUDATA;
273  MenuInfo.dwMenuData = (ULONG_PTR) menudata;
274  SetMenuInfo (hMenu, &MenuInfo);
275 
276  return hMenu;
277 }
struct tagMENUINFO MENUINFO
UINT uFlags
Definition: api.c:60
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:395
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:123
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 670 of file shlmenu.c.

671 {
672  MENUITEMINFOW mii;
673  LPFMINFO menudata;
674 
675  int i;
676 
677  TRACE("%p\n", hmenu);
678 
679  ZeroMemory ( &mii, sizeof(MENUITEMINFOW));
680  mii.cbSize = sizeof(MENUITEMINFOW);
682 
683  for (i = 0; i < GetMenuItemCount( hmenu ); i++)
684  { GetMenuItemInfoW(hmenu, i, TRUE, &mii );
685 
686  SHFree((LPFMINFO)mii.dwItemData);
687 
688  if (mii.hSubMenu)
690  }
691 
692  while (DeleteMenu (hmenu, 0, MF_BYPOSITION)){};
693 
694  menudata = FM_GetMenuInfo(hmenu);
695 
696  menudata->bInitialized = FALSE;
697 
698  return TRUE;
699 }
#define TRUE
Definition: types.h:120
static HMENU hmenu
Definition: win.c:66
#define ZeroMemory
Definition: winbase.h:1635
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 MIIM_SUBMENU
Definition: winuser.h:718
void WINAPI FileMenu_Destroy(HMENU hmenu)
Definition: shlmenu.c:285
#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
void WINAPI SHFree(LPVOID pv)
Definition: shellole.c:331
#define MIIM_DATA
Definition: winuser.h:721
ULONG_PTR dwItemData
Definition: winuser.h:3210
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 705 of file shlmenu.c.

706 {
707  MENUITEMINFOW mii;
708 
709  TRACE("%p 0x%08x\n", hMenu, uID);
710 
711  ZeroMemory ( &mii, sizeof(MENUITEMINFOW));
712  mii.cbSize = sizeof(MENUITEMINFOW);
713  mii.fMask = MIIM_SUBMENU;
714 
715  GetMenuItemInfoW(hMenu, uID, FALSE, &mii );
716  if ( mii.hSubMenu )
717  {
718  /* FIXME: Do what? */
719  }
720 
721  DeleteMenu(hMenu, MF_BYCOMMAND, uID);
722  return TRUE;
723 }
#define TRUE
Definition: types.h:120
#define MF_BYCOMMAND
Definition: winuser.h:202
#define ZeroMemory
Definition: winbase.h:1635
#define MIIM_SUBMENU
Definition: winuser.h:718
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 728 of file shlmenu.c.

729 {
730  MENUITEMINFOW mii;
731 
732  TRACE("%p 0x%08x\n", hMenu, uPos);
733 
734  ZeroMemory ( &mii, sizeof(MENUITEMINFOW));
735  mii.cbSize = sizeof(MENUITEMINFOW);
736  mii.fMask = MIIM_SUBMENU;
737 
738  GetMenuItemInfoW(hMenu, uPos, TRUE, &mii );
739  if ( mii.hSubMenu )
740  {
741  /* FIXME: Do what? */
742  }
743 
744  DeleteMenu(hMenu, MF_BYPOSITION, uPos);
745  return TRUE;
746 }
#define TRUE
Definition: types.h:120
#define ZeroMemory
Definition: winbase.h:1635
#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 762 of file shlmenu.c.

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

◆ FileMenu_Destroy()

void WINAPI FileMenu_Destroy ( HMENU  hMenu)

Definition at line 285 of file shlmenu.c.

286 {
287  LPFMINFO menudata;
288 
289  TRACE("%p\n", hmenu);
290 
292 
293  menudata = FM_GetMenuInfo(hmenu);
294 
295  SHFree( menudata->pidl);
296  HeapFree(GetProcessHeap(), 0, menudata);
297 
298  DestroyMenu (hmenu);
299 }
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:395
BOOL WINAPI FileMenu_DeleteAllItems(HMENU hmenu)
Definition: shlmenu.c:670
Definition: shlmenu.c:44
BOOL WINAPI DestroyMenu(_In_ HMENU)
void WINAPI SHFree(LPVOID pv)
Definition: shellole.c:331
static LPFMINFO FM_GetMenuInfo(HMENU hmenu)
Definition: shlmenu.c:74
#define HeapFree(x, y, z)
Definition: compat.h:394

Referenced by FileMenu_DeleteAllItems().

◆ FileMenu_DrawItem()

LRESULT WINAPI FileMenu_DrawItem ( HWND  hWnd,
LPDRAWITEMSTRUCT  lpdis 
)

Definition at line 587 of file shlmenu.c.

590 {
591  LPFMITEM pMyItem = (LPFMITEM)(lpdis->itemData);
592  COLORREF clrPrevText, clrPrevBkgnd;
593  int xi,yi,xt,yt;
594  HIMAGELIST hImageList;
595  RECT TextRect;
596  LPFMINFO menuinfo;
597 
598  TRACE("%p %p %s\n", hWnd, lpdis, debugstr_w(pMyItem->szItemText));
599 
600  if (lpdis->itemState & ODS_SELECTED)
601  {
602  clrPrevText = SetTextColor(lpdis->hDC, GetSysColor (COLOR_HIGHLIGHTTEXT));
603  clrPrevBkgnd = SetBkColor(lpdis->hDC, GetSysColor (COLOR_HIGHLIGHT));
604  }
605  else
606  {
607  clrPrevText = SetTextColor(lpdis->hDC, GetSysColor (COLOR_MENUTEXT));
608  clrPrevBkgnd = SetBkColor(lpdis->hDC, GetSysColor (COLOR_MENU));
609  }
610 
611  TextRect = lpdis->rcItem;
612 
613  /* add the menubitmap */
614  menuinfo = FM_GetMenuInfo(pMyItem->hMenu);
615  if (menuinfo->nBorderWidth)
616  TextRect.left += menuinfo->nBorderWidth;
617 
618  TextRect.left += FM_LEFTBORDER;
619  xi = TextRect.left + FM_SPACE1;
620  yi = TextRect.top + FM_Y_SPACE/2;
621  TextRect.bottom -= FM_Y_SPACE/2;
622 
623  xt = xi + FM_ICON_SIZE + FM_SPACE2;
624  yt = yi;
625 
626  ExtTextOutW (lpdis->hDC, xt , yt, ETO_OPAQUE, &TextRect, pMyItem->szItemText, pMyItem->cchItemText, NULL);
627 
628  Shell_GetImageLists(0, &hImageList);
629  ImageList_Draw(hImageList, pMyItem->iIconIndex, lpdis->hDC, xi, yi, ILD_NORMAL);
630 
631  TRACE("-- %s\n", wine_dbgstr_rect(&TextRect));
632 
633  SetTextColor(lpdis->hDC, clrPrevText);
634  SetBkColor(lpdis->hDC, clrPrevBkgnd);
635 
636  return TRUE;
637 }
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 TRUE
Definition: types.h:120
#define COLOR_HIGHLIGHT
Definition: winuser.h:916
struct FMITEM * LPFMITEM
HWND hWnd
Definition: settings.c:17
LONG top
Definition: windef.h:292
ULONG_PTR itemData
Definition: winuser.h:3046
#define FM_SPACE2
Definition: shlmenu.c:553
BOOL WINAPI ImageList_Draw(HIMAGELIST himl, INT i, HDC hdc, INT x, INT y, UINT fStyle)
Definition: imagelist.c:1193
LONG left
Definition: windef.h:291
DWORD WINAPI GetSysColor(_In_ int)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
Definition: dc.c:975
#define ETO_OPAQUE
Definition: wingdi.h:646
#define FM_LEFTBORDER
Definition: shlmenu.c:554
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define COLOR_MENU
Definition: winuser.h:907
int iIconIndex
Definition: shlmenu.c:63
#define FM_Y_SPACE
Definition: shlmenu.c:551
#define COLOR_HIGHLIGHTTEXT
Definition: winuser.h:917
#define TRACE(s)
Definition: solgame.cpp:4
DWORD COLORREF
Definition: windef.h:285
const char * wine_dbgstr_rect(const RECT *rect)
#define COLOR_MENUTEXT
Definition: winuser.h:910
#define FM_ICON_SIZE
Definition: shlmenu.c:550
Definition: shlmenu.c:44
WCHAR szItemText[1]
Definition: shlmenu.c:65
#define FM_SPACE1
Definition: shlmenu.c:552
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lpBigList, HIMAGELIST *lpSmallList)
Definition: iconcache.cpp:706
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
Definition: text.c:886
Definition: shlmenu.c:61
int cchItemText
Definition: shlmenu.c:62
#define ODS_SELECTED
Definition: winuser.h:2499
LONG bottom
Definition: windef.h:294
int nBorderWidth
Definition: shlmenu.c:50
#define ILD_NORMAL
Definition: commctrl.h:402
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 771 of file shlmenu.c.

775 {
776  TRACE("%p 0x%08x 0x%08x\n", hMenu, uID,bEnable);
777  return FALSE;
778 }
#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 468 of file shlmenu.c.

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

◆ FileMenu_GetItemExtent()

DWORD WINAPI FileMenu_GetItemExtent ( HMENU  hMenu,
UINT  uPos 
)

Definition at line 786 of file shlmenu.c.

787 { RECT rect;
788 
789  FIXME("%p 0x%08x\n", hMenu, uPos);
790 
791  if (GetMenuItemRect(0, hMenu, uPos, &rect))
792  {
793  FIXME("%s\n", wine_dbgstr_rect(&rect));
794  return ((rect.right-rect.left)<<16) + (rect.top-rect.bottom);
795  }
796  return 0x00100010; /*FIXME*/
797 }
& rect
Definition: startmenu.cpp:1413
#define FIXME(fmt,...)
Definition: debug.h:110
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 541 of file shlmenu.c.

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

◆ FileMenu_HandleMenuChar()

LRESULT WINAPI FileMenu_HandleMenuChar ( HMENU  hMenu,
WPARAM  wParam 
)

Definition at line 656 of file shlmenu.c.

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

◆ FileMenu_InitMenuPopup()

BOOL WINAPI FileMenu_InitMenuPopup ( HMENU  hMenu)

Definition at line 647 of file shlmenu.c.

648 {
650  return TRUE;
651 }
#define TRUE
Definition: types.h:120
static HMENU hmenu
Definition: win.c:66
smooth NULL
Definition: ftsmooth.c:416
static int FM_InitMenuPopup(HMENU hmenu, LPCITEMIDLIST pAlternatePidl)
Definition: shlmenu.c:129

◆ FileMenu_InsertUsingPidl()

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

Definition at line 415 of file shlmenu.c.

422 {
423  TRACE("%p 0x%08x %p 0x%08x 0x%08x %p\n",
424  hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback);
425 
426  pdump (pidl);
427 
428  bAbortInit = FALSE;
429 
430  FM_SetMenuParameter(hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback);
431 
432  return FM_InitMenuPopup(hmenu, NULL);
433 }
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:60
smooth NULL
Definition: ftsmooth.c:416
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

Referenced by FileMenu_AddFilesForPidl().

◆ FileMenu_Invalidate()

void WINAPI FileMenu_Invalidate ( HMENU  hMenu)

Definition at line 460 of file shlmenu.c.

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

◆ FileMenu_MeasureItem()

LRESULT WINAPI FileMenu_MeasureItem ( HWND  hWnd,
LPMEASUREITEMSTRUCT  lpmis 
)

Definition at line 559 of file shlmenu.c.

562 {
563  LPFMITEM pMyItem = (LPFMITEM)(lpmis->itemData);
564  HDC hdc = GetDC(hWnd);
565  SIZE size;
566  LPFMINFO menuinfo;
567 
568  TRACE("%p %p %s\n", hWnd, lpmis, debugstr_w(pMyItem->szItemText));
569 
570  GetTextExtentPoint32W(hdc, pMyItem->szItemText, pMyItem->cchItemText, &size);
571 
573  lpmis->itemHeight = (size.cy > (FM_ICON_SIZE + FM_Y_SPACE)) ? size.cy : (FM_ICON_SIZE + FM_Y_SPACE);
574 
575  /* add the menubitmap */
576  menuinfo = FM_GetMenuInfo(pMyItem->hMenu);
577  if (menuinfo->nBorderWidth)
578  lpmis->itemWidth += menuinfo->nBorderWidth;
579 
580  TRACE("-- 0x%04x 0x%04x\n", lpmis->itemWidth, lpmis->itemHeight);
581  ReleaseDC (hWnd, hdc);
582  return 0;
583 }
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:553
#define FM_LEFTBORDER
Definition: shlmenu.c:554
#define debugstr_w
Definition: kernel32.h:32
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define FM_Y_SPACE
Definition: shlmenu.c:551
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
#define FM_RIGHTBORDER
Definition: shlmenu.c:555
#define FM_ICON_SIZE
Definition: shlmenu.c:550
Definition: shlmenu.c:44
HDC hdc
Definition: main.c:9
WCHAR szItemText[1]
Definition: shlmenu.c:65
ULONG_PTR itemData
Definition: winuser.h:3588
#define FM_SPACE1
Definition: shlmenu.c:552
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 440 of file shlmenu.c.

446 {
447  TRACE("%p 0x%08x %p 0x%08x %p\n",
448  hmenu, uID, pidl, uEnumFlags, lpfnCallback);
449 
451 
452  FM_SetMenuParameter(hmenu, uID, pidl, 0, uEnumFlags, lpfnCallback);
453 
454  return FM_InitMenuPopup(hmenu, NULL);
455 }
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
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
BOOL WINAPI FileMenu_DeleteAllItems(HMENU hmenu)
Definition: shlmenu.c:670
static int FM_InitMenuPopup(HMENU hmenu, LPCITEMIDLIST pAlternatePidl)
Definition: shlmenu.c:129

◆ FileMenu_TrackPopupMenuEx()

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

Definition at line 525 of file shlmenu.c.

532 {
533  TRACE("%p 0x%08x 0x%x 0x%x %p %p\n",
534  hMenu, uFlags, x, y, hWnd, lptpm);
535  return TrackPopupMenuEx(hMenu, uFlags, x, y, hWnd, lptpm);
536 }
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:60
#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
smooth NULL
Definition: ftsmooth.c:416
BOOL ILGetDisplayNameExW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPWSTR path, DWORD type)
Definition: pidl.c:91
#define TRACE_(x)
Definition: compat.h:66
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
Definition: services.c:325

◆ 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
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
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:66
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
Definition: services.c:325

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)
smooth NULL
Definition: ftsmooth.c:416
#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
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 1094 of file dialogs.cpp.

1095 {
1096  CComPtr<IUnknown> fadeHandler;
1097  HWND parent;
1098 
1099  if (!CallShellDimScreen(&fadeHandler, &parent))
1100  parent = hWndOwner;
1101 
1103  return 0;
1104 }
HINSTANCE shell32_hInstance
Definition: misc.cpp:82
#define DialogBoxW(i, t, p, f)
Definition: winuser.h:4268
r parent
Definition: btrfs.c:2677
INT_PTR CALLBACK LogOffDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: dialogs.cpp:1051
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define IDD_LOG_OFF
Definition: shresdef.h:456
BOOL CallShellDimScreen(IUnknown **pUnknown, HWND *hWindow)
Definition: dialogs.cpp:975

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

◆ PathAddBackslashAW()

LPVOID WINAPI PathAddBackslashAW ( LPVOID  path)

◆ PathAppendAW()

BOOL WINAPI PathAppendAW ( LPVOID  lpszPath1,
LPCVOID  lpszPath2 
)

Definition at line 63 of file shellpath.c.

66 {
67  if (SHELL_OsIsUnicode())
68  return PathAppendW(lpszPath1, lpszPath2);
69  return PathAppendA(lpszPath1, lpszPath2);
70 }
BOOL WINAPI PathAppendA(LPSTR lpszPath, LPCSTR lpszAppend)
Definition: path.c:101
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL WINAPI PathAppendW(LPWSTR lpszPath, LPCWSTR lpszAppend)
Definition: path.c:121

◆ 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 225 of file shellpath.c.

226 {
227  if (SHELL_OsIsUnicode())
228  return PathFileExistsW (lpszPath);
229  return PathFileExistsA (lpszPath);
230 }
BOOL WINAPI PathFileExistsA(LPCSTR lpszPath)
Definition: path.c:1734
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath)
Definition: path.c:1756

◆ 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 215 of file shellpath.c.

216 {
217  if (SHELL_OsIsUnicode())
218  return PathIsExeW (path);
219  return PathIsExeA(path);
220 }
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL PathIsExeW(LPCWSTR lpszPath)
Definition: shellpath.c:195
static BOOL PathIsExeA(LPCSTR lpszPath)
Definition: shellpath.c:177
Definition: services.c:325

◆ PathIsRelativeAW()

BOOL WINAPI PathIsRelativeAW ( LPCVOID  lpszPath)

◆ PathIsRootAW()

BOOL WINAPI PathIsRootAW ( LPCVOID  x)

Definition at line 167 of file shellpath.c.

168 {
169  if (SHELL_OsIsUnicode())
170  return PathIsRootW(lpszPath);
171  return PathIsRootA(lpszPath);
172 }
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL WINAPI PathIsRootW(LPCWSTR lpszPath)
Definition: path.c:1621
BOOL WINAPI PathIsRootA(LPCSTR lpszPath)
Definition: path.c:1581

◆ 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 304 of file shellpath.c.

310 {
311  if (SHELL_OsIsUnicode())
312  return PathMakeUniqueNameW(lpszBuffer,dwBuffSize, lpszShortName,lpszLongName,lpszPathName);
313  return PathMakeUniqueNameA(lpszBuffer,dwBuffSize, lpszShortName,lpszLongName,lpszPathName);
314 }
static BOOL PathMakeUniqueNameW(LPWSTR lpszBuffer, DWORD dwBuffSize, LPCWSTR lpszShortName, LPCWSTR lpszLongName, LPCWSTR lpszPathName)
Definition: shellpath.c:288
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:272

◆ 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 513 of file shellpath.c.

518 {
519  if (SHELL_OsIsUnicode())
520  return PathProcessCommandW(lpszPath, lpszBuff, dwBuffSize, dwFlags);
521  return PathProcessCommandA(lpszPath, lpszBuff, dwBuffSize, dwFlags);
522 }
static LONG PathProcessCommandA(LPCSTR lpszPath, LPSTR lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:481
static LONG PathProcessCommandW(LPCWSTR lpszPath, LPWSTR lpszBuff, DWORD dwBuffSize, DWORD dwFlags)
Definition: shellpath.c:497
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175

◆ PathQualifyAW()

BOOL WINAPI PathQualifyAW ( LPCVOID  path)

Definition at line 448 of file shellpath.c.

449 {
450  if (SHELL_OsIsUnicode())
451  return PathQualifyW(pszPath);
452  return PathQualifyA(pszPath);
453 }
static BOOL PathQualifyA(LPCSTR pszPath)
Definition: shellpath.c:430
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
static BOOL PathQualifyW(LPCWSTR pszPath)
Definition: shellpath.c:439

◆ 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 109 of file shellpath.c.

110 {
111  if (SHELL_OsIsUnicode())
112  return PathRemoveFileSpecW(lpszPath);
113  return PathRemoveFileSpecA(lpszPath);
114 }
BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath)
Definition: path.c:624
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
BOOL WINAPI PathRemoveFileSpecA(LPSTR lpszPath)
Definition: path.c:581

◆ PathResolveAW()

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

Definition at line 470 of file shellpath.c.

471 {
472  if (SHELL_OsIsUnicode())
473  return PathResolveW(path, (LPCWSTR*)paths, flags);
474  else
475  return PathResolveA(path, (LPCSTR*)paths, flags);
476 }
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
static __inline BOOL SHELL_OsIsUnicode(void)
Definition: shell32_main.h:130
const char * LPCSTR
Definition: xmlstorage.h:183
static BOOL PathResolveW(LPWSTR path, LPCWSTR *paths, DWORD flags)
Definition: shellpath.c:461
GLbitfield flags
Definition: glext.h:7161
GLsizei const GLuint * paths
Definition: glext.h:11717
Definition: services.c:325
static BOOL PathResolveA(LPSTR path, LPCSTR *paths, DWORD flags)
Definition: shellpath.c:455

◆ 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 319 of file shellpath.c.

320 {
321  WCHAR pathW[MAX_PATH], retW[MAX_PATH];
322  const WCHAR *file, *ext;
323  int i = 2;
324 
325  TRACE("(%p, %s, %s, %s)\n", buffer, debugstr_w(path), debugstr_w(shortname), debugstr_w(longname));
326 
327  file = longname ? longname : shortname;
328  PathCombineW(pathW, path, file);
329  strcpyW(retW, pathW);
330  PathRemoveExtensionW(pathW);
331 
333 
334  /* now try to make it unique */
335  while (PathFileExistsW(retW))
336  {
337  static const WCHAR fmtW[] = {'%','s',' ','(','%','d',')','%','s',0};
338 
339  sprintfW(retW, fmtW, pathW, i, ext);
340  i++;
341  }
342 
343  strcpyW(buffer, retW);
344  TRACE("ret - %s\n", debugstr_w(buffer));
345 
346  return TRUE;
347 }
#define TRUE
Definition: types.h:120
GLuint buffer
Definition: glext.h:5915
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 PathRemoveExtensionW(LPWSTR lpszPath)
Definition: path.c:818
#define debugstr_w
Definition: kernel32.h:32
char ext[3]
Definition: mkdosfs.c:358
BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath)
Definition: path.c:1756
LPWSTR WINAPI PathFindExtensionW(LPCWSTR lpszPath)
Definition: path.c:442
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MAX_PATH
Definition: compat.h:26
const char file[]
Definition: icontest.c:11
WINE_UNICODE_INLINE WCHAR * strcpyW(WCHAR *dst, const WCHAR *src)
Definition: unicode.h:219
Definition: services.c:325
#define sprintfW
Definition: unicode.h:58
LPWSTR WINAPI PathCombineW(LPWSTR lpszDest, LPCWSTR lpszDir, LPCWSTR lpszFile)
Definition: path.c:189
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:398
#define TOKEN_WRITE
Definition: setypes.h:899
BOOL WINAPI CreateEnvironmentBlock(OUT LPVOID *lpEnvironment, IN HANDLE hToken, IN BOOL bInherit)
Definition: environment.c:505
static HANDLE hUserToken
Definition: umpnpmgr.c:67
unsigned int BOOL
Definition: ntddk_ex.h:94
static DWORD DWORD void LPSTR DWORD cch
Definition: str.c:201
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
HANDLE WINAPI GetCurrentProcess(VOID)
Definition: proc.c:1168
return TRUE
Definition: shell32.cpp:396
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableW(IN LPCWSTR lpName, IN LPCWSTR lpValue)
Definition: environ.c:259
static const WCHAR L[]
Definition: oid.c:1250
#define TOKEN_READ
Definition: setypes.h:897
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
Definition: security.c:296
WCHAR * LPWSTR
Definition: xmlstorage.h:184
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)

Referenced by CDesktopBrowser::OnSettingChange(), and CShellBrowser::OnSettingChange().

◆ RegisterShellHook()

BOOL WINAPI RegisterShellHook ( HWND  hWnd,
DWORD  dwType 
)

Definition at line 308 of file shellord.c.

311 {
312  if (dwType == 3)
313  {
316  }
317  else if (dwType == 0)
318  {
320  }
321 
322  ERR("Unsupported argument");
323  return FALSE;
324 }
HWND hWnd
Definition: settings.c:17
BOOL WINAPI RegisterShellHookWindow(_In_ HWND)
#define ERR(fmt,...)
Definition: debug.h:109
HWND WINAPI SetTaskmanWindow(HWND)
Definition: window.c:1890
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 397 of file dialogs.cpp.

404 {
405  TRACE("\n");
406 
407  RUNFILEDLGPARAMS rfdp;
408  rfdp.hwndOwner = hWndOwner;
409  rfdp.hIcon = hIcon;
410  rfdp.lpstrDirectory = lpstrDirectory;
411  rfdp.lpstrTitle = lpstrTitle;
412  rfdp.lpstrDescription = lpstrDescription;
413  rfdp.uFlags = uFlags;
414 
416 }
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
UINT uFlags
Definition: api.c:60
LPCWSTR lpstrDescription
Definition: dialogs.cpp:30
HINSTANCE shell32_hInstance
Definition: misc.cpp:82
LONG_PTR LPARAM
Definition: windef.h:208
static INT_PTR CALLBACK RunDlgProc(HWND, UINT, WPARAM, LPARAM)
Definition: dialogs.cpp:500
#define TRACE(s)
Definition: solgame.cpp:4
#define IDD_RUN
Definition: shresdef.h:290
HICON hIcon
Definition: msconfig.c:44
LPCWSTR lpstrTitle
Definition: dialogs.cpp:29
LPCWSTR lpstrDirectory
Definition: dialogs.cpp:28
#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:1033
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
Definition: dumpinfo.c:39
#define CloseHandle
Definition: compat.h:398
#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:1059
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:1094
long LONG
Definition: pedump.c:60
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
DWORD LowPart
LONG HRESULT
Definition: typedefs.h:77
HANDLE WINAPI GetCurrentProcess(VOID)
Definition: proc.c:1168
#define swprintf(buf, format,...)
Definition: sprintf.c:56
unsigned long DWORD
Definition: ntddk_ex.h:95
BOOL Error
Definition: chkdsk.c:66
static const WCHAR L[]
Definition: oid.c:1250
#define TOKEN_READ
Definition: setypes.h:897
LONG HighPart
#define S_OK
Definition: intsafe.h:59
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 SUCCEEDED(hr)
Definition: intsafe.h:57
#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 861 of file iconcache.cpp.

862 {
863  return Shell_GetCachedImageIndexAW(szPath, nIndex, bSimulateDoc);
864 }
EXTERN_C INT WINAPI Shell_GetCachedImageIndexAW(LPCVOID szPath, INT nIndex, BOOL bSimulateDoc)
Definition: iconcache.cpp:855
LPCWSTR szPath
Definition: env.c:35

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 706 of file iconcache.cpp.

707 {
708  TRACE("(%p,%p)\n",lpBigList,lpSmallList);
709 
710  if (!sic_hdpa)
711  SIC_Initialize();
712 
713  if (lpBigList)
714  *lpBigList = ShellBigIconList;
715 
716  if (lpSmallList)
717  *lpSmallList = ShellSmallIconList;
718 
719  return TRUE;
720 }
#define TRUE
Definition: types.h:120
static HIMAGELIST ShellBigIconList
Definition: iconcache.cpp:41
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 }
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:410

◆ ShellExecCmdLine()

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

Definition at line 2377 of file shlexec.cpp.

2384 {
2387  LPCWSTR pszVerb = NULL;
2388  WCHAR szFile[MAX_PATH], szFile2[MAX_PATH];
2389  HRESULT hr;
2390  LPCWSTR pchParams;
2391  LPWSTR lpCommand = NULL;
2392 
2393  if (pwszCommand == NULL)
2395  1, (ULONG_PTR*)pwszCommand);
2396 
2397  __SHCloneStrW(&lpCommand, pwszCommand);
2398  StrTrimW(lpCommand, L" \t");
2399 
2400  if (dwSeclFlags & SECL_NO_UI)
2402  if (dwSeclFlags & SECL_LOG_USAGE)
2404  if (dwSeclFlags & SECL_USE_IDLIST)
2406 
2407  if (dwSeclFlags & SECL_RUNAS)
2408  {
2409  dwSize = 0;
2410  hr = AssocQueryStringW(0, ASSOCSTR_COMMAND, lpCommand, L"RunAs", NULL, &dwSize);
2411  if (SUCCEEDED(hr) && dwSize != 0)
2412  {
2413  pszVerb = L"runas";
2414  }
2415  }
2416 
2417  if (PathIsURLW(lpCommand) || UrlIsW(lpCommand, URLIS_APPLIABLE))
2418  {
2419  StringCchCopyW(szFile, _countof(szFile), lpCommand);
2420  pchParams = NULL;
2421  }
2422  else
2423  {
2424  pchParams = SplitParams(lpCommand, szFile, _countof(szFile));
2425  if (szFile[0] != UNICODE_NULL && szFile[1] == L':' &&
2426  szFile[2] == UNICODE_NULL)
2427  {
2428  PathAddBackslashW(szFile);
2429  }
2430  if (SearchPathW(NULL, szFile, NULL, _countof(szFile2), szFile2, NULL) ||
2431  SearchPathW(NULL, szFile, wszExe, _countof(szFile2), szFile2, NULL) ||
2432  SearchPathW(NULL, szFile, wszCom, _countof(szFile2), szFile2, NULL) ||
2433  SearchPathW(pwszStartDir, szFile, NULL, _countof(szFile2), szFile2, NULL) ||
2434  SearchPathW(pwszStartDir, szFile, wszExe, _countof(szFile2), szFile2, NULL) ||
2435  SearchPathW(pwszStartDir, szFile, wszCom, _countof(szFile2), szFile2, NULL))
2436  {
2437  StringCchCopyW(szFile, _countof(szFile), szFile2);
2438  }
2439  else if (SearchPathW(NULL, lpCommand, NULL, _countof(szFile2), szFile2, NULL) ||
2440  SearchPathW(NULL, lpCommand, wszExe, _countof(szFile2), szFile2, NULL) ||
2441  SearchPathW(NULL, lpCommand, wszCom, _countof(szFile2), szFile2, NULL) ||
2442  SearchPathW(pwszStartDir, lpCommand, NULL, _countof(szFile2), szFile2, NULL) ||
2443  SearchPathW(pwszStartDir, lpCommand, wszExe, _countof(szFile2), szFile2, NULL) ||
2444  SearchPathW(pwszStartDir, lpCommand, wszCom, _countof(szFile2), szFile2, NULL))
2445  {
2446  StringCchCopyW(szFile, _countof(szFile), szFile2);
2447  pchParams = NULL;
2448  }
2449 
2450  if (!(dwSeclFlags & SECL_ALLOW_NONEXE))
2451  {
2452  if (!GetBinaryTypeW(szFile, &dwType))
2453  {
2454  SHFree(lpCommand);
2455 
2456  if (!(dwSeclFlags & SECL_NO_UI))
2457  {
2458  WCHAR szText[128 + MAX_PATH], szFormat[128];
2460  StringCchPrintfW(szText, _countof(szText), szFormat, szFile);
2462  }
2463  return CO_E_APPNOTFOUND;
2464  }
2465  }
2466  else
2467  {
2469  {
2470  SHFree(lpCommand);
2471 
2472  if (!(dwSeclFlags & SECL_NO_UI))
2473  {
2474  WCHAR szText[128 + MAX_PATH], szFormat[128];
2476  StringCchPrintfW(szText, _countof(szText), szFormat, szFile);
2478  }
2480  }
2481  }
2482  }
2483 
2484  ZeroMemory(&info, sizeof(info));
2485  info.cbSize = sizeof(info);
2486  info.fMask = dwFlags;
2487  info.hwnd = hwnd;
2488  info.lpVerb = pszVerb;
2489  info.lpFile = szFile;
2490  info.lpParameters = (pchParams && *pchParams) ? pchParams : NULL;
2491  info.lpDirectory = pwszStartDir;
2492  info.nShow = nShow;
2493  if (ShellExecuteExW(&info))
2494  {
2495  if (info.lpIDList)
2496  CoTaskMemFree(info.lpIDList);
2497 
2498  SHFree(lpCommand);
2499 
2500  return S_OK;
2501  }
2502 
2503  dwError = GetLastError();
2504 
2505  SHFree(lpCommand);
2506 
2507  return HRESULT_FROM_WIN32(dwError);
2508 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:422
HRESULT hr
Definition: shlfolder.c:183
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define SECL_USE_IDLIST
#define _countof(array)
Definition: fontsub.cpp:30
#define EXCEPTION_ACCESS_VIOLATION
Definition: winbase.h:308
#define SECL_NO_UI
#define EXCEPTION_NONCONTINUABLE
Definition: rtltypes.h:150
#define SECL_RUNAS
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
#define ZeroMemory
Definition: winbase.h:1635
static LPCWSTR SplitParams(LPCWSTR psz, LPWSTR pszArg0, size_t cchArg0)
Definition: shlexec.cpp:2331
BOOL WINAPI GetBinaryTypeW(LPCWSTR lpApplicationName, LPDWORD lpBinaryType)
Definition: vdm.c:1235
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
struct _test_info info[]
Definition: SetCursorPos.c:19
uint32_t ULONG_PTR
Definition: typedefs.h:63
static __inline void __SHCloneStrW(WCHAR **target, const WCHAR *source)
Definition: shell32_main.h:154
HINSTANCE shell32_hInstance
Definition: misc.cpp:82
#define UNICODE_NULL
static const WCHAR szText[]
Definition: dialog.c:139
LPWSTR WINAPI PathAddBackslashW(LPWSTR lpszPath)
Definition: path.c:289
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
Definition: fileinfo.c:802
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
Definition: strsafe.h:149
smooth NULL
Definition: ftsmooth.c:416
#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:2225
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
static const WCHAR wszCom[]
Definition: shlexec.cpp:30
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:77
#define MAX_PATH
Definition: compat.h:26
#define SEE_MASK_DOENVSUBST
Definition: shellapi.h:35
static const WCHAR wszExe[]
Definition: shlexec.cpp:29
unsigned long DWORD
Definition: ntddk_ex.h:95
#define INVALID_FILE_ATTRIBUTES
Definition: vfdcmd.c:23
static const WCHAR L[]
Definition: oid.c:1250
_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:285
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:59
VOID WINAPI RaiseException(IN DWORD dwExceptionCode, IN DWORD dwExceptionFlags, IN DWORD nNumberOfArguments, IN CONST ULONG_PTR *lpArguments OPTIONAL)
Definition: except.c:693
#define SEE_MASK_FLAG_LOG_USAGE
Definition: shellapi.h:57
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Definition: strsafe.h:530
BOOL WINAPI StrTrimW(LPWSTR lpszStr, LPCWSTR lpszTrim)
Definition: string.c:1869
void WINAPI SHFree(LPVOID pv)
Definition: shellole.c:331
#define SEE_MASK_INVOKEIDLIST
Definition: shellapi.h:28
#define CO_E_APPNOTFOUND
Definition: winerror.h:2808
WCHAR * LPWSTR
Definition: xmlstorage.h:184
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:54
#define SUCCEEDED(hr)
Definition: intsafe.h:57

Referenced by DoEntry(), and RunDlgProc().

◆ 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 FIXME(fmt,...)
Definition: debug.h:110

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

◆ SHFreeUnusedLibraries()

void WINAPI SHFreeUnusedLibraries ( void  )

Definition at line 1134 of file shellord.c.

1135 {
1136  FIXME("stub\n");
1138 }
void WINAPI DECLSPEC_HOTPATCH CoFreeUnusedLibraries(void)
Definition: compobj.c:3610
#define FIXME(fmt,...)
Definition: debug.h:110

◆ 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 2007 of file shellord.c.

2008 {
2009  HIMAGELIST hLarge, hSmall;
2010  HIMAGELIST hNew;
2011  HRESULT ret = E_FAIL;
2012 
2013  /* Wine currently only maintains large and small image lists */
2014  if ((iImageList != SHIL_LARGE) && (iImageList != SHIL_SMALL) && (iImageList != SHIL_SYSSMALL))
2015  {
2016  FIXME("Unsupported image list %i requested\n", iImageList);
2017  return E_FAIL;
2018  }
2019 
2020  Shell_GetImageLists(&hLarge, &hSmall);
2021 #ifndef __REACTOS__
2022  hNew = ImageList_Duplicate(iImageList == SHIL_LARGE ? hLarge : hSmall);
2023 
2024  /* Get the interface for the new image list */
2025  if (hNew)
2026  {
2028  ImageList_Destroy(hNew);
2029  }
2030 #else
2031  /* Duplicating the imagelist causes the start menu items not to draw on
2032  * the first show. Was the Duplicate necessary for some reason? I believe
2033  * Windows returns the raw pointer here. */
2034  hNew = (iImageList == SHIL_LARGE ? hLarge : hSmall);
2035  ret = IImageList2_QueryInterface((IImageList2 *) hNew, riid, ppv);
2036 #endif
2037 
2038  return ret;
2039 }
#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:3908
#define E_FAIL
Definition: ddrawi.h:102
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
Definition: imagelist.c:893
#define FIXME(fmt,...)
Definition: debug.h:110
LONG HRESULT
Definition: typedefs.h:77
int ret
HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himlSrc)
Definition: imagelist.c:1710
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lpBigList, HIMAGELIST *lpSmallList)
Definition: iconcache.cpp:706
#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(), 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 1018 of file stubs.cpp.

1019 {
1020  FIXME("SHHandleDiskFull() stub\n");
1021 }
#define FIXME(fmt,...)
Definition: debug.h:110

◆ 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:99
#define TRACE_(x)
Definition: compat.h:66
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MAX_PATH
Definition: compat.h:26
void shell(int argc, const char *argv[])
Definition: cmds.c:1231
Definition: services.c:325
#define MultiByteToWideChar
Definition: compat.h:100
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
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define TRACE_(x)
Definition: compat.h:66
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
LONG HRESULT
Definition: typedefs.h:77
unsigned long DWORD
Definition: ntddk_ex.h:95
int ret
void shell(int argc, const char *argv[])
Definition: cmds.c:1231
Definition: services.c:325
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define SUCCEEDED(hr)
Definition: intsafe.h:57

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 994 of file stubs.cpp.

997 {
998  FIXME("SHNetConnectionDialog() stub\n");
1000 }
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
#define FIXME(fmt,...)
Definition: debug.h:110

◆ SHOutOfMemoryMessageBox()

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

Definition at line 1365 of file shellord.c.

1369 {
1370  FIXME("%p %s 0x%08x stub\n",hwndOwner, lpCaption, uType);
1371  return 0;
1372 }
#define FIXME(fmt,...)
Definition: debug.h:110

◆ SHRegisterDragDrop()

HRESULT WINAPI SHRegisterDragDrop ( HWND  hWnd,
LPDROPTARGET  lpDropTarget 
)

Definition at line 451 of file shellord.c.

454 {
455  static BOOL ole_initialized = FALSE;
456  HRESULT hr;
457 
458  TRACE("(%p,%p)\n", hWnd, pDropTarget);
459 
460  if (!ole_initialized)
461  {
462  hr = OleInitialize(NULL);
463  if (FAILED(hr))
464  return hr;
465  ole_initialized = TRUE;
466  }
467  return RegisterDragDrop(hWnd, pDropTarget);
468 }
#define TRUE
Definition: types.h:120
HRESULT hr
Definition: shlfolder.c:183
HWND hWnd
Definition: settings.c:17
HRESULT WINAPI RegisterDragDrop(HWND hwnd, LPDROPTARGET pDropTarget)
Definition: ole2.c:560
unsigned int BOOL
Definition: ntddk_ex.h:94
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
HRESULT WINAPI DECLSPEC_HOTPATCH OleInitialize(LPVOID reserved)
Definition: ole2.c:172

◆ SHRevokeDragDrop()

HRESULT WINAPI SHRevokeDragDrop ( HWND  hWnd)

Definition at line 486 of file shellord.c.

487 {
488  TRACE("(%p)\n", hWnd);
489  return RevokeDragDrop(hWnd);
490 }
HWND hWnd
Definition: settings.c:17
HRESULT WINAPI RevokeDragDrop(HWND hwnd)
Definition: ole2.c:642
#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 
1104  _ILParsePathW(wPath, NULL, TRUE, &pidl, NULL);
1105 
1106  HeapFree(GetProcessHeap(), 0, wPath);
1107  TRACE("%s %p\n", debugstr_a(lpszPath), pidl);
1108  return pidl;
1109 }
#define TRUE
Definition: types.h:120
#define CP_ACP
Definition: compat.h:99
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:395
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 MultiByteToWideChar
Definition: compat.h:100
WCHAR * LPWSTR
Definition: xmlstorage.h:184
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
#define HeapFree(x, y, z)
Definition: compat.h:394

Referenced by SHChangeNotify(), and SHSimpleIDListFromPathAW().

◆ SHSimpleIDListFromPathW()

LPITEMIDLIST WINAPI SHSimpleIDListFromPathW ( LPCWSTR  lpszPath)

Definition at line 1111 of file pidl.c.

1112 {
1113  LPITEMIDLIST pidl = NULL;
1114 
1115  TRACE("%s\n", debugstr_w(lpszPath));
1116 
1117  _ILParsePathW(lpszPath, NULL, TRUE, &pidl, NULL);
1118  TRACE("%s %p\n", debugstr_w(lpszPath), pidl);
1119  return pidl;
1120 }
#define TRUE
Definition: types.h:120
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#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
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 1386 of file shellord.c.

1390 {
1391  FIXME("%p 0x%08x 0x%08x stub\n", pidl, dwFlags, dwTimeout);
1392  return FALSE;
1393 }
#define FIXME(fmt,...)
Definition: debug.h:110
_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:6081

◆ StrRetToStrNA()

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

Definition at line 53 of file shellstring.c.

54 {
55  TRACE("dest=%p len=0x%x strret=%p(%s) pidl=%p\n", dest, len, src, debugstr_strret(src), pidl);
56 
57  if (!dest)
58  return FALSE;
59 
60  switch (src->uType)
61  {
62  case STRRET_WSTR:
63  WideCharToMultiByte(CP_ACP, 0, src->u.pOleStr, -1, dest, len, NULL, NULL);
64  CoTaskMemFree(src->u.pOleStr);
65  break;
66  case STRRET_CSTR:
67  lstrcpynA(dest, src->u.cStr, len);
68  break;
69  case STRRET_OFFSET:
70  lstrcpynA(dest, ((LPCSTR)&pidl->mkid)+src->u.uOffset, len);
71  break;
72  default:
73  FIXME("unknown type %u!\n", src->uType);
74  if (len)
75  *dest = '\0';
76  return FALSE;
77  }
78  TRACE("-- %s\n", debugstr_a(dest) );
79  return TRUE;
80 }
#define TRUE
Definition: types.h:120
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:422
#define WideCharToMultiByte
Definition: compat.h:101
#define CP_ACP
Definition: compat.h:99
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
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:38
#define lstrcpynA
Definition: compat.h:408
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 84 of file shellstring.c.

85 {
86  TRACE("dest=%p len=0x%x strret=%p(%s) pidl=%p\n", dest, len, src, debugstr_strret(src), pidl);
87 
88  if (!dest)
89  return FALSE;
90 
91  switch (src->uType)
92  {
93  case STRRET_WSTR:
94  lstrcpynW(dest, src->u.pOleStr, len);
95  CoTaskMemFree(src->u.pOleStr);
96  break;
97  case STRRET_CSTR:
98  if (!MultiByteToWideChar(CP_ACP, 0, src->u.cStr, -1, dest, len) && len)
99  dest[len-1] = 0;
100  break;
101  case STRRET_OFFSET:
102  if (!MultiByteToWideChar(CP_ACP, 0, ((LPCSTR)&pidl->mkid)+src->u.uOffset, -1, dest, len)
103  && len)
104  dest[len-1] = 0;
105  break;
106  default:
107  FIXME("unknown type %u!\n", src->uType);
108  if (len)
109  *dest = '\0';
110  return FALSE;
111  }
112  return TRUE;
113 }
#define TRUE
Definition: types.h:120
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:422
#define CP_ACP
Definition: compat.h:99
#define lstrcpynW
Definition: compat.h:397
#define FIXME(fmt,...)
Definition: debug.h:110
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:38
#define MultiByteToWideChar
Definition: compat.h:100
static char * dest
Definition: rtl.c:135

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

◆ Win32DbgPrint()

static ULONG Win32DbgPrint ( const char filename,
int  line,
const char lpFormat,
  ... 
)
inlinestatic

Definition at line 622 of file undocshell.h.

623 {
624  char szMsg[512];
625  char *szMsgStart;
626  const char *fname;
627  va_list vl;
628  ULONG uRet;
629 
630  fname = strrchr(filename, '\\');
631  if (fname == NULL)
632  {
633  fname = strrchr(filename, '/');
634  if (fname != NULL)
635  fname++;
636  }
637  else
638  fname++;
639 
640  if (fname == NULL)
641  fname = filename;
642 
643  szMsgStart = szMsg + sprintf(szMsg, "%s:%d: ", fname, line);
644 
645  va_start(vl, lpFormat);
646  uRet = (ULONG) vsprintf(szMsgStart, lpFormat, vl);
647  va_end(vl);
648 
649  OutputDebugStringA(szMsg);
650 
651  return uRet;
652 }
_Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
const char * filename
Definition: ioapi.h:135
#define sprintf(buf, format,...)
Definition: sprintf.c:55
#define va_end(ap)
Definition: acmsvcex.h:90
smooth NULL
Definition: ftsmooth.c:416
Definition: parser.c:48
char * va_list
Definition: acmsvcex.h:78
LPCWSTR lpFormat
Definition: trayclock.cpp:32
int __cdecl vsprintf(char *_Dest, const char *_Format, va_list _Args)
Definition: sprintf.c:733
#define va_start(ap, A)
Definition: acmsvcex.h:91
unsigned int ULONG
Definition: retypes.h:1
void WINAPI SHIM_OBJ_NAME() OutputDebugStringA(LPCSTR lpOutputString)
Definition: ignoredbgout.c:18

◆ 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 }