Source code of Windows XP (NT5)
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.

63 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
  18. CEnumIPAddresses:
  19. public IExtendObjectManager,
  20. public IEnumClusCfgIPAddresses
  21. {
  22. private:
  23. // IUnknown
  24. LONG m_cRef; // Reference counter
  25. // IEnumClusCfgNetworks
  26. ULONG m_cAlloced; // Allocation size of the list
  27. ULONG m_cIter; // Out iter
  28. IClusCfgIPAddressInfo ** m_pList; // List of interfaces
  29. private: // Methods
  30. CEnumIPAddresses( );
  31. ~CEnumIPAddresses();
  32. STDMETHOD( Init )( void );
  33. public: // Methods
  34. static HRESULT
  35. S_HrCreateInstance( IUnknown ** ppunkOut );
  36. // IUnknown
  37. STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
  38. STDMETHOD_( ULONG, AddRef )( void );
  39. STDMETHOD_( ULONG, Release )( void );
  40. // IEnumClusCfgNetworks
  41. STDMETHOD( Next )( ULONG celt, IClusCfgIPAddressInfo * rgNetworksOut[], ULONG * pceltFetchedOut );
  42. STDMETHOD( Skip )( ULONG celt );
  43. STDMETHOD( Reset )( void );
  44. STDMETHOD( Clone )( IEnumClusCfgIPAddresses ** ppenumOut );
  45. STDMETHOD( Count )( DWORD * pnCountOut );
  46. // IExtendObjectManager
  47. STDMETHOD( FindObject )(
  48. OBJECTCOOKIE cookieParent
  49. , REFCLSID rclsidTypeIn
  50. , LPCWSTR pcszNameIn
  51. , LPUNKNOWN * ppunkOut
  52. );
  53. }; // class CEnumIPAddresses