93 lines
3.4 KiB
C
93 lines
3.4 KiB
C
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Copyright (c) 2000-2001 Microsoft Corporation
|
||
|
//
|
||
|
// Module Name:
|
||
|
// CProxyCfgIPAddressInfo.h
|
||
|
//
|
||
|
// Description:
|
||
|
// CProxyCfgIPAddressInfo definition.
|
||
|
//
|
||
|
// Maintained By:
|
||
|
// Galen Barbee (GalenB) 02-AUG-2000
|
||
|
//
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
|
||
|
// Make sure that this file is included only once per compile path.
|
||
|
#pragma once
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
//++
|
||
|
//
|
||
|
// class CProxyCfgIPAddressInfo
|
||
|
//
|
||
|
// Description:
|
||
|
//
|
||
|
//--
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
class CProxyCfgIPAddressInfo
|
||
|
: public IClusCfgIPAddressInfo
|
||
|
{
|
||
|
private:
|
||
|
LONG m_cRef; // Reference counter
|
||
|
IUnknown * m_punkOuter; // Pointer to outer W2K Proxy object
|
||
|
IClusCfgCallback * m_pcccb; // Callback interface
|
||
|
HCLUSTER * m_phCluster; // Pointer to handle of cluster
|
||
|
CLSID * m_pclsidMajor; // Pointer to the CLSID to use to log errors to the UI.
|
||
|
ULONG m_ulIPAddress; // IP Address
|
||
|
ULONG m_ulSubnetMask; // Subnet Mask
|
||
|
|
||
|
CProxyCfgIPAddressInfo( void );
|
||
|
~CProxyCfgIPAddressInfo( void );
|
||
|
|
||
|
// Private copy constructor to prevent copying.
|
||
|
CProxyCfgIPAddressInfo( const CProxyCfgIPAddressInfo & nodeSrc );
|
||
|
|
||
|
// Private assignment operator to prevent copying.
|
||
|
const CProxyCfgIPAddressInfo & operator = ( const CProxyCfgIPAddressInfo & nodeSrc );
|
||
|
|
||
|
HRESULT
|
||
|
HrInit( IUnknown * punkOuterIn,
|
||
|
HCLUSTER * phClusterIn,
|
||
|
CLSID * pclsidMajorIn,
|
||
|
ULONG ulIPAddressIn,
|
||
|
ULONG ulSubnetMaskIn
|
||
|
);
|
||
|
|
||
|
public:
|
||
|
static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut,
|
||
|
IUnknown * punkOuterIn,
|
||
|
HCLUSTER * phClusterIn,
|
||
|
CLSID * pclsidMajorIn,
|
||
|
ULONG ulIPAddressIn,
|
||
|
ULONG ulSubnetMaskIn
|
||
|
);
|
||
|
|
||
|
// IUnknown
|
||
|
STDMETHOD( QueryInterface )( REFIID riid, LPVOID * ppv );
|
||
|
STDMETHOD_( ULONG, AddRef )( void );
|
||
|
STDMETHOD_( ULONG, Release )( void );
|
||
|
|
||
|
// IClusCfgIPAddressInfo
|
||
|
STDMETHOD( GetUID )( BSTR * pbstrUIDOut );
|
||
|
STDMETHOD( GetIPAddress )( ULONG * pulDottedQuadOut );
|
||
|
STDMETHOD( SetIPAddress )( ULONG ulDottedQuadIn );
|
||
|
STDMETHOD( GetSubnetMask )( ULONG * pulDottedQuadOut );
|
||
|
STDMETHOD( SetSubnetMask )( ULONG ulDottedQuadIn );
|
||
|
|
||
|
// IClusCfgCallback
|
||
|
STDMETHOD( SendStatusReport )( BSTR bstrNodeNameIn,
|
||
|
CLSID clsidTaskMajorIn,
|
||
|
CLSID clsidTaskMinorIn,
|
||
|
ULONG ulMinIn,
|
||
|
ULONG ulMaxIn,
|
||
|
ULONG ulCurrentIn,
|
||
|
HRESULT hrStatusIn,
|
||
|
BSTR bstrDescriptionIn,
|
||
|
FILETIME * pftTimeIn,
|
||
|
BSTR bstrReferenceIn
|
||
|
);
|
||
|
|
||
|
}; //*** Class CProxyCfgIPAddressInfo
|