Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.9 KiB

  1. #ifndef _FSTREEX_INC
  2. #define _FSTREEX_INC
  3. #include "idlcomm.h"
  4. #include <filetype.h>
  5. #include "pidl.h" // IDFOLDER
  6. #include "shitemid.h"
  7. STDAPI_(LPCIDFOLDER) CFSFolder_IsValidID(LPCITEMIDLIST pidl);
  8. STDAPI_(BOOL) CFSFolder_IsCommonItem(LPCITEMIDLIST pidl);
  9. STDAPI_(BOOL) CFSFolder_MakeCommonItem(LPITEMIDLIST pidl);
  10. STDAPI CFSFolder_CompareNames(LPCIDFOLDER pidf1, LPCIDFOLDER pidf2);
  11. STDAPI_(DWORD) CFSFolder_PropertiesThread(void *pv);
  12. STDAPI CFSFolder_CreateFolder(IUnknown *punkOuter, LPBC pbc, LPCITEMIDLIST pidl,
  13. const PERSIST_FOLDER_TARGET_INFO *pf, REFIID riid, void **ppv);
  14. STDAPI_(void) SHGetTypeName(LPCTSTR pszFile, HKEY hkey, BOOL fFolder, LPTSTR pszName, int cchNameMax);
  15. STDAPI_(BOOL) GetFolderString(LPCTSTR pszFolder, LPCTSTR pszProvider, LPTSTR pszProfile, int cchMax, LPCTSTR pszKey);
  16. STDAPI CFSFolder_CreateFileFromClip(HWND hwnd, LPCTSTR pszPath, IDataObject *pdtobj, POINTL pt, DWORD *pdwEffect, BOOL fIsBkDropTarget);
  17. STDAPI CFSFolder_AsyncCreateFileFromClip(HWND hwnd, LPCTSTR pszPath, IDataObject *pdtobj, POINTL pt, DWORD *pdwEffect, BOOL fIsBkDropTarget);
  18. STDAPI_(BOOL) SHGetClassKey(LPCITEMIDLIST pidl, HKEY *phkeyProgID, HKEY *phkeyBaseID);
  19. STDAPI_(void) SHCloseClassKey(HKEY hkey);
  20. // CFSFolder::_GetClassFlags
  21. #define SHCF_ICON_INDEX 0x00000FFF
  22. #define SHCF_ICON_PERINSTANCE 0x00001000
  23. #define SHCF_ICON_DOCICON 0x00002000
  24. #define SHCF_00004000 0x00004000
  25. #define SHCF_00008000 0x00008000
  26. #define SHCF_HAS_ICONHANDLER 0x00020000
  27. #define SHCF_IS_DOCOBJECT 0x00100000
  28. #define SHCF_IS_SHELLEXT 0x00400000
  29. #define SHCF_00800000 0x00800000
  30. #define SHCF_IS_LINK 0x01000000
  31. #define SHCF_UNKNOWN 0x04000000
  32. #define SHCF_ALWAYS_SHOW_EXT 0x08000000
  33. #define SHCF_NEVER_SHOW_EXT 0x10000000
  34. #define SHCF_20000000 0x20000000
  35. #define SHCF_40000000 0x40000000
  36. #define SHCF_80000000 0x80000000
  37. STDAPI CFSFolder_CreateLinks(HWND hwnd, IShellFolder *psf, IDataObject *pdtobj, LPCTSTR pszDir, DWORD fMask);
  38. STDAPI CreateLinkToPidl(LPCITEMIDLIST pidlAbs, LPCTSTR pszDir, LPITEMIDLIST* ppidl, UINT uFlags);
  39. STDAPI GetIconOverlayManager(IShellIconOverlayManager **ppsiom);
  40. typedef struct {
  41. BOOL fInitialized;
  42. POINT pt;
  43. POINT ptOrigin;
  44. UINT cxItem, cyItem;
  45. int xMul, yMul, xDiv, yDiv;
  46. POINT *pptOffset;
  47. UINT iItem;
  48. } DROPHISTORY;
  49. STDAPI_(void) PositionFileFromDrop(HWND hwnd, LPCTSTR pszFile, DROPHISTORY *pdh);
  50. STDAPI_(int) CreateMoveCopyList(HDROP hdrop, void *hNameMappings, LPITEMIDLIST **pppidl);
  51. STDAPI_(void) PositionItems(IFolderView* pifv, LPCITEMIDLIST* apidl, UINT cidl, IDataObject* pdtobj, POINT* ptDrop);
  52. STDAPI_(void) PositionItems_DontUse(HWND hwndOwner, UINT cidl, const LPITEMIDLIST *ppidl, IDataObject *pdtobj, POINT *pptOrigin, BOOL fMove, BOOL fUseExactOrigin);
  53. #endif