知识大全 IOPCBrowseServerAddressSpace 的使用(vc)

Posted

篇首语:逆水行舟用力撑,一篙松劲退千寻。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 IOPCBrowseServerAddressSpace 的使用(vc)相关的知识,希望对你有一定的参考价值。

IOPCBrowseServerAddressSpace 的使用(vc)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在制作 OPC Client 的时候通常需要浏览OPC Serve的所有已经定义的item名称(当然OPC Server必须支持这个选项) 如果用VC的话就要使用到IOPCBrowseServerAddressSpace接口 那么 下面是提取item目录结构的一个自制的递归函数     void TryBrowseBranch(IOPCBrowseServerAddressSpace *pBSAS LPCWSTR lpprestr LPCWSTR lpcw)    HRESULT r ;  OPCNAMESPACETYPE onst;  LPWSTR pItemID;  WCHAR s *lp;  IEnumString *pEnum = ;    char szBuf[ ];  long nPos = ;  HRESULT r = S_OK;  LPOLESTR pStr;  ULONG actual;    lp = WSTRFromSBCS( %ls %ls pIMalloc);  // 向lpcw节点的枝叶改变位置  pBSAS >ChangeBrowsePosition(OPC_BROWSE_DOWN lpcw);  r = pBSAS >BrowseOPCItemIDs(OPC_FLAT &s VT_EMPTY &pEnum);  pBSAS >QueryOrganization(&onst);    // 提取该节点下的所有枝叶  while((r = pEnum >Next( &pStr &actual)) == S_OK)    printf( %ls%ls %ls\\n lpprestr lpcw pStr);  wprintf(lpprestr lp lpcw pStr);  if(onst == OPC_BRANCH)  TryBrowseBranch(pBSAS lpprestr pStr);    // pBSAS >ChangeBrowsePosition(OPC_BROWSE_DOWN   // printf( OPC_NS_HIERARCHIAL 含有枝干 );  // get firset item  pIMalloc >Free(lp);  pIMalloc >Free(pStr);  pEnum >Release();  // 回到名叫lpcw的主干位置  pBSAS >ChangeBrowsePosition(OPC_BROWSE_UP lpcw);   cha138/Article/program/Java/hx/201311/25685

相关参考