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.
 
 
 
 
 
 

50 lines
1.2 KiB

#ifndef _URLENUM_H_
#define _URLENUM_H
class CEnumString : public IEnumString
{
public:
//////////////////////////////////////////////////////
// Public Interfaces
//////////////////////////////////////////////////////
// *** IUnknown ***
virtual STDMETHODIMP_(ULONG) AddRef(void);
virtual STDMETHODIMP_(ULONG) Release(void);
virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
// *** IEnumString ***
virtual STDMETHODIMP Next(ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched);
virtual STDMETHODIMP Skip(ULONG celt);
virtual STDMETHODIMP Reset(void);
virtual STDMETHODIMP Clone(IEnumString **ppenum);
public:
// Constructor-destructor, don't create this on the stack.
CEnumString();
~CEnumString();
// This is a very simple class where all the strings should be added
// before any enumeration occurs.
HRESULT AddString(LPCWSTR lpsz);
private:
CRefCount m_ref;
struct ListStr
{
LPTSTR lpsz;
ListStr * pListNext;
};
ListStr * pFirst;
ListStr * pLast;
ListStr * pCurrent;
};
#endif