Exemple #1
0
 public void TestCreateHost()
 {
     OnWsdeUsbComed(new WsdePort("COM3", true));
     post.Handshake();
     post.handshakeRespone = new TecheartVote.Response.HandshakeResponse()
     {
         Address = 1, Channel = 1, Remark = "测试主机", SecretKey = 520
     };
     post.channel = 1;
 }
        private void USBEventHandler(object sender, EventArrivedEventArgs e)
        {
            if (e.NewEvent.ClassPath.ClassName == "__InstanceCreationEvent")
            {
                foreach (USBControllerDevice Device in USB.WhoUSBControllerDevice(e))
                {
                    String s  = Device.Dependent;
                    var    kk = DevManager.GetPortNum(s);
                    if (kk == -1)
                    {
                        continue;
                    }

                    WsdePort wsdePort = new WsdePort("COM" + kk.ToString());
                    wsdePort.wsdeName = "COM" + kk.ToString();

                    wsdePort.HandshakeEvent += new HandshakeHandler(OnHandshake);
                    wsdePort.Handshake();
                    if (!autoResetEvent.WaitOne(3000))
                    {
                        continue;
                    }
                    if (!wsdePortUsbDic.ContainsKey(s))
                    {
                        wsdePortUsbDic.Add(s, wsdePort);
                    }
                    else
                    {
                        wsdePortUsbDic[s] = wsdePort;
                    }
                    OnWsdeUsbComed(wsdePort);
                }
            }
            else if (e.NewEvent.ClassPath.ClassName == "__InstanceDeletionEvent")
            {
                foreach (USBControllerDevice Device in USB.WhoUSBControllerDevice(e))
                {
                    try {
                        String s = Device.Dependent;
                        OnWsdeUsbExited(wsdePortUsbDic[s]);
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
        }