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.
 
 
 
 
 
 

215 lines
3.8 KiB

//////////////////////////////////////////////////////////////////////////////
/*++
Copyright (C) Microsoft Corporation, 1998 - 1999
Module Name:
IASEnumerableAttributeInfo.cpp
Abstract:
Implementation file for the CEnumerableAttributeInfo class.
Revision History:
mmaguire 06/25/98 - created
--*/
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// BEGIN INCLUDES
//
// standard includes:
//
#include "Precompiled.h"
//
// where we can find declaration for main class in this file:
//
#include "IASEnumerableAttributeInfo.h"
//
// where we can find declarations needed in this file:
//
//
// END INCLUDES
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
/*++
CEnumerableAttributeInfo::get_CountEnumerateID
--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CEnumerableAttributeInfo::get_CountEnumerateID(long * pVal)
{
// Check for preconditions:
if( pVal == NULL )
{
return E_INVALIDARG;
}
try
{
*pVal = m_veclEnumerateID.size();
}
catch(...)
{
return E_FAIL;
}
return S_OK;
}
//////////////////////////////////////////////////////////////////////////////
/*++
CEnumerableAttributeInfo::get_EnumerateID
--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CEnumerableAttributeInfo::get_EnumerateID(long index, long * pVal)
{
// Check for preconditions:
if( pVal == NULL )
{
return E_INVALIDARG;
}
HRESULT hr = S_OK;
try
{
*pVal = m_veclEnumerateID[index] ;
}
catch(...)
{
return E_FAIL;
}
return hr;
}
//////////////////////////////////////////////////////////////////////////////
/*++
CEnumerableAttributeInfo::AddEnumerateID
--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CEnumerableAttributeInfo::AddEnumerateID( long newVal)
{
// Check for preconditions:
// None.
HRESULT hr = S_OK;
try
{
m_veclEnumerateID.push_back( newVal );
}
catch(...)
{
return E_FAIL;
}
return hr;
}
//////////////////////////////////////////////////////////////////////////////
/*++
CEnumerableAttributeInfo::get_CountEnumerateDescription
--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CEnumerableAttributeInfo::get_CountEnumerateDescription(long * pVal)
{
// Check for preconditions:
if( pVal == NULL )
{
return E_INVALIDARG;
}
try
{
*pVal = m_vecbstrEnumerateDescription.size();
}
catch(...)
{
return E_FAIL;
}
return S_OK;
}
//////////////////////////////////////////////////////////////////////////////
/*++
CEnumerableAttributeInfo::get_EnumerateDescription
--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CEnumerableAttributeInfo::get_EnumerateDescription(long index, BSTR * pVal)
{
// Check for preconditions:
if( pVal == NULL )
{
return E_INVALIDARG;
}
try
{
*pVal = m_vecbstrEnumerateDescription[index].Copy();
}
catch(...)
{
return E_FAIL;
}
return S_OK;
}
//////////////////////////////////////////////////////////////////////////////
/*++
CEnumerableAttributeInfo::AddEnumerateDescription
--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CEnumerableAttributeInfo::AddEnumerateDescription( BSTR newVal)
{
// Check for preconditions:
// None.
HRESULT hr = S_OK;
try
{
m_vecbstrEnumerateDescription.push_back( newVal );
}
catch(...)
{
return E_FAIL;
}
return hr;
}