get clsid from remote server by opcenum? 点击:1899 | 回复:4



刘清

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 16回
  • 年度积分:0
  • 历史总积分:70
  • 注册:2003年12月10日
发表于:2004-04-08 16:03:00
楼主
hi, 请教高手一个问题,我在OPCClient程序中利用OPCEnum获取远程OPCServer的CLSID,创建一个浏览器对象没问题,通过该对象获取IOPCServerList接口也没问题,但是,当使用hr=IOPCServerList->CLSIDFromProgID(ProgID,&Clsid);最终读取Server的CLSID时,hr值显示拒绝访问,请问问题出在何处?请不吝赐教,急 急 急 谢谢!st_jh@163.com



ghjgjghj

  • 精华:2帖
  • 求助:0帖
  • 帖子:29帖 | 88回
  • 年度积分:0
  • 历史总积分:275
  • 注册:2002年9月26日
发表于:2004-04-10 13:11:00
1楼
注意DCOM的权限。

刘清

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 16回
  • 年度积分:0
  • 历史总积分:70
  • 注册:2003年12月10日
发表于:2004-04-12 08:36:00
2楼
SmartOPC你好: 恐怕不是权限的问题,因为同样的DCOM的权限设置,使用其他第三方的OPCClient都可以联接到远程OPCServer,而我的程序确做不到,能不能告诉我是否在程序中还有其他的接口或函数操作权限。谢谢!

runhorse

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2003年11月18日
发表于:2004-04-14 10:20:00
3楼
OPCEnum.exe是opc基金会提供的单独的一个DCOM组件,它的作用是枚举客户机上OPCServer,“第三方的OPCClient都可以联接到远程OPCServer”并不能说明第三方的OPCClient也可以和OPCEnum.exe连接。根据我的经验,在本地和远程计算机DCOM都需要配置OPCEnum。 另外,OPCEnum的功能完全可以由IID_ICatInformation接口代替,这样就不用OPCEnum这个组件了,楼主可以试试。

刘清

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 16回
  • 年度积分:0
  • 历史总积分:70
  • 注册:2003年12月10日
发表于:2004-04-14 18:35:00
4楼
runhorse你好: 恐怕不能完全替代,比如,当已知ProgID而需要获取远程机器上的相应CLSID时,ICatInformation接口不能完全替代OPCEnum的作用。布知上述说法是否正确,请指正!谢谢!

热门招聘
相关主题

官方公众号

智造工程师