1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
#region experimental
[DllImport("cellcore.dll")]
private static extern byte[] lineGetGeneralInfo(IntPtr hLigne,byte[]lpLineGeneralInfo );
public struct GeneralInfo
{
public string Manufacturer;
public string Model;
public string Revision;
public string SerialNumber;
public string SubscriberNumber;
}
private GeneralInfo GetGeneralInfo(OpenNETCF.Tapi.Line l)
{
GeneralInfo lgi = new GeneralInfo();
byte[] buffer = new byte[512];
BitConverter.GetBytes(512).CopyTo(buffer, 0);
try
{
lineGetGeneralInfo(l.hLine, buffer);
}
catch {}
int serialsize = BitConverter.ToInt32(buffer, 36);
int serialoffset = BitConverter.ToInt32(buffer, 40);
lgi.SerialNumber = System.Text.Encoding.Unicode.GetString(buffer, serialoffset, serialsize);
//lgi.SerialNumber = lgi.SerialNumber.Substring(0, lgi.SerialNumber.IndexOf(Chr(0)));
return lgi;
}
#endregion |
Partager