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
60 lines
1.8 KiB
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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( void );
|
|
~CEnumIPAddresses( void );
|
|
STDMETHOD( HrInit )( void );
|
|
|
|
public: // Methods
|
|
static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
|
|
|
|
// IUnknown
|
|
STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut );
|
|
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
|