71 lines
2.9 KiB
C
71 lines
2.9 KiB
C
|
#ifndef _FSTREEX_INC
|
||
|
#define _FSTREEX_INC
|
||
|
|
||
|
#include "idlcomm.h"
|
||
|
#include <filetype.h>
|
||
|
#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
|