HRESULT CAVDConfDlg::InitRTCClient()
{
HRESULT hr;
m_pClient = NULL;
m_pEvents = NULL;
hr = CoInitialize(NULL);
if (FAILED(hr))
{
return hr;
}
hr = CoCreateInstance (CLSID_RTCClient, NULL,
CLSCTX_SERVER, IID_IRTCClient,
(LPVOID *)&m_pClient);
if (FAILED(hr))
{
return hr;
}
hr = m_pClient->Initialize();
if (FAILED(hr))
{
SAFE_RELEASE(m_pClient);
return hr;
}
m_pClient->SetPreferredMediaTypes ( RTCMT_ALL, VARIANT_TRUE );
long lEventMask = RTCEF_SESSION_STATE_CHANGE |
RTCEF_MESSAGING |
RTCEF_MEDIA |
RTCEF_INTENSITY |
RTCEF_CLIENT;
hr = m_pClient->put_EventFilter( lEventMask );
if ( FAILED(hr) )
{
SAFE_RELEASE(m_pClient);
return hr;
}
m_pEvents = new CRTCEvents;
if (!m_pEvents)
{
SAFE_RELEASE(m_pClient);
return hr;
}
hr = m_pEvents->Advise( m_pClient, m_hWnd );
if ( FAILED(hr) )
{
SAFE_RELEASE(m_pClient);
return hr;
}
hr = m_pClient->put_ListenForIncomingSessions(RTCLM_BOTH);
if ( FAILED(hr) )
{
SAFE_RELEASE(m_pClient);
return hr;
}
if (m_AVDlg)
m_AVDlg.SetState (RTCSS_IDLE);
return S_OK;
}
在Windows7下CoCreateInstance调试hr结果怎么是not register class,不是S_OK?
------解决方案--------------------------------------------------------
注册没?
------------
------解决方案--------------------------------------------------------
CLSID_RTCClient所代表的这个COM组件,需要在机器上注册,你的代码才能使用这个Com组件。