windows-nt/Source/XPSP1/NT/admin/activec/samples/sdksamples/taskpads/enumtask.h
2020-09-26 16:20:57 +08:00

63 lines
1.6 KiB
C++

//==============================================================;
//
// This source code is only intended as a supplement to
// existing Microsoft documentation.
//
//
//
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
//
//
//
//==============================================================;
#ifndef _ENUMTASK_H
#define _ENUMTASK_H
#include <mmc.h>
class CEnumTASK : public IEnumTASK
{
public:
CEnumTASK(MMC_TASK *pTaskList, ULONG nTasks);
virtual ~CEnumTASK();
///////////////////////////////
// Interface IUnknown
///////////////////////////////
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
///////////////////////////////
// Interface IEnumTASK
///////////////////////////////
virtual HRESULT STDMETHODCALLTYPE Next(
/* [in] */ ULONG celt,
/* [length_is][size_is][out] */ MMC_TASK __RPC_FAR *rgelt,
/* [out] */ ULONG __RPC_FAR *pceltFetched);
virtual HRESULT STDMETHODCALLTYPE Skip(
/* [in] */ ULONG celt);
virtual HRESULT STDMETHODCALLTYPE Reset( void);
virtual HRESULT STDMETHODCALLTYPE Clone(
/* [out] */ IEnumTASK __RPC_FAR *__RPC_FAR *ppenum);
private:
MMC_TASK *m_pTaskList;
ULONG m_TaskCount;
ULONG m_CurrTask;
ULONG m_cref;
};
#endif // _ENUMTASK_H