windows-nt/Source/XPSP1/NT/base/cluster/admin/msclus/clusterobject.h

96 lines
2.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1998-1999 Microsoft Corporation
//
// Module Name:
// ClusterObject.h
//
// Description:
// Definition of the CClusterObject base class.
//
// Implementation File:
// ClusterObject.cpp
//
// Author:
// Galen Barbee (GalenB) 10-Dec-1998
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#ifndef _CLUSTEROBJECT_H_
#define _CLUSTEROBJECT_H_
#ifndef __PROPERTY_H__
#include "property.h"
#endif
/////////////////////////////////////////////////////////////////////////////
// Forward Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CClusterObject;
/////////////////////////////////////////////////////////////////////////////
//++
//
// class CClusterObject
//
// Description:
// Cluster object common implementation base Class.
//
// Inheritance:
//
//--
/////////////////////////////////////////////////////////////////////////////
class ATL_NO_VTABLE CClusterObject
{
public:
//CClusterObject( void );
//~CClusterObject( void );
virtual HRESULT HrLoadProperties( IN CClusPropList & rcplPropList, IN BOOL bReadOnly, IN BOOL bPrivate ) = 0;
virtual HRESULT HrSaveProperties(
IN OUT CClusProperties::CClusPropertyVector & cpvProps,
IN BOOL bPrivate,
OUT VARIANT * pvarStatusCode
);
protected:
virtual HRESULT HrBuildPropertyList(
IN OUT CClusProperties::CClusPropertyVector & cpvProps,
OUT CClusPropList & rcplPropList
);
virtual DWORD ScWriteProperties( IN const CClusPropList & /*rcplPropList*/, IN BOOL /*bPrivate*/ )
{
return E_NOTIMPL;
}
private:
HRESULT HrConvertVariantToDword( IN const CComVariant & rvarValue, OUT PDWORD pdwValue );
HRESULT HrConvertVariantToLong( IN const CComVariant & rvarValue, OUT long * plValue );
HRESULT HrConvertVariantToULONGLONG( IN const CComVariant & rvarValue, OUT PULONGLONG pullValue );
HRESULT HrAddBinaryProp(
IN OUT CClusPropList & rcplPropList,
IN LPCWSTR pszPropName,
IN DWORD cbLength,
IN const CComVariant & rvarPropValue
);
HRESULT HrAddMultiSzProp(
IN OUT CClusPropList & rcplPropList,
IN LPCWSTR pszPropName,
IN const CComObject< CClusPropertyValues > & rcpvValues
);
}; //*** Class CClusterObject
#endif // _CLUSTEROBJECT_H_