100 lines
2.6 KiB
C++
100 lines
2.6 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1998-1999 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// Version.h
|
|
//
|
|
// Description:
|
|
// Definition of the cluster version classes for the MSCLUS automation
|
|
// classes.
|
|
//
|
|
// Implementation File:
|
|
// Version.cpp
|
|
//
|
|
// Author:
|
|
// Galen Barbee (galenb) 26-Oct-1998
|
|
//
|
|
// Revision History:
|
|
//
|
|
// Notes:
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __VERSION_H_
|
|
#define __VERSION_H__
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Forward Class Declarations
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
class CClusVerion;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class CCluster
|
|
//
|
|
// Description:
|
|
// Cluster Version Automation Class.
|
|
//
|
|
// Inheritance:
|
|
// IDispatchImpl< ISClusVersion, &IID_ISClusVersion, &LIBID_MSClusterLib, MAJORINTERFACEVER, MINORINTERFACEVER >,
|
|
// CSupportErrorInfo
|
|
// CComObjectRootEx< CComSingleThreadModel >
|
|
// CComCoClass< CClusVersion, &CLSID_ClusVersion >
|
|
//
|
|
//--
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
class ATL_NO_VTABLE CClusVersion :
|
|
public IDispatchImpl< ISClusVersion, &IID_ISClusVersion, &LIBID_MSClusterLib, MAJORINTERFACEVER, MINORINTERFACEVER >,
|
|
public CSupportErrorInfo,
|
|
public CComObjectRootEx< CComSingleThreadModel >,
|
|
public CComCoClass< CClusVersion, &CLSID_ClusVersion >
|
|
{
|
|
typedef CComObjectRootEx< CComSingleThreadModel > BaseComClass;
|
|
|
|
public:
|
|
CClusVersion( void );
|
|
|
|
BEGIN_COM_MAP(CClusVersion)
|
|
COM_INTERFACE_ENTRY(IDispatch)
|
|
COM_INTERFACE_ENTRY(ISClusVersion)
|
|
COM_INTERFACE_ENTRY(ISupportErrorInfo)
|
|
END_COM_MAP()
|
|
|
|
DECLARE_NOT_AGGREGATABLE(CClusVersion)
|
|
DECLARE_NO_REGISTRY()
|
|
|
|
private:
|
|
|
|
CComBSTR m_bstrClusterName;
|
|
CSmartPtr< ISClusRefObject > m_ptrClusRefObject;
|
|
CLUSTERVERSIONINFO m_clusinfo;
|
|
|
|
public:
|
|
HRESULT Create( IN ISClusRefObject * pClusRefObject );
|
|
|
|
STDMETHODIMP get_Name( OUT BSTR * pbstrClusterName );
|
|
|
|
STDMETHODIMP get_VendorId( OUT BSTR * pbstrVendorId );
|
|
|
|
STDMETHODIMP get_CSDVersion( OUT BSTR * pbstrCSDVersion );
|
|
|
|
STDMETHODIMP get_MajorVersion( OUT long * pnMajorVersion );
|
|
|
|
STDMETHODIMP get_MinorVersion( OUT long * pnMinorVersion );
|
|
|
|
STDMETHODIMP get_BuildNumber( OUT short * pnBuildNumber );
|
|
|
|
STDMETHODIMP get_ClusterHighestVersion( OUT long * pnClusterHighestVersion );
|
|
|
|
STDMETHODIMP get_ClusterLowestVersion( OUT long * pnClusterLowestVersion );
|
|
|
|
STDMETHODIMP get_Flags( OUT long * pnFlags );
|
|
|
|
STDMETHODIMP get_MixedVersion( OUT VARIANT * pvarMixedVersion );
|
|
|
|
}; //*** Class CClusVersion
|
|
|
|
#endif // __VERSION_H__
|