Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//--------------------------------------------------------------------------
// EnumFold.h
//--------------------------------------------------------------------------
#pragma once
//--------------------------------------------------------------------------
// CEnumerateFolders
//--------------------------------------------------------------------------
class CEnumerateFolders : public IEnumerateFolders { public: //----------------------------------------------------------------------
// CEnumerateFolders
//----------------------------------------------------------------------
CEnumerateFolders(void); ~CEnumerateFolders(void);
//----------------------------------------------------------------------
// IUnknown Members
//----------------------------------------------------------------------
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void);
//----------------------------------------------------------------------
// CEnumerateFolders Members
//----------------------------------------------------------------------
HRESULT Initialize(IDatabase *pDB, BOOL fSubscribed, FOLDERID idParent);
//----------------------------------------------------------------------
// IEnumerateFolders Members
//----------------------------------------------------------------------
STDMETHODIMP Next(ULONG cFetch, LPFOLDERINFO prgInfo, ULONG *pcFetched); STDMETHODIMP Skip(ULONG cItems); STDMETHODIMP Reset(void); STDMETHODIMP Clone(IEnumerateFolders **ppEnum); STDMETHODIMP Count(ULONG *pcItems);
private: //----------------------------------------------------------------------
// Private Methods
//----------------------------------------------------------------------
HRESULT _FreeFolderArray(void);
private: //----------------------------------------------------------------------
// Private Data
//----------------------------------------------------------------------
LONG m_cRef; FOLDERID m_idParent; BOOL m_fSubscribed; DWORD m_cFolders; DWORD m_iFolder; IDatabase *m_pDB; IStream *m_pStream; };
|