ReactOS 0.4.15-dev-8093-g3285f69
SEALED_::CEnumConnectionPoints Class Reference
Inheritance diagram for SEALED_::CEnumConnectionPoints:
Collaboration diagram for SEALED_::CEnumConnectionPoints:

Public Member Functions

 CEnumConnectionPoints (IConnectionPoint *cp)
 
 CEnumConnectionPoints (const CEnumConnectionPoints &ecp)
 
 ~CEnumConnectionPoints ()
 
virtual STDMETHODIMP QueryInterface (REFIID riid, void **ppvObject)
 
virtual STDMETHODIMP_ (ULONG) AddRef()
 
virtual STDMETHODIMP_ (ULONG) Release()
 
virtual STDMETHODIMP Next (ULONG cConnections, LPCONNECTIONPOINT *ppCP, ULONG *pcFetched)
 
virtual STDMETHODIMP Skip (ULONG cConnections)
 
virtual STDMETHODIMP Reset ()
 
virtual STDMETHODIMP Clone (IEnumConnectionPoints **ppEnum)
 
- Public Member Functions inherited from IEnumConnectionPoints
HRESULT Next ([in] ULONG cConnections, [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP, [out] ULONG *pcFetched)
 
HRESULT RemoteNext ([in] ULONG cConnections, [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP, [out] ULONG *pcFetched)
 
HRESULT Skip ([in] ULONG cConnections)
 
HRESULT Reset ()
 
HRESULT Clone ([out] IEnumConnectionPoints **ppEnum)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Private Attributes

LONG m_refCount
 
IConnectionPointm_cp
 
bool m_done
 

Additional Inherited Members

- Public Types inherited from IEnumConnectionPoints
typedef IEnumConnectionPointsPENUMCONNECTIONPOINTS
 
typedef IEnumConnectionPointsLPENUMCONNECTIONPOINTS
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 

Detailed Description

Definition at line 4064 of file activex.cpp.

Constructor & Destructor Documentation

◆ CEnumConnectionPoints() [1/2]

SEALED_::CEnumConnectionPoints::CEnumConnectionPoints ( IConnectionPoint cp)
inline

Definition at line 4072 of file activex.cpp.

4072 : m_refCount(1), m_cp(cp), m_done(false)
4073 {
4074 assert(m_cp);
4075 m_cp->AddRef();
4076 }
IConnectionPoint * m_cp
Definition: activex.cpp:4068
#define assert(x)
Definition: debug.h:53
ULONG AddRef()
POINT cp
Definition: magnifier.c:59

◆ CEnumConnectionPoints() [2/2]

SEALED_::CEnumConnectionPoints::CEnumConnectionPoints ( const CEnumConnectionPoints ecp)
inline

Definition at line 4078 of file activex.cpp.

4078 : m_refCount(1), m_cp(ecp.m_cp), m_done(ecp.m_done)
4079 {
4080 assert(m_cp);
4081 m_cp->AddRef();
4082 }

◆ ~CEnumConnectionPoints()

SEALED_::CEnumConnectionPoints::~CEnumConnectionPoints ( )
inline

Definition at line 4084 of file activex.cpp.

4085 {
4086 assert(m_cp);
4087 m_cp->Release();
4088 }
ULONG Release()

Member Function Documentation

◆ Clone()

virtual STDMETHODIMP SEALED_::CEnumConnectionPoints::Clone ( IEnumConnectionPoints **  ppEnum)
inlinevirtual

Implements IEnumConnectionPoints.

Definition at line 4154 of file activex.cpp.

4155 {
4156 if(ppEnum == NULL)
4157 return E_POINTER;
4158
4159 *ppEnum = new CEnumConnectionPoints(*this);
4160
4161 if(*ppEnum == NULL)
4162 return E_OUTOFMEMORY;
4163
4164 return S_OK;
4165 }
CEnumConnectionPoints(IConnectionPoint *cp)
Definition: activex.cpp:4072
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define NULL
Definition: types.h:112
#define S_OK
Definition: intsafe.h:52
#define E_POINTER
Definition: winerror.h:2365

◆ Next()

virtual STDMETHODIMP SEALED_::CEnumConnectionPoints::Next ( ULONG  cConnections,
LPCONNECTIONPOINT ppCP,
ULONG pcFetched 
)
inlinevirtual

Definition at line 4119 of file activex.cpp.

4120 {
4121 if(cConnections == 0 || m_done)
4122 return S_FALSE;
4123
4124 m_done = true;
4125 m_cp->AddRef();
4126 *ppCP = m_cp;
4127 *pcFetched = 1;
4128
4129 return S_OK;
4130 }
#define S_FALSE
Definition: winerror.h:2357

◆ QueryInterface()

virtual STDMETHODIMP SEALED_::CEnumConnectionPoints::QueryInterface ( REFIID  riid,
void **  ppvObject 
)
inlinevirtual

Implements IUnknown.

Definition at line 4090 of file activex.cpp.

4091 {
4093 {
4094 *ppvObject = this;
4095 return S_OK;
4096 }
4097 else
4098 {
4099 *ppvObject = NULL;
4100 return E_NOINTERFACE;
4101 }
4102 }
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
const GUID IID_IEnumConnectionPoints
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ Reset()

virtual STDMETHODIMP SEALED_::CEnumConnectionPoints::Reset ( void  )
inlinevirtual

Implements IEnumConnectionPoints.

Definition at line 4148 of file activex.cpp.

4149 {
4150 m_done = false;
4151 return S_OK;
4152 }

◆ Skip()

virtual STDMETHODIMP SEALED_::CEnumConnectionPoints::Skip ( ULONG  cConnections)
inlinevirtual

Implements IEnumConnectionPoints.

Definition at line 4132 of file activex.cpp.

4133 {
4134 if(cConnections == 0)
4135 return S_OK;
4136
4137 if(cConnections == 1 && !m_done)
4138 {
4139 m_done = true;
4140 return S_OK;
4141 }
4142
4143 assert(cConnections > 1 || m_done);
4144
4145 return S_FALSE;
4146 }

◆ STDMETHODIMP_() [1/2]

virtual SEALED_::CEnumConnectionPoints::STDMETHODIMP_ ( ULONG  )
inlinevirtual

Definition at line 4104 of file activex.cpp.

4105 {
4107 }
#define InterlockedIncrement
Definition: armddk.h:53

◆ STDMETHODIMP_() [2/2]

virtual SEALED_::CEnumConnectionPoints::STDMETHODIMP_ ( ULONG  )
inlinevirtual

Definition at line 4109 of file activex.cpp.

4110 {
4112
4113 if(n == 0)
4114 delete this;
4115
4116 return n;
4117 }
#define InterlockedDecrement
Definition: armddk.h:52
GLdouble n
Definition: glext.h:7729
long LONG
Definition: pedump.c:60

Member Data Documentation

◆ m_cp

IConnectionPoint* SEALED_::CEnumConnectionPoints::m_cp
private

Definition at line 4068 of file activex.cpp.

◆ m_done

bool SEALED_::CEnumConnectionPoints::m_done
private

Definition at line 4069 of file activex.cpp.

◆ m_refCount

LONG SEALED_::CEnumConnectionPoints::m_refCount
private

Definition at line 4067 of file activex.cpp.


The documentation for this class was generated from the following file: