ReactOS 0.4.15-dev-7842-g558ab78
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 EnumObjects ([in] HWND hwndOwner, [in] SHCONTF grfFlags, [out] IEnumIDList **ppenumIDList)
 
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 CompareIDs ([in] LPARAM lParam, [in] PCUIDLIST_RELATIVE pidl1, [in] PCUIDLIST_RELATIVE pidl2)
 
HRESULT CreateViewObject ([in] HWND hwndOwner, [in] REFIID riid, [out, iid_is(riid)] void **ppvOut)
 
HRESULT GetAttributesOf ([in] UINT cidl, [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl, [in, out] SFGAOF *rgfInOut)
 
HRESULT GetUIObjectOf ([in] HWND hwndOwner, [in] UINT cidl, [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl, [in] REFIID riid, [in, out, unique] UINT *prgfInOut, [out, iid_is(riid)] void **ppvOut)
 
HRESULT GetDisplayNameOf ([in] PCUITEMID_CHILD pidl, [in] SHGDNF uFlags, [out] STRRET *lpName)
 
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
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Public Attributes

LONG m_cRefs
 

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
 
typedef ULONG SFGAOF
 
- 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 }

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 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 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 }

◆ 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}
#define NULL
Definition: types.h:112
HRESULT WINAPI SHStrDupW(LPCWSTR src, LPWSTR *dest)
Definition: string.c:2004
#define L(x)
Definition: ntvdm.h:50

◆ 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 }

◆ 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}
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
ULONG AddRef()
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ 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 }

◆ 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: