Метод DLL:
[DllImport("SBXPCDLL.dll", CallingConvention = CallingConvention.Winapi)]
static extern byte _ConnectTcpip(Int32 dwMachineNumber, ref IntPtr lpszIPAddress, Int32 dwPortNumber, Int32 dwPassWord);
public static bool ConnectTcpip(Int32 dwMachineNumber, string lpszIPAddress, Int32 dwPortNumber, Int32 dwPassWord)
{
if (lpszIPAddress == null)
return false;
IntPtr string_in = Marshal.StringToBSTR(lpszIPAddress);
try
{
byte ret = _ConnectTcpip(dwMachineNumber, ref string_in, dwPortNumber, dwPassWord);
return ret > 0;
}
catch (Exception)
{
return false;
}
finally
{
Marshal.FreeBSTR(string_in);
}
}
Событие нажатия кнопки:
protected void Button_click(object sender, EventArgs e)
{
try
{
bool status = sbxpc.SBXPCDLL.ConnectTcpip(1, ip, 5005, 0);
if (status)
{
bool ss = sbxpc.SBXPCDLL.GetSerialNumber(1, out ip);
Button1.Text = "connected";
Response.Write("success" + ip);
}
}
catch (Exception ee)
{
Response.Write(ee);
}
}
Я использовал SBXPCDLL.dll для подключения биометрического устройства.Код работает только в первый раз, устройство подключено, но при повторном запуске оно не будет подключаться снова.Не знаю почему?Кто-нибудь может мне помочь?