C#SCardControl返回码1

时间:2014-01-05 11:52:14

标签: c# .net pcsc winscard

这是我第一次尝试在C#中使用读卡器,或基本上在任何地方。

我在Windows 7 64位中使用ACS ACR122U PICC Interface 0阅读器。

当我尝试使用

连接到阅读器时,我的第一个问题就出现了
ModWinsCard.SCardConnect(hContext, cbReader.SelectedItem.ToString(), ModWinsCard.SCARD_SHARE_DIRECT, 0, ref hCard, ref Protocol);

它返回错误代码6,但我通过将项目平台从Any CPU更改为X86来搜索并解决它。

在那之后我碰到了另一个问题,这次是控制读者。

我尝试过:

_sentBuffer = new byte[]
    {
         0xFF,
         0x00,
         0x48,
         0x00,
         0x00
    };
_receivedBuffer = new byte[10];

_receivedBuffer[0] = 0;

_returnCode = ModWinsCard.SCardControl(_hCard, _dwControlCode, ref _sentBuffer[0], _sentBuffer.Length, ref _receivedBuffer[0], _receivedBuffer.Length, ref bytesReturned);

返回的代码为1,这很奇怪,因为我无法在documentation中找到它。

真的需要帮忙。

谢谢!

2 个答案:

答案 0 :(得分:3)

自己做一些关于使用SCardControl的研究,发现我获得了1的相同返回值。

我找到了一个错误代码列表here,然后说明如下。

" 注意某些返回值可能与表示类似条件的现有Windows返回值具有相同的值。有关此处未列出的错误代码的信息,请参阅System Error Codes。"

该文档指出错误代码值1ERROR_INVALID_FUNCTION

我知道这个问题已经过时了,但希望将来可以帮助某人。

答案 1 :(得分:0)

我通过从提供商的网站下载最新的驱动程序解决了问题,并卸载了驱动程序CD中包含的驱动程序。

仍然想知道返回1意味着什么..