#ifndef _FSTREEX_INC #define _FSTREEX_INC #include "idlcomm.h" #include #include "pidl.h" // IDFOLDER #include "shitemid.h" STDAPI_(LPCIDFOLDER) CFSFolder_IsValidID(LPCITEMIDLIST pidl); STDAPI_(BOOL) CFSFolder_IsCommonItem(LPCITEMIDLIST pidl); STDAPI_(BOOL) CFSFolder_MakeCommonItem(LPITEMIDLIST pidl); STDAPI CFSFolder_CompareNames(LPCIDFOLDER pidf1, LPCIDFOLDER pidf2); STDAPI_(DWORD) CFSFolder_PropertiesThread(void *pv); STDAPI CFSFolder_CreateFolder(IUnknown *punkOuter, LPBC pbc, LPCITEMIDLIST pidl, const PERSIST_FOLDER_TARGET_INFO *pf, REFIID riid, void **ppv); STDAPI_(void) SHGetTypeName(LPCTSTR pszFile, HKEY hkey, BOOL fFolder, LPTSTR pszName, int cchNameMax); STDAPI_(BOOL) GetFolderString(LPCTSTR pszFolder, LPCTSTR pszProvider, LPTSTR pszProfile, int cchMax, LPCTSTR pszKey); STDAPI CFSFolder_CreateFileFromClip(HWND hwnd, LPCTSTR pszPath, IDataObject *pdtobj, POINTL pt, DWORD *pdwEffect, BOOL fIsBkDropTarget); STDAPI CFSFolder_AsyncCreateFileFromClip(HWND hwnd, LPCTSTR pszPath, IDataObject *pdtobj, POINTL pt, DWORD *pdwEffect, BOOL fIsBkDropTarget); STDAPI_(BOOL) SHGetClassKey(LPCITEMIDLIST pidl, HKEY *phkeyProgID, HKEY *phkeyBaseID); STDAPI_(void) SHCloseClassKey(HKEY hkey); // CFSFolder::_GetClassFlags #define SHCF_ICON_INDEX 0x00000FFF #define SHCF_ICON_PERINSTANCE 0x00001000 #define SHCF_ICON_DOCICON 0x00002000 #define SHCF_00004000 0x00004000 #define SHCF_00008000 0x00008000 #define SHCF_HAS_ICONHANDLER 0x00020000 #define SHCF_IS_DOCOBJECT 0x00100000 #define SHCF_IS_SHELLEXT 0x00400000 #define SHCF_00800000 0x00800000 #define SHCF_IS_LINK 0x01000000 #define SHCF_UNKNOWN 0x04000000 #define SHCF_ALWAYS_SHOW_EXT 0x08000000 #define SHCF_NEVER_SHOW_EXT 0x10000000 #define SHCF_20000000 0x20000000 #define SHCF_40000000 0x40000000 #define SHCF_80000000 0x80000000 STDAPI CFSFolder_CreateLinks(HWND hwnd, IShellFolder *psf, IDataObject *pdtobj, LPCTSTR pszDir, DWORD fMask); STDAPI CreateLinkToPidl(LPCITEMIDLIST pidlAbs, LPCTSTR pszDir, LPITEMIDLIST* ppidl, UINT uFlags); STDAPI GetIconOverlayManager(IShellIconOverlayManager **ppsiom); typedef struct { BOOL fInitialized; POINT pt; POINT ptOrigin; UINT cxItem, cyItem; int xMul, yMul, xDiv, yDiv; POINT *pptOffset; UINT iItem; } DROPHISTORY; STDAPI_(void) PositionFileFromDrop(HWND hwnd, LPCTSTR pszFile, DROPHISTORY *pdh); STDAPI_(int) CreateMoveCopyList(HDROP hdrop, void *hNameMappings, LPITEMIDLIST **pppidl); STDAPI_(void) PositionItems(IFolderView* pifv, LPCITEMIDLIST* apidl, UINT cidl, IDataObject* pdtobj, POINT* ptDrop); STDAPI_(void) PositionItems_DontUse(HWND hwndOwner, UINT cidl, const LPITEMIDLIST *ppidl, IDataObject *pdtobj, POINT *pptOrigin, BOOL fMove, BOOL fUseExactOrigin); #endif