// // IClassFactory implementation // HRESULT __stdcall CFactory::CreateInstance(IUnknown* pUnknownOuter, const IID& iid, void** ppv) { if (!ppv) return E_POINTER; // Cannot aggregate. if (pUnknownOuter) return CLASS_E_NOAGGREGATION ; // Create component. ATL::CComPtr<GitWCRev> pA; pA.Attach(new (std::nothrow) GitWCRev()); // refcount set to 1 in constructor if (!pA) return E_OUTOFMEMORY ; return pA->QueryInterface(iid, ppv); }