public static void Main(String[] args) { try { int result = (int)EnumResultCode.S_OK; EndEvent = new AutoResetEvent(false); Console console = new Console(); MyWin32.HandlerRoutine handlerRoutine = new MyWin32.HandlerRoutine(MyWin32.Handler); MyWin32.SetConsoleCtrlHandler( handlerRoutine, true); console.CreateOpcClient(); // gets the OpcClient instance OpcClient m_opcClient = console.OpcClient; // initialize the client instance if (!ResultCode.SUCCEEDED(m_opcClient.Initialize())) { m_opcClient = null; return; } // end if // initialize the DA client simulation result |= m_opcClient.InitializeDaObjects(); Usage(); bool end = false; while (!end && !Console.End) { String read = System.Console.ReadLine(); switch (read) { case "A": m_opcClient.ActivateSession(false); break; case "a": m_opcClient.ActivateSession(true); break; case "C": m_opcClient.ConnectSession(false); break; case "c": m_opcClient.ConnectSession(true); break; case "D": m_opcClient.DisconnectSession(false); break; case "d": m_opcClient.DisconnectSession(true); break; case "R": m_opcClient.ReadItems(false); break; case "r": m_opcClient.ReadItems(true); break; case "W": m_opcClient.WriteItems(false); break; case "w": m_opcClient.WriteItems(true); break; case "h": m_opcClient.ChangeDataRetrievalMode(); break; case "H": m_opcClient.ChangeDataRetrievalMode(); break; case "Z": m_opcClient.ReadUsingSession(false); break; case "z": m_opcClient.ReadUsingSession(true); break; case "T": m_opcClient.WriteUsingSession(false); break; case "t": m_opcClient.WriteUsingSession(true); break; case "S": m_opcClient.GetServerStatus(false); break; case "s": m_opcClient.GetServerStatus(true); break; case "M": case "m": m_opcClient.ActivateConnectionMonitor(); break; case "N": case "n": m_opcClient.DeactivateConnectionMonitor(); break; case "L": { m_opcClient.setCredentials(); m_opcClient.LogInSecure(false); } break; case "l": { m_opcClient.setCredentials(); m_opcClient.LogInSecure(true); } break; case "o": { m_opcClient.LogOffSecure(true); m_opcClient.setCredentials("Guest", "nopass"); } break; case "O": { m_opcClient.LogOffSecure(false); m_opcClient.setCredentials("Guest", "nopass"); } break; case "U": case "u": case "?": Usage(); break; case "E": case "e": case "Q": case "q": end = true; break; default: Usage(); break; } } // while m_opcClient.Terminate(); m_opcClient = null; MyWin32.Handler(MyWin32.CtrlTypes.CTRL_CLOSE_EVENT); } catch (Exception exc) { System.Console.WriteLine(exc.ToString()); } // end try...catch } // end Main