00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00016 #ifndef __winscard_h__
00017 #define __winscard_h__
00018
00019 #include <pcsclite.h>
00020
00021 #ifdef __cplusplus
00022 extern "C"
00023 {
00024 #endif
00025
00026 #ifndef PCSC_API
00027 #define PCSC_API
00028 #endif
00029
00030 PCSC_API LONG SCardEstablishContext(DWORD dwScope,
00031 LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext);
00032
00033 PCSC_API LONG SCardReleaseContext(SCARDCONTEXT hContext);
00034
00035 PCSC_API LONG SCardSetTimeout(SCARDCONTEXT hContext, DWORD dwTimeout);
00036
00037 PCSC_API LONG SCardConnect(SCARDCONTEXT hContext,
00038 LPCTSTR szReader,
00039 DWORD dwShareMode,
00040 DWORD dwPreferredProtocols,
00041 LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol);
00042
00043 PCSC_API LONG SCardReconnect(SCARDHANDLE hCard,
00044 DWORD dwShareMode,
00045 DWORD dwPreferredProtocols,
00046 DWORD dwInitialization, LPDWORD pdwActiveProtocol);
00047
00048 PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition);
00049
00050 PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard);
00051
00052 PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition);
00053
00054 PCSC_API LONG SCardCancelTransaction(SCARDHANDLE hCard);
00055
00056 PCSC_API LONG SCardStatus(SCARDHANDLE hCard,
00057 LPTSTR mszReaderNames, LPDWORD pcchReaderLen,
00058 LPDWORD pdwState,
00059 LPDWORD pdwProtocol,
00060 LPBYTE pbAtr, LPDWORD pcbAtrLen);
00061
00062 PCSC_API LONG SCardGetStatusChange(SCARDCONTEXT hContext,
00063 DWORD dwTimeout,
00064 LPSCARD_READERSTATE_A rgReaderStates, DWORD cReaders);
00065
00066 PCSC_API LONG SCardControl(SCARDHANDLE hCard, DWORD dwControlCode,
00067 LPCVOID pbSendBuffer, DWORD cbSendLength,
00068 LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned);
00069
00070 PCSC_API LONG SCardTransmit(SCARDHANDLE hCard,
00071 LPCSCARD_IO_REQUEST pioSendPci,
00072 LPCBYTE pbSendBuffer, DWORD cbSendLength,
00073 LPSCARD_IO_REQUEST pioRecvPci,
00074 LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength);
00075
00076 PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext,
00077 LPTSTR mszGroups, LPDWORD pcchGroups);
00078
00079 PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext,
00080 LPCTSTR mszGroups,
00081 LPTSTR mszReaders, LPDWORD pcchReaders);
00082
00083 PCSC_API LONG SCardCancel(SCARDCONTEXT hContext);
00084
00085 PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
00086 LPBYTE pbAttr, LPDWORD pcbAttrLen);
00087
00088 PCSC_API LONG SCardSetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
00089 LPCBYTE pbAttr, DWORD cbAttrLen);
00090
00091 void SCardUnload(void);
00092
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096
00097 #endif
00098