急!请问怎么用IServerList接口呀? 点击:1194 | 回复:3



wypp

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 2回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2003年5月08日
发表于:2003-08-19 14:24:00
楼主
初学者,帮忙入门一下,thanks!!!!



qzhang2

  • 精华:1帖
  • 求助:0帖
  • 帖子:10帖 | 28回
  • 年度积分:0
  • 历史总积分:73
  • 注册:2003年3月31日
发表于:2003-05-08 12:51:00
1楼
我也不会,有人帮一下吗

小流氓

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2002年9月15日
发表于:2003-07-25 11:17:00
2楼
我也有这个问题,有人能帮一下吗? liuweili1978@sohu.com

rookie

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2003年2月11日
发表于:2003-08-19 14:24:00
3楼
these are my example ,and you try. IOPCServerList* pOPCServerList; CLSID clsid; ::CLSIDFromProgID(L"OPC.ServerList.1",&clsid); HRESULT r; r=::CoCreateInstance( clsid, NULL, CLSCTX_LOCAL_SERVER, IID_IOPCServerList, (void**)&pOPCServerList); if(FAILED(r)) { AfxMessageBox("get OPC.ServerList.1 error"); return FALSE; } IEnumGUID * ppenumClsid; r=pOPCServerList->EnumClassesOfCategories( 0, NULL, 0, NULL, &ppenumClsid ); if(FAILED(r)) { AfxMessageBox("EnumClassesOfCategories error "); exit(1); } CLSID guid; ULONG Tagsread; CHAR str[50]; CString theString; LPOLESTR ppszProgID; WCHAR* ppszUserType; r=ppenumClsid->Next(1,&guid,&Tagsread); if(FAILED(r)) { AfxMessageBox("next error"); } while(Tagsread==1) { r=pOPCServerList->GetClassDetails(guid,&ppszProgID,&ppszUserType); TRACE("========%x=========\n",r); if(FAILED(r)) { CString str; str.Format("%ld\n",r); AfxMessageBox(str); break; } WideCharToMultiByte(0,0,ppszProgID,50,str,50,NULL,FALSE); theString.Format("%s",str); this->m_lbServerList.AddString(theString); ppenumClsid->Next(1,&guid,&Tagsread); } ppenumClsid->Release(); pOPCServerList->Release();

热门招聘
相关主题

官方公众号

智造工程师