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.

60 lines
1.8 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999-2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // EnumIPAddresses.h
  7. //
  8. // Description:
  9. // CEnumIPAddresses implementation.
  10. //
  11. // Maintained By:
  12. // Galen Barbee (GalenB) 24-MAY-2000
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. #pragma once
  16. // CEnumIPAddresses
  17. class CEnumIPAddresses
  18. : public IExtendObjectManager
  19. , public IEnumClusCfgIPAddresses
  20. {
  21. private:
  22. // IUnknown
  23. LONG m_cRef; // Reference counter
  24. // IEnumClusCfgNetworks
  25. ULONG m_cAlloced; // Allocation size of the list
  26. ULONG m_cIter; // Out iter
  27. IClusCfgIPAddressInfo ** m_pList; // List of interfaces
  28. private: // Methods
  29. CEnumIPAddresses( void );
  30. ~CEnumIPAddresses( void );
  31. STDMETHOD( HrInit )( void );
  32. public: // Methods
  33. static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
  34. // IUnknown
  35. STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut );
  36. STDMETHOD_( ULONG, AddRef )( void );
  37. STDMETHOD_( ULONG, Release )( void );
  38. // IEnumClusCfgNetworks
  39. STDMETHOD( Next )( ULONG celt, IClusCfgIPAddressInfo * rgNetworksOut[], ULONG * pceltFetchedOut );
  40. STDMETHOD( Skip )( ULONG celt );
  41. STDMETHOD( Reset )( void );
  42. STDMETHOD( Clone )( IEnumClusCfgIPAddresses ** ppenumOut );
  43. STDMETHOD( Count )( DWORD * pnCountOut );
  44. // IExtendObjectManager
  45. STDMETHOD( FindObject )(
  46. OBJECTCOOKIE cookieParent
  47. , REFCLSID rclsidTypeIn
  48. , LPCWSTR pcszNameIn
  49. , LPUNKNOWN * ppunkOut
  50. );
  51. }; //*** class CEnumIPAddresses