Specifications

Smart Cards Lab COMPGA12 University College London
break;
case SCARD_PROTOCOL_UNDEFINED:
default:
printf("Active protocol unnegotiated or unknown\n");
break;
};
lReturn = SCardBeginTransaction( hCardHandle );
if ( SCARD_S_SUCCESS != lReturn )
PCSC_ERROR(lReturn, "SCardBeginTransaction")
if(1)//determine ATR, does not give anything with contactless
{
WCHAR szReader[200];DWORD cch = 200;
BYTE bAttr[32]={0};DWORD cByte = 32;
DWORD dwState, dwProtocol;LONG lReturn;
// Determine the status.
// hCardHandle was set by an earlier call to SCardConnect.
lReturn = SCardStatus(hCardHandle,
szReader,&cch,&dwState,&dwProtocol,
(LPBYTE)&bAttr,&cByte);
if ( SCARD_S_SUCCESS != lReturn )
{
PCSC_ERROR(lReturn, "SCardStatus")
return -2; // or other appropriate action
}
else
{
switch ( dwState )
{
case SCARD_ABSENT:
printf("Card absent.\n");
break;
case SCARD_PRESENT:
printf("Card present.\n");
break;
case SCARD_SWALLOWED:
printf("Card swallowed.\n");
break;
c
Nicolas T. Courtois 2009-10