ReactOS  0.4.15-dev-3718-g2318f7f
CShellFolder Class Reference
Inheritance diagram for CShellFolder:
Collaboration diagram for CShellFolder:

Public Member Functions

 CShellFolder (INT iMaxNameLen=0, BOOL bDisabled=FALSE)
 
virtual ~CShellFolder ()
 
STDMETHODIMP QueryInterface (REFIID riid, void **ppvObject)
 
 STDMETHODIMP_ (ULONG) AddRef()
 
 STDMETHODIMP_ (ULONG) Release()
 
STDMETHODIMP ParseDisplayName (HWND hwnd, IBindCtx *pbc, LPWSTR pszDisplayName, ULONG *pchEaten, PIDLIST_RELATIVE *ppidl, ULONG *pdwAttributes)
 
STDMETHODIMP EnumObjects (HWND hwnd, SHCONTF grfFlags, IEnumIDList **ppenumIDList)
 
STDMETHODIMP BindToObject (PCUIDLIST_RELATIVE pidl, IBindCtx *pbc, REFIID riid, void **ppv)
 
STDMETHODIMP BindToStorage (PCUIDLIST_RELATIVE pidl, IBindCtx *pbc, REFIID riid, void **ppv)
 
STDMETHODIMP CompareIDs (LPARAM lParam, PCUIDLIST_RELATIVE pidl1, PCUIDLIST_RELATIVE pidl2)
 
STDMETHODIMP CreateViewObject (HWND hwndOwner, REFIID riid, void **ppv)
 
STDMETHODIMP GetAttributesOf (UINT cidl, PCUITEMID_CHILD_ARRAY apidl, SFGAOF *rgfInOut)
 
STDMETHODIMP GetUIObjectOf (HWND hwndOwner, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, REFIID riid, UINT *rgfReserved, void **ppv)
 
STDMETHODIMP GetDisplayNameOf (PCUITEMID_CHILD pidl, SHGDNF uFlags, STRRET *pName)
 
STDMETHODIMP SetNameOf (HWND hwnd, PCUITEMID_CHILD pidl, LPCWSTR pszName, SHGDNF uFlags, PITEMID_CHILD *ppidlOut)
 
STDMETHODIMP GetMaxLength (LPCWSTR pszName, int *piMaxNameLen)
 
STDMETHODIMP GetValidCharacters (LPWSTR *ppwszValidChars, LPWSTR *ppwszInvalidChars)
 
- Public Member Functions inherited from IShellFolder
HRESULT ParseDisplayName ([in] HWND hwndOwner, [in] LPBC pbcReserved, [in, string] LPOLESTR lpszDisplayName, [out] ULONG *pchEaten, [out] PIDLIST_RELATIVE *ppidl, [in, out, unique] ULONG *pdwAttributes)
 
HRESULT BindToObject ([in] PCUIDLIST_RELATIVE pidl, [in] LPBC pbcReserved, [in] REFIID riid, [out, iid_is(riid)] void **ppvOut)
 
HRESULT BindToStorage ([in] PCUIDLIST_RELATIVE pidl, [in] LPBC pbcReserved, [in] REFIID riid, [out, iid_is(riid)] void **ppvObj)
 
HRESULT SetNameOf ([in] HWND hwnd, [in] PCUITEMID_CHILD pidl, [in, string] LPCOLESTR lpszName, [in] SHGDNF uFlags, [out] PITEMID_CHILD *ppidlOut)
 
- Public Member Functions inherited from IUnknown
ULONG AddRef ()
 
ULONG Release ()
 

Public Attributes

LONG m_cRefs
 
- Public Attributes inherited from IShellFolder
SFGAO_STORAGEANCESTOR typedef ULONG SFGAOF
 

Protected Attributes

INT m_iMaxNameLen
 
BOOL m_bDisabled
 

Additional Inherited Members

- Public Types inherited from IShellFolder
enum  tagSHGDN {
  SHGDN_NORMAL = 0, SHGDN_INFOLDER = 1, SHGDN_FOREDITING = 0x1000, SHGDN_INCLUDE_NONFILESYS = 0x2000,
  SHGDN_FORADDRESSBAR = 0x4000, SHGDN_FORPARSING = 0x8000
}
 
enum  tagSHCONTF {
  SHCONTF_FOLDERS = 32, SHCONTF_NONFOLDERS = 64, SHCONTF_INCLUDEHIDDEN = 128, SHCONTF_INIT_ON_FIRST_NEXT = 256,
  SHCONTF_NETPRINTERSRCH = 512, SHCONTF_SHAREABLE = 1024, SHCONTF_STORAGE = 2048, SHCONTF_NAVIGATION_ENUM = 0x01000,
  SHCONTF_FASTITEMS = 0x02000, SHCONTF_FLATLIST = 0x04000, SHCONTF_ENABLE_ASYNC = 0x08000, SHCONTF_INCLUDESUPERHIDDEN = 0x10000
}
 
