首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScardConnect函数(winscard.dll)在Wcf中的使用

ScardConnect函数(winscard.dll)在Wcf中的使用
EN

Stack Overflow用户
提问于 2015-11-02 22:54:30
回答 1查看 4K关注 0票数 1

我正在尝试使用我的WCF项目中winscard.dll的连接功能连接到智能卡。Wcf服务正在与安装在windows server 8.1上的远程计算机一起发布

ScardConnect函数返回值为6。

代码语言:javascript
复制
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函数

代码语言:javascript
复制
[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

EN

回答 1

Stack Overflow用户

发布于 2015-11-03 13:10:50

检查"hContext“的值。我建议您首先调用SCardListReaders函数来获取确切的reader.So名称。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33480446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档