C# 在Wcf中使用ScardConnect函数(winscard.dll)

C# 在Wcf中使用ScardConnect函数(winscard.dll),c#,wcf,dll,smartcard,winscard,C#,Wcf,Dll,Smartcard,Winscard,我正在尝试在WCF项目中使用winscard.dll的connect函数连接到智能卡。Wcf服务正在与安装在windows server 8.1上的远程计算机一起发布 ScardConnect函数返回值为6 public int Connect() { int returnCode = -2; string[] tempStr = new string[3];

我正在尝试在WCF项目中使用winscard.dll的connect函数连接到智能卡。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)
[经营合同] [FaultContract(类型(服务1))] int Connect(int-hContext、字符串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检查“hContext”的值。读卡器名称中可能存在错误。因此,我建议您首先调用函数以获取准确的读卡器名称。

您能否共享更多代码。可能与我编辑的“确定”重复。请检查一下好吗@MichaelRolandWell,这两个问题问的还是完全一样的。因此,关闭其中一个问题或冒着两个问题都作为重复项关闭的风险。我在参数中使用了reader name,并且我可以从scardesttablishcontext函数中获取hContext的值。在桌面应用程序中,函数(Connect)运行正常。但如果在WCF项目中使用并在发布后返回“6”。你有主意吗@维克约克。我正在编辑它。所有代码都在这里。我只想使用到winscard.dll的WCF连接到读卡器。如果我能看到,我可以完成我的项目规划阶段@vikkyYou证明了堆栈溢出是比MS文档更好的文档。谢谢你善良的陌生人。