windows-nt/Source/XPSP1/NT/shell/shell32/fstreex.h
2020-09-26 16:20:57 +08:00

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