ReactOS  0.4.12-dev-51-ge94618b
ATL::CComQIIDPtr< T, piid > Class Template Reference

#include <atlcomcli.h>

Inheritance diagram for ATL::CComQIIDPtr< T, piid >:
Collaboration diagram for ATL::CComQIIDPtr< T, piid >:

Public Member Functions

 CComQIIDPtr ()
 
 CComQIIDPtr (_Inout_opt_ T *lp)
 
 CComQIIDPtr (_Inout_ const CComQIIDPtr< T, piid > &lp)
 
 CComQIIDPtr (_Inout_opt_ IUnknown *lp)
 
Toperator= (T *lp)
 
Toperator= (const CComQIIDPtr< T, piid > &lp)
 
Toperator= (IUnknown *lp)
 
- Public Member Functions inherited from ATL::CComPtr< T >
 CComPtr ()
 
 CComPtr (T *lp)
 
 CComPtr (const CComPtr< T > &lp)
 
 ~CComPtr ()
 
Toperator= (T *lp)
 
Toperator= (const CComPtr< T > &lp)
 
void Release ()
 
void Attach (T *lp)
 
TDetach ()
 
T ** operator& ()
 
 operator T* ()
 
Toperator-> ()
 

Additional Inherited Members

- Public Attributes inherited from ATL::CComPtr< T >
Tp
 

Detailed Description

template<class T, const IID * piid>
class ATL::CComQIIDPtr< T, piid >

Definition at line 182 of file atlcomcli.h.

Constructor & Destructor Documentation

◆ CComQIIDPtr() [1/4]

template<class T, const IID * piid>
ATL::CComQIIDPtr< T, piid >::CComQIIDPtr ( )
inline

Definition at line 189 of file atlcomcli.h.

190  {
191  }

◆ CComQIIDPtr() [2/4]

template<class T, const IID * piid>
ATL::CComQIIDPtr< T, piid >::CComQIIDPtr ( _Inout_opt_ T lp)
inline

Definition at line 192 of file atlcomcli.h.

192  :
193  CComPtr<T>(lp)
194  {
195  }

◆ CComQIIDPtr() [3/4]

template<class T, const IID * piid>
ATL::CComQIIDPtr< T, piid >::CComQIIDPtr ( _Inout_ const CComQIIDPtr< T, piid > &  lp)
inline

Definition at line 196 of file atlcomcli.h.

196  :
197  CComPtr<T>(lp.p)
198  {
199  }

◆ CComQIIDPtr() [4/4]

template<class T, const IID * piid>
ATL::CComQIIDPtr< T, piid >::CComQIIDPtr ( _Inout_opt_ IUnknown lp)
inline

Definition at line 200 of file atlcomcli.h.

201  {
202  if (lp != NULL)
203  {
204  if (FAILED(lp->QueryInterface(*piid, (void**)(IUnknown**)&p)))
205  p = NULL;
206  }
207  }
smooth NULL
Definition: ftsmooth.c:416
GLfloat GLfloat p
Definition: glext.h:8902

Member Function Documentation

◆ operator=() [1/3]

template<class T, const IID * piid>
T* ATL::CComQIIDPtr< T, piid >::operator= ( T lp)
inline

Definition at line 208 of file atlcomcli.h.

209  {
210  T* pOld = p;
211 
212  p = lp;
213  if (p != NULL)
214  p->AddRef();
215 
216  if (pOld != NULL)
217  pOld->Release();
218 
219  return *this;
220  }
#define T
Definition: mbstring.h:31
smooth NULL
Definition: ftsmooth.c:416
GLfloat GLfloat p
Definition: glext.h:8902

◆ operator=() [2/3]

template<class T, const IID * piid>
T* ATL::CComQIIDPtr< T, piid >::operator= ( const CComQIIDPtr< T, piid > &  lp)
inline

Definition at line 222 of file atlcomcli.h.

223  {
224  T* pOld = p;
225 
226  p = lp.p;
227  if (p != NULL)
228  p->AddRef();
229 
230  if (pOld != NULL)
231  pOld->Release();
232 
233  return *this;
234  }
#define T
Definition: mbstring.h:31
smooth NULL
Definition: ftsmooth.c:416
GLfloat GLfloat p
Definition: glext.h:8902

◆ operator=() [3/3]

template<class T, const IID * piid>
T* ATL::CComQIIDPtr< T, piid >::operator= ( IUnknown lp)
inline

Definition at line 236 of file atlcomcli.h.

237  {
238  T* pOld = p;
239 
240  if (!lp || FAILED(lp->QueryInterface(*piid, (void**)(IUnknown**)&p)))
241  p = NULL;
242 
243  if (pOld != NULL)
244  pOld->Release();
245 
246  return *this;
247  }
#define T
Definition: mbstring.h:31
smooth NULL
Definition: ftsmooth.c:416
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
GLfloat GLfloat p
Definition: glext.h:8902

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