使用C#调用PC\SC接口返回读卡器数量不对
using System;
using System.Text;
using System.Runtime.InteropServices;
class PCSC
{
public struct SCARD_IO_REQUEST
{
public int dwProtocol;
public int cbPciLength;
}
[DllImport("WinScard.dll")]
public static extern int SCardEstablishContext(uint dwScope, int nNotUsed1, int nNotUsed2, ref uint phContext);
[DllImport("WinScard.dll")]
public static extern int SCardReleaseContext(int phContext);
[DllImport("WinScard.dll")]
public static extern int SCardConnect(int hContext, string cReaderName,
uint dwShareMode, uint dwPrefProtocol, ref int phCard, ref int ActiveProtocol);
[DllImport("WinScard.dll")]
public static extern int SCardDisconnect(int hCard, int Disposition);
[DllImport("WinScard.dll")]
public static extern int SCardListReaderGroups(int hContext, ref string cGroups, ref int nStringSize);
[DllImport("WinScard.dll")]
public static extern int SCardListReaders(uint hContext, string cGroups, ref string cReaderLists, ref int nReaderCount);
[DllImport("WinScard.dll")]
public static extern int SCardFreeMemory(uint hContext, string cResourceToFree);
[DllImport("WinScard.dll")]
public static extern int SCardGetAttrib(int hContext, uint dwAttrId,
ref byte[] bytRecvAttr, ref int nRecLen);
[DllImport("WinScard.dll")]
public static extern int SCardTransmit(int hCard, ref SCARD_IO_REQUEST pioSendPci, byte[] pbSendBuffer, int cbSendLength, ref SCARD_IO_REQUEST pioRecvPci, ref byte[] pbRecvBuffer, ref int pcbRecvLength);
[DllImport("WinScard.dll")]