Есть HDA сервер.
Требуется построить дерево его сигналов и выбрав сигнал из дерева произвести обработку данных по этому сигналу за определенный промежуток времени.
//подключаюсь к серверу
Opc.Hda.Server hdaSrv;
Opc.URL url = new Opc.URL("
opchda://" + "127.0.0.1" + "/" + serverProgID + "");
hdaSrv = new Opc.Hda.Server(new OpcCom.Factory(), url);
hdaSrv.Connect(); //ну там есть еще обработка исключений.
в общем коннект проходит норм. по имени тэга могу считать данные за выбранный промежуток времени.
теперь возникает вопрос, как просмотреть все содержимое HDA сервера.
пробую следующее:
filt = new Opc.Hda.BrowseFilter();
filt.AttributeID = Opc.Hda.AttributeID.ITEMID;
filt.Operator = Opc.Hda.Operator.Equal;
filt.FilterValue = "P"; //насколько я понял фильтр по вхождению "P" в имя ветви
Opc.Hda.BrowseFilter[] brList = new Opc.Hda.BrowseFilter[1];
brList[0] = filt;
Opc.ResultID[] resultIDs = null;
Opc.Hda.IBrowser browse = this.hdaSrv.CreateBrowser(brList, out resultIDs);
вот. после этого в resultIDs[0].Name.Name содержится "W_NOFILTER"

. ветви с содержащимися в них символами P и p точно есьт.
пошарился по форуму OPC foundation я пршел к выводу что используемый HDA сервер не поддерживает метод Browse.
Вопросы:
правильно ли я это понял?
если понял правильно как теперь быть? другой сервер использовать не могу , т.к. данные для обработки хранятся и записываются только при помощи этого HDA сервера.
если понял не правильно поясните кто в теме плиз.
заранее спасибо всем!