我正在尝试使用我的WCF项目中winscard.dll的连接功能连接到智能卡。Wcf服务正在与安装在windows server 8.1上的远程计算机一起发布
ScardConnect函数返回值为6。
public int Connect()
{
int returnCode = -2;
string[] tempStr = new string[3];
returnCode = ModWinsCard.SCardEstablishContext(ModWinsCard.SCARD_SCOPE_USER,
0, 0, ref hContext);
if (returnCode == ModWinsCard.SCARD_S_SUCCESS)
{
returnCode = ModWinsCard.SCardConnect(hContext, "ACS ACR1281 1S Dual Reader PICC 0", ModWinsCard.SCARD_SHARE_SHARED, ModWinsCard.SCARD_PROTOCOL_T0 | ModWinsCard.SCARD_PROTOCOL_T1, ref hCard, ref pdwActiveProtocol);
if (returnCode == ModWinsCard.SCARD_S_SUCCESS)
return 1;
else
return returnCode;
}
else
return returnCode;
}
Interface (IService1)OperationContract int Connect(int hContext,string szReaderName,ref int phCard,ref int ActiveProtocol);
ScardConnect函数
[DllImport("winscard.dll")]
public static extern int SCardConnect(int hContext, string szReaderName, int dwShareMode, int dwPrefProtocol, ref int phCard, ref int ActiveProtocol);返回代码'6‘是什么意思。
注意: Wcf项目生成操作: x86客户端项目生成操作: x86
发布于 2015-11-03 13:10:50
检查"hContext“的值。我建议您首先调用SCardListReaders函数来获取确切的reader.So名称。
https://stackoverflow.com/questions/33480446
复制相似问题