ReactOS  0.4.13-dev-242-g611e6d7
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 188 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 195 of file atlcomcli.h.

196  {
197  }

◆ CComQIIDPtr() [2/4]

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

Definition at line 198 of file atlcomcli.h.

198  :
199  CComPtr<T>(lp)
200  {
201  }

◆ CComQIIDPtr() [3/4]

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

Definition at line 202 of file atlcomcli.h.

202  :
203  CComPtr<T>(lp.p)
204  {
205  }

◆ CComQIIDPtr() [4/4]

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

Definition at line 206 of file atlcomcli.h.

207  {
208  if (lp != NULL)
209  {
210  if (FAILED(lp->QueryInterface(*piid, (void**)(IUnknown**)&p)))
211  p = NULL;
212  }
213  }
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 214 of file atlcomcli.h.

215  {
216  T* pOld = p;
217 
218  p = lp;
219  if (p != NULL)
220  p->AddRef();
221 
222  if (pOld != NULL)
223  pOld->Release();
224 
225  return *this;
226  }
#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 228 of file atlcomcli.h.

229  {
230  T* pOld = p;
231 
232  p = lp.p;
233  if (p != NULL)
234  p->AddRef();
235 
236  if (pOld != NULL)
237  pOld->Release();
238 
239  return *this;
240  }
#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 242 of file atlcomcli.h.

243  {
244  T* pOld = p;
245 
246  if (!lp || FAILED(lp->QueryInterface(*piid, (void**)(IUnknown**)&p)))
247  p = NULL;
248 
249  if (pOld != NULL)
250  pOld->Release();
251 
252  return *this;
253  }
#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: