ReactOS 0.4.15-dev-7089-gea8a49d
anonymous_namespace{mstscax.cpp}::CConnectionPoint Class Reference
Inheritance diagram for anonymous_namespace{mstscax.cpp}::CConnectionPoint:
Collaboration diagram for anonymous_namespace{mstscax.cpp}::CConnectionPoint:

Public Member Functions

 CConnectionPoint (IConnectionPoint *pIConnectionPoint)
 
 ~CConnectionPoint ()
 
virtual HRESULT STDMETHODCALLTYPE QueryInterface (REFIID riid, void **ppvObject)
 
virtual ULONG STDMETHODCALLTYPE AddRef (void)
 
virtual ULONG STDMETHODCALLTYPE Release (void)
 
virtual HRESULT STDMETHODCALLTYPE GetConnectionInterface (IID *pIID)
 
virtual HRESULT STDMETHODCALLTYPE GetConnectionPointContainer (IConnectionPointContainer **ppCPC)
 
virtual HRESULT STDMETHODCALLTYPE Advise (IUnknown *pUnkSink, DWORD *pdwCookie)
 
virtual HRESULT STDMETHODCALLTYPE Unadvise (DWORD dwCookie)
 
virtual HRESULT STDMETHODCALLTYPE EnumConnections (IEnumConnections **ppEnum)
 
HRESULT GetConnectionInterface ([out] IID *pIID)
 
HRESULT GetConnectionPointContainer ([out] IConnectionPointContainer **ppCPC)
 
HRESULT Advise ([in] IUnknown *pUnkSink, [out] DWORD *pdwCookie)
 
HRESULT Unadvise ([in] DWORD dwCookie)
 
HRESULT EnumConnections ([out] IEnumConnections **ppEnum)
 
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Private Attributes

LONG m_refCount
 
IConnectionPointm_IConnectionPoint
 

Additional Inherited Members

- Public Types inherited from IConnectionPoint
typedef IConnectionPointPCONNECTIONPOINT
 
typedef IConnectionPointLPCONNECTIONPOINT
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 

Detailed Description

Definition at line 448 of file mstscax.cpp.

Constructor & Destructor Documentation

◆ CConnectionPoint()

anonymous_namespace{mstscax.cpp}::CConnectionPoint::CConnectionPoint ( IConnectionPoint pIConnectionPoint)
inline

Definition at line 455 of file mstscax.cpp.

◆ ~CConnectionPoint()

anonymous_namespace{mstscax.cpp}::CConnectionPoint::~CConnectionPoint ( )
inline

Definition at line 460 of file mstscax.cpp.

ULONG Release()

Member Function Documentation

◆ AddRef()

virtual ULONG STDMETHODCALLTYPE anonymous_namespace{mstscax.cpp}::CConnectionPoint::AddRef ( void  )
inlinevirtual

Implements IUnknown.

Definition at line 480 of file mstscax.cpp.

481 {
483 }
#define InterlockedIncrement
Definition: armddk.h:53

◆ Advise()

virtual HRESULT STDMETHODCALLTYPE anonymous_namespace{mstscax.cpp}::CConnectionPoint::Advise ( IUnknown pUnkSink,
DWORD pdwCookie 
)
inlinevirtual

Implements IConnectionPoint.

Definition at line 515 of file mstscax.cpp.

516 {
517 dbgprintf(TEXT("CConnectionPoint::Advise(%p, %p)"), pUnkSink, pdwCookie);
518 HRESULT hr = m_IConnectionPoint->Advise(pUnkSink, pdwCookie);
519 dbgprintf(TEXT("CConnectionPoint::Advise -> %08X, dwCookie = %lu"), hr, *pdwCookie);
520 // TODO: hook sink
521 return hr;
522 }
HRESULT Advise([in] IUnknown *pUnkSink, [out] DWORD *pdwCookie)
#define TEXT(s)
Definition: k32.h:26
void dbgprintf(LPCTSTR fmt,...)
Definition: mstscax.cpp:42
HRESULT hr
Definition: shlfolder.c:183

◆ EnumConnections()

virtual HRESULT STDMETHODCALLTYPE anonymous_namespace{mstscax.cpp}::CConnectionPoint::EnumConnections ( IEnumConnections **  ppEnum)
inlinevirtual

Implements IConnectionPoint.

Definition at line 532 of file mstscax.cpp.

