小弟我用了pcsc读卡器。如何选择读卡器中psam卡和用户卡。

我用了pcsc读卡器。怎么选择读卡器中psam卡和用户卡。高手请进-------------
我用了pcsc读卡器。怎么选择读卡器中psam卡和用户卡。请详细回答。本人基础差。

------解决方案--------------------
定义变量:
SCARDCONTEXT hContext;
LPTSTR mszReaders;
DWORD dwReaders;
SCARDHANDLE hCard;
DWORD dwActiveProtocol;

按照以下顺序调用:
1、调用CardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hContext);获取一个上下文句柄
2、调用SCardListReaders(hContext, NULL, NULL, &dwReaders);获取Reader的数量
3、根据2的数量分配空间mszReaders = (LPTSTR)malloc(sizeof(char)*dwReaders);
4、调用SCardListReaders(hContext, NULL, mszReaders, &dwReaders);获取读卡器
5、调用 SCardConnect(hContext, 第4步的Reader, SCARD_SHARE_SHARED,SCARD_PROTOCOL_T0, &hCard, &dwActiveProtocol);与卡建立连接
6、调用 SCardTransmit执行APDU指令如下:

BYTE pbSendBuffer[] = { 0x00, 0xA4, 0x00, 0x00, 0x00};
SCARD_IO_REQUEST IO_Request;
dwSendLength = sizeof(pbSendBuffer);
dwRecvLength = sizeof(pbRecvBuffer);
IO_Request.dwProtocol = ActiveProtocol[station];
IO_Request.cbPciLength = (DWORD) sizeof(SCARD_IO_REQUEST);

rv = SCardTransmit(hCard, &IO_Request, pbSendBuffer, dwSendLength,
NULL, pbRecvBuffer, &dwRecvLength);

一般用两个读卡器一个放PSAM,一个放用户卡。两个操作是一样。