windows-nt/Source/XPSP1/NT/admin/admt/netobjen/nt4enum.cpp
2020-09-26 16:20:57 +08:00

59 lines
1.9 KiB
C++

/*---------------------------------------------------------------------------
File: NT4Enum.cpp
Comments: Implementation of the enumeration object. This object implements
IEnumVARIANT interface.
(c) Copyright 1999, Mission Critical Software, Inc., All Rights Reserved
Proprietary and confidential to Mission Critical Software, Inc.
REVISION LOG ENTRY
Revision By: Sham Chauthani
Revised on 07/02/99 12:40:00
---------------------------------------------------------------------------
*/
#include "stdafx.h"
#include "NetNode.h"
#include "AttrNode.h"
#include "TNode.hpp"
#include "NT4Enum.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CNT4Enum::CNT4Enum(TNodeList * pNodeList) : m_listEnum(pNodeList)
{
m_pNodeList = pNodeList;
}
CNT4Enum::~CNT4Enum()
{
}
//---------------------------------------------------------------------------
// Next : Implements next method of the IEnumVaraint interface. This method
// returns the next object in the enumeration. It returns S_FALSE when
// there are no more objects to enumerate.
//---------------------------------------------------------------------------
HRESULT CNT4Enum::Next(
unsigned long celt, //in -Number of elements to return IGNORED.
VARIANT FAR* rgvar, //out-Variant used to return the object information
unsigned long FAR* pceltFetched //out-Number of elements returned (ALWAYS 1).
)
{
TAttrNode * pNode = (TAttrNode *)m_listEnum.Next();
if ( pNode == NULL )
return S_FALSE;
// *rgvar = pNode->m_Val;
HRESULT hr = VariantCopy(rgvar, &pNode->m_Val);
if (SUCCEEDED(hr))
{
*pceltFetched = 1;
}
return hr;
}