我用vs.net开发的com+,系统为win2003.
我把服务端在win2000下注册,在其它计算机任何系统都可以与它相连接。
可是我把它在win2003下注册,它只能在本地相连接了。
请高手们指点指点!!

解决方案 »

  1.   

    大哥,你是怎么写连接代码的?我的代码如下:
    CoInitialize(NULL);
    ASSERT(m_pMtsObject == NULL); if (FAILED(m_pMtsObject.CreateInstance(__uuidof(TestVC))))
    {
    MessageBox("Create MtsObject Failed!\n");
    return false;
    }
    这只能本地调用,不能在其它台电脑上调用。我对VC不熟,请你帮忙说明一下,谢谢!!
      

  2.   

    if(strlen(m_szClientIP) == 0) return FALSE;
    wchar_t wClientIP[16];
    MultiByteToWideChar(CP_ACP, 0, m_szClientIP, -1, wClientIP, sizeof(TCHAR) * 16); // COM服务器信息
    COSERVERINFO  ServerInfo = { 0, wClientIP, NULL, 0 };//IP Address // 接口信息
    m_MultiQI.pIID = &__uuidof(CapClient::IClientCapture);
    m_MultiQI.pItf = NULL;
    m_MultiQI.hr = NOERROR; // 初始化COM连接
    HRESULT hr = CoInitializeEx(NULL,::COINIT_MULTITHREADED); if(FAILED(hr)) return FALSE; hr = CoInitializeSecurity(NULL, -1, NULL, NULL,
    RPC_C_AUTHN_LEVEL_NONE, 
    RPC_C_IMP_LEVEL_IMPERSONATE, 
    NULL, EOAC_ACCESS_CONTROL, 0
    );
    if(FAILED(hr))
    {
    CoUninitialize();
    return FALSE;
    } hr = CoCreateInstanceEx(__uuidof(CapClient::CClientCapture),
    NULL,
    CLSCTX_REMOTE_SERVER,
    &ServerInfo,//&m_ServerInfo,
    1,
    &m_MultiQI); if(FAILED(hr))
    {
    CoUninitialize();
    return FALSE;
    } // 提取智能指针
    m_spIClientWatch = m_MultiQI.pItf;
    m_MultiQI.pItf->Release(); return TRUE;