windows-nt/Source/XPSP1/NT/base/cluster/mgmt/cluscfg/middletier/enumipaddresses.h
2020-09-26 16:20:57 +08:00

64 lines
1.8 KiB
C++

//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1999-2001 Microsoft Corporation
//
// Module Name:
// EnumIPAddresses.h
//
// Description:
// CEnumIPAddresses implementation.
//
// Maintained By:
// Galen Barbee (GalenB) 24-MAY-2000
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
// CEnumIPAddresses
class
CEnumIPAddresses:
public IExtendObjectManager,
public IEnumClusCfgIPAddresses
{
private:
// IUnknown
LONG m_cRef; // Reference counter
// IEnumClusCfgNetworks
ULONG m_cAlloced; // Allocation size of the list
ULONG m_cIter; // Out iter
IClusCfgIPAddressInfo ** m_pList; // List of interfaces
private: // Methods
CEnumIPAddresses( );
~CEnumIPAddresses();
STDMETHOD( Init )( void );
public: // Methods
static HRESULT
S_HrCreateInstance( IUnknown ** ppunkOut );
// IUnknown
STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
STDMETHOD_( ULONG, AddRef )( void );
STDMETHOD_( ULONG, Release )( void );
// IEnumClusCfgNetworks
STDMETHOD( Next )( ULONG celt, IClusCfgIPAddressInfo * rgNetworksOut[], ULONG * pceltFetchedOut );
STDMETHOD( Skip )( ULONG celt );
STDMETHOD( Reset )( void );
STDMETHOD( Clone )( IEnumClusCfgIPAddresses ** ppenumOut );
STDMETHOD( Count )( DWORD * pnCountOut );
// IExtendObjectManager
STDMETHOD( FindObject )(
OBJECTCOOKIE cookieParent
, REFCLSID rclsidTypeIn
, LPCWSTR pcszNameIn
, LPUNKNOWN * ppunkOut
);
}; // class CEnumIPAddresses