Exemplo n.º 1
0
        public string[] BrowseOpcItemIds(OpcDaBrowseType browseFilterType, string filterCriteria = "",
                                         VarEnum dataTypeFilter = VarEnum.VT_EMPTY,
                                         OpcDaAccessRights accessRightsFilter = OpcDaAccessRights.Ignore)
        {
            string szFilterCriteria = filterCriteria ?? "";

            return(DoComCall(ComObject, "IOPCBrowseServerAddressSpace::BrowseOpcItemIDs", () =>
            {
                IEnumString enumString;
                ComObject.BrowseOPCItemIDs((OPCBROWSETYPE)browseFilterType, szFilterCriteria,
                                           (short)dataTypeFilter,
                                           (OPCACCESSRIGHTS)accessRightsFilter, out enumString);
                return DoComCall(enumString, "IEnumString::EnumareateAllAndRelease",
                                 () => enumString.EnumareateAllAndRelease(OpcConfiguration.BatchSize).ToArray(),
                                 OpcConfiguration.BatchSize);
            }, browseFilterType, szFilterCriteria, dataTypeFilter,
                             accessRightsFilter));
        }