⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcscom.h

📁 RSA C++源代码DEMO,附加DESMD5等众多算法
💻 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 + -