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.

92 lines
3.5 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000-2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CProxyCfgIPAddressInfo.h
  7. //
  8. // Description:
  9. // CProxyCfgIPAddressInfo definition.
  10. //
  11. // Maintained By:
  12. // Galen Barbee (GalenB) 02-AUG-2000
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. // Make sure that this file is included only once per compile path.
  16. #pragma once
  17. //////////////////////////////////////////////////////////////////////////////
  18. //++
  19. //
  20. // class CProxyCfgIPAddressInfo
  21. //
  22. // Description:
  23. //
  24. //--
  25. //////////////////////////////////////////////////////////////////////////////
  26. class CProxyCfgIPAddressInfo
  27. : public IClusCfgIPAddressInfo
  28. {
  29. private:
  30. LONG m_cRef; // Reference counter
  31. IUnknown * m_punkOuter; // Pointer to outer W2K Proxy object
  32. IClusCfgCallback * m_pcccb; // Callback interface
  33. HCLUSTER * m_phCluster; // Pointer to handle of cluster
  34. CLSID * m_pclsidMajor; // Pointer to the CLSID to use to log errors to the UI.
  35. ULONG m_ulIPAddress; // IP Address
  36. ULONG m_ulSubnetMask; // Subnet Mask
  37. CProxyCfgIPAddressInfo( void );
  38. ~CProxyCfgIPAddressInfo( void );
  39. // Private copy constructor to prevent copying.
  40. CProxyCfgIPAddressInfo( const CProxyCfgIPAddressInfo & nodeSrc );
  41. // Private assignment operator to prevent copying.
  42. const CProxyCfgIPAddressInfo & operator = ( const CProxyCfgIPAddressInfo & nodeSrc );
  43. HRESULT
  44. HrInit( IUnknown * punkOuterIn,
  45. HCLUSTER * phClusterIn,
  46. CLSID * pclsidMajorIn,
  47. ULONG ulIPAddressIn,
  48. ULONG ulSubnetMaskIn
  49. );
  50. public:
  51. static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut,
  52. IUnknown * punkOuterIn,
  53. HCLUSTER * phClusterIn,
  54. CLSID * pclsidMajorIn,
  55. ULONG ulIPAddressIn,
  56. ULONG ulSubnetMaskIn
  57. );
  58. // IUnknown
  59. STDMETHOD( QueryInterface )( REFIID riid, LPVOID * ppv );
  60. STDMETHOD_( ULONG, AddRef )( void );
  61. STDMETHOD_( ULONG, Release )( void );
  62. // IClusCfgIPAddressInfo
  63. STDMETHOD( GetUID )( BSTR * pbstrUIDOut );
  64. STDMETHOD( GetIPAddress )( ULONG * pulDottedQuadOut );
  65. STDMETHOD( SetIPAddress )( ULONG ulDottedQuadIn );
  66. STDMETHOD( GetSubnetMask )( ULONG * pulDottedQuadOut );
  67. STDMETHOD( SetSubnetMask )( ULONG ulDottedQuadIn );
  68. // IClusCfgCallback
  69. STDMETHOD( SendStatusReport )( BSTR bstrNodeNameIn,
  70. CLSID clsidTaskMajorIn,
  71. CLSID clsidTaskMinorIn,
  72. ULONG ulMinIn,
  73. ULONG ulMaxIn,
  74. ULONG ulCurrentIn,
  75. HRESULT hrStatusIn,
  76. BSTR bstrDescriptionIn,
  77. FILETIME * pftTimeIn,
  78. BSTR bstrReferenceIn
  79. );
  80. }; //*** Class CProxyCfgIPAddressInfo