📄 pcscom.h
字号:
/*
* Card Application Class using PC/SC Standard
*
* Writen by Alfred Meng
*
* Oct. 15, 2000
*
*@ident "PCSCOM V1.0"
*/
#ifndef __PCSCOM_H
#define __PCSCOM_H
#define __PCSC__
#include <windows.h>
#include <winscard.h>
#include "ctcomm.h"
#define MFID "\x3F\x00"
class TPCSC : public TVSCReader
{
LONG rc;
SCARDCONTEXT hContext;
LPTSTR lpmszReaderNames;
DWORD curReader;
SCARDHANDLE hCards[MAXIMUM_SMARTCARD_READERS];
DWORD dwActivePro[MAXIMUM_SMARTCARD_READERS];
DWORD dwMode[MAXIMUM_SMARTCARD_READERS];
DWORD dwPrePro[MAXIMUM_SMARTCARD_READERS];
BOOL bStarted; // only for ...
public:
DWORD dwNumReaders;
SCARD_READERSTATE rsReaders[MAXIMUM_SMARTCARD_READERS];
TPCSC();
virtual int openterm(short rid = 1); // Open first PCSC reader if exist
virtual int closeterm();
virtual int opened();
virtual int opensam(int plug);
virtual int selectICC(int icc,bool reqATR = true);
virtual int hascard();
virtual int RequestATR();
virtual int ejectcard(bool beep = true);
virtual int sendapdu(TAPDU *);
virtual char TermType() const;
virtual char *GetError() const;
// follow routines is .....
LONG Startup();
void Shutdown();
LONG OpenReader(DWORD rid,DWORD prepro=SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1,
DWORD smode=SCARD_SHARE_EXCLUSIVE);
/*
SCARD_SHARE_SHARED
SCARD_SHARE_EXCLUSIVE
*/
LONG CloseReader(DWORD rid);
BOOL SelectReader(DWORD rid);
BOOL Opened(DWORD rid);
};
LPVOID SCMalloc (IN DWORD dwSize);
LONG SCFree (IN LPVOID lpMemory);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -