Source code of Windows XP (NT5)
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.

58 lines
1.7 KiB

  1. /**********************************************************************/
  2. /** Microsoft Windows/NT **/
  3. /** Copyright(c) Microsoft Corporation, 1997 - 1998 **/
  4. /**********************************************************************/
  5. /*
  6. Task.h
  7. Prototypes for the task holder/enumerator object
  8. FILE HISTORY:
  9. */
  10. #ifndef _TASK_H
  11. #define _TASK_H
  12. typedef CArray<MMC_TASK, MMC_TASK&> CTaskListArray;
  13. class CTaskList : public IEnumTASK
  14. {
  15. public:
  16. CTaskList();
  17. virtual ~CTaskList();
  18. DeclareIUnknownMembers(IMPL)
  19. // IEnumTASK members
  20. STDMETHOD(Next)(ULONG celt, MMC_TASK * rgelt, ULONG * pceltFetched);
  21. STDMETHOD(Skip)(ULONG celt);
  22. STDMETHOD(Reset)();
  23. STDMETHOD(Clone)(IEnumTASK ** ppEnumTask);
  24. public:
  25. // helpers
  26. HRESULT AddTask(LPOLESTR pszMouseOverBitmapResource,
  27. LPOLESTR pszMouseOffBitmapResource,
  28. LPOLESTR pszText,
  29. LPOLESTR pszHelpString,
  30. MMC_ACTION_TYPE mmcAction,
  31. long nCommandID);
  32. HRESULT AddTask(LPOLESTR pszMouseOverBitmapResource,
  33. LPOLESTR pszMouseOffBitmapResource,
  34. LPOLESTR pszText,
  35. LPOLESTR pszHelpString,
  36. MMC_ACTION_TYPE mmcAction,
  37. LPOLESTR pszActionURLorScript);
  38. protected:
  39. HRESULT _Clone(int m_nIndex, CTaskListArray & arrayTasks);
  40. BOOL FillTask(MMC_TASK * pmmcTask, int nIndex);
  41. protected:
  42. CTaskListArray m_arrayTasks;
  43. ULONG m_uIndex;
  44. long m_cRef;
  45. };
  46. #endif _TASK_H