vbAccelerator - Contents of code file: ISHFoldr.odl
//=============================================================
// IShellFolder::GetDisplayNameOf/SetNameOf uFlags
typedef enum tagSHGDN
{
SHGDN_NORMAL = 0, // default (display purpose)
SHGDN_INFOLDER = 1, // displayed under a folder (relative)
SHGDN_FORADDRESSBAR = 0x4000, // for displaying in the address
(drives dropdown) bar
SHGDN_FORPARSING = 0x8000, // for ParseDisplayName or path
} ESHGNO;
//=============================================================
// IShellFolder::EnumObjects
typedef enum tagSHCONTF
{
SHCONTF_FOLDERS = 32, // for shell browser
SHCONTF_NONFOLDERS = 64, // for default view
SHCONTF_INCLUDEHIDDEN = 128, // for hidden/system objects
} ESHCONTF;
//=============================================================
// IShellFolder::GetAttributesOf flags
// (turned into enum so that the constants and their
// values are accessable outside the typelib)
typedef enum tagSFGAO
{
SFGAO_CANCOPY = 0x00000001, // Objects can be copied, =
DROPEFFECT_COPY
SFGAO_CANMOVE = 0x00000002, // Objects can be moved, =
DROPEFFECT_MOVE
SFGAO_CANLINK = 0x00000004, // Objects can be linked, =
DROPEFFECT_LINK
SFGAO_CANRENAME = 0x00000010, // Objects can be renamed
SFGAO_CANDELETE = 0x00000020, // Objects can be deleted
SFGAO_HASPROPSHEET = 0x00000040, // Objects have property sheets
SFGAO_DROPTARGET = 0x00000100, // Objects are drop target
SFGAO_CAPABILITYMASK = 0x00000177,
SFGAO_LINK = 0x00010000, // Shortcut (link)
SFGAO_SHARE = 0x00020000, // shared
SFGAO_READONLY = 0x00040000, // read-only
SFGAO_GHOSTED = 0x00080000, // ghosted icon
SFGAO_DISPLAYATTRMASK = 0x000F0000,
SFGAO_FILESYSANCESTOR = 0x10000000, // It contains file system folder
SFGAO_FOLDER = 0x20000000, // It's a folder.
SFGAO_FILESYSTEM = 0x40000000, // is a file system thing
(file/folder/root)
SFGAO_HASSUBFOLDER = 0x80000000, // Expandable in the map pane
SFGAO_CONTENTSMASK = 0x80000000,
SFGAO_VALIDATE = 0x01000000, // invalidate cached information
SFGAO_REMOVABLE = 0x02000000, // is this removeable media?
SFGAO_COMPRESSED = 0x04000000, // Object is compressed (use alt
color)
} ESFGAO;
//=============================================================
// IID_IShellFolder
[
uuid(000214E6-0000-0000-C000-000000000046),
helpstring("IShellFolder Interface"),
odl
]
//=============================================================
interface IShellFolder : IUnknown
{
// *** IShellFolder methods ***
// all HRESULT rtn types have been replaced.
// since VB maps HRESULT error to RT errors,
// app must handle any errors specifically
[helpstring("ParseDisplayName")]
long ParseDisplayName(
[in] HWND hwndOwner, // Handle of owner
window
[in] long pbcReserved, // Reserved (LPBC)
[in] LPOLESTR lpszDisplayName, // Pointer to diplay
name
[in,out] ULONG *pchEaten, // Pointer to value
for parsed characters
[in,out] LPITEMIDLIST *ppidl, // Pointer to new item
identifier list
[in,out] ULONG *pdwAttributes); // Address receiving
attributes of file object
[helpstring("EnumObjects")]
long EnumObjects(
[in] HWND hwndOwner,
[in] DWORD grfFlags,
[in,out] LPENUMIDLIST *ppenumIDList);
[helpstring("BindToObject")]
long BindToObject(
[in] LPCITEMIDLIST pidl,
[in] long pbcReserved,
[in] REFIID riid,
[in,out] LPVOID ppvOut);
// VB handles E_NOTIMPL
[helpstring("BindToStorage")]
HRESULT BindToStorage(
[in] LPCITEMIDLIST pidl,
[in] long pbcReserved, // (LPBC)
[in] REFIID riid,
[in,out] LPVOID ppvObj); // * v1.2, was *ppvObj
[helpstring("CompareIDs")]
long CompareIDs(
[in] LPARAM lParam,
[in] LPCITEMIDLIST pidl1,
[in] LPCITEMIDLIST pidl2);
[helpstring("CreateViewObject")]
long CreateViewObject(
[in] HWND hwndOwner,
[in] REFIID riid,
[in,out] LPVOID ppvOut); // * v1.2, was *ppvOut
[helpstring("GetAttributesOf")]
long GetAttributesOf(
[in] UINT cidl,
[in] LPCITEMIDLIST *apidl,
[in,out] ULONG *rgfInOut);
[helpstring("GetUIObjectOf")]
long GetUIObjectOf(
[in] HWND hwndOwner,
[in] UINT cidl,
[in] LPCITEMIDLIST *apidl,
[in] REFIID riid,
[in] UINT *prgfInOut,
[in,out] LPVOID ppvOut); // *ppvOut
[helpstring("GetDisplayNameOf")]
long GetDisplayNameOf(
[in] LPCITEMIDLIST pidl,
[in] DWORD uFlags,
[in,out] LPSTRRET lpName);
[helpstring("SetNameOf")]
long SetNameOf(
[in] HWND hwndOwner,
[in] LPCITEMIDLIST pidl,
[in] LPCOLESTR lpszName,
[in] DWORD uFlags,
[in,out] LPCITEMIDLIST *ppidlOut);
}
|
|