16 template<
class _TYPE = IUnknown>
25 #if defined(_WIN32) && ! defined(__ATLCOMCLI_H__) && defined(_MSC_VER)
26 HRESULT CoCreateInstance(REFCLSID rclsid,
IUnknown* pUnkOuter =
nullptr, DWORD dwClsContext = CLSCTX_ALL)
30 ASSERT(cComInit::sm_nInitCalls);
31 return ::CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(_TYPE),
get_PPtrV());
37 return(pOther ==
nullptr);
38 if (pOther ==
nullptr)
39 return(
m_p ==
nullptr);
45 return punk1 == punk2;
47 template <
class _TYPEQ>
48 HRESULT QueryInterface(_TYPEQ** pp)
const
52 return m_p->QueryInterface(__uuidof(_TYPEQ), (
void**)pp);
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define ASSERT(exp)
Definition: cDebugAssert.h:87
_TYPE TYPE_t
Definition: cComPtr.h:23
Definition: cIUnkPtr.h:32
void ** get_PPtrV()
Definition: cIUnkPtr.h:135
HRESULT SetQI(IUnknown *p2, const IID &riid)
Definition: cIUnkPtr.h:161
IUnknown * m_p
Pointer to some object of TYPE.
Definition: cPtrFacade.h:28
Definition: IUnknown.h:68