using System.Runtime.InteropServices; namespace Vinno.IdentificationCardApp { public class SdtApi { /// /// 0x90: Open port successful /// 0x01: Open port failed or port is illegal /// /// /// [DllImport("sdtapi.dll")] public static extern int SDT_OpenPort(int iPortID); /// ///0x90 Close port successful ///0x01 Close port failed port or port is illegal /// /// /// [DllImport("sdtapi.dll")] public static extern int SDT_ClosePort(int iPortID); [DllImport("sdtapi.dll")] public static extern int SDT_PowerManagerBegin(int iPortID, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_AddSAMUser(int iPortID, string pcUserName, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_SAMLogin(int iPortID, string pcUserName, string pcPasswd, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_SAMLogout(int iPortID, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_UserManagerOK(int iPortID, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_ChangeOwnPwd(int iPortID, string pcOldPasswd, string pcNewPasswd, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_ChangeOtherPwd(int iPortID, string pcUserName, string pcNewPasswd, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_DeleteSAMUser(int iPortID, string pcUserName, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_StartFindIDCard(int iPortID, ref int pucIin, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_SelectIDCard(int iPortID, ref int pucSn, int iIfOpen); [DllImport("sdtapi.dll")] public extern static int SDT_ReadBaseMsg(int iPort, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pucChMsg, ref int puiChMsgLen, [Out, MarshalAs(UnmanagedType.LPArray)]byte[] pucPhMsg, ref int puiPhMsgLen, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_ReadBaseMsgToFile(int iPortID, string fileName1, ref int puiChMsgLen, string fileName2, ref int puiPhMsgLen, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_WriteAppMsg(int iPortID, ref byte pucSendData, int uiSendLen, ref byte pucRecvData, ref int puiRecvLen, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_WriteAppMsgOK(int iPortID, ref byte pucData, int uiLen, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_CancelWriteAppMsg(int iPortID, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_ReadNewAppMsg(int iPortID, ref byte pucAppMsg, ref int puiAppMsgLen, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_ReadAllAppMsg(int iPortID, ref byte pucAppMsg, ref int puiAppMsgLen, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_UsableAppMsg(int iPortID, ref byte ucByte, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_GetUnlockMsg(int iPortID, ref byte strMsg, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_GetSAMID(int iPortID, ref byte strSamid, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_SetMaxRFByte(int iPortID, byte ucByte, int iIfOpen); [DllImport("sdtapi.dll")] public static extern int SDT_ResetSAM(int iPortID, int iIfOpen); [DllImport("WltRS.dll")] public static extern int GetBmp(string fileName, int intf); } }