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,
00032 LPSCARDCONTEXT phContext);
00033
00034 PCSC_API LONG SCardReleaseContext(SCARDCONTEXT hContext);
00035
00036 PCSC_API LONG SCardIsValidContext(SCARDCONTEXT hContext);
00037
00038 PCSC_API LONG SCardSetTimeout(SCARDCONTEXT hContext, DWORD dwTimeout);
00039
00040 PCSC_API LONG SCardConnect(SCARDCONTEXT hContext,
00041 LPCSTR szReader,
00042 DWORD dwShareMode,
00043 DWORD dwPreferredProtocols,
00044 LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol);
00045
00046 PCSC_API LONG SCardReconnect(SCARDHANDLE hCard,
00047 DWORD dwShareMode,
00048 DWORD dwPreferredProtocols,
00049 DWORD dwInitialization, LPDWORD pdwActiveProtocol);
00050
00051 PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition);
00052
00053 PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard);
00054
00055 PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition);
00056
00057 PCSC_API LONG SCardCancelTransaction(SCARDHANDLE hCard);
00058
00059 PCSC_API LONG SCardStatus(SCARDHANDLE hCard,
00060 LPSTR mszReaderName,
00061 LPDWORD pcchReaderLen,
00062 LPDWORD pdwState,
00063 LPDWORD pdwProtocol,
00064 LPBYTE pbAtr,
00065 LPDWORD pcbAtrLen);
00066
00067 PCSC_API LONG SCardGetStatusChange(SCARDCONTEXT hContext,
00068 DWORD dwTimeout,
00069 LPSCARD_READERSTATE_A rgReaderStates, DWORD cReaders);
00070
00071 PCSC_API LONG SCardControl(SCARDHANDLE hCard, DWORD dwControlCode,
00072 LPCVOID pbSendBuffer, DWORD cbSendLength,
00073 LPVOID pbRecvBuffer, DWORD cbRecvLength,
00074 LPDWORD lpBytesReturned);
00075
00076 PCSC_API LONG SCardTransmit(SCARDHANDLE hCard,
00077 LPCSCARD_IO_REQUEST pioSendPci,
00078 LPCBYTE pbSendBuffer, DWORD cbSendLength,
00079 LPSCARD_IO_REQUEST pioRecvPci,
00080 LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength);
00081
00082 PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext,
00083 LPSTR mszGroups, LPDWORD pcchGroups);
00084
00085 PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext,
00086 LPCSTR mszGroups,
00087 LPSTR mszReaders,
00088 LPDWORD pcchReaders);
00089
00090 PCSC_API LONG SCardFreeMemory(SCARDCONTEXT hContext, LPCVOID pvMem);
00091
00092 PCSC_API LONG SCardCancel(SCARDCONTEXT hContext);
00093
00094 PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
00095 LPBYTE pbAttr, LPDWORD pcbAttrLen);
00096
00097 PCSC_API LONG SCardSetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
00098 LPCBYTE pbAttr, DWORD cbAttrLen);
00099
00100 #ifdef __cplusplus
00101 }
00102 #endif
00103
00104 #endif
00105