title: Connecting to the device via zkemkeeper.dll in windows application C# .net
body: <p>I'm trying to connecting RFID and bio metrics devices in network, my local ip is <code>192.168.1.24</code> and the RFID device ip is <code>192.168.1.22</code>, I'm using Visual studio 12 an sample windows application. to connect this device but it throws an error: </p>
  
  <blockquote>
    <p>Unable to connect the device,error code = -201</p>
  </blockquote>
  
  <pre><code>private void btnConnect_Click(object sender, EventArgs e)
  {
  
      if (txtIP.Text.Trim() == "" || txtPort.Text.Trim() == "")
      {
          MessageBox.Show("IP and Port cannot be null", "Error");
          return;
      }
      int idwErrorCode = 0;
      Cursor = Cursors.WaitCursor;
  
      if (btnConnect.Text == "DisConnect")
      {
          axCZKEM1.Disconnect();
  
          this.axCZKEM1.OnVerify -= new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(axCZKEM1_OnVerify);
          this.axCZKEM1.OnAttTransactionEx -= new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(axCZKEM1_OnAttTransactionEx);
          this.axCZKEM1.OnNewUser -= new zkemkeeper._IZKEMEvents_OnNewUserEventHandler(axCZKEM1_OnNewUser);
          this.axCZKEM1.OnHIDNum -= new zkemkeeper._IZKEMEvents_OnHIDNumEventHandler(axCZKEM1_OnHIDNum);
          this.axCZKEM1.OnWriteCard -= new zkemkeeper._IZKEMEvents_OnWriteCardEventHandler(axCZKEM1_OnWriteCard);
          this.axCZKEM1.OnEmptyCard -= new zkemkeeper._IZKEMEvents_OnEmptyCardEventHandler(axCZKEM1_OnEmptyCard);
  
          bIsConnected = false;
          btnConnect.Text = "Connect";
          lblState.Text = "Current State:DisConnected";
          Cursor = Cursors.Default;
          return;
      }
  
      axCZKEM1.PullMode = 1;
      bIsConnected = axCZKEM1.Connect_Net(txtIP.Text.Trim(), Convert.ToInt32(txtPort.Text.Trim()));
  
  
      if (bIsConnected == true)
      {
          btnConnect.Text = "DisConnect";
          btnConnect.Refresh();
          lblState.Text = "Current State:Connected";
          iMachineNumber = 1;//In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1.
  
          if (axCZKEM1.RegEvent(iMachineNumber, 65535))//Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
          {
              this.axCZKEM1.OnVerify += new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(axCZKEM1_OnVerify);
              this.axCZKEM1.OnAttTransactionEx += new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(axCZKEM1_OnAttTransactionEx);
              this.axCZKEM1.OnNewUser += new zkemkeeper._IZKEMEvents_OnNewUserEventHandler(axCZKEM1_OnNewUser);
              this.axCZKEM1.OnHIDNum += new zkemkeeper._IZKEMEvents_OnHIDNumEventHandler(axCZKEM1_OnHIDNum);
              this.axCZKEM1.OnWriteCard += new zkemkeeper._IZKEMEvents_OnWriteCardEventHandler(axCZKEM1_OnWriteCard);
              this.axCZKEM1.OnEmptyCard += new zkemkeeper._IZKEMEvents_OnEmptyCardEventHandler(axCZKEM1_OnEmptyCard);
          }
  
          MyCountFinger = 1;
          MyCountFace = 2;
  
      }
      else
      {
          axCZKEM1.GetLastError(ref idwErrorCode);
          MessageBox.Show("Unable to connect the device,ErrorCode=" + idwErrorCode.ToString(), "Error");
      }
      Cursor = Cursors.Default;
  }
  </code></pre>
  
  <p>Please do help thanks in advance</p>