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.

48 lines
1.1 KiB

  1. //
  2. // erfa.h
  3. //
  4. // CEnumRangesFromAnchorsBase
  5. //
  6. // Base class for range enumerators.
  7. //
  8. #ifndef ERFA_H
  9. #define ERFA_H
  10. class CInputContext;
  11. class CSharedAnchorArray;
  12. class __declspec(novtable) CEnumRangesFromAnchorsBase : public IEnumTfRanges,
  13. public CComObjectRootImmx
  14. {
  15. public:
  16. CEnumRangesFromAnchorsBase() {}
  17. virtual ~CEnumRangesFromAnchorsBase();
  18. BEGIN_COM_MAP_IMMX(CEnumRangesFromAnchorsBase)
  19. COM_INTERFACE_ENTRY(IEnumTfRanges)
  20. END_COM_MAP_IMMX()
  21. IMMX_OBJECT_IUNKNOWN_FOR_ATL()
  22. // derived class supplies an _Init() method here
  23. // It must initialize:
  24. // _pic
  25. // _iCur
  26. // _prgAnchors
  27. //
  28. // the default dtor will clean these guys up.
  29. // IEnumTfRanges
  30. STDMETHODIMP Clone(IEnumTfRanges **ppEnum);
  31. STDMETHODIMP Next(ULONG ulCount, ITfRange **ppRange, ULONG *pcFetched);
  32. STDMETHODIMP Reset();
  33. STDMETHODIMP Skip(ULONG ulCount);
  34. protected:
  35. CInputContext *_pic;
  36. int _iCur;
  37. CSharedAnchorArray *_prgAnchors;
  38. };
  39. #endif // ERFA_H