typedef IShellFolderLPSHELLFOLDER
 
typedef enum IShellFolder::tagSHGDN SHGNO
 
typedef DWORD SHGDNF
 
typedef DWORD SHCONTF
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 

Detailed Description

Definition at line 12 of file SHLimitInputEdit.cpp.

Constructor & Destructor Documentation

◆ CShellFolder()

CShellFolder::CShellFolder ( INT  iMaxNameLen = 0,
BOOL  bDisabled = FALSE 
)
inline

Definition at line 19 of file SHLimitInputEdit.cpp.

20  : m_cRefs(1)
21  , m_iMaxNameLen(iMaxNameLen)
22  , m_bDisabled(bDisabled)
23  {
24  trace("CShellFolder\n");
25  }
#define trace
Definition: atltest.h:70

◆ ~CShellFolder()

virtual CShellFolder::~CShellFolder ( )
inlinevirtual

Definition at line 27 of file SHLimitInputEdit.cpp.

28  {
29  trace("~CShellFolder\n");
30  }
#define trace
Definition: atltest.h:70

Member Function Documentation

◆ BindToObject()

STDMETHODIMP CShellFolder::BindToObject ( PCUIDLIST_RELATIVE  pidl,
IBindCtx pbc,
REFIID  riid,
void **  ppv 
)
inline

Definition at line 61 of file SHLimitInputEdit.cpp.

