视频会议系统,调用CoCreateInstance,Win7报故障,xp正常。故障代码是 1008。
Win7 下注册了rtcdll.dll,好象也没用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_INPROC_SERVER, IID_IRTCClient,
(LPVOID *)&m_pClient);
if (FAILED(hr)) /*故障之处,Win7下此处报故*/
{
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;
}
Win7 下注册了rtcdll.dll,好象也没用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_INPROC_SERVER, IID_IRTCClient,
(LPVOID *)&m_pClient);
if (FAILED(hr)) /*故障之处,Win7下此处报故*/
{
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;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货