22#ifndef __WINE_SHELL_MAIN_H
23#define __WINE_SHELL_MAIN_H
31#define ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a)))
42#define INVALID_INDEX -1
72#define SHELL32_AssocGetFolderDescription SHELL32_AssocGetFSDirectoryDescription
101#define InitFormatEtc(fe, cf, med) \
104 (fe).dwAspect=DVASPECT_CONTENT;\
110#define KeyStateToDropEffect(kst)\
111 ((((kst)&(MK_CONTROL|MK_SHIFT))==(MK_CONTROL|MK_SHIFT)) ? DROPEFFECT_LINK :\
112 (((kst)&(MK_CONTROL)) ? DROPEFFECT_COPY :\
113 (((kst)&(MK_SHIFT)) ? DROPEFFECT_MOVE :\
127#define ASK_DELETE_FILE 1
128#define ASK_DELETE_FOLDER 2
129#define ASK_DELETE_MULTIPLE_ITEM 3
130#define ASK_CREATE_FOLDER 4
131#define ASK_OVERWRITE_FILE 5
132#define ASK_DELETE_SELECTED 6
133#define ASK_TRASH_FILE 7
134#define ASK_TRASH_FOLDER 8
135#define ASK_TRASH_MULTIPLE_ITEM 9
136#define ASK_CANT_TRASH_ITEM 10
137#define ASK_OVERWRITE_FOLDER 11
151#define __SHFreeAndNil(ptr) \
184#define HICON_16(h32) (LOWORD(h32))
185#define HICON_32(h16) ((HICON)(ULONG_PTR)(h16))
186#define HINSTANCE_32(h16) ((HINSTANCE)(ULONG_PTR)(h16))
187#define HINSTANCE_16(h32) (LOWORD(h32))
#define shell32_hInstance
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
#define WideCharToMultiByte
#define MultiByteToWideChar
const GUID CLSID_UnixDosFolder
const GUID CLSID_UnixFolder
LPVOID WINAPI SHAlloc(SIZE_T len)
WCHAR swShell32Name[MAX_PATH]
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
struct _PSP * HPROPSHEETPAGE
_Out_ PULONG _Out_ PULONG pIndex
interface IBindCtx * LPBC
static const WCHAR szName[]
DWORD WINAPI GetVersion()
HRESULT SHELL_RegisterShellFolders(void) DECLSPEC_HIDDEN
BOOL HCR_MapTypeToValueW(LPCWSTR szExtension, LPWSTR szFileType, LONG len, BOOL bPrependDot) DECLSPEC_HIDDEN
HRESULT SHELL32_AssocGetFSDirectoryDescription(PWSTR Buf, UINT cchBuf)
HRESULT WINAPI CShellDispatch_Constructor(REFIID riid, LPVOID *ppvOut)
HRESULT WINAPI CDefViewDual_Constructor(REFIID riid, LPVOID *ppvOut)
void SIC_Destroy(void) DECLSPEC_HIDDEN
HRESULT WINAPI CPanel_ExtractIconA(LPITEMIDLIST pidl, LPCSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize) DECLSPEC_HIDDEN
LPCLASSFACTORY IClassFactory_Constructor(REFCLSID)
void WINAPI _InsertMenuItemW(HMENU hmenu, UINT indexMenu, BOOL fByPosition, UINT wID, UINT fType, LPCWSTR dwTypeData, UINT fState)
BOOL HCR_GetExecuteCommandW(HKEY hkeyClass, LPCWSTR szClass, LPCWSTR szVerb, LPWSTR szDest, DWORD len) DECLSPEC_HIDDEN
LPWSTR SH_FormatFileSizeWithBytes(PULARGE_INTEGER lpQwSize, LPWSTR pszBuf, UINT cchBuf)
BOOL HCR_GetDefaultVerbW(HKEY hkeyClass, LPCWSTR szVerb, LPWSTR szDest, DWORD len) DECLSPEC_HIDDEN
BOOL SHELL_DeleteDirectoryW(HWND hwnd, LPCWSTR pwszDir, BOOL bShowUI)
static __inline void __SHCloneStrWtoA(char **target, const WCHAR *source)
BOOL PidlToSicIndex(IShellFolder *sh, LPCITEMIDLIST pidl, BOOL bBigIcon, UINT uFlags, int *pIndex) DECLSPEC_HIDDEN
HRESULT WINAPI DoUnregisterServer(void)
BOOL SIC_Initialize(void)
BOOL HCR_GetIconW(LPCWSTR szClass, LPWSTR szDest, LPCWSTR szName, DWORD len, int *picon_idx)
HRESULT WINAPI DoRegisterServer(void)
IContextMenu2 * ISvItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, const LPCITEMIDLIST *aPidls, UINT uItemCount)
HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, PCUITEMID_CHILD_ARRAY apidl, UINT cidl, BOOL bExtendedObject, IDataObject **dataObject)
DWORD WINAPI ParseFieldA(LPCSTR src, DWORD nField, LPSTR dst, DWORD len) DECLSPEC_HIDDEN
BOOL HCR_GetClassNameA(REFIID riid, LPSTR szDest, DWORD len) DECLSPEC_HIDDEN
BOOL HCR_GetFolderAttributes(LPCITEMIDLIST pidlFolder, LPDWORD dwAttributes) DECLSPEC_HIDDEN
HRESULT WINAPI IShellLink_ConstructFromFile(IShellFolder *psf, LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv)
HPROPSHEETPAGE SH_CreatePropertySheetPage(WORD wDialogId, DLGPROC pfnDlgProc, LPARAM lParam, LPCWSTR pwszTitle)
void FreeChangeNotifications(void) DECLSPEC_HIDDEN
HGLOBAL RenderSHELLIDLIST(LPITEMIDLIST pidlRoot, LPITEMIDLIST *apidl, UINT cidl) DECLSPEC_HIDDEN
static __inline BOOL SHELL_OsIsUnicode(void)
static __inline LPWSTR __SHCloneStrAtoW(WCHAR **target, const char *source)
INT SIC_GetIconIndex(LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags) DECLSPEC_HIDDEN
HRESULT WINAPI IShellLink_ConstructFromPath(WCHAR *path, REFIID riid, LPVOID *ppv)
BOOL UNIXFS_is_rooted_at_desktop(void) DECLSPEC_HIDDEN
BOOL SHELL_ConfirmYesNoW(HWND hWnd, int nKindOfDialog, LPCWSTR szDir)
DWORD WINAPI ParseFieldW(LPCWSTR src, DWORD nField, LPWSTR dst, DWORD len) DECLSPEC_HIDDEN
HMODULE huser32 DECLSPEC_HIDDEN
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lpBigList, HIMAGELIST *lpSmallList)
IContextMenu2 * ISvStaticItemCm_Constructor(LPSHELLFOLDER pSFParent, LPCITEMIDLIST pidl, LPCITEMIDLIST *apidl, UINT cidl, HKEY hKey)
HRESULT SHELL32_AssocGetFileDescription(PCWSTR Name, PWSTR Buf, UINT cchBuf)
HRESULT WINAPI INewItem_Constructor(IUnknown *pUnkOuter, REFIID riif, LPVOID *ppv)
HRESULT WINAPI CPanel_ExtractIconW(LPITEMIDLIST pidl, LPCWSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize) DECLSPEC_HIDDEN
BOOL HCR_GetIconA(LPCSTR szClass, LPSTR szDest, LPCSTR sName, DWORD len, int *picon_idx)
HGLOBAL RenderFILENAMEA(LPITEMIDLIST pidlRoot, LPITEMIDLIST *apidl, UINT cidl) DECLSPEC_HIDDEN
HGLOBAL RenderHDROP(LPITEMIDLIST pidlRoot, LPITEMIDLIST *apidl, UINT cidl) DECLSPEC_HIDDEN
HRESULT WINAPI IFileSystemBindData_Constructor(const WIN32_FIND_DATAW *pfd, LPBC *ppV)
BOOL HCR_GetClassNameW(REFIID riid, LPWSTR szDest, DWORD len) DECLSPEC_HIDDEN
void InitChangeNotifications(void) DECLSPEC_HIDDEN
BOOL SHELL_IsShortcut(LPCITEMIDLIST) DECLSPEC_HIDDEN
HGLOBAL RenderFILENAMEW(LPITEMIDLIST pidlRoot, LPITEMIDLIST *apidl, UINT cidl) DECLSPEC_HIDDEN
IContextMenu2 * ISvBgCm_Constructor(LPSHELLFOLDER pSFParent, BOOL bDesktop)
static __inline void __SHCloneStrW(WCHAR **target, const WCHAR *source)
BOOL HCR_MapTypeToValueA(LPCSTR szExtension, LPSTR szFileType, LONG len, BOOL bPrependDot) DECLSPEC_HIDDEN
HRESULT IEnumFORMATETC_Constructor(UINT cfmt, const FORMATETC afmt[], IEnumFORMATETC **enumerator)
HPROPSHEETPAGE SH_CreatePropertySheetPageEx(WORD wDialogId, DLGPROC pfnDlgProc, LPARAM lParam, LPCWSTR pwszTitle, LPFNPSPCALLBACK Callback)
static __inline void __SHCloneStrA(char **target, const char *source)
HRESULT HCR_GetProgIdKeyOfExtension(PCWSTR szExtension, PHKEY phKey, BOOL AllowFallback)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
static PIXELFORMATDESCRIPTOR pfd
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags