Specifications
Smart Cards Lab COMPGA12 University College London
case SCARD_POWERED:
printf("Card has power.\n");
break;
case SCARD_NEGOTIABLE:
printf("Card reset and waiting PTS negotiation.\n");
break;
case SCARD_SPECIFIC:
printf("Card has specific communication protocols set.\n");
break;
default:
printf("Unknown or unexpected card state.\n");
break;
}
printf("ATR: ");
print_hex_nocr(bAttr,cByte);
printf("\n");
};
}
switch(dwAP)
{
case SCARD_PROTOCOL_T0:
pioSendPci = SCARD_PCI_T0;
break;
case SCARD_PROTOCOL_T1:
pioSendPci = SCARD_PCI_T1;
break;
default:
printf("Unknown protocol\n");
return -1;
}
//now transmit a single APDU
{
BYTE bSend[256]={0};
DWORD dwSend=0;
BYTE bRecv[32]={0};
DWORD dwRecv=0;
dwRecv = sizeof(bRecv);
dwSend=readhex(bSend, "FF CA 00 00 00");
//GET CARD SERIAL NUMBER
c
Nicolas T. Courtois 2009-10










