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.
 
 
 
 
 
 

56 lines
2.3 KiB

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