windows-nt/Source/XPSP1/NT/shell/osshell/lmui/shareui/sfolder.hxx
2020-09-26 16:20:57 +08:00

137 lines
2.6 KiB
C++

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1995 - 1995.
//
// File: sfolder.hxx
//
// Contents: Declaration of CSharesSF, an implementation of IShellFolder
//
// History: 13-Dec-95 BruceFo Created
//
//----------------------------------------------------------------------------
#ifndef __SFOLDER_HXX__
#define __SFOLDER_HXX__
#include "shares.h"
//////////////////////////////////////////////////////////////////////////////
class CSharesSF : public IShellFolder
{
public:
CSharesSF() {}
~CSharesSF() {}
//
// IUnknown methods
//
STDMETHOD(QueryInterface)(REFIID riid, LPVOID* ppvObj);
STDMETHOD_(ULONG,AddRef)();
STDMETHOD_(ULONG,Release)();
//
// IShellFolder methods
//
STDMETHOD(ParseDisplayName)(
HWND hwndOwner,
LPBC pbcReserved,
LPOLESTR lpszDisplayName,
ULONG* pchEaten,
LPITEMIDLIST* ppidl,
ULONG* pdwAttributes
);
STDMETHOD(EnumObjects)(
HWND hwndOwner,
DWORD grfFlags,
LPENUMIDLIST* ppenumIDList
);
STDMETHOD(BindToObject)(
LPCITEMIDLIST pidl,
LPBC pbcReserved,
REFIID riid,
LPVOID* ppvOut
);
STDMETHOD(BindToStorage)(
LPCITEMIDLIST pidl,
LPBC pbcReserved,
REFIID riid,
LPVOID* ppvObj
);
STDMETHOD(CompareIDs)(
LPARAM lParam,
LPCITEMIDLIST pidl1,
LPCITEMIDLIST pidl2
);
STDMETHOD(CreateViewObject)(
HWND hwndOwner,
REFIID riid,
LPVOID* ppvOut
);
STDMETHOD(GetAttributesOf)(
UINT cidl,
LPCITEMIDLIST* apidl,
ULONG* pdwInOut
);
STDMETHOD(GetUIObjectOf)(
HWND hwndOwner,
UINT cidl,
LPCITEMIDLIST* apidl,
REFIID riid,
UINT* prgfInOut,
LPVOID* ppvOut
);
STDMETHOD(GetDisplayNameOf)(
LPCITEMIDLIST pidl,
DWORD uFlags,
LPSTRRET lpName
);
STDMETHOD(SetNameOf)(
HWND hwndOwner,
LPCITEMIDLIST pidl,
LPCOLESTR lpszName,
DWORD uFlags,
LPITEMIDLIST* ppidlOut
);
private:
//
// Other
//
static
HRESULT CALLBACK
_SFVCallBack(
LPSHELLVIEW psvOuter,
LPSHELLFOLDER psf,
HWND hwndOwner,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
int
_CompareOne(
DWORD iCol,
LPIDSHARE pids1,
LPIDSHARE pids2
);
};
#endif // __SFOLDER_HXX__