~ComPtr()
	{
		if (m_ptr)
		{
			m_ptr->Release();
		}
	}
Exemple #2
0
	inline void Clear()
	{
		if (ptr) {
			ptr->Release();
			ptr = NULL;
		}
	}
	inline void Clear()
	{
		if (ptr) {
			ptr->Release();
			ptr = nullptr;
		}
	}
Exemple #4
0
	inline void Replace(T *p)
	{
		if (ptr != p) {
			if (p)   p->AddRef();
			if (ptr) ptr->Release();
			ptr = p;
		}
	}
	inline ULONG Release()
	{
		ULONG ref;

		if (!ptr) return 0;
		ref = ptr->Release();
		ptr = nullptr;
		return ref;
	}
Exemple #6
0
 ~AutoCOMPtr() {
    if (m_ptr) {
       m_ptr->Release();
    }
 }
Exemple #7
0
	inline void Kill()
	{
		if (ptr)
			ptr->Release();
	}