📄 keyexport.h
字号:
/*===========================================================================
===========================================================================
说明:
通用函数 支持平台:WIN98/2K/XP...
文件名:
Epass3000Export.h
---------------------------------------------------------------------------
描述:
---------------------------------------------------------------------------
修改:
*===========================================================================*/
#ifndef __EPASS3000EXPORT_H
#define __EPASS3000EXPORT_H
//-----------------------------------------------------------------------------
//错误代码
//-----------------------------------------------------------------------------
#define USBKEY_OK 0x00000001 //操作成功
#define USBKEY_FAILED 0x00000000 //操作失败
#define USBKEY_KEY_REMOVED 0x20000002 //无KEY
#define USBKEY_KEY_INVALID 0x20000003 //连接Key失败/KEY无效
#define USBKEY_INVALID_PARAMETER 0x20000004 //参数错误
#define USBKEY_VERIFIEDPIN_FAILED 0x20000005 //验证口令失败
#define USBKEY_USER_NOT_LOG_IN 0x20000006 //用户没有登陆,没有验证口令
#define USBKEY_BUFFER_TOO_SMALL 0x20000007 //缓冲区太小
#define USBKEY_CONTAINER_TOOMORE 0x20000010 //剩余存储区不足
#define USBKEY_ERR_GETEKEYPARAM 0x20000012 //取eKey信息失败
#define USBKEY_ERR_PINLOCKED 0x20000017 //密码已经锁死
#define USBKEY_ERROR_INIT_TOKEN 0x30000000 //初始化Epass Token 错误
#define USBKEY_INVALID_LIBRARY_PATH 0x30000001 //找不到指定的库
#define USBKEY_INVALID_TOKEN_TYPE 0x30000002 //找不到指定的 Epass Token 的类型
#define USBKEY_INVALID_LIBRARY_HANDLE 0x30000003 //
#define USBKEY_INVALID_SLOT 0x30000004 //
#define USBKEY_INVALID_CERT 0x30000005 //
#define USBKEY_NO_SPECIAL_DATA 0x30000006 //找不到指定的容器/找不到指定的文件等。
#define USBKEY_NO_OBJECT 0x30000007
#define USBKEY_ERR_CREATEFILE 0x40000000 //创建文件错误
#define USBKEY_ERR_EXISTFILE 0x40000001 //文件已存在错误
#define USBKEY_ERR_OPENFILE 0x40000002 //打开文件错误
#define USBKEY_ERR_READFILE 0x40000003 //读文件错误
#define USBKEY_ERR_WRITEFILE 0x40000004 //写文件错误
#define USBKEY_ERR_NOFILE 0x40000005 //没有找到文件错误
#define USBKEY_ERR_TOOMOREDATA 0x40000006 //超过文件的最大容量
#if defined(_MSC_VER) && defined(WIN32)
#define WINAPI __stdcall
#else
#define WINAPI
#endif
#ifdef __cplusplus
extern "C" {
#endif
//获取设备数
//返回>=0为设备数,-1为失败
int WINAPI CK_GetDeviceNumber();
//获取设备序列号
//char *szSN:输出设备的序列号
//返回1为成功,0为失败
int WINAPI CK_GetDeviceSerialNumber(CK_SLOT_ID ckSlotID,char *szSN);
//创建文件
//szUserPwd:KEY的PIN码
//dwFileID:文件ID
//dwFileSize:文件大小
//增加功能:如果文件存在,就删除文件。
int WINAPI CK_CreateFile(CK_SLOT_ID ckSlotID,char *szUserPwd,DWORD dwFileID,DWORD dwFileSize);
//删除文件
//szUserPwd:KEY的PIN码
//dwFileID:读文件的文件ID
//返回1为成功,0为失败
int WINAPI CK_DeleteFile(CK_SLOT_ID ckSlotID,char *szUserPwd,DWORD dwFileID);
//获取文件大小
int WINAPI CK_GetFileSize(CK_SLOT_ID ckSlotID,char *szUserPwd,DWORD dwFileID);
//往文件里写数据
//!!!!!!!!!
//iOffset:文件存储位置偏移量, iOffset >= 0
//!!!!!!!!!
//szUserPwd:KEY的PIN码
//dwFileID:写入文件的文件ID
//bpWriteData:要写入数据
//dwDataLen:写入数据长度
//返回1为成功,0为失败
int WINAPI CK_WriteData(CK_SLOT_ID ckSlotID,char *szUserPwd,DWORD dwFileID,int iOffset,BYTE *bpWriteData,DWORD dwDataLen);
//从文件里读数据
//!!!!!!!!!
//iOffset:文件存储位置偏移量, iOffset >= 0
//!!!!!!!!!
//szUserPwd:KEY的PIN码
//dwFileID:读文件的文件ID
//bpWriteData:读出数据的缓存
//dwReadLen:需要读出的长度
//返回1为成功,0为失败
int WINAPI CK_ReadData(CK_SLOT_ID ckSlotID,char *szUserPwd,DWORD dwFileID,int iOffset,BYTE *bpReadDataBuffer,DWORD dwReadLen);
//设置KEY的PIN码
//szUserPwd:KEY的PIN码
//szSOPwd:KEY的SO PIN码,用于获得设置用户PIN码的权限
//返回1为成功,0为失败
int WINAPI CK_SetPIN(CK_SLOT_ID ckSlotID,char *szUserPwd, char *szSOPwd);
//验证KEY的PIN码
//bUserPin: TRUE为USER PIN;FALSE为SO PIN
//szPIN:KEY的PIN码
//返回0为成功,>0为可重试次数,-1为锁死,其它为出错
int WINAPI CK_VerifyPIN(CK_SLOT_ID ckSlotID,bool bUserPin, char *szPIN);
//修改KEY的PIN码
//bUserPin: TRUE为USER PIN;FALSE为SO PIN
//szOldPIN:旧密码
//szNewPIN:新密码
//返回0为成功,>0为可重试次数,-1为锁死,其它为出错
int WINAPI CK_ChangePIN(CK_SLOT_ID ckSlotID,bool bUserPin, char *szOldPIN,char *szNewPIN);
const char * WINAPI CK_GetLastErrorInfor();
#ifdef __cplusplus
}
#endif
#endif //__EPASS3000EXPORT_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -