Я использую библиотеку COM
, в обязанности которой входит подключение к серверу и выполнение некоторых операций. Поэтому я подписался на нижеуказанные события.
comHA = new COMlib.ComHA();
comHA.onConnectSucceeded += Handle_OnConnectSucceeded;
comHA.onConnectFailed += Handle_OnConnectFailed;
Я перебираю все устройства и пытаюсь подключить их следующим образом
foreach (ICtrlConnection host in initialHosts)
{
comHA.connectByNameEx("ssl", "serverexample.com", credentials, null);
}
Вот код Handle_OnConnectFailed
, который запускается для нескольких устройств.
void Handle_OnConnectFailed(int hr)
{
string msg = "Unknown Error";
try
{
msg = prxCmn.MessageForID((uint)hr);
msg = msg.Replace("\r\n", " ");
_logger.Error(msg);
}
catch (Exception){}
}
Проблема : я получаю только номер ошибки hr
, но я не могу определить, какое устройство не может подключиться! так как мне отправить идентификатор устройства на Handle_OnConnectFailed
Я попытался проверить код COM
и увидеть, что это делегат, это SDK, и у меня нет никакого контроля над ним.
[ComVisible(false)]
[TypeLibType(16)]
public delegate void _ComGWEvents_onConnectFailedEventHandler(int hr);