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