大连中石油电子沙盘
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

275 lines
7.7 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SmartX1Demo
{
public class SmartApp
{
bool _is64ibt = false;
public SmartApp()
{
if (IntPtr.Size == 4)
_is64ibt = true;
}
public int SmartX1Find(string appID, int[] keyHandles, int[] keyNumber)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1Find(appID, keyHandles, keyNumber);
}
else
{
return SmartX1_X64.SmartX1Find(appID, keyHandles, keyNumber);
}
}
//open
public int SmartX1Open(int keyHandle, int uPin1, int uPin2, int uPin3, int uPin4)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1Open(keyHandle, uPin1, uPin2, uPin3, uPin4);
}
else
{
return SmartX1_X64.SmartX1Open(keyHandle, uPin1, uPin2, uPin3, uPin4);
}
}
//close
public int SmartX1Close(int keyHandle)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1Close(keyHandle);
}
else
{
return SmartX1_X64.SmartX1Close(keyHandle);
}
}
//checkExist
public int SmartX1CheckExist(int keyHandle)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1CheckExist(keyHandle);
}
else
{
return SmartX1_X64.SmartX1CheckExist(keyHandle);
}
}
//getUid
public int SmartX1GetUid(int keyHandle, StringBuilder uid)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1GetUid(keyHandle, uid);
}
else
{
return SmartX1_X64.SmartX1GetUid(keyHandle, uid);
}
}
//ReadStorage
public int SmartX1ReadStorage(int keyHandle, int startAddr, int length, byte[] pBuffer)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1ReadStorage(keyHandle, startAddr, length, pBuffer);
}
else
{
return SmartX1_X64.SmartX1ReadStorage(keyHandle, startAddr, length, pBuffer);
}
}
//WriteStorage
public int SmartX1WriteStorage(int keyHandle, int startAddr, int length, byte[] pBuffer)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1WriteStorage(keyHandle, startAddr, length, pBuffer);
}
else
{
return SmartX1_X64.SmartX1WriteStorage(keyHandle, startAddr, length, pBuffer);
}
}
//PageLogin
public int SmartX1PageLogin(int keyHandle, int pageNo, byte[] password, int length)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1PageLogin(keyHandle, pageNo, password, length);
}
else
{
return SmartX1_X64.SmartX1PageLogin(keyHandle, pageNo, password, length);
}
}
//PageLogout
public int SmartX1PageLogout(int keyHandle, int pageNo)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1PageLogout(keyHandle, pageNo);
}
else
{
return SmartX1_X64.SmartX1PageLogout(keyHandle, pageNo);
}
}
//ReadPage
public int SmartX1ReadPage(int keyHandle, int pageNo, int startAddr, ref int length, byte[] pBuffer)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1ReadPage(keyHandle, pageNo, startAddr, ref length, pBuffer);
}
else
{
return SmartX1_X64.SmartX1ReadPage(keyHandle, pageNo, startAddr, ref length, pBuffer);
}
}
//WritePage
public int SmartX1WritePage(int keyHandle, int pageNo, int startAddr, int length, byte[] pBuffer)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1WritePage(keyHandle, pageNo, startAddr, length, pBuffer);
}
else
{
return SmartX1_X64.SmartX1WritePage(keyHandle, pageNo, startAddr, length, pBuffer);
}
}
//ReadMem
public int SmartX1ReadMem(int keyHandle, int start, int length, byte[] pBuffer)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1ReadMem(keyHandle, start, length, pBuffer);
}
else
{
return SmartX1_X64.SmartX1ReadMem(keyHandle, start, length, pBuffer);
}
}
//WriteMem
public int SmartX1WriteMem(int keyHandle, int start, int length, byte[] pBuffer)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1WriteMem( keyHandle, start, length, pBuffer);
}
else
{
return SmartX1_X64.SmartX1WriteMem(keyHandle, start, length, pBuffer);
}
}
//encrypt
public int SmartX1TriDesEncrypt(int keyHandle, int buffSize, byte[] pBuffer)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1TriDesEncrypt(keyHandle, buffSize, pBuffer);
}
else
{
return SmartX1_X64.SmartX1TriDesEncrypt(keyHandle, buffSize, pBuffer);
}
}
//desDecrypt
public int SmartX1TriDesDecrypt(int keyHandle, int buffSize, byte[] pBuffer)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1TriDesDecrypt(keyHandle, buffSize, pBuffer);
}
else
{
return SmartX1_X64.SmartX1TriDesDecrypt(keyHandle, buffSize, pBuffer);
}
}
//led
public int SmartX1Led(int keyHandle, int state)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1Led(keyHandle, state);
}
else
{
return SmartX1_X64.SmartX1Led(keyHandle, state);
}
}
public int SmartX1PageGetProperty(int keyHandle, int pageNo, int propId, int[] propValue)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1PageGetProperty(keyHandle, pageNo, propId, propValue);
}
else
{
return SmartX1_X64.SmartX1PageGetProperty(keyHandle, pageNo, propId, propValue);
}
}
public int SmartX1GetSoftVersion(int keyHandle, int[] version)
{
if (_is64ibt)
{
return SmartX1_X86.SmartX1GetSoftVersion(keyHandle, version);
}
else
{
return SmartX1_X64.SmartX1GetSoftVersion(keyHandle, version);
}
}
public string TridesEncrypt(string data, string key, Encoding encoding)
{
if (_is64ibt)
{
return SmartX1_X86.TridesEncrypt(data, key, encoding);
}
else
{
return SmartX1_X64.TridesEncrypt(data, key, encoding);
}
}
public string TridesDecEncrypt(byte[] data, string key, Encoding encoding)
{
if (_is64ibt)
{
return SmartX1_X86.TridesDecEncrypt(data, key, encoding);
}
else
{
return SmartX1_X64.TridesDecEncrypt(data, key, encoding);
}
}
}
}