本文简单介绍OPC HDA规范的IOPCHDA_Browser接口方法,更多通信资源请登录网信智汇(wangxinzhihui.com)。
1)HRESULT GetEnum(dwBrowseType, ppIEnumString)
此函数根据请求的浏览类型,返回一个指向叶、分支或ItemID列表的IENUM字符串枚举器的指针。分支是否为ItemID尚未确定,可能与服务器有关。枚举集的成员将由浏览器在服务器地址空间中的位置以及创建浏览器接口时过滤器的值来确定。如果没有ItemID通过筛选条件,则枚举集为空。因此,当被要求提供分支列表时,具有平面名称空间的服务器总是会返回一个空枚举器,并且无论被要求提供叶还是ItemID,它都会返回相同的列表,因为根据定义,它的所有项都是叶。
项是可以具有数据值的任何项,并且服务器将为其返回完全限定的ItemID和句柄。树枝和树叶是相互排斥的集合。Leafs始终是Items,如果客户端可以获得其完全限定的ItemID,从而请求并接收其服务器句柄,则分支就是Item。
2)HRESULT ChangeBrowsePosition(dwBrowseDirection, szString)
此函数提供了一种相对于当前位置向上或向下移动的方式,或者直接移动到层次结构中的给定位置。
3)HRESULT GetItemID (szNode, pszItemID)
此功能提供了一种获得完全合格的项目标识的方法。这是必需的,因为浏览函数只返回组成ItemID的组件或令牌,而不返回用于分隔这些令牌的分隔符。
此函数返回从当前浏览位置的GetEnum方法获得的Enum集中的OPCHDA_LEAF或OPCHDA_ItemID的完全限定ItemID。这是一个可以传递给IOPCHDA_Server::GetItemHandles的ID。
4)HRESULT GetBranchPosition (pszBranchPos)
此函数提供层次结构中的当前浏览位置。
从该方法获得的完全限定路径可用于使用OPCHDA_browse_DIRECT标志通过ChangeBrowsePosition方法设置浏览位置。
未完待续。更多通信资源请登录网信智汇(wangxinzhihui.com)。