533 {
534 dbgprintf(TEXT("CConnectionPoint::EnumConnections(%p)"), ppEnum);
536 dbgprintf(TEXT("CConnectionPoint::EnumConnections -> %08X, pEnum = %p"), hr, *ppEnum);
537
538 if(SUCCEEDED(hr))
539 *ppEnum = HookIEnumConnections(*ppEnum);
540
541 return hr;
542 }
HRESULT EnumConnections([out] IEnumConnections **ppEnum)
#define SUCCEEDED(hr)
Definition: intsafe.h:50
IEnumConnections * HookIEnumConnections(IEnumConnections *p)
Definition: mstscax.cpp:644

◆ GetConnectionInterface()

virtual HRESULT STDMETHODCALLTYPE anonymous_namespace{mstscax.cpp}::CConnectionPoint::GetConnectionInterface ( IID pIID)
inlinevirtual

Implements IConnectionPoint.

Definition at line 495 of file mstscax.cpp.

496 {
497 dbgprintf(TEXT("CConnectionPoint::GetConnectionInterface(%p)"), pIID);
499 dbgprintf(TEXT("CConnectionPoint::GetConnectionInterface -> %08X, IID = %ls"), hr, UUIDToString(*pIID).c_str());
500 return hr;
501 }
HRESULT GetConnectionInterface([out] IID *pIID)
std::wstring UUIDToString(const UUID &uuid)
Definition: mstscax.cpp:110

◆ GetConnectionPointContainer()

virtual HRESULT STDMETHODCALLTYPE anonymous_namespace{mstscax.cpp}::CConnectionPoint::GetConnectionPointContainer ( IConnectionPointContainer **  ppCPC)
inlinevirtual

Implements IConnectionPoint.

Definition at line 503 of file mstscax.cpp.

504 {
505 dbgprintf(TEXT("CConnectionPoint::GetConnectionPointContainer(%p)"), ppCPC);
507 dbgprintf(TEXT("CConnectionPoint::GetConnectionPointContainer -> %08X, pCPC = %p"), hr, *ppCPC);
508
509 if(SUCCEEDED(hr))
510 *ppCPC = HookIConnectionPointContainer(*ppCPC);
511
512 return hr;
513 }
HRESULT GetConnectionPointContainer([out] IConnectionPointContainer **ppCPC)
IConnectionPointContainer * HookIConnectionPointContainer(IConnectionPointContainer *p)
Definition: mstscax.cpp:629

◆ QueryInterface()

virtual HRESULT STDMETHODCALLTYPE anonymous_namespace{mstscax.cpp}::CConnectionPoint::QueryInterface ( REFIID  riid,
void **  ppvObject 
)
inlinevirtual

Implements IUnknown.

Definition at line 462 of file mstscax.cpp.

463 {
464 HRESULT hr = S_OK;
465
466 dbgprintf(TEXT("CConnectionPoint::QueryInterface(%ls, %p)"), UUIDToString(riid).c_str(), ppvObject);
467
469 *ppvObject = this;
470 else
471 {
472 *ppvObject = NULL;
474 }
475
476 dbgprintf(TEXT("CConnectionPoint::QueryInterface -> %08X, ppvObject = %p"), hr, *ppvObject);
477 return hr;
478 }
const GUID IID_IUnknown
#define NULL
Definition: types.h:112
REFIID riid
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
const GUID IID_IConnectionPoint
_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

◆ Release()

virtual ULONG STDMETHODCALLTYPE anonymous_namespace{mstscax.cpp}::CConnectionPoint::Release ( void  )
inlinevirtual

Implements IUnknown.

Definition at line 485 of file mstscax.cpp.

486 {
488
489 if(n == 0)
490 delete this;
491
492 return n;
493 }
#define InterlockedDecrement
Definition: armddk.h:52
GLdouble n
Definition: glext.h:7729
long LONG
Definition: pedump.c:60

◆ Unadvise()

virtual HRESULT STDMETHODCALLTYPE anonymous_namespace{mstscax.cpp}::CConnectionPoint::Unadvise ( DWORD  dwCookie)
inlinevirtual

Implements IConnectionPoint.

Definition at line 524 of file mstscax.cpp.

525 {
526 dbgprintf(TEXT("CConnectionPoint::Unadvise(%lu)"), dwCookie);
528 dbgprintf(TEXT("CConnectionPoint::Unadvise -> %08X"), hr);
529 return hr;
530 }
HRESULT Unadvise([in] DWORD dwCookie)

Member Data Documentation

◆ m_IConnectionPoint

IConnectionPoint* anonymous_namespace{mstscax.cpp}::CConnectionPoint::m_IConnectionPoint
private

Definition at line 452 of file mstscax.cpp.

◆ m_refCount

LONG anonymous_namespace{mstscax.cpp}::CConnectionPoint::m_refCount
private

Definition at line 451 of file mstscax.cpp.


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