📄 devicelist.h
字号:
/*===========================================================================
===========================================================================
说明:
通用函数 支持平台:WIN98/2K/XP...
文件名:
DeviceList.h
---------------------------------------------------------------------------
描述:
---------------------------------------------------------------------------
修改:
*===========================================================================*/
#pragma once
#include "Pkcs11Layer.h"
class CDeviceList : public CPkcs11Layer
{
public:
void Reset(CK_SLOT_ID ckSlotID);
CDeviceList(void);
~CDeviceList(void);
long InitKey(CK_SLOT_ID ulSlotID,PUCHAR ulpSOPin,ULONG ulSOPINLen,
PUCHAR ulpUserPin,ULONG ulUserPINLen,PUCHAR ulpLabel);
//Token
long GetTokenInfo(CK_SLOT_ID ulSlotID, PVOID pTokenInfo);
long GetTokenAuxInfo(CK_SLOT_ID ckSlotId, PVOID pAuxInfo);
//Session
long OpenAppletSession(CK_SLOT_ID ckSlotID);
long CloseAppletSession();
long GetAppletSessionInfo(CK_USER_TYPE& ulType, BOOL& bLoged);
long AppletSessionLogIn(CK_USER_TYPE ulType, PUCHAR pbPIN, ULONG ulPINLen);
long AppletSessionLogOut();
long OpenTokenSession(CK_SESSION_HANDLE& hSession, CK_SLOT_ID hOnLineSlotId);
long CloseTokenSession(CK_SESSION_HANDLE hSession);
long GetSessionInfo(CK_SESSION_HANDLE hSession, CK_USER_TYPE& ulType, BOOL& bLoged);
//log in/out
long LogIn(CK_SESSION_HANDLE hSession, CK_USER_TYPE ulType, PUCHAR pbPIN, ULONG ulPINLen);
long LogOut(CK_SESSION_HANDLE hSession);
//data file
long FindTokenFile(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pbFileName, CK_ULONG ulFileNameLen, CK_OBJECT_HANDLE_PTR phFileObject);
long DeleteTokenFile(CK_BYTE_PTR pbFileName, CK_ULONG ulFileNameLen);
long CreateTokenFile(BOOL bPublic,
CK_BYTE_PTR pbFileName, CK_ULONG ulFileNameLen, CK_ULONG ulMaxFileLen);
long WriteFileData(CK_BYTE_PTR pbFileName, CK_ULONG ulFileNameLen, CK_BYTE_PTR pbData, CK_ULONG ulDataLen);
long ReadFileData(CK_BYTE_PTR pbFileName, CK_ULONG ulFileNameLen, CK_BYTE_PTR pbData, CK_ULONG &ulDataLen);
long GetFileSize(CK_BYTE_PTR pbFileName, CK_ULONG ulFileNameLen,CK_ULONG &ulFileSize);
//Pin
long ChangePin(CK_USER_TYPE ulType,
PUCHAR pbOldPIN, ULONG ulOldPINLen, PUCHAR pbNewPIN, ULONG ulNewPINLen);
long ChangePinEx(PUCHAR pbSoPIN, ULONG ulSoPINLen, PUCHAR pbNewPIN, ULONG ulNewPINLen);
//Slot List
long RefreshSlotList(ULONG &ulCount, CK_SLOT_ID ckSlotID[]);
long GetSlotCount(ULONG &ulCount);
void Reset();
private:
CK_SESSION_HANDLE m_hSession;
CK_SESSION_HANDLE m_hAppletSession;
};
extern CDeviceList &GetDeviceListHandle();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -