这是我第一次尝试在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中找到它。
真的需要帮忙。
谢谢!
答案 0 :(得分:3)
自己做一些关于使用SCardControl
的研究,发现我获得了1
的相同返回值。
我找到了一个错误代码列表here,然后说明如下。
" 注意某些返回值可能与表示类似条件的现有Windows返回值具有相同的值。有关此处未列出的错误代码的信息,请参阅System Error Codes。"
该文档指出错误代码值1
为ERROR_INVALID_FUNCTION
我知道这个问题已经过时了,但希望将来可以帮助某人。
答案 1 :(得分:0)
我通过从提供商的网站下载最新的驱动程序解决了问题,并卸载了驱动程序CD中包含的驱动程序。
仍然想知道返回1意味着什么..