首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

DCOM CoCreateInstanceEx 访问权限的有关问题

2012-06-18 
DCOM CoCreateInstanceEx 访问权限的问题今天按照网上的例子做了一个DCOM的小程序,调用CoCreateInstanceEx

DCOM CoCreateInstanceEx 访问权限的问题
今天按照网上的例子做了一个DCOM的小程序,调用CoCreateInstanceEx 时访问被拒绝,大概的代码如下:
  m_hr = ::CoInitialize(NULL);
  if ( FAILED(m_hr))
  {
  AfxMessageBox(_T("Initialize failed"));
  return FALSE;
  }
  m_hr = CoInitializeSecurity(NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_DEFAULT,RPC_C_IMP_LEVEL_IDENTIFY, NULL, 0, NULL);
  if ( FAILED(m_hr))
  {
  AfxMessageBox(_T("Security Initialize failed"));
  return FALSE;
  }

  COSERVERINFO serverinfo = {0, L"192.168.18.84", NULL, 0};
  MULTI_QI multiqi = {&IID_IUnknown, NULL, NOERROR};

  m_hr = CoCreateInstanceEx(IID_ACCOUNT, NULL, CLSCTX_REMOTE_SERVER, &serverinfo, 1, &multiqi);
  if ( FAILED(m_hr))
  {
  AfxMessageBox(_T("CreateInstance failed"));
  // return FALSE;
  }
我的COM放在一台windows server 2008 r2 上,机器登陆需要账户/密码,在网上看到说如果有账户密码需要设置COSERVERINFO 中的pAuthInfo, 这个结构体应该怎样设置?
另外还可能是什么原因导致访问被拒?有在2008上做过的朋友给指导一下,谢谢!

[解决办法]
看MSDN,就在COAUTHINFO 中的COAUTHIDENTITY 中就能填写用户名密码了。
拒绝访问的原因还有防火墙,DCOM比较容易会被拦截的

热点排行