69,373
社区成员
发帖
与我相关
我的任务
分享
BOOL COleObjectFactory::Register()
{
ASSERT_VALID(this);
ASSERT(!m_bRegistered); // registering server/factory twice?
ASSERT(m_clsid != CLSID_NULL);
if (!afxContextIsDLL)
{
// In the application variants, the IClassFactory is registered
// with the OLE DLLs.
SCODE sc = ::CoRegisterClassObject(m_clsid, &m_xClassFactory,
CLSCTX_LOCAL_SERVER,
m_bMultiInstance ? REGCLS_SINGLEUSE : REGCLS_MULTIPLEUSE,
&m_dwRegister);
if (sc != S_OK)
{
#ifdef _DEBUG
TRACE1("Warning: CoRegisterClassObject failed scode = %s.\n",
::AfxGetFullScodeString(sc));
#endif
// registration failed.
return FALSE;
}
ASSERT(m_dwRegister != 0);
}
++m_bRegistered;
return TRUE;
}