AutoEnumString.h
上传用户:huashan618
上传日期:2013-03-26
资源大小:261k
文件大小:1k
源码类别:

浏览器

开发平台:

Visual C++

  1. // AutoEnumString.h: interface for the CAutoEnumString class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_AUTOENUMSTRING_H__14812C31_DA2E_4C0F_8BB7_F0EA89B11C3A__INCLUDED_)
  5. #define AFX_AUTOENUMSTRING_H__14812C31_DA2E_4C0F_8BB7_F0EA89B11C3A__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <AtlConv.h>
  10. #include <ShlObj.h>
  11. class CAutoEnumString : public IEnumString  
  12. {
  13. public:
  14. //IUnKnow interface
  15. virtual HRESULT __stdcall  QueryInterface(const IID& iid, void **ppv);
  16. virtual ULONG __stdcall Release();
  17. virtual ULONG __stdcall AddRef();
  18. //IEnumString interface
  19. virtual HRESULT __stdcall Next(ULONG celt, LPOLESTR* rgelt, ULONG* pceltFetched);
  20. virtual HRESULT __stdcall Reset();
  21. virtual HRESULT __stdcall Skip(ULONG celt);
  22. virtual HRESULT __stdcall Clone(IEnumString** ppEnum);
  23. INT_PTR AddString(LPCSTR lpszStr);
  24. CAutoEnumString();
  25. virtual ~CAutoEnumString();
  26. HRESULT Copy(LPOLESTR* p1, LPOLESTR* p2);
  27. protected:
  28. CStringArray m_arString;
  29. int m_iterCur;
  30. private:
  31. int m_Ref ;
  32. };
  33. #endif // !defined(AFX_AUTOENUMSTRING_H__14812C31_DA2E_4C0F_8BB7_F0EA89B11C3A__INCLUDED_)