66  {
67  trace("BindToObject\n");
68  return E_NOTIMPL;
69  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ BindToStorage()

STDMETHODIMP CShellFolder::BindToStorage ( PCUIDLIST_RELATIVE  pidl,
IBindCtx pbc,
REFIID  riid,
void **  ppv 
)
inline

Definition at line 71 of file SHLimitInputEdit.cpp.

76  {
77  trace("BindToStorage\n");
78  return E_NOTIMPL;
79  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ CompareIDs()

STDMETHODIMP CShellFolder::CompareIDs ( LPARAM  lParam,
PCUIDLIST_RELATIVE  pidl1,
PCUIDLIST_RELATIVE  pidl2 
)
inline

Implements IShellFolder.

Definition at line 81 of file SHLimitInputEdit.cpp.

85  {
86  trace("CompareIDs\n");
87  return E_NOTIMPL;
88  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ CreateViewObject()

STDMETHODIMP CShellFolder::CreateViewObject ( HWND  hwndOwner,
REFIID  riid,
void **  ppv 
)
inline

Implements IShellFolder.

Definition at line 90 of file SHLimitInputEdit.cpp.

94  {
95  trace("CreateViewObject\n");
96  return E_NOTIMPL;
97  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ EnumObjects()

STDMETHODIMP CShellFolder::EnumObjects ( HWND  hwnd,
SHCONTF  grfFlags,
IEnumIDList **  ppenumIDList 
)
inline

Implements IShellFolder.

Definition at line 52 of file SHLimitInputEdit.cpp.

56  {
57  trace("EnumObjects\n");
58  return E_NOTIMPL;
59  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GetAttributesOf()

STDMETHODIMP CShellFolder::GetAttributesOf ( UINT  cidl,
PCUITEMID_CHILD_ARRAY  apidl,
SFGAOF rgfInOut 
)
inline

Implements IShellFolder.

Definition at line 99 of file SHLimitInputEdit.cpp.

103  {
104  trace("GetAttributesOf\n");
105  return E_NOTIMPL;
106  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GetDisplayNameOf()

STDMETHODIMP CShellFolder::GetDisplayNameOf ( PCUITEMID_CHILD  pidl,
SHGDNF  uFlags,
STRRET pName 
)
inline

Implements IShellFolder.

Definition at line 120 of file SHLimitInputEdit.cpp.

124  {
125  trace("GetDisplayNameOf\n");
126  return E_NOTIMPL;
127  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GetMaxLength()

STDMETHODIMP CShellFolder::GetMaxLength ( LPCWSTR  pszName,
int piMaxNameLen 
)

Definition at line 198 of file SHLimitInputEdit.cpp.

201 {
202  trace("GetMaxLength('%S', %p (%d))\n", pszName, piMaxNameLen, *piMaxNameLen);
203 
204  if (!piMaxNameLen)
205  return E_POINTER;
206 
207  *piMaxNameLen = m_iMaxNameLen;
208  return S_OK;
209 }
#define trace
Definition: atltest.h:70
#define S_OK
Definition: intsafe.h:52
#define E_POINTER
Definition: winerror.h:2365

◆ GetUIObjectOf()

STDMETHODIMP CShellFolder::GetUIObjectOf ( HWND  hwndOwner,
UINT  cidl,
PCUITEMID_CHILD_ARRAY  apidl,
REFIID  riid,
UINT rgfReserved,
void **  ppv 
)
inline

Implements IShellFolder.

Definition at line 108 of file SHLimitInputEdit.cpp.

115  {
116  trace("GetUIObjectOf\n");
117  return E_NOTIMPL;
118  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GetValidCharacters()

STDMETHODIMP CShellFolder::GetValidCharacters ( LPWSTR ppwszValidChars,
LPWSTR ppwszInvalidChars 
)

Definition at line 211 of file SHLimitInputEdit.cpp.

214 {
215  trace("GetValidCharacters(%p, %p)\n", ppwszValidChars, ppwszInvalidChars);
216 
217  if (m_bDisabled)
218  return E_NOTIMPL;
219 
220  if (ppwszInvalidChars)
221  {
222  SHStrDupW(L"/:*?\"<>|", ppwszInvalidChars);
223  }
224  if (ppwszValidChars)
225  {
226  *ppwszValidChars = NULL;
227  }
228  return S_OK;
229 }
HRESULT WINAPI SHStrDupW(LPCWSTR src, LPWSTR *dest)
Definition: string.c:2004
#define L(x)
Definition: ntvdm.h:50
#define trace
Definition: atltest.h:70
#define S_OK
Definition: intsafe.h:52
#define E_NOTIMPL
Definition: ddrawi.h:99
#define NULL
Definition: types.h:112

◆ ParseDisplayName()

STDMETHODIMP CShellFolder::ParseDisplayName ( HWND  hwnd,
IBindCtx pbc,
LPWSTR  pszDisplayName,
ULONG pchEaten,
PIDLIST_RELATIVE ppidl,
ULONG pdwAttributes 
)
inline

Definition at line 40 of file SHLimitInputEdit.cpp.

47  {
48  trace("ParseDisplayName\n");
49  return E_NOTIMPL;
50  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ QueryInterface()

STDMETHODIMP CShellFolder::QueryInterface ( REFIID  riid,
void **  ppvObject 
)

Implements IUnknown.

Definition at line 155 of file SHLimitInputEdit.cpp.

156 {
157  trace("QueryInterface\n");
158 
159  if (!ppvObject)
160  return E_POINTER;
161 
162  if (IsEqualIID(riid, IID_IShellFolder) || IsEqualIID(riid, IID_IUnknown))
163  {
164  trace("IID_IShellFolder\n");
165  *ppvObject = static_cast<IShellFolder *>(this);
166  AddRef();
167  return S_OK;
168  }
169  if (IsEqualIID(riid, IID_IItemNameLimits))
170  {
171  trace("IID_IItemNameLimits\n");
172  *ppvObject = static_cast<IItemNameLimits *>(this);
173  AddRef();
174  return S_OK;
175  }
176 
177  return E_NOINTERFACE;
178 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define trace
Definition: atltest.h:70
const GUID IID_IUnknown
ULONG AddRef()
REFIID LPVOID * ppvObject
Definition: precomp.h:44
#define S_OK
Definition: intsafe.h:52
#define E_POINTER
Definition: winerror.h:2365
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ SetNameOf()

STDMETHODIMP CShellFolder::SetNameOf ( HWND  hwnd,
PCUITEMID_CHILD  pidl,
LPCWSTR  pszName,
SHGDNF  uFlags,
PITEMID_CHILD ppidlOut 
)
inline

Definition at line 129 of file SHLimitInputEdit.cpp.

135  {
136  trace("SetNameOf\n");
137  return E_NOTIMPL;
138  }
#define trace
Definition: atltest.h:70
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ STDMETHODIMP_() [1/2]

CShellFolder::STDMETHODIMP_ ( ULONG  )

◆ STDMETHODIMP_() [2/2]

CShellFolder::STDMETHODIMP_ ( ULONG  )

Member Data Documentation

◆ m_bDisabled

BOOL CShellFolder::m_bDisabled
protected

Definition at line 152 of file SHLimitInputEdit.cpp.

Referenced by GetValidCharacters().

◆ m_cRefs

LONG CShellFolder::m_cRefs

Definition at line 17 of file SHLimitInputEdit.cpp.

Referenced by DialogProc(), and STDMETHODIMP_().

◆ m_iMaxNameLen

INT CShellFolder::m_iMaxNameLen
protected

Definition at line 151 of file SHLimitInputEdit.cpp.

Referenced by GetMaxLength().


The documentation for this class was generated from the following file: