69 lines
1.8 KiB
C++
69 lines
1.8 KiB
C++
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1999-2000 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// CEnumCPINotifyUI.h
|
|
//
|
|
// Description:
|
|
// INotifyUI Connection Point Enumerator implementation.
|
|
//
|
|
// Maintained By:
|
|
// Geoffrey Pease (GPease) 04-AUG-2000
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
class CCPINotifyUI;
|
|
|
|
// CEnumCPINotifyUI
|
|
class
|
|
CEnumCPINotifyUI:
|
|
public IEnumConnections
|
|
{
|
|
friend class CCPINotifyUI;
|
|
private:
|
|
// IUnknown
|
|
LONG m_cRef; // Reference counter
|
|
|
|
// IEnumConnections
|
|
ULONG m_cAlloced; // Alloced number of entries
|
|
ULONG m_cCurrent; // Number of entries currently used
|
|
ULONG m_cIter; // The Iter
|
|
IUnknown * * m_pList; // List of sinks (IUnknown)
|
|
|
|
// INotifyUI
|
|
|
|
private: // Methods
|
|
CEnumCPINotifyUI( );
|
|
~CEnumCPINotifyUI();
|
|
STDMETHOD(Init)( );
|
|
|
|
HRESULT
|
|
HrCopy( CEnumCPINotifyUI * pecpIn );
|
|
HRESULT
|
|
HrAddConnection( IUnknown * punkIn, DWORD * pdwCookieOut );
|
|
HRESULT
|
|
HrRemoveConnection( DWORD dwCookieIn );
|
|
|
|
public: // Methods
|
|
static HRESULT
|
|
S_HrCreateInstance( IUnknown ** ppunkOut );
|
|
|
|
// IUnknown
|
|
STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
|
|
STDMETHOD_( ULONG, AddRef )(void);
|
|
STDMETHOD_( ULONG, Release )(void);
|
|
|
|
// IEnumConnections
|
|
STDMETHOD( Next )( ULONG cConnectionsIn,
|
|
LPCONNECTDATA rgcd,
|
|
ULONG *pcFetchedOut );
|
|
STDMETHOD( Skip )( ULONG cConnectionsIn );
|
|
STDMETHOD( Reset )( void );
|
|
STDMETHOD( Clone )( IEnumConnections **ppEnumOut );
|
|
|
|
}; // class CEnumCPINotifyUI
|
|
|