windows-nt/Source/XPSP1/NT/admin/activec/nodemgr/taskenum.h
2020-09-26 16:20:57 +08:00

77 lines
1.5 KiB
C++

//____________________________________________________________________________
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997 - 1999
//
// File: taskenum.h
//
// Contents:
//
// Classes:
//
// Functions:
//
// History: 11/19/1997 RaviR Created
//____________________________________________________________________________
//
#ifndef TASKENUM_H__
#define TASKENUM_H__
struct STaskEnums
{
CLSID clsid;
IEnumTASK* pET;
};
class CTaskEnumerator : public IEnumTASK,
public CComObjectRoot
{
// Constructor & destructor
public:
CTaskEnumerator() : m_posCurr(NULL)
{
}
~CTaskEnumerator();
// ATL COM map
public:
BEGIN_COM_MAP(CTaskEnumerator)
COM_INTERFACE_ENTRY(IEnumTASK)
END_COM_MAP()
// IEnumTASK methods
public:
STDMETHOD(Next)(ULONG celt, MMC_TASK *rgelt, ULONG *pceltFetched);
STDMETHOD(Reset)();
STDMETHOD(Skip)(ULONG celt)
{
return E_NOTIMPL;
}
STDMETHOD(Clone)(IEnumTASK **ppenum)
{
return E_NOTIMPL;
}
// public methods
public:
bool AddTaskEnumerator(const CLSID& clsid, IEnumTASK* pEnumTASK);
// Implementation
private:
CList<STaskEnums, STaskEnums&> m_list;
POSITION m_posCurr;
// Ensure that default copy constructor & assignment are not used.
CTaskEnumerator(const CTaskEnumerator& rhs);
CTaskEnumerator& operator=(const CTaskEnumerator& rhs);
}; // class CTaskEnumerator
#endif // TASKENUM